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())
38 auto problem_operator =
39 std::make_shared<Moose::MFEM::TimeDomainEquationSystemProblemOperator>(
_mfem_problem);
53 getParam<MooseEnum>(
"assembly_level").getEnum<mfem::AssemblyLevel>());
57 problem_operator->SetGridFunctions();
86 _console <<
"Aborting as solve did not converge" << std::endl;
void timestepSetup() override
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.
virtual bool converged() const
If the time step converged.
Moose::MFEM::FESpaces fespaces
TimeStepper * _time_stepper
virtual void init() override
Initialize the executioner.
virtual Real computeConstrainedDT()
FEProblemBase & _problem
Here for backward compatibility.
virtual void acceptStep()
This gets called when time step is accepted.
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
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
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.
registerMooseObject("MooseApp", MFEMTransient)
static InputParameters validParams()
Moose::MFEM::GridFunctions gridfunctions
MFEMProblemData & _mfem_problem_data