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.
Enumerator |
---|
H1 |
|
ND |
|
RT |
|
L2 |
|
INVALID |
|
Definition at line 63 of file lor.hpp.
mfem::LORBase::~LORBase |
( |
| ) |
|
void mfem::LORBase::AssembleSystem_ |
( |
BilinearForm & |
a_ho, |
|
|
const Array< int > & |
ess_dofs |
|
) |
| |
|
protected |
void mfem::LORBase::ConstructDofPermutation |
( |
| ) |
const |
|
protected |
Construct the permutation that maps LOR DOFs to high-order DOFs. See GetDofPermutation.
Definition at line 204 of file lor.cpp.
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 85 of file lor.cpp.
Returns the assembled LOR system.
Definition at line 258 of file lor.cpp.
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 246 of file lor.cpp.
Returns the low-order refined finite element space.
Definition at line 121 of file lor.hpp.
Returns the type of finite element space: H1, ND, RT or L2.
Definition at line 68 of file lor.cpp.
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 79 of file lor.cpp.
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 252 of file lor.cpp.
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 287 of file lor.cpp.
Mesh* mfem::LORBase::mesh |
|
protected |
Array<int> mfem::LORBase::perm |
|
mutableprotected |
The documentation for this class was generated from the following files: