opm-common
Toggle main menu visibility
Loading...
Searching...
No Matches
Tables.hpp
1
/*
2
Copyright 2019 Equinor.
3
Copyright 2017 Statoil ASA.
4
Copyright 2016 Statoil ASA.
5
6
This file is part of the Open Porous Media project (OPM).
7
8
OPM is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
OPM is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with OPM. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef OUTPUT_TABLES_HPP
23
#define OUTPUT_TABLES_HPP
24
25
#include <tuple>
26
#include <vector>
27
28
namespace
Opm
{
29
30
struct
DensityTable
;
31
class
EclipseState
;
32
class
UnitSystem
;
33
34
}
// namespace Opm
35
36
namespace
Opm
{
37
41
class
Tables
42
{
43
public
:
49
explicit
Tables(
const
UnitSystem& units);
50
56
void
addDensity(
const
DensityTable& density);
57
62
void
addPVTTables(
const
EclipseState& es);
63
69
void
addSatFunc(
const
EclipseState& es);
70
72
const
std::vector<int>& tabdims()
const
;
73
75
const
std::vector<double>& tab()
const
;
76
77
private
:
79
const
UnitSystem& units_;
80
82
std::vector<int> tabdims_;
83
85
std::vector<double> data_;
86
95
void
addData(
const
std::size_t offset_index,
96
const
std::vector<double>& new_data);
97
108
void
addSatFuncGas(
const
std::tuple<
int
,
int
, std::vector<double>>& sgfn);
109
120
void
addSatFuncOil(
const
std::tuple<
int
,
int
, std::vector<double>>& sofn);
121
132
void
addSatFuncWater(
const
std::tuple<
int
,
int
, std::vector<double>>& swfn);
133
140
void
addGasPVTTables(
const
EclipseState& es);
141
148
void
addOilPVTTables(
const
EclipseState& es);
149
156
void
addWaterPVTTables(
const
EclipseState& es);
157
};
158
159
}
// namespace Opm
160
161
#endif
// OUTPUT_TABLES_HPP
Opm::EclipseState
Definition
EclipseState.hpp:62
Opm::UnitSystem
Definition
UnitSystem.hpp:34
Opm
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition
Exceptions.hpp:30
Opm::DensityTable
Definition
FlatTable.hpp:124
opm
output
eclipse
Tables.hpp
Generated by
1.17.0