10 #ifdef MOOSE_MFEM_ENABLED 30 ode_solver = std::make_unique<mfem::BackwardEulerSolver>();
31 ode_solver->Init(*(
this));
33 SetImplicitVariableType(STATE);
45 gfs.GetRef(tdm.getTimeDerivativeName(trial_var_name)) = gfs.GetRef(trial_var_name);
56 (gfs.GetRef(tdm.getTimeDerivativeName(trial_var_name)) -= gfs.GetRef(trial_var_name)) /= -dt;
std::vector< std::string > _test_var_names
virtual Real & time() const
MFEMProblemData & _problem_data
std::vector< std::string > _trial_var_names
Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector dur...
virtual void SetTrialVariablesFromTrueVectors()
virtual void Init(mfem::BlockVector &X) override
std::unique_ptr< mfem::ODESolver > ode_solver
void BuildEquationSystemOperator(mfem::real_t dt)
Add kernels/bcs and assemble the linear part of the equation system.
Moose::MFEM::CoefficientManager coefficients
void FormSystem(mfem::BlockVector &trueX, mfem::BlockVector &trueRHS)
Assemble the linear part of the operator, assemble the right-hand side, apply essential and eliminate...
mfem::Vector * _trial_true_vector
virtual void SetGridFunctions() override
virtual void SetTimeStep(mfem::real_t &dt)
mfem::BlockVector _true_x
void setTime(const mfem::real_t time)
virtual void BuildEquationSystem()
Build all forms comprising this EquationSystem.
virtual void SetGridFunctions() override
mfem::BlockVector _true_rhs
virtual Moose::MFEM::TimeDependentEquationSystem * GetEquationSystem() const override
Returns a pointer to the operator's equation system.
MFEMProblem & _problem
Reference to the current problem.
virtual void Init(mfem::BlockVector &X)
const std::vector< std::string > & GetTrialVarNames() const
void SolveWithOperator(EquationSystem &equation_system, const mfem::Vector &rhs, mfem::Vector &x)
Solve the current equation system/operator using the configured nonlinear solver or linear solver for...
const std::vector< std::string > & GetTestVarNames() const
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
virtual void ImplicitSolve(const mfem::real_t, const mfem::Vector &, mfem::Vector &) override
Moose::MFEM::GridFunctions gridfunctions
virtual Real & dt() const
virtual void Solve() override
Moose::MFEM::TimeDerivativeMap time_derivative_map