MFEM
v4.5.2
Finite element discretization library
|
#include <fespacehierarchy.hpp>
Public Member Functions | |
FiniteElementSpaceHierarchy ()=default | |
FiniteElementSpaceHierarchy (Mesh *mesh, FiniteElementSpace *fespace, bool ownM, bool ownFES) | |
Constructs a space hierarchy with the given mesh and space on the coarsest level. More... | |
virtual | ~FiniteElementSpaceHierarchy () |
Destructor deleting all meshes and spaces that are owned. More... | |
int | GetNumLevels () const |
Returns the number of levels in the hierarchy. More... | |
int | GetFinestLevelIndex () const |
Returns the index of the finest level. More... | |
void | AddLevel (Mesh *mesh, FiniteElementSpace *fespace, Operator *prolongation, bool ownM, bool ownFES, bool ownP) |
Adds one level to the hierarchy. More... | |
virtual void | AddUniformlyRefinedLevel (int dim=1, int ordering=Ordering::byVDIM) |
Adds one level to the hierarchy by uniformly refining the mesh on the previous level. More... | |
virtual void | AddOrderRefinedLevel (FiniteElementCollection *fec, int dim=1, int ordering=Ordering::byVDIM) |
Adds one level to the hierarchy by using a different finite element order defined through FiniteElementCollection. More... | |
virtual const FiniteElementSpace & | GetFESpaceAtLevel (int level) const |
Returns the finite element space at the given level. More... | |
virtual FiniteElementSpace & | GetFESpaceAtLevel (int level) |
Returns the finite element space at the given level. More... | |
virtual const FiniteElementSpace & | GetFinestFESpace () const |
Returns the finite element space at the finest level. More... | |
virtual FiniteElementSpace & | GetFinestFESpace () |
Returns the finite element space at the finest level. More... | |
Operator * | GetProlongationAtLevel (int level) const |
Returns the prolongation operator from the finite element space at level to the finite element space at level + 1. More... | |
Protected Attributes | |
Array< Mesh * > | meshes |
Array< FiniteElementSpace * > | fespaces |
Array< Operator * > | prolongations |
Array< bool > | ownedMeshes |
Array< bool > | ownedFES |
Array< bool > | ownedProlongations |
Class bundling a hierarchy finite element spaces together with the corresponding prolongation operators
Definition at line 26 of file fespacehierarchy.hpp.
|
default |
Construct an empty finite element space hierarchy. This is useful if the hierarchy is constructed by coarsening a fine space, rather than refining a coarse space.
mfem::FiniteElementSpaceHierarchy::FiniteElementSpaceHierarchy | ( | Mesh * | mesh, |
FiniteElementSpace * | fespace, | ||
bool | ownM, | ||
bool | ownFES | ||
) |
Constructs a space hierarchy with the given mesh and space on the coarsest level.
The ownership of the mesh and space may be transferred to the FiniteElementSpaceHierarchy by setting the according boolean variables.
Definition at line 18 of file fespacehierarchy.cpp.
|
virtual |
Destructor deleting all meshes and spaces that are owned.
Definition at line 28 of file fespacehierarchy.cpp.
void mfem::FiniteElementSpaceHierarchy::AddLevel | ( | Mesh * | mesh, |
FiniteElementSpace * | fespace, | ||
Operator * | prolongation, | ||
bool | ownM, | ||
bool | ownFES, | ||
bool | ownP | ||
) |
Adds one level to the hierarchy.
Definition at line 59 of file fespacehierarchy.cpp.
|
virtual |
Adds one level to the hierarchy by using a different finite element order defined through FiniteElementCollection.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 86 of file fespacehierarchy.cpp.
|
virtual |
Adds one level to the hierarchy by uniformly refining the mesh on the previous level.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 73 of file fespacehierarchy.cpp.
|
virtual |
Returns the finite element space at the given level.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 98 of file fespacehierarchy.cpp.
|
virtual |
Returns the finite element space at the given level.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 106 of file fespacehierarchy.cpp.
|
virtual |
Returns the finite element space at the finest level.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 113 of file fespacehierarchy.cpp.
|
virtual |
Returns the finite element space at the finest level.
Reimplemented in mfem::ParFiniteElementSpaceHierarchy.
Definition at line 118 of file fespacehierarchy.cpp.
int mfem::FiniteElementSpaceHierarchy::GetFinestLevelIndex | ( | ) | const |
Returns the index of the finest level.
Definition at line 57 of file fespacehierarchy.cpp.
int mfem::FiniteElementSpaceHierarchy::GetNumLevels | ( | ) | const |
Returns the number of levels in the hierarchy.
Definition at line 55 of file fespacehierarchy.cpp.
Operator * mfem::FiniteElementSpaceHierarchy::GetProlongationAtLevel | ( | int | level | ) | const |
Returns the prolongation operator from the finite element space at level to the finite element space at level + 1.
Definition at line 123 of file fespacehierarchy.cpp.
|
protected |
Definition at line 30 of file fespacehierarchy.hpp.
Definition at line 29 of file fespacehierarchy.hpp.
|
protected |
Definition at line 33 of file fespacehierarchy.hpp.
|
protected |
Definition at line 32 of file fespacehierarchy.hpp.
|
protected |
Definition at line 34 of file fespacehierarchy.hpp.
Definition at line 31 of file fespacehierarchy.hpp.