My Project
PlyshlogTable.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 #ifndef OPM_PARSER_PLYSHLOG_TABLE_HPP
20 #define OPM_PARSER_PLYSHLOG_TABLE_HPP
21 
22 #include "SimpleTable.hpp"
23 
24 
25 namespace Opm {
26 
27  class DeckRecord;
28  class TableManager;
29 
30  class PlyshlogTable : public SimpleTable {
31  public:
32  friend class TableManager;
33 
34  PlyshlogTable() = default;
35  PlyshlogTable(const DeckRecord& indexRecord, const DeckRecord& dataRecord);
36 
37  static PlyshlogTable serializationTestObject();
38 
39  double getRefPolymerConcentration() const;
40  double getRefSalinity() const;
41  double getRefTemperature() const;
42  void setRefPolymerConcentration(const double refPlymerConcentration);
43  void setRefSalinity(const double refSalinity);
44  void setRefTemperature(const double refTemperature);
45  bool hasRefSalinity() const;
46  bool hasRefTemperature() const;
47  void setHasRefSalinity(const bool has);
48  void setHasRefTemperature(const bool has);
49  const TableColumn& getWaterVelocityColumn() const;
50  const TableColumn& getShearMultiplierColumn() const;
51 
52  bool operator==(const PlyshlogTable& data) const;
53 
54  template<class Serializer>
55  void serializeOp(Serializer& serializer)
56  {
57  this->SimpleTable::serializeOp(serializer);
58  serializer(m_refPolymerConcentration);
59  serializer(m_refSalinity);
60  serializer(m_refTemperature);
61  serializer(m_hasRefSalinity);
62  serializer(m_hasRefTemperature);
63  }
64 
65  private:
66  double m_refPolymerConcentration = 1.0;
67  double m_refSalinity = 0.0;
68  double m_refTemperature = 0.0;
69 
70  bool m_hasRefSalinity = false;
71  bool m_hasRefTemperature = false;
72  };
73 }
74 
75 #endif
Definition: DeckRecord.hpp:32
Definition: PlyshlogTable.hpp:30
Class for (de-)serializing.
Definition: Serializer.hpp:75
Definition: SimpleTable.hpp:35
Definition: TableColumn.hpp:32
Definition: TableManager.hpp:65
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29