Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Types | Public Member Functions | List of all members
internal::MatrixFreeFunctions::FaceSetup< dim > Struct Template Reference

#include <deal.II/matrix_free/face_setup_internal.h>

Public Types

enum  FaceCategory : char
 

Public Member Functions

template<typename MFAddData >
void initialize (const ::Triangulation< dim > &triangulation, const MFAddData &additional_data, 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)
 

Detailed Description

template<int dim>
struct internal::MatrixFreeFunctions::FaceSetup< dim >

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.

Author
Katharina Kormann, Martin Kronbichler, 2018

Definition at line 70 of file face_setup_internal.h.

Member Enumeration Documentation

◆ FaceCategory

template<int dim>
enum internal::MatrixFreeFunctions::FaceSetup::FaceCategory : char
strong

A type that categorizes faces in the first initialize() function such that we can later get their correct value in generate_faces().

Definition at line 119 of file face_setup_internal.h.

Member Function Documentation

◆ initialize()

template<int dim>
template<typename MFAddData >
void internal::MatrixFreeFunctions::FaceSetup< dim >::initialize ( const ::Triangulation< dim > &  triangulation,
const MFAddData &  additional_data,
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.

◆ generate_faces()

template<int dim>
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).

◆ create_face()

template<int dim>
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 
)

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).


The documentation for this struct was generated from the following file: