28 virtual bool nlConverged(
const unsigned int)
override {
return true; }
46 const std::string &
name,
50 const std::string &
name,
54 const std::string &
name,
60 void addFESpace(
const std::string & user_object_name,
61 const std::string &
name,
78 void addSubMesh(
const std::string & user_object_name,
79 const std::string &
name,
86 const std::string &
name,
93 const std::string & var_name,
100 const std::string & var_name,
109 const std::string & var_name,
117 void addKernel(
const std::string & kernel_name,
118 const std::string &
name,
127 const std::string &
name,
136 const std::string &
name,
140 const std::string &
name,
149 const std::string &
name,
156 const std::string &
name,
163 const std::string &
name,
200 std::optional<std::reference_wrapper<mfem::ParGridFunction const>>
void addGridFunction(const std::string &var_type, const std::string &var_name, InputParameters ¶meters)
Adds one MFEM GridFunction to be used in the MFEM solve.
void addMFEMPreconditioner(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
Method called in AddMFEMPreconditionerAction which will create the solver.
virtual void syncSolutions(Direction) override
Method to transfer data to/from the external application to the associated transfer mesh...
Base problem data struct.
MFEMProblemData & getProblemData()
Method to get the current MFEMProblemData object storing the current data specifying the FE problem...
std::shared_ptr< mfem::ParGridFunction > getGridFunction(const std::string &name)
void addPostprocessor(const std::string &type, const std::string &name, InputParameters ¶meters) override
Override of ExternalProblem::addPostprocessor.
void addFunction(const std::string &type, const std::string &name, InputParameters ¶meters) override
Override of ExternalProblem::addFunction.
InputParameters addMFEMFESpaceFromMOOSEVariable(InputParameters &moosevar_params)
Method used to get an mfem FEC depending on the variable family specified in the input file...
static InputParameters validParams()
virtual MFEMMesh & mesh() override
Overwritten mesh() method from base MooseMesh to retrieve the correct mesh type, in this case MFEMMes...
void addVariable(const std::string &var_type, const std::string &var_name, InputParameters ¶meters) override
Override of ExternalProblem::addVariable.
std::string solverTypeString(unsigned int solver_sys_num) override
Return solver type as a human readable string.
Front-end class for creating and storing MFEM coefficients.
void initProblemOperator()
Initialise the required ProblemOperator used in the Executioner to solve the problem.
void displaceMesh()
Displace the mesh, if mesh displacement is enabled.
virtual void addAuxVariable(const std::string &var_type, const std::string &var_name, InputParameters ¶ms)
Canonical method for adding an auxiliary variable.
MFEMProblemData _problem_data
virtual const std::string & name() const
Get the name of the class.
void addSubMesh(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
void addMFEMNonlinearSolver()
Add the nonlinear solver to the system.
Moose::MFEM::CoefficientManager coefficients
Moose::MFEM::CoefficientManager & getCoefficients()
Method to get the PropertyManager object for storing material properties and converting them to MFEM ...
void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters) override
virtual void initialSetup() override
const std::string & type() const
Get the type of this class.
void setMesh()
Set the mesh used by MFEM.
void addMFEMSolver(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
Method called in AddMFEMSolverAction which will create the solver.
Moose::FEBackend feBackend() const override
void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters) override
Override of ExternalProblem::addAuxKernel.
void addFESpace(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
Add an MFEM FESpace to the problem.
MFEMProblem(const InputParameters ¶ms)
void addFunctorMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters) override
virtual std::vector< VariableName > getAuxVariableNames()
Returns all the variable names from the auxiliary system base.
void setDevice()
Set the device to use to solve the FE problem.
void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters ¶meters) override
virtual MooseMesh & mesh() override
const InputParameters & parameters() const
Get the parameters of the object.
virtual void externalSolve() override
New interface for solving an External problem.
void addKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters) override
Override of ExternalProblem::addKernel.
std::optional< std::reference_wrapper< mfem::ParGridFunction const > > getMeshDisplacementGridFunction()
Returns optional reference to the displacement GridFunction to apply to nodes.
void addAuxVariable(const std::string &var_type, const std::string &var_name, InputParameters ¶meters) override
Override of ExternalProblem::addAuxVariable.
virtual bool nlConverged(const unsigned int) override
void addTransfer(const std::string &transfer_name, const std::string &name, InputParameters ¶meters) override
Add transfers between MultiApps and/or MFEM SubMeshes.
void addInitialCondition(const std::string &ic_name, const std::string &name, InputParameters ¶meters) override