MFEM  v4.3.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::ShiftedFaceMarker Class Reference

#include <marking.hpp>

Collaboration diagram for mfem::ShiftedFaceMarker:
[legend]

Public Types

enum  SBElementType { INSIDE, OUTSIDE, CUT }
 Element type related to shifted boundaries (not interfaces). More...
 

Public Member Functions

 ShiftedFaceMarker (ParMesh &pm, ParGridFunction &ls, ParFiniteElementSpace &space_sltn, bool include_cut_cell_)
 
void MarkElements (Array< int > &elem_marker) const
 Mark all the elements in the mesh using the SBElementType. More...
 
void ListShiftedFaceDofs (const Array< int > &elem_marker, Array< int > &sface_dof_list) const
 
void ListEssentialTDofs (const Array< int > &elem_marker, const Array< int > &sface_dof_list, Array< int > &ess_tdof_list, Array< int > &ess_shift_bdr) const
 

Protected Member Functions

void ListShiftedFaceDofs2 (const Array< int > &elem_marker, Array< int > &sface_dof_list) const
 

Protected Attributes

ParMeshpmesh
 
ParGridFunctionls_func
 
ParFiniteElementSpacepfes_sltn
 
bool include_cut_cell
 
const bool func_dof_marking = false
 

Detailed Description

Definition at line 22 of file marking.hpp.

Member Enumeration Documentation

Element type related to shifted boundaries (not interfaces).

Enumerator
INSIDE 
OUTSIDE 
CUT 

Definition at line 39 of file marking.hpp.

Constructor & Destructor Documentation

mfem::ShiftedFaceMarker::ShiftedFaceMarker ( ParMesh pm,
ParGridFunction ls,
ParFiniteElementSpace space_sltn,
bool  include_cut_cell_ 
)
inline

Definition at line 41 of file marking.hpp.

Member Function Documentation

void mfem::ShiftedFaceMarker::ListEssentialTDofs ( const Array< int > &  elem_marker,
const Array< int > &  sface_dof_list,
Array< int > &  ess_tdof_list,
Array< int > &  ess_shift_bdr 
) const

List the dofs that will be inactive for the computation on the surrogate domain. This includes dofs for the elements located outside the true domain (and optionally, for the elements cut by the true boundary, if include_cut_cell = false) minus the dofs that are located on the surrogate boundary.

Definition at line 180 of file marking.cpp.

void mfem::ShiftedFaceMarker::ListShiftedFaceDofs ( const Array< int > &  elem_marker,
Array< int > &  sface_dof_list 
) const

List dofs associated with the surrogate boundary. If include_cut_cell = false, the surrogate boundary includes faces between elements cut by the true boundary and the elements that are located inside the true domain. If include_cut_cell = true, the surrogate boundary is the faces between elements outside the true domain and the elements cut by the true boundary.

Definition at line 84 of file marking.cpp.

void mfem::ShiftedFaceMarker::ListShiftedFaceDofs2 ( const Array< int > &  elem_marker,
Array< int > &  sface_dof_list 
) const
protected

Definition at line 283 of file marking.cpp.

void mfem::ShiftedFaceMarker::MarkElements ( Array< int > &  elem_marker) const

Mark all the elements in the mesh using the SBElementType.

Definition at line 17 of file marking.cpp.

Member Data Documentation

const bool mfem::ShiftedFaceMarker::func_dof_marking = false
protected

Definition at line 31 of file marking.hpp.

bool mfem::ShiftedFaceMarker::include_cut_cell
protected

Definition at line 28 of file marking.hpp.

ParGridFunction& mfem::ShiftedFaceMarker::ls_func
protected

Definition at line 26 of file marking.hpp.

ParFiniteElementSpace& mfem::ShiftedFaceMarker::pfes_sltn
protected

Definition at line 27 of file marking.hpp.

ParMesh& mfem::ShiftedFaceMarker::pmesh
protected

Definition at line 25 of file marking.hpp.


The documentation for this class was generated from the following files: