https://mooseframework.inl.gov
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 #include "ProblemOperatorBase.h"
14 
15 namespace Moose::MFEM
16 {
23 {
24 public:
25  ProblemOperatorInterface() = default;
26  virtual ~ProblemOperatorInterface() = default;
27 
29  virtual std::vector<std::shared_ptr<ProblemOperatorBase>> & getProblemOperators()
30  {
31  return _problem_operators;
32  }
33 
35  virtual void addProblemOperator(std::shared_ptr<ProblemOperatorBase> problem_operator)
36  {
37  _problem_operators.push_back(std::move(problem_operator));
38  }
39 
40 private:
41  std::vector<std::shared_ptr<ProblemOperatorBase>> _problem_operators;
42 };
43 }
44 
45 #endif
virtual std::vector< std::shared_ptr< ProblemOperatorBase > > & getProblemOperators()
Returns a pointer to the operator&#39;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.
Interface required for MFEM executioners to add and get ProblemOperators: