My Project
TableIndex.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 
20 
21 #ifndef OPM_TABLE_INDEX_HPP
22 #define OPM_TABLE_INDEX_HPP
23 
24 #include <cstddef>
25 
26 /*
27  Small class used to simplify lookup in tables based on linear
28  interpolation; first binear search in an ordered column is used to
29  instantiate a TableIndex object, and then subsequently that
30  TableIndex instance is used to evaluate the corresponding value over
31  another column.
32 */
33 
34 namespace Opm {
35 
36  class TableIndex {
37  public:
38  TableIndex( size_t index1 , double weight1);
39  TableIndex( const TableIndex& tableIndex);
40  size_t getIndex1( ) const;
41  size_t getIndex2( ) const;
42  double getWeight1( ) const;
43  double getWeight2( ) const;
44  private:
45  size_t m_index1;
46  double m_weight1;
47  };
48 }
49 
50 
51 #endif
Definition: TableIndex.hpp:36
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29