10#ifdef MOOSE_MFEM_ENABLED
18 const std::string & weak_form_name)
19 :
ProblemOperator(problem), _equation_system(problem.getEquationSystem(weak_form_name))
37 TIME_SECTION(
"EquationSystemProblemOperator::FormSystem", 2,
"Assembling MFEM System");
42 TIME_SECTION(
"EquationSystemProblemOperator::SolveSystem", 2,
"Solving MFEM System");
46 es->SetTrialVariablesFromTrueVectors(
_true_x);
virtual void SetGridFunctions() override
virtual void Solve() override
void FormEquationSystemOperator()
Form equation-system state used by Solve().
virtual EquationSystem * GetEquationSystem() const override
Returns a pointer to the operator's equation system.
EquationSystemProblemOperator(MFEMProblem &problem, const std::string &weak_form_name="")
const std::vector< std::string > & GetTrialVarNames() const
const std::vector< std::string > & GetTestVarNames() const
void FormSystem(mfem::BlockVector &trueX, mfem::BlockVector &trueRHS)
Build all weak-form components via BuildEquationSystem(), form the constrained linear part of the sys...
void SolveWithOperator(mfem::Operator &system_operator, mfem::Operator &linear_operator, const mfem::Vector &rhs, mfem::Vector &x)
Solve the current system operator using the configured nonlinear and linear solvers.
mfem::BlockVector _true_rhs
std::vector< std::string > _trial_var_names
Vector of names of state gridfunctions used in formulation, ordered by appearance in block vector dur...
std::vector< std::string > _test_var_names
mfem::BlockVector _true_x
Steady-state problem operator with no equation system.
virtual void SetGridFunctions() override
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).