20 #ifndef OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
21 #define OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
28 #endif // HAVE_CONFIG_H
30 #include <opm/core/grid.h>
31 #include <opm/core/grid/GridManager.hpp>
32 #include <opm/core/grid/GridHelpers.hpp>
33 #include <opm/core/utility/linearInterpolation.hpp>
34 #include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
35 #include <opm/parser/eclipse/Deck/Deck.hpp>
36 #include <opm/common/OpmLog/OpmLog.hpp>
37 #include <opm/parser/eclipse/EclipseState/Tables/SsfnTable.hpp>
38 #include <opm/parser/eclipse/EclipseState/Tables/MiscTable.hpp>
39 #include <opm/parser/eclipse/EclipseState/Tables/MsfnTable.hpp>
40 #include <opm/parser/eclipse/EclipseState/Tables/SgcwmisTable.hpp>
41 #include <opm/parser/eclipse/EclipseState/Tables/SorwmisTable.hpp>
42 #include <opm/material/fluidmatrixinteractions/EclEpsScalingPoints.hpp>
60 template <
class Gr
idT>
61 void diagnosis(
const EclipseState& eclState,
74 FluidSystem fluidSystem_;
76 enum SaturationFunctionFamily {
82 SaturationFunctionFamily satFamily_;
84 std::vector<Opm::EclEpsScalingPointsInfo<double> > unscaledEpsInfo_;
85 std::vector<Opm::EclEpsScalingPointsInfo<double> > scaledEpsInfo_;
89 void phaseCheck_(
const EclipseState& es);
92 void satFamilyCheck_(
const EclipseState& eclState);
95 void tableCheck_(
const EclipseState& eclState);
98 void unscaledEndPointsCheck_(
const Deck& deck,
99 const EclipseState& eclState);
101 template <
class Gr
idT>
102 void scaledEndPointsCheck_(
const Deck& deck,
103 const EclipseState& eclState,
107 void swofTableCheck_(
const Opm::SwofTable& swofTables,
108 const int satnumIdx);
109 void sgofTableCheck_(
const Opm::SgofTable& sgofTables,
110 const int satnumIdx);
111 void slgofTableCheck_(
const Opm::SlgofTable& slgofTables,
112 const int satnumIdx);
113 void swfnTableCheck_(
const Opm::SwfnTable& swfnTables,
114 const int satnumIdx);
115 void sgfnTableCheck_(
const Opm::SgfnTable& sgfnTables,
116 const int satnumIdx);
117 void sof3TableCheck_(
const Opm::Sof3Table& sof3Tables,
118 const int satnumIdx);
119 void sof2TableCheck_(
const Opm::Sof2Table& sof2Tables,
120 const int satnumIdx);
121 void sgwfnTableCheck_(
const Opm::SgwfnTable& sgwfnTables,
122 const int satnumIdx);
124 void sgcwmisTableCheck_(
const Opm::SgcwmisTable& sgcwmisTables,
125 const int satnumIdx);
126 void sorwmisTableCheck_(
const Opm::SorwmisTable& sorwmisTables,
127 const int satnumIdx);
128 void ssfnTableCheck_(
const Opm::SsfnTable& ssfnTables,
129 const int satnumIdx);
130 void miscTableCheck_(
const Opm::MiscTable& miscTables,
131 const int miscnumIdx);
132 void msfnTableCheck_(
const Opm::MsfnTable& msfnTables,
133 const int satnumIdx);
138 #include <opm/core/props/satfunc/RelpermDiagnostics_impl.hpp>
140 #endif // OPM_RELPERMDIAGNOSTICS_HEADER_INCLUDED
This class is intend to be a relpmer diganostics, to detect wrong input of relperm table and endpoint...
Definition: RelpermDiagnostics.hpp:51
void diagnosis(const EclipseState &eclState, const Deck &deck, const GridT &grid)
This function is used to diagnosis relperm in eclipse data file.