https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
17namespace Moose::MFEM
18{
35{
36public:
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
51protected:
54
55private:
56 std::shared_ptr<EquationSystem> _equation_system{nullptr};
57};
58
59} // namespace Moose::MFEM
60
61#endif
Steady-state ProblemOperator that prepares and solves a single EquationSystem.
void FormEquationSystemOperator()
Form equation-system state used by Solve().
virtual EquationSystem * GetEquationSystem() const override
Returns a pointer to the operator's equation system.
Owns the weak-form mathematics of a MOOSE MFEM problem.
Steady-state problem operator with no equation system.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).