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.");
64 getParam<MooseEnum>(
"assembly_level").getEnum<mfem::AssemblyLevel>());
68 problem_operator->SetGridFunctions();
111 _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.
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
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.