https://mooseframework.inl.gov
EquationSystemProblemOperator.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #ifdef MOOSE_MFEM_ENABLED
11 
12 #pragma once
13 
14 #include "ProblemOperator.h"
16 
17 namespace Moose::MFEM
18 {
35 {
36 public:
38  : ProblemOperator(problem), _equation_system(_problem_data.eqn_system)
39  {
40  }
41 
42  virtual void SetGridFunctions() override;
43  virtual void Solve() override;
44 
45  [[nodiscard]] virtual EquationSystem * GetEquationSystem() const override
46  {
47  mooseAssert(_equation_system, "No EquationSystem in EquationSystemProblemOperator.");
48  return _equation_system.get();
49  }
50 
51 protected:
54 
55 private:
56  std::shared_ptr<EquationSystem> _equation_system{nullptr};
57 };
58 
59 } // namespace Moose::MFEM
60 
61 #endif
virtual EquationSystem * GetEquationSystem() const override
Returns a pointer to the operator&#39;s equation system.
void FormEquationSystemOperator()
Form equation-system state used by Solve().
Owns the weak-form mathematics of a MOOSE MFEM problem.
Steady-state problem operator with no equation system.
Steady-state ProblemOperator that prepares and solves a single EquationSystem.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).