opm-simulators
Loading...
Searching...
No Matches
PyOnePhaseSimulator.hpp
1/*
2 Copyright 2025 Equinor ASA.
3
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#ifndef OPM_PY_ONE_PHASE_SIMULATOR_HEADER_INCLUDED
21#define OPM_PY_ONE_PHASE_SIMULATOR_HEADER_INCLUDED
22
23#include <opm/simulators/flow/python/PyBaseSimulator.hpp>
24#include <opm/simulators/flow/TTagFlowProblemOnePhase.hpp>
25
26#include <memory>
27
28namespace Opm::Pybind {
29
30class PyOnePhaseSimulator : public PyBaseSimulator<Opm::Properties::TTag::FlowOnePhaseProblem>
31{
32private:
33 using BaseType = PyBaseSimulator<Opm::Properties::TTag::FlowOnePhaseProblem>;
35
36public:
37 PyOnePhaseSimulator(const std::string& deck_filename,
38 const std::vector<std::string>& args)
39 : BaseType(deck_filename, args)
40 {}
41
42 PyOnePhaseSimulator(std::shared_ptr<Opm::Deck> deck,
43 std::shared_ptr<Opm::EclipseState> state,
44 std::shared_ptr<Opm::Schedule> schedule,
45 std::shared_ptr<Opm::SummaryConfig> summary_config,
46 const std::vector<std::string>& args)
47 : BaseType(deck, state, schedule, summary_config, args)
48 {}
49};
50
51} // namespace Opm::Pybind
52
53#endif // OPM_PY_ONEPHASE_SIMULATOR_HEADER_INCLUDED
Specialized type tag for one phase (water) simulations.
Definition TTagFlowProblemOnePhase.hpp:32