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:
39 EquationSystemProblemOperator(MFEMProblem & problem, const std::string & weak_form_name = "");
40
41 virtual void SetGridFunctions() override;
42 virtual void Solve() override;
43
44 [[nodiscard]] virtual EquationSystem * GetEquationSystem() const override
45 {
46 mooseAssert(_equation_system, "No EquationSystem in EquationSystemProblemOperator.");
47 return _equation_system.get();
48 }
49
50protected:
53
54private:
55 std::shared_ptr<EquationSystem> _equation_system{nullptr};
56};
57
58} // namespace Moose::MFEM
59
60#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).