logihead.hpp
Go to the documentation of this file.
1/*
2 Copyright 2019 Equinor ASA.
3 Copyright 2016, 2017 Statoil ASA.
4
5 This file is part of the Open Porous Media Project (OPM).
6
7 OPM is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 OPM is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with OPM. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef OPM_LOGIHEAD_HEADER_INCLUDED
22#define OPM_LOGIHEAD_HEADER_INCLUDED
23
24#include <vector>
25
26namespace Opm { namespace RestartIO {
27
29 {
30 public:
32 struct PVTModel
33 {
36 bool isLiveOil { false };
37
40 bool isWetGas { false };
41
44 bool constComprOil { false };
45 };
46
49 {
52 bool useDirectionalRelPerm { false };
53
56 bool useReversibleRelPerm { true };
57
59 bool useEndScale { false };
60
63 bool useDirectionalEPS { false };
64
67 bool useReversibleEPS { true };
68
71 bool useAlternateEPS { false };
72 };
73
75 ~LogiHEAD() = default;
76
77 LogiHEAD(const LogiHEAD& rhs) = default;
78 LogiHEAD(LogiHEAD&& rhs) = default;
79
80 LogiHEAD& operator=(const LogiHEAD& rhs) = default;
81 LogiHEAD& operator=(LogiHEAD&& rhs) = default;
82
83 LogiHEAD& variousParam(const bool e300_radial,
84 const bool e100_radial,
85 const int nswlmx,
86 const bool enableHyster
87 );
88
95
103
104 const std::vector<bool>& data() const
105 {
106 return this->data_;
107 }
108
109 private:
110 std::vector<bool> data_;
111 };
112
113}} // Opm::RestartIO
114
115#endif // OPM_LOGIHEAD_HEADER_INCLUDED
Definition: logihead.hpp:29
LogiHEAD & saturationFunction(const SatfuncFlags &satfunc)
LogiHEAD & operator=(const LogiHEAD &rhs)=default
LogiHEAD(LogiHEAD &&rhs)=default
LogiHEAD & pvtModel(const PVTModel &pvt)
LogiHEAD & variousParam(const bool e300_radial, const bool e100_radial, const int nswlmx, const bool enableHyster)
LogiHEAD(const LogiHEAD &rhs)=default
const std::vector< bool > & data() const
Definition: logihead.hpp:104
LogiHEAD & operator=(LogiHEAD &&rhs)=default
Definition: A.hpp:4
Key characteristics of simulation run's PVT model.
Definition: logihead.hpp:33
bool constComprOil
Definition: logihead.hpp:44
bool isWetGas
Definition: logihead.hpp:40
bool isLiveOil
Definition: logihead.hpp:36
Key characteristics of simulation model's saturation functions.
Definition: logihead.hpp:49
bool useDirectionalRelPerm
Definition: logihead.hpp:52
bool useReversibleRelPerm
Definition: logihead.hpp:56
bool useDirectionalEPS
Definition: logihead.hpp:63
bool useEndScale
Whether or not simulation run uses end-point scaling.
Definition: logihead.hpp:59
bool useReversibleEPS
Definition: logihead.hpp:67
bool useAlternateEPS
Definition: logihead.hpp:71