deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
|
#include <deal.II/matrix_free/face_setup_internal.h>
Public Types | |
enum class | FaceCategory : char { locally_active_at_boundary , locally_active_done_here , locally_active_done_elsewhere , ghosted , multigrid_refinement_edge } |
Public Member Functions | |
FaceSetup () | |
void | initialize (const ::Triangulation< dim > &triangulation, const unsigned int mg_level, const bool hold_all_faces_to_owned_cells, const bool build_inner_faces, std::vector< std::pair< unsigned int, unsigned int > > &cell_levels) |
void | generate_faces (const ::Triangulation< dim > &triangulation, const std::vector< std::pair< unsigned int, unsigned int > > &cell_levels, TaskInfo &task_info) |
FaceToCellTopology< 1 > | create_face (const unsigned int face_no, const typename ::Triangulation< dim >::cell_iterator &cell, const unsigned int number_cell_interior, const typename ::Triangulation< dim >::cell_iterator &neighbor, const unsigned int number_cell_exterior, const bool is_mixed_mesh) |
Public Attributes | |
bool | use_active_cells |
std::vector< FaceCategory > | face_is_owned |
std::vector< bool > | at_processor_boundary |
std::vector< FaceToCellTopology< 1 > > | inner_faces |
std::vector< FaceToCellTopology< 1 > > | boundary_faces |
std::vector< FaceToCellTopology< 1 > > | inner_ghost_faces |
std::vector< FaceToCellTopology< 1 > > | refinement_edge_faces |
A struct that extracts the faces relevant to a given set of cells, including the assignment of which of the two neighboring processors at a subdomain boundary with MPI should do the integration (from both sides). This data structure is used for the setup of the connectivity between faces and cells and for identification of the dof indices to be used for face integrals.
Definition at line 69 of file face_setup_internal.h.
|
strong |
A type that categorizes faces in the first initialize() function such that we can later get their correct value in generate_faces().
Enumerator | |
---|---|
locally_active_at_boundary | |
locally_active_done_here | |
locally_active_done_elsewhere | |
ghosted | |
multigrid_refinement_edge |
Definition at line 120 of file face_setup_internal.h.
internal::MatrixFreeFunctions::FaceSetup< dim >::FaceSetup | ( | ) |
void internal::MatrixFreeFunctions::FaceSetup< dim >::initialize | ( | const ::Triangulation< dim > & | triangulation, |
const unsigned int | mg_level, | ||
const bool | hold_all_faces_to_owned_cells, | ||
const bool | build_inner_faces, | ||
std::vector< std::pair< unsigned int, unsigned int > > & | cell_levels | ||
) |
Perform the initial detection of faces before reading the indices on the cells. This does not add the faces yet but only decides on whether some of the faces should be considered for processing locally.
void internal::MatrixFreeFunctions::FaceSetup< dim >::generate_faces | ( | const ::Triangulation< dim > & | triangulation, |
const std::vector< std::pair< unsigned int, unsigned int > > & | cell_levels, | ||
TaskInfo & | task_info | ||
) |
Upon completion of the dof indices, this function extracts the information relevant for FaceToCellTopology and categorizes the faces into interior faces, boundary faces, and ghost faces (not processed locally but adjacent to some of the cells present locally).
FaceToCellTopology< 1 > internal::MatrixFreeFunctions::FaceSetup< dim >::create_face | ( | const unsigned int | face_no, |
const typename ::Triangulation< dim >::cell_iterator & | cell, | ||
const unsigned int | number_cell_interior, | ||
const typename ::Triangulation< dim >::cell_iterator & | neighbor, | ||
const unsigned int | number_cell_exterior, | ||
const bool | is_mixed_mesh | ||
) |
Fills the information about the cell, the face number, and numbers within the plain array representation in MatrixFree into FaceToCellTopology (without vectorization, which is something applied later).
bool internal::MatrixFreeFunctions::FaceSetup< dim >::use_active_cells |
Definition at line 114 of file face_setup_internal.h.
std::vector<FaceCategory> internal::MatrixFreeFunctions::FaceSetup< dim >::face_is_owned |
Definition at line 129 of file face_setup_internal.h.
std::vector<bool> internal::MatrixFreeFunctions::FaceSetup< dim >::at_processor_boundary |
Definition at line 130 of file face_setup_internal.h.
std::vector<FaceToCellTopology<1> > internal::MatrixFreeFunctions::FaceSetup< dim >::inner_faces |
Definition at line 131 of file face_setup_internal.h.
std::vector<FaceToCellTopology<1> > internal::MatrixFreeFunctions::FaceSetup< dim >::boundary_faces |
Definition at line 132 of file face_setup_internal.h.
std::vector<FaceToCellTopology<1> > internal::MatrixFreeFunctions::FaceSetup< dim >::inner_ghost_faces |
Definition at line 133 of file face_setup_internal.h.
std::vector<FaceToCellTopology<1> > internal::MatrixFreeFunctions::FaceSetup< dim >::refinement_edge_faces |
Definition at line 134 of file face_setup_internal.h.