10 #ifdef MOOSE_MFEM_ENABLED 23 "Calculates the integral of the flux of a vector variable across a boundary.");
24 params.
addParam<MFEMScalarCoefficientName>(
25 "coefficient",
"1.",
"Name of optional scalar coefficient to scale integrand by.");
26 params.
addRequiredParam<VariableName>(
"variable",
"Name of the vector variable.");
34 parameters, getMFEMProblem().getMFEMVariableMesh(getParam<VariableName>(
"variable"))),
35 _var(*getMFEMProblem().getGridFunction(getParam<VariableName>(
"variable"))),
36 _scalar_coef(getScalarCoefficient(
"coefficient")),
38 _rt_fec(_var.ParFESpace()->GetMaxElementOrder(), getMesh().Dimension()),
39 _rt_vector_fespace(const_cast<mfem::ParMesh *>(&getMesh()), &_rt_fec),
40 _rt_var(&_rt_vector_fespace),
41 _boundary_integrator(&_rt_vector_fespace)
MFEMVectorBoundaryFluxIntegralPostprocessor(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
registerMooseObject("MooseApp", MFEMVectorBoundaryFluxIntegralPostprocessor)
mfem::VectorGridFunctionCoefficient _var_coef
Postprocessor for MFEM results.
mfem::Coefficient & _scalar_coef
mfem::ParLinearForm _boundary_integrator
virtual void execute() override
Evaluate integral.
Real PostprocessorValue
various MOOSE typedefs
mfem::Array< int > & getBoundaryMarkers()
virtual PostprocessorValue getValue() const override final
Return the last evaluated integral value.
Base class for construction of an object that is restricted to a subset of boundaries of the problem ...
static InputParameters validParams()
Compute the integral of the flux of an MFEM vector variable across a boundary, scaled by an optional ...
mfem::ParGridFunction _rt_var