https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ProblemOperatorInterface.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 "ProblemOperatorBase.h"
15
16namespace Moose::MFEM
17{
24{
25public:
27 virtual ~ProblemOperatorInterface() = default;
28
30 virtual std::vector<std::shared_ptr<ProblemOperatorBase>> & getProblemOperators()
31 {
32 return _problem_operators;
33 }
34
36 virtual void addProblemOperator(std::shared_ptr<ProblemOperatorBase> problem_operator)
37 {
38 _problem_operators.push_back(std::move(problem_operator));
39 }
40
41private:
42 std::vector<std::shared_ptr<ProblemOperatorBase>> _problem_operators;
43};
44}
45
46#endif
Interface required for MFEM executioners to add and get ProblemOperators:
virtual std::vector< std::shared_ptr< ProblemOperatorBase > > & getProblemOperators()
Returns a pointer to the operator's equation system.
std::vector< std::shared_ptr< ProblemOperatorBase > > _problem_operators
virtual ~ProblemOperatorInterface()=default
virtual void addProblemOperator(std::shared_ptr< ProblemOperatorBase > problem_operator)
Add an MFEM problem operator. Takes ownership.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).