10#ifdef MOOSE_MFEM_ENABLED
15#include "libmesh/ignore_warnings.h"
17#include "libmesh/restore_warnings.h"
82 mfem::Operator & linear_operator,
83 const mfem::Vector & rhs,
88 SolveWithOperator(mfem::Operator & system_operator,
const mfem::Vector & rhs, mfem::Vector & x)
90 return SolveWithOperator(system_operator, system_operator.GetGradient(x), rhs, x);
Connects MFEMProblem's MOOSE solver objects to EquationSystem's mathematics.
virtual void SetTrialVariablesFromTrueVectors()
std::vector< mfem::ParGridFunction * > _trial_variables
mfem::BlockVector _true_solution
Persistent true-DoF solution vector backing this operator's trial grid functions after Init().
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::Vector * _trial_true_vector
mfem::Array< int > _block_true_offsets_trial
mfem::Array< int > _block_true_offsets_test
MFEMProblem & _problem
Reference to the current problem.
MFEMProblemData & _problem_data
std::vector< mfem::ParGridFunction * > _test_variables
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...
virtual ~ProblemOperatorBase()=default
std::vector< std::string > _test_var_names
void SolveWithOperator(mfem::Operator &system_operator, const mfem::Vector &rhs, mfem::Vector &x)
Solve the current system operator using system_operator.GetGradient(x) as the linear operator.
virtual void SetGridFunctions()
mfem::BlockVector _true_x
Interface for objects interacting with the PerfGraph.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
Base problem data struct.