InitConfig.hpp
Go to the documentation of this file.
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_INIT_CONFIG_HPP
21#define OPM_INIT_CONFIG_HPP
22
23#include <string>
24
27
28namespace Opm {
29
30 class Deck;
31
32 class InitConfig {
33
34 public:
36 explicit InitConfig(const Deck& deck);
37
39
40 void setRestart( const std::string& root, int step);
41 bool restartRequested() const;
42 int getRestartStep() const;
44
45 bool hasEquil() const;
46 const Equil& getEquil() const;
47
48 bool hasGravity() const;
49
50 bool hasFoamConfig() const;
51 const FoamConfig& getFoamConfig() const;
52
53 bool filleps() const
54 {
55 return this->m_filleps;
56 }
57
58 bool operator==(const InitConfig& config) const;
59
60 template<class Serializer>
61 void serializeOp(Serializer& serializer)
62 {
63 equil.serializeOp(serializer);
64 foamconfig.serializeOp(serializer);
65 serializer(m_filleps);
66 serializer(m_gravity);
67 serializer(m_restartRequested);
68 serializer(m_restartStep);
69 serializer(m_restartRootName);
70 }
71
72 private:
73 Equil equil;
74 FoamConfig foamconfig;
75 bool m_filleps;
76 bool m_gravity = true;
77
78 bool m_restartRequested = false;
79 int m_restartStep = 0;
80 std::string m_restartRootName;
81 };
82
83} //namespace Opm
84
85#endif
const char *const string
Definition: cJSON.h:170
Definition: Deck.hpp:115
Definition: Equil.hpp:55
void serializeOp(Serializer &serializer)
Definition: Equil.hpp:75
Foam behaviour data for all SATNUM regions.
Definition: FoamConfig.hpp:73
void serializeOp(Serializer &serializer)
Definition: FoamConfig.hpp:100
Definition: InitConfig.hpp:32
void serializeOp(Serializer &serializer)
Definition: InitConfig.hpp:61
bool hasFoamConfig() const
bool hasGravity() const
int getRestartStep() const
bool hasEquil() const
const Equil & getEquil() const
const std::string & getRestartRootName() const
static InitConfig serializeObject()
void setRestart(const std::string &root, int step)
bool filleps() const
Definition: InitConfig.hpp:53
bool restartRequested() const
InitConfig(const Deck &deck)
const FoamConfig & getFoamConfig() const
bool operator==(const InitConfig &config) const
Definition: Serializer.hpp:38
Definition: A.hpp:4
T root(const T v0, const T v1)
Definition: exprtk.hpp:1449