MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::ceed::AlgebraicSpaceHierarchy Class Reference

Hierarchy of AlgebraicCoarseSpace objects for use in Multigrid object. More...

#include <algebraic.hpp>

Inheritance diagram for mfem::ceed::AlgebraicSpaceHierarchy:
[legend]
Collaboration diagram for mfem::ceed::AlgebraicSpaceHierarchy:
[legend]

Public Member Functions

 AlgebraicSpaceHierarchy (FiniteElementSpace &fespace)
 Construct hierarchy based on finest FiniteElementSpace.
 
AlgebraicCoarseSpaceGetAlgebraicCoarseSpace (int level)
 
 ~AlgebraicSpaceHierarchy ()
 
- Public Member Functions inherited from mfem::FiniteElementSpaceHierarchy
 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.
 
virtual ~FiniteElementSpaceHierarchy ()
 Destructor deleting all meshes and spaces that are owned.
 
int GetNumLevels () const
 Returns the number of levels in the hierarchy.
 
int GetFinestLevelIndex () const
 Returns the index of the finest level.
 
void AddLevel (Mesh *mesh, FiniteElementSpace *fespace, Operator *prolongation, bool ownM, bool ownFES, bool ownP)
 Adds one level to the hierarchy.
 
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.
 
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.
 
virtual const FiniteElementSpaceGetFESpaceAtLevel (int level) const
 Returns the finite element space at the given level.
 
virtual FiniteElementSpaceGetFESpaceAtLevel (int level)
 Returns the finite element space at the given level.
 
virtual const FiniteElementSpaceGetFinestFESpace () const
 Returns the finite element space at the finest level.
 
virtual FiniteElementSpaceGetFinestFESpace ()
 Returns the finite element space at the finest level.
 
OperatorGetProlongationAtLevel (int level) const
 Returns the prolongation operator from the finite element space at level to the finite element space at level + 1.
 

Additional Inherited Members

- Protected Attributes inherited from mfem::FiniteElementSpaceHierarchy
Array< Mesh * > meshes
 
Array< FiniteElementSpace * > fespaces
 
Array< Operator * > prolongations
 
Array< bool > ownedMeshes
 
Array< bool > ownedFES
 
Array< bool > ownedProlongations
 

Detailed Description

Hierarchy of AlgebraicCoarseSpace objects for use in Multigrid object.

Definition at line 122 of file algebraic.hpp.

Constructor & Destructor Documentation

◆ AlgebraicSpaceHierarchy()

mfem::ceed::AlgebraicSpaceHierarchy::AlgebraicSpaceHierarchy ( FiniteElementSpace & fespace)

Construct hierarchy based on finest FiniteElementSpace.

The given space is a real (geometric) space, but the coarse spaces are constructed semi-algebraically with no mesh information.

Definition at line 611 of file algebraic.cpp.

◆ ~AlgebraicSpaceHierarchy()

mfem::ceed::AlgebraicSpaceHierarchy::~AlgebraicSpaceHierarchy ( )
inline

Definition at line 135 of file algebraic.hpp.

Member Function Documentation

◆ GetAlgebraicCoarseSpace()

AlgebraicCoarseSpace & mfem::ceed::AlgebraicSpaceHierarchy::GetAlgebraicCoarseSpace ( int level)
inline

Definition at line 130 of file algebraic.hpp.


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