opm-common
Toggle main menu visibility
Loading...
Searching...
No Matches
SimulationConfig.hpp
1
/*
2
Copyright 2015 Statoil 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_SIMULATION_CONFIG_HPP
21
#define OPM_SIMULATION_CONFIG_HPP
22
23
#include <opm/input/eclipse/EclipseState/SimulationConfig/BCConfig.hpp>
24
#include <opm/input/eclipse/EclipseState/SimulationConfig/DatumDepth.hpp>
25
#include <opm/input/eclipse/EclipseState/SimulationConfig/RockConfig.hpp>
26
#include <opm/input/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp>
27
28
namespace
Opm
{
29
30
class
Deck
;
31
class
FieldPropsManager
;
32
33
}
// namespace Opm
34
35
namespace
Opm
{
36
37
class
SimulationConfig
38
{
39
public
:
40
SimulationConfig() =
default
;
41
SimulationConfig(
bool
restart,
42
const
Deck
& deck,
43
const
FieldPropsManager
& fp);
44
45
static
SimulationConfig serializationTestObject();
46
47
const
RockConfig
& rock_config()
const
;
48
const
ThresholdPressure
& getThresholdPressure()
const
;
49
const
BCConfig
& bcconfig()
const
;
50
const
DatumDepth& datumDepths()
const
;
51
52
bool
useThresholdPressure()
const
;
53
bool
useCPR()
const
;
54
bool
useNONNC()
const
;
55
bool
hasDISGAS()
const
;
56
bool
hasDISGASW()
const
;
57
bool
hasVAPOIL()
const
;
58
bool
hasVAPWAT()
const
;
59
bool
isThermal()
const
;
60
bool
useEnthalpy()
const
;
61
bool
isDiffusive()
const
;
62
bool
hasPRECSALT()
const
;
63
bool
anyTUNING()
const
;
64
65
bool
operator==(
const
SimulationConfig& data)
const
;
66
static
bool
rst_cmp(
const
SimulationConfig& full_config,
67
const
SimulationConfig& rst_config);
68
69
template
<
class
Serializer>
70
void
serializeOp(
Serializer
& serializer)
71
{
72
serializer(m_ThresholdPressure);
73
serializer(m_bcconfig);
74
serializer(m_rock_config);
75
serializer(this->m_datum_depth);
76
serializer(m_useCPR);
77
serializer(m_useNONNC);
78
serializer(m_DISGAS);
79
serializer(m_DISGASW);
80
serializer(m_VAPOIL);
81
serializer(m_VAPWAT);
82
serializer(m_isThermal);
83
serializer(m_useEnthalpy);
84
serializer(m_diffuse);
85
serializer(m_PRECSALT);
86
serializer(m_anyTUNING);
87
}
88
89
private
:
90
friend
class
EclipseState;
91
92
ThresholdPressure
m_ThresholdPressure{};
93
BCConfig
m_bcconfig{};
94
RockConfig
m_rock_config{};
95
DatumDepth m_datum_depth{};
96
bool
m_useCPR{
false
};
97
bool
m_useNONNC{
false
};
98
bool
m_DISGAS{
false
};
99
bool
m_DISGASW{
false
};
100
bool
m_VAPOIL{
false
};
101
bool
m_VAPWAT{
false
};
102
bool
m_isThermal{
false
};
103
bool
m_useEnthalpy{
false
};
104
bool
m_diffuse{
false
};
105
bool
m_PRECSALT{
false
};
106
bool
m_anyTUNING{
false
};
107
};
108
109
}
// namespace Opm
110
111
#endif
// OPM_SIMULATION_CONFIG_HPP
Opm::BCConfig
Definition
BCConfig.hpp:35
Opm::Deck
Definition
Deck.hpp:46
Opm::FieldPropsManager
Definition
FieldPropsManager.hpp:42
Opm::RockConfig
Definition
RockConfig.hpp:33
Opm::Serializer
Class for (de-)serializing.
Definition
Serializer.hpp:94
Opm::ThresholdPressure
Definition
ThresholdPressure.hpp:34
Opm
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition
Exceptions.hpp:30
opm
input
eclipse
EclipseState
SimulationConfig
SimulationConfig.hpp
Generated by
1.17.0