Aqudims.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2017 TNO
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 AQUDIMS_HPP
21#define AQUDIMS_HPP
22
23/*
24 The Aqudims class is a small utility class designed to hold on to
25 the values from the AQUDIMS keyword.
26*/
27
32
33namespace Opm {
34 class Aqudims {
35 public:
36
38 m_mxnaqn( ParserKeywords::AQUDIMS::MXNAQN::defaultValue ),
39 m_mxnaqc( ParserKeywords::AQUDIMS::MXNAQC::defaultValue ),
40 m_niftbl( ParserKeywords::AQUDIMS::NIFTBL::defaultValue ),
41 m_nriftb( ParserKeywords::AQUDIMS::NRIFTB::defaultValue ),
42 m_nanaqu( ParserKeywords::AQUDIMS::NANAQU::defaultValue ),
43 m_ncamax( ParserKeywords::AQUDIMS::NCAMAX::defaultValue ),
44 m_mxnali( ParserKeywords::AQUDIMS::MXNALI::defaultValue ),
45 m_mxaaql( ParserKeywords::AQUDIMS::MXAAQL::defaultValue )
46
47 { }
48
49 explicit Aqudims(const Deck& deck) :
50 Aqudims()
51 {
52 if (deck.hasKeyword("AQUDIMS")) {
53 const auto& record = deck.getKeyword( "AQUDIMS" , 0 ).getRecord( 0 );
54 m_mxnaqn = record.getItem("MXNAQN").get<int>(0);
55 m_mxnaqc = record.getItem("MXNAQC").get<int>(0);
56 m_niftbl = record.getItem("NIFTBL").get<int>(0);
57 m_nriftb = record.getItem("NRIFTB").get<int>(0);
58 m_nanaqu = record.getItem("NANAQU").get<int>(0);
59 m_ncamax = record.getItem("NCAMAX").get<int>(0);
60 m_mxnali = record.getItem("MXNALI").get<int>(0);
61 m_mxaaql = record.getItem("MXAAQL").get<int>(0);
62 }
63 }
64
66 {
67 Aqudims result;
68 result.m_mxnaqn = 1;
69 result.m_mxnaqc = 2;
70 result.m_niftbl = 3;
71 result.m_nriftb = 4;
72 result.m_nanaqu = 5;
73 result.m_ncamax = 6;
74 result.m_mxnali = 7;
75 result.m_mxaaql = 8;
76
77 return result;
78 }
79
80 size_t getNumAqunum() const
81 {
82 return m_mxnaqn;
83 }
84
86 {
87 return m_mxnaqc;
88 }
89
91 {
92 return m_niftbl;
93 }
94
96 {
97 return m_nriftb;
98 }
99
101 {
102 return m_nanaqu;
103 }
104
105 size_t getNumRowsAquancon() const
106 {
107 return m_ncamax;
108 }
109
110 size_t getNumAquiferLists() const
111 {
112 return m_mxnali;
113 }
114
116 {
117 return m_mxaaql;
118 }
119
120 bool operator==(const Aqudims& data) const
121 {
122 return m_mxnaqn == data.m_mxnaqn &&
123 m_mxnaqc == data.m_mxnaqc &&
124 m_niftbl == data.m_niftbl &&
125 m_nriftb == data.m_nriftb &&
126 m_nanaqu == data.m_nanaqu &&
127 m_ncamax == data.m_ncamax &&
128 m_mxnali == data.m_mxnali &&
129 m_mxaaql == data.m_mxaaql;
130 }
131
132 template<class Serializer>
133 void serializeOp(Serializer& serializer)
134 {
135 serializer(m_mxnaqn);
136 serializer(m_mxnaqc);
137 serializer(m_niftbl);
138 serializer(m_nriftb);
139 serializer(m_nanaqu);
140 serializer(m_ncamax);
141 serializer(m_mxnali);
142 serializer(m_mxaaql);
143 }
144
145 private:
146 size_t m_mxnaqn , m_mxnaqc , m_niftbl , m_nriftb , m_nanaqu , m_ncamax , m_mxnali , m_mxaaql;
147
148 };
149}
150
151
152#endif
Definition: Aqudims.hpp:34
bool operator==(const Aqudims &data) const
Definition: Aqudims.hpp:120
size_t getNumRowsInfluenceTable() const
Definition: Aqudims.hpp:95
static Aqudims serializeObject()
Definition: Aqudims.hpp:65
size_t getNumConnectionNumericalAquifer() const
Definition: Aqudims.hpp:85
size_t getNumAquiferLists() const
Definition: Aqudims.hpp:110
size_t getNumAnalyticAquifersSingleList() const
Definition: Aqudims.hpp:115
size_t getNumInfluenceTablesCT() const
Definition: Aqudims.hpp:90
size_t getNumAqunum() const
Definition: Aqudims.hpp:80
size_t getNumRowsAquancon() const
Definition: Aqudims.hpp:105
Aqudims()
Definition: Aqudims.hpp:37
void serializeOp(Serializer &serializer)
Definition: Aqudims.hpp:133
Aqudims(const Deck &deck)
Definition: Aqudims.hpp:49
size_t getNumAnalyticAquifers() const
Definition: Aqudims.hpp:100
const DeckRecord & getRecord(size_t index) const
Definition: Deck.hpp:115
bool hasKeyword(const DeckKeyword &keyword) const
DeckKeyword & getKeyword(size_t)
Definition: Serializer.hpp:38
@ NCAMAX
Definition: VectorItems/intehead.hpp:70
Definition: A.hpp:4
static std::string data()
Definition: exprtk.hpp:40022