Regdims.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 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 MERCHANREGILITY 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 REGDIMS_HPP
21#define REGDIMS_HPP
22
23/*
24 The Regdims class is a small utility class designed to hold on to
25 the values from the REGDIMS keyword.
26*/
27
29
30namespace Opm {
31 class Regdims {
32 public:
33
35 m_NTFIP( ParserKeywords::REGDIMS::NTFIP::defaultValue ),
36 m_NMFIPR( ParserKeywords::REGDIMS::NMFIPR::defaultValue ),
37 m_NRFREG( ParserKeywords::REGDIMS::NRFREG::defaultValue ),
38 m_NTFREG( ParserKeywords::REGDIMS::NTFREG::defaultValue ),
39 m_NPLMIX( ParserKeywords::REGDIMS::NPLMIX::defaultValue )
40 { }
41
42 Regdims(size_t ntfip , size_t nmfipr , size_t nrfregr , size_t ntfreg , size_t nplmix) :
43 m_NTFIP( ntfip ),
44 m_NMFIPR( nmfipr ),
45 m_NRFREG( nrfregr ),
46 m_NTFREG( ntfreg ),
47 m_NPLMIX( nplmix )
48 {}
49
51 {
52 return Regdims(1, 2, 3, 4, 5);
53 }
54
55
56 size_t getNTFIP() const {
57 return m_NTFIP;
58 }
59
60
61 size_t getNMFIPR() const {
62 return m_NMFIPR;
63 }
64
65
66 size_t getNRFREG() const {
67 return m_NRFREG;
68 }
69
70
71 size_t getNTFREG() const {
72 return m_NTFREG;
73 }
74
75
76 size_t getNPLMIX() const {
77 return m_NPLMIX;
78 }
79
80
81 bool operator==(const Regdims& data) const {
82 return this->getNTFIP() == data.getNTFIP() &&
83 this->getNMFIPR() == data.getNMFIPR() &&
84 this->getNRFREG() == data.getNRFREG() &&
85 this->getNTFREG() == data.getNTFREG() &&
86 this->getNPLMIX() == data.getNPLMIX();
87 }
88
89 template<class Serializer>
90 void serializeOp(Serializer& serializer)
91 {
92 serializer(m_NTFIP);
93 serializer(m_NMFIPR);
94 serializer(m_NRFREG);
95 serializer(m_NTFREG);
96 serializer(m_NPLMIX);
97 }
98
99 private:
100 size_t m_NTFIP;
101 size_t m_NMFIPR;
102 size_t m_NRFREG;
103 size_t m_NTFREG;
104 size_t m_NPLMIX;
105 };
106}
107
108
109#endif
Definition: Regdims.hpp:31
bool operator==(const Regdims &data) const
Definition: Regdims.hpp:81
size_t getNMFIPR() const
Definition: Regdims.hpp:61
size_t getNPLMIX() const
Definition: Regdims.hpp:76
Regdims()
Definition: Regdims.hpp:34
Regdims(size_t ntfip, size_t nmfipr, size_t nrfregr, size_t ntfreg, size_t nplmix)
Definition: Regdims.hpp:42
static Regdims serializeObject()
Definition: Regdims.hpp:50
size_t getNTFREG() const
Definition: Regdims.hpp:71
void serializeOp(Serializer &serializer)
Definition: Regdims.hpp:90
size_t getNRFREG() const
Definition: Regdims.hpp:66
size_t getNTFIP() const
Definition: Regdims.hpp:56
Definition: Serializer.hpp:38
@ NMFIPR
Definition: VectorItems/intehead.hpp:103
@ NTFIP
Definition: VectorItems/intehead.hpp:99
Definition: A.hpp:4
static std::string data()
Definition: exprtk.hpp:40022