Abstract base class for LORDiscretization and ParLORDiscretization classes, which construct low-order refined versions of bilinear forms.
More...
#include <lor.hpp>
Abstract base class for LORDiscretization and ParLORDiscretization classes, which construct low-order refined versions of bilinear forms.
Definition at line 22 of file lor.hpp.
◆ FESpaceType
Enumerator |
---|
H1 | |
ND | |
RT | |
L2 | |
INVALID | |
Definition at line 63 of file lor.hpp.
◆ LORBase()
Construct the LORBase object for the given FE space and refinement type.
Definition at line 337 of file lor.cpp.
◆ ~LORBase()
mfem::LORBase::~LORBase |
( |
| ) |
|
|
virtual |
◆ AssembleSystem()
void mfem::LORBase::AssembleSystem |
( |
BilinearForm & | a_ho, |
|
|
const Array< int > & | ess_dofs ) |
Assembles the LOR system corresponding to a_ho.
Definition at line 366 of file lor.cpp.
◆ ConstructDofPermutation()
void mfem::LORBase::ConstructDofPermutation |
( |
| ) |
const |
|
protected |
Construct the permutation that maps LOR DOFs to high-order DOFs. See GetDofPermutation.
Definition at line 209 of file lor.cpp.
◆ ConstructLocalDofPermutation()
void mfem::LORBase::ConstructLocalDofPermutation |
( |
Array< int > & | perm_ | ) |
const |
|
protected |
Constructs the local DOF (ldof) permutation. In parallel this is used as an intermediate step in computing the DOF permutation (see ConstructDofPermutation and GetDofPermutation).
Definition at line 90 of file lor.cpp.
◆ FormLORSpace()
virtual void mfem::LORBase::FormLORSpace |
( |
| ) |
|
|
protectedpure virtual |
◆ GetAssembledSystem() [1/2]
Returns the assembled LOR system (non-const version).
Definition at line 264 of file lor.cpp.
◆ GetAssembledSystem() [2/2]
Returns the assembled LOR system (const version).
Definition at line 270 of file lor.cpp.
◆ GetDofPermutation()
const Array< int > & mfem::LORBase::GetDofPermutation |
( |
| ) |
const |
Returns the permutation that maps LOR DOFs to high-order DOFs.
This permutation is constructed the first time it is requested, and then is cached. For H1 and L2 finite element spaces (or for nonconforming spaces) this is the identity. In these cases, RequiresDofPermutation will return false. However, if the DOF permutation is requested, an identity permutation will be built and returned.
For vector finite element spaces (ND and RT), the DOF permutation is nontrivial. Returns an array perm such that, given an index i of a LOR dof, perm[i] is the index of the corresponding HO dof.
Definition at line 252 of file lor.cpp.
◆ GetFESpace()
Returns the low-order refined finite element space.
Definition at line 357 of file lor.cpp.
◆ GetFESpaceType()
Returns the type of finite element space: H1, ND, RT or L2.
Definition at line 73 of file lor.cpp.
◆ GetLOROrder()
int mfem::LORBase::GetLOROrder |
( |
| ) |
const |
|
protected |
Returns the order of the LOR space. 1 for H1 or ND, 0 for L2 or RT.
Definition at line 84 of file lor.cpp.
◆ HasSameDofNumbering()
bool mfem::LORBase::HasSameDofNumbering |
( |
| ) |
const |
|
protected |
Returns true if the LOR space and HO space have the same DOF numbering (H1 or L2 spaces), false otherwise (ND or RT spaces).
Definition at line 258 of file lor.cpp.
◆ LegacyAssembleSystem()
void mfem::LORBase::LegacyAssembleSystem |
( |
BilinearForm & | a_ho, |
|
|
const Array< int > & | ess_dofs ) |
Assembles the LOR system corresponding to a_ho using the legacy method.
Definition at line 386 of file lor.cpp.
◆ SetupProlongationAndRestriction()
void mfem::LORBase::SetupProlongationAndRestriction |
( |
| ) |
|
|
protected |
Sets up the prolongation and restriction operators required in the case of different DOF numberings (ND or RT spaces) or nonconforming spaces.
Definition at line 276 of file lor.cpp.
◆ batched_lor
◆ fec
◆ fes
◆ fes_ho
◆ mesh
Mesh* mfem::LORBase::mesh = nullptr |
|
protected |
◆ perm
Array<int> mfem::LORBase::perm |
|
mutableprotected |
◆ ref_type
int mfem::LORBase::ref_type |
|
protected |
The documentation for this class was generated from the following files: