10 #ifdef MOOSE_MFEM_ENABLED 32 ode_solver = std::make_unique<mfem::BackwardEulerSolver>();
33 ode_solver->Init(*(
this));
50 const mfem::Vector & ,
64 mooseError(
"LOR solve is only supported for single-variable systems");
virtual void SetTestVariablesFromTrueVectors()
std::vector< std::string > _test_var_names
Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector dur...
virtual Real & time() const
std::shared_ptr< Moose::MFEM::TimeDependentEquationSystem > _equation_system
MFEMProblemData & _problem_data
const std::vector< std::string > & TestVarNames() const
std::vector< std::string > _trial_var_names
Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector dur...
mfem::Array< int > _block_true_offsets
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Moose::MFEM::TimeDependentEquationSystem * GetEquationSystem() const override
Returns a pointer to the operator's equation system.
const std::vector< std::string > & TrialVarNames() const
virtual void SetTrialVariablesFromTrueVectors()
virtual void UpdateEquationSystem()
void BuildEquationSystemOperator(double dt)
std::unique_ptr< mfem::ODESolver > ode_solver
void setTime(const double time)
Moose::MFEM::CoefficientManager coefficients
mfem::BlockVector _true_x
virtual void BuildEquationSystem()
std::vector< mfem::ParGridFunction * > _trial_variables
std::shared_ptr< mfem::NewtonSolver > nonlinear_solver
mfem::BlockVector _true_rhs
MFEMProblem & _problem
Reference to the current problem.
virtual void Init(mfem::BlockVector &X)
void SetGridFunctions() override
virtual void BuildJacobian(mfem::BlockVector &trueX, mfem::BlockVector &trueRHS)
Build linear system, with essential boundary conditions accounted for.
void SetGridFunctions() override
virtual void SetTimeStep(double dt)
void ImplicitSolve(const double dt, const mfem::Vector &X, mfem::Vector &dX_dt) override
virtual Real & dt() const
std::shared_ptr< MFEMSolverBase > jacobian_solver
void Init(mfem::BlockVector &X) override