opm-simulators
Toggle main menu visibility
Loading...
Searching...
No Matches
RelpermDiagnostics.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
#ifndef OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
21
#define OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
22
23
#include <vector>
24
#include <utility>
25
26
#include <opm/material/fluidmatrixinteractions/EclEpsScalingPoints.hpp>
27
28
namespace
Opm
{
29
30
class
EclipseState;
31
template
<
typename
Gr
id
>
class
LevelCartesianIndexMapper
;
32
class
MiscTable;
33
class
MsfnTable;
34
class
SgcwmisTable;
35
class
SgfnTable;
36
class
SgofTable;
37
class
SgwfnTable;
38
class
SlgofTable;
39
class
Sof2Table;
40
class
Sof3Table;
41
class
SorwmisTable;
42
class
SsfnTable;
43
class
SwfnTable;
44
class
SwofTable;
45
class
GsfTable;
46
class
WsfTable;
47
50
class
RelpermDiagnostics
51
{
52
public
:
58
template
<
class
LevelCartesianIndexMapper>
59
void
diagnosis
(
const
EclipseState& eclState,
60
const
LevelCartesianIndexMapper
& levelCartesianIndexMapper);
61
62
private
:
63
enum
FluidSystem {
64
OilWater,
65
OilGas,
66
WaterGas,
67
BlackOil,
68
Solvent
69
};
70
71
FluidSystem fluidSystem_;
72
73
enum
SaturationFunctionFamily {
74
FamilyI,
75
FamilyII,
76
FamilyIII,
77
NoFamily
78
};
79
80
SaturationFunctionFamily satFamily_{NoFamily};
81
82
std::vector<EclEpsScalingPointsInfo<double> > unscaledEpsInfo_{};
83
std::vector<EclEpsScalingPointsInfo<double> > scaledEpsInfo_{};
84
85
88
bool
phaseCheck_(
const
EclipseState& es);
89
91
void
satFamilyCheck_(
const
EclipseState& eclState);
92
94
void
tableCheck_(
const
EclipseState& eclState);
95
97
void
unscaledEndPointsCheck_(
const
EclipseState& eclState);
98
99
template
<
class
LevelCartesianIndexMapper>
100
void
scaledEndPointsCheck_(
const
EclipseState& eclState,
101
const
LevelCartesianIndexMapper
& levelCartesianIndexMapper);
102
104
void
swofTableCheck_(
const
SwofTable& swofTables,
105
const
int
satnumIdx);
106
void
sgofTableCheck_(
const
SgofTable& sgofTables,
107
const
int
satnumIdx);
108
void
slgofTableCheck_(
const
SlgofTable& slgofTables,
109
const
int
satnumIdx);
110
void
swfnTableCheck_(
const
SwfnTable& swfnTables,
111
const
int
satnumIdx);
112
void
sgfnTableCheck_(
const
SgfnTable& sgfnTables,
113
const
int
satnumIdx);
114
void
wsfTableCheck_(
const
WsfTable& wsfTables,
115
const
int
satnumIdx);
116
void
gsfTableCheck_(
const
GsfTable& gsfTables,
117
const
int
satnumIdx);
118
void
sof3TableCheck_(
const
Sof3Table& sof3Tables,
119
const
int
satnumIdx);
120
void
sof2TableCheck_(
const
Sof2Table& sof2Tables,
121
const
int
satnumIdx);
122
void
sgwfnTableCheck_(
const
SgwfnTable& sgwfnTables,
123
const
int
satnumIdx);
125
void
sgcwmisTableCheck_(
const
SgcwmisTable& sgcwmisTables,
126
const
int
satnumIdx);
127
void
sorwmisTableCheck_(
const
SorwmisTable& sorwmisTables,
128
const
int
satnumIdx);
129
void
ssfnTableCheck_(
const
SsfnTable& ssfnTables,
130
const
int
satnumIdx);
131
void
miscTableCheck_(
const
MiscTable& miscTables,
132
const
int
miscnumIdx);
133
void
msfnTableCheck_(
const
MsfnTable& msfnTables,
134
const
int
satnumIdx);
135
};
136
137
}
//namespace Opm
138
139
#endif
// OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
Opm::LevelCartesianIndexMapper
Definition
RelpermDiagnostics.hpp:31
Opm::RelpermDiagnostics
This class is intend to be a relperm diagnostics, to detect wrong input of relperm table and endpoint...
Definition
RelpermDiagnostics.hpp:51
Opm::RelpermDiagnostics::diagnosis
void diagnosis(const EclipseState &eclState, const LevelCartesianIndexMapper &levelCartesianIndexMapper)
This function is used to diagnosis relperm in eclipse data file.
Definition
RelpermDiagnostics.cpp:830
Opm
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition
blackoilbioeffectsmodules.hh:43
opm
simulators
utils
satfunc
RelpermDiagnostics.hpp
Generated by
1.17.0