12 #include "../general/forall.hpp"
26 if (mesh->
GetNE() == 0) {
return; }
45 MFEM_ABORT(
"Error: ConvectionIntegrator::AssembleMF only implemented with"
49 void ConvectionIntegrator::AssembleDiagonalMF(
Vector &diag)
53 ceedOp->GetDiagonal(diag);
57 MFEM_ABORT(
"Error: ConvectionIntegrator::AssembleDiagonalMF only"
58 " implemented with libCEED");
62 void ConvectionIntegrator::AddMultMF(
const Vector &x,
Vector &y)
const
66 ceedOp->AddMult(x, y);
70 MFEM_ABORT(
"Error: ConvectionIntegrator::AddMultMF only implemented with"
Abstract class for all finite elements.
Represent a ConvectionIntegrator with AssemblyLevel::None using libCEED.
Class for an integration rule - an Array of IntegrationPoint.
bool IsVariableOrder() const
Returns true if the space contains elements of varying polynomial orders.
int GetNumGeometries(int dim) const
Return the number of geometries of the given dimension present in the mesh.
int GetNE() const
Returns number of elements.
Mesh * GetMesh() const
Returns the mesh.
ElementTransformation * GetElementTransformation(int i) const
Returns ElementTransformation for the i-th element.
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...
const IntegrationRule & GetRule(const Integrator &integ, const FiniteElement &trial_fe, const FiniteElement &test_fe, ElementTransformation &Trans)
virtual const FiniteElement * GetFE(int i) const
Returns pointer to the FiniteElement in the FiniteElementCollection associated with i'th element in t...