MFEM  v4.5.2
Finite element discretization library
Public Member Functions | Protected Member Functions | List of all members
mfem::ParLORDiscretization Class Reference

Create and assemble a low-order refined version of a ParBilinearForm. More...

#include <lor.hpp>

Inheritance diagram for mfem::ParLORDiscretization:
[legend]
Collaboration diagram for mfem::ParLORDiscretization:
[legend]

Public Member Functions

 ParLORDiscretization (ParBilinearForm &a_ho, const Array< int > &ess_tdof_list, int ref_type=BasisType::GaussLobatto)
 Construct the low-order refined version of a_ho using the given list of essential DOFs. More...
 
 ParLORDiscretization (ParFiniteElementSpace &fes_ho, int ref_type=BasisType::GaussLobatto)
 Construct a low-order refined version of the ParFiniteElementSpace pfes_ho. More...
 
HypreParMatrixGetAssembledMatrix () const
 Return the assembled LOR operator as a HypreParMatrix. More...
 
ParFiniteElementSpaceGetParFESpace () const
 Return the LOR ParFiniteElementSpace. More...
 
- Public Member Functions inherited from mfem::LORBase
const OperatorHandleGetAssembledSystem () const
 Returns the assembled LOR system (const version). More...
 
OperatorHandleGetAssembledSystem ()
 Returns the assembled LOR system (non-const version). More...
 
void AssembleSystem (BilinearForm &a_ho, const Array< int > &ess_dofs)
 Assembles the LOR system corresponding to a_ho. More...
 
void LegacyAssembleSystem (BilinearForm &a_ho, const Array< int > &ess_dofs)
 Assembles the LOR system corresponding to a_ho using the legacy method. More...
 
const Array< int > & GetDofPermutation () const
 Returns the permutation that maps LOR DOFs to high-order DOFs. More...
 
FiniteElementSpaceGetFESpace () const
 Returns the low-order refined finite element space. More...
 
virtual ~LORBase ()
 

Protected Member Functions

void FormLORSpace () override
 Construct the LOR space (overridden for serial and parallel versions). More...
 
- Protected Member Functions inherited from mfem::LORBase
void ConstructLocalDofPermutation (Array< int > &perm_) const
 
void ConstructDofPermutation () const
 
bool HasSameDofNumbering () const
 
void SetupProlongationAndRestriction ()
 
FESpaceType GetFESpaceType () const
 Returns the type of finite element space: H1, ND, RT or L2. More...
 
int GetLOROrder () const
 Returns the order of the LOR space. 1 for H1 or ND, 0 for L2 or RT. More...
 
 LORBase (FiniteElementSpace &fes_ho_, int ref_type_)
 Construct the LORBase object for the given FE space and refinement type. More...
 

Additional Inherited Members

- Protected Types inherited from mfem::LORBase
enum  FESpaceType {
  H1, ND, RT, L2,
  INVALID
}
 
- Protected Attributes inherited from mfem::LORBase
int ref_type
 
FiniteElementSpacefes_ho
 
Meshmesh = nullptr
 
FiniteElementCollectionfec = nullptr
 
FiniteElementSpacefes = nullptr
 
BilinearForma = nullptr
 
class BatchedLORAssemblybatched_lor = nullptr
 
OperatorHandle A
 
Array< int > perm
 

Detailed Description

Create and assemble a low-order refined version of a ParBilinearForm.

Definition at line 165 of file lor.hpp.

Constructor & Destructor Documentation

◆ ParLORDiscretization() [1/2]

mfem::ParLORDiscretization::ParLORDiscretization ( ParBilinearForm a_ho,
const Array< int > &  ess_tdof_list,
int  ref_type = BasisType::GaussLobatto 
)

Construct the low-order refined version of a_ho using the given list of essential DOFs.

The mesh is refined using the refinement type specified by ref_type (see ParMesh::MakeRefined).

Definition at line 484 of file lor.cpp.

◆ ParLORDiscretization() [2/2]

mfem::ParLORDiscretization::ParLORDiscretization ( ParFiniteElementSpace fes_ho,
int  ref_type = BasisType::GaussLobatto 
)

Construct a low-order refined version of the ParFiniteElementSpace pfes_ho.

The mesh is refined using the refinement type specified by ref_type (see ParMesh::MakeRefined).

Definition at line 494 of file lor.cpp.

Member Function Documentation

◆ FormLORSpace()

void mfem::ParLORDiscretization::FormLORSpace ( )
overrideprotectedvirtual

Construct the LOR space (overridden for serial and parallel versions).

Implements mfem::LORBase.

Definition at line 501 of file lor.cpp.

◆ GetAssembledMatrix()

HypreParMatrix & mfem::ParLORDiscretization::GetAssembledMatrix ( ) const

Return the assembled LOR operator as a HypreParMatrix.

Definition at line 522 of file lor.cpp.

◆ GetParFESpace()

ParFiniteElementSpace & mfem::ParLORDiscretization::GetParFESpace ( ) const

Return the LOR ParFiniteElementSpace.

Definition at line 528 of file lor.cpp.


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