10#ifdef MOOSE_MFEM_ENABLED
22 params.
addClassDescription(
"Class to transfer MFEM variable data to or from a restricted copy of "
23 "the variable defined on "
24 " a subspace of an MFEMMesh, represented as an MFEMSubMesh.");
25 MFEMExecutedObject::addRequiredDependencyParam<VariableName>(
28 "MFEM variable to transfer data from. Can be defined on either the parent mesh or a "
31 "MFEM variable to transfer data into. Can be defined on "
32 "either the parent mesh or a submesh of it.");
39 _source_var_name(getParam<VariableName>(
"from_variable")),
40 _source_var(*getMFEMProblem().getGridFunction(_source_var_name)),
41 _result_var_name(getParam<VariableName>(
"to_variable")),
42 _result_var(*getMFEMProblem().getGridFunction(_result_var_name))
46std::optional<std::string>
registerMooseObject("MooseApp", MFEMSubMeshTransfer)
Base class for MFEM objects that participate in execution ordering but are not UserObjects.
static InputParameters validParams()
Declare the common parameters used by MFEM executed objects.
Class to transfer MFEM variable data to or from a restricted copy of the variable defined on an a sub...
MFEMSubMeshTransfer(const InputParameters ¶meters)
mfem::ParGridFunction & _result_var
Reference to result gridfunction.
virtual void execute() override
Executes the transfer.
const mfem::ParGridFunction & _source_var
Reference to source gridfunction.
const VariableName & _result_var_name
Name of MFEMVariable to store the transferred output in.
virtual std::optional< std::string > suppliedVariableName() const override
Return the variable name supplied by this object, or std::nullopt if none.
static InputParameters validParams()