10 #ifdef MOOSE_MFEM_ENABLED 18 #include "libmesh/ignore_warnings.h" 20 #include "libmesh/restore_warnings.h" 33 mfem::QuadratureFunction & qf,
34 UpdatePolicy update_policy,
35 const std::string &
name);
39 void SetTime(mfem::real_t t)
override;
41 using mfem::VectorQuadratureFunctionCoefficient::Eval;
43 void Eval(mfem::Vector & V,
44 mfem::ElementTransformation & T,
45 const mfem::IntegrationPoint & ip)
override;
48 void Project(mfem::QuadratureFunction & qf)
override;
57 mfem::QuadratureFunction &
_qf;
std::string name(const ElemQuality q)
void Refresh()
Project the source coefficient into the quadrature function if invalidated.
mfem::VectorCoefficient & _source
Source coefficient the stored values are projected from.
void Eval(mfem::Vector &V, mfem::ElementTransformation &T, const mfem::IntegrationPoint &ip) override
Return the stored values at ip, re-projecting the source first if invalidated.
void Project(mfem::QuadratureFunction &qf) override
Copy the stored values into qf, re-projecting the source first if invalidated.
void SetTime(mfem::real_t t) override
Set the time for the coefficient, invalidating the stored values unless the update policy is NONE...
Vector coefficient holding precomputed values of a source vector coefficient at the quadrature points...
Shared lazy-update state for quadrature function coefficients.
mfem::QuadratureFunction & _qf
Storage for the projected values, shared with the owning MOOSE object.
MFEMVectorQuadratureFunctionCoefficient(mfem::VectorCoefficient &source, mfem::QuadratureFunction &qf, UpdatePolicy update_policy, const std::string &name)