42 MFEM_ABORT(
"Error: VectorMassIntegrator::AssembleMF only implemented with"
54 MFEM_ABORT(
"Error: VectorMassIntegrator::AddMultMF only implemented with"
67 MFEM_ABORT(
"Error: VectorMassIntegrator::AssembleDiagonalMF only"
68 " implemented with libCEED");
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
bool IsVariableOrder() const
Returns true if the space contains elements of varying polynomial orders.
Mesh * GetMesh() const
Returns the mesh.
const FiniteElement * GetTypicalFE() const
Return GetFE(0) if the local mesh is not empty; otherwise return a typical FE based on the Geometry t...
Abstract class for all finite elements.
Class for an integration rule - an Array of IntegrationPoint.
const IntegrationRule * IntRule
static const IntegrationRule & GetRule(const FiniteElement &trial_fe, const FiniteElement &test_fe, const ElementTransformation &Trans)
int Dimension() const
Dimension of the reference space used within the elements.
ElementTransformation * GetTypicalElementTransformation()
If the local mesh is not empty return GetElementTransformation(0); otherwise, return the identity tra...
int GetNumGeometries(int dim) const
Return the number of geometries of the given dimension present in the mesh.
void AssembleMF(const FiniteElementSpace &fes) override
Method defining matrix-free assembly.
void AddMultMF(const Vector &x, Vector &y) const override
void AssembleDiagonalMF(Vector &diag) override
Assemble diagonal and add it to Vector diag.
Represent a MassIntegrator with AssemblyLevel::None using libCEED.
void GetDiagonal(mfem::Vector &diag) const
void AddMult(const mfem::Vector &x, mfem::Vector &y, const real_t a=1.0) const override
Operator application: y+=A(x) (default) or y+=a*A(x).
bool DeviceCanUseCeed()
Function that determines if a CEED kernel should be used, based on the current mfem::Device configura...