10 #ifdef MOOSE_MFEM_ENABLED 17 #include "libmesh/ignore_warnings.h" 19 #include "libmesh/restore_warnings.h" 32 mfem::QuadratureFunction & qf,
33 UpdatePolicy update_policy,
34 const std::string &
name);
38 void SetTime(mfem::real_t t)
override;
41 mfem::real_t
Eval(mfem::ElementTransformation & T,
const mfem::IntegrationPoint & ip)
override;
44 void Project(mfem::QuadratureFunction & qf)
override;
53 mfem::QuadratureFunction &
_qf;
std::string name(const ElemQuality q)
void SetTime(mfem::real_t t) override
Set the time for the coefficient, invalidating the stored values unless the update policy is NONE...
void Refresh()
Project the source coefficient into the quadrature function if invalidated.
Scalar coefficient holding precomputed values of a source coefficient at the quadrature points of a Q...
MFEMScalarQuadratureFunctionCoefficient(mfem::Coefficient &source, mfem::QuadratureFunction &qf, UpdatePolicy update_policy, const std::string &name)
void Project(mfem::QuadratureFunction &qf) override
Copy the stored values into qf, re-projecting the source first if invalidated.
mfem::real_t Eval(mfem::ElementTransformation &T, const mfem::IntegrationPoint &ip) override
Return the stored value at ip, re-projecting the source first if invalidated.
mfem::Coefficient & _source
Source coefficient the stored values are projected from.
Shared lazy-update state for quadrature function coefficients.
mfem::QuadratureFunction & _qf
Storage for the projected values, shared with the owning MOOSE object.