10 #ifdef MOOSE_MFEM_ENABLED 30 _mfem_problem(dynamic_cast<
MFEMProblem &>(feProblem())),
31 _mfem_problem_data(_mfem_problem.getProblemData()),
32 _mfem_problem_solve(*this, getProblemOperators())
39 auto problem_operator =
40 std::make_shared<Moose::MFEM::TimeDependentEquationSystemProblemOperator>(
_mfem_problem);
54 "\" is not supported by MFEMTransient Executioner.");
66 getParam<MooseEnum>(
"assembly_level").getEnum<mfem::AssemblyLevel>());
70 problem_operator->SetGridFunctions();
113 _console <<
"Aborting as solve did not converge" << std::endl;
void timestepSetup() override
Moose::MFEM::ComplexGridFunctions cmplx_gridfunctions
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
static InputParameters validParams()
bool & _last_solve_converged
Whether or not the last solve converged.
virtual std::vector< std::shared_ptr< ProblemOperatorBase > > & getProblemOperators()
Returns a pointer to the operator's equation system.
Real & _time
Current time.
virtual void takeStep(Real input_dt=-1.0) override
Do whatever is necessary to advance one step.
const ExecFlagType EXEC_TIMESTEP_END
virtual bool converged() const
If the time step converged.
TimeStepper * _time_stepper
std::string stringify(MOOSEIOType type)
virtual void init() override
Initialize the executioner.
virtual Real computeConstrainedDT()
FEProblemBase & _problem
Here for backward compatibility.
Moose::MFEM::CoefficientManager coefficients
virtual void execute(const ExecFlagType &exec_type)
Convenience function for performing execution of MOOSE systems.
virtual void acceptStep()
This gets called when time step is accepted.
const ExecFlagType EXEC_TIMESTEP_BEGIN
Real & _time_old
Previous time.
MFEMTransient(const InputParameters ¶ms)
Real & _dt
Current delta t... or timestep size.
Base class for transient executioners that use a FixedPointSolve solve object for multiapp-main app i...
static InputParameters validParams()
std::shared_ptr< Moose::MFEM::EquationSystem > eqn_system
std::shared_ptr< Moose::MFEM::NonlinearSolverBase > nonlinear_solver
mfem::BlockVector true_solution
Persistent true-DoF solution vector backing trial grid functions after problem operator init...
virtual void init() override
Initialize the executioner.
virtual void onTimestepBegin() override
virtual void rejectStep()
This gets called when time step is rejected.
virtual void step()
Take a time step.
virtual void addProblemOperator(std::shared_ptr< ProblemOperatorBase > problem_operator)
Add an MFEM problem operator. Takes ownership.
MFEMProblem & _mfem_problem
Moose::TimeIntegratorType getTimeScheme() const
Get the time scheme used.
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
Execute the MultiApps associated with the ExecFlagType.
registerMooseObject("MooseApp", MFEMTransient)
static InputParameters validParams()
Moose::MFEM::GridFunctions gridfunctions
MFEMProblemData & _mfem_problem_data
Moose::MFEM::TimeDerivativeMap time_derivative_map
void execTransfers(ExecFlagType type)
Execute the Transfers associated with the ExecFlagType.