MFEMFESpace

Summary

An abstract base class for MFEM finite element spaces.

Overview

Children of this class are used to define a finite element space for MFEM which one or more MFEMVariables can be defined with respect to.

This class has pure virtual methods MFEMFESpace::getFECName() and MFEMFESpace::getVDim(), which child classes must implement. The first should return a name to be passed to [MFEM factory method FiniteElementCollection::New()](https://docs.mfem.org/html/classmfem_1_1FiniteElementCollection.html#a15fcfa553d4949eb08f9926ac74d1e80). The second should specify the number of degrees of freedom per basis function in the finite element space and will be passed as the argument vdim in the FiniteElementSpace constructor.

Note that the actual mfem::FiniteElementCollection and mfem::FiniteElementSpace objects are lazily constructed. They will be built on the first call to MFEMFESpace::getFEC() and MFEMFESpace::getFESpace(), respectively. If they were built when the class was constructed then it would not be possible for the child classes to implement their own logic to choose the appropriate finite element collection name and vdim.