12 #include "../general/forall.hpp" 29 if (mesh->
GetNE() == 0) {
return; }
49 MFEM_ABORT(
"Error: VectorMassIntegrator::AssembleMF only implemented with" 53 void VectorMassIntegrator::AddMultMF(
const Vector &x,
Vector &y)
const 57 ceedOp->AddMult(x, y);
61 MFEM_ABORT(
"Error: VectorMassIntegrator::AddMultMF only implemented with" 66 void VectorMassIntegrator::AssembleDiagonalMF(
Vector &diag)
70 ceedOp->GetDiagonal(diag);
74 MFEM_ABORT(
"Error: VectorMassIntegrator::AssembleDiagonalMF only" 75 " implemented with libCEED");
Abstract class for all finite elements.
Class for an integration rule - an Array of IntegrationPoint.
bool IsVariableOrder() const
Returns true if the space contains elements of varying polynomial orders.
virtual const FiniteElement * GetFE(int i) const
Returns pointer to the FiniteElement in the FiniteElementCollection associated with i'th element in t...
int GetNumGeometries(int dim) const
Return the number of geometries of the given dimension present in the mesh.
Represent a MassIntegrator with AssemblyLevel::None using libCEED.
Mesh * GetMesh() const
Returns the mesh.
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
bool DeviceCanUseCeed()
Function that determines if a CEED kernel should be used, based on the current mfem::Device configura...
int GetNE() const
Returns number of elements.
const IntegrationRule & GetRule(const Integrator &integ, const FiniteElement &trial_fe, const FiniteElement &test_fe, ElementTransformation &Trans)
void GetElementTransformation(int i, IsoparametricTransformation *ElTr)