My Project
PlyrockTable.hpp
1 /*
2  Copyright (C) 2014 by Andreas Lauser
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_PLYROCK_TABLE_HPP
20 #define OPM_PARSER_PLYROCK_TABLE_HPP
21 
22 #include "SimpleTable.hpp"
23 
24 namespace Opm {
25 
26  class DeckReckord;
27 
28  class PlyrockTable : public SimpleTable {
29  public:
30 
31  // This is not really a table; every column has only one element.
32  PlyrockTable( const DeckRecord& record );
33 
34  // since this keyword is not necessarily monotonic, it cannot be evaluated!
35  //using SimpleTable::evaluate;
36 
37  const TableColumn& getDeadPoreVolumeColumn() const;
38  const TableColumn& getResidualResistanceFactorColumn() const;
39  const TableColumn& getRockDensityFactorColumn() const;
40 
41  // is column is actually an integer, but this is not yet
42  // supported by opm-parser (yet?) as it would require quite a
43  // few changes in the table support classes (read: it would
44  // probably require a lot of template vodoo) and some in the
45  // JSON-to-C conversion code. In the meantime, the index is
46  // just a double which can be converted to an integer in the
47  // calling code. (Make sure, that you don't interpolate
48  // indices, though!)
49  const TableColumn& getAdsorbtionIndexColumn() const;
50  const TableColumn& getMaxAdsorbtionColumn() const;
51  };
52 }
53 
54 #endif
Definition: DeckRecord.hpp:32
Definition: PlyrockTable.hpp:28
Definition: SimpleTable.hpp:35
Definition: TableColumn.hpp:32
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29