20 #ifndef OPM_SATURATIONPROPSFROMDECK_HEADER_INCLUDED
21 #define OPM_SATURATIONPROPSFROMDECK_HEADER_INCLUDED
23 #include <opm/core/props/satfunc/SaturationPropsInterface.hpp>
24 #include <opm/core/utility/parameters/ParameterGroup.hpp>
25 #include <opm/core/props/BlackoilPhases.hpp>
26 #include <opm/core/props/phaseUsageFromDeck.hpp>
27 #include <opm/core/grid.h>
29 #include <opm/parser/eclipse/Deck/Deck.hpp>
30 #include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
34 struct UnstructuredGrid;
40 template <
class ScalarT,
int wettingPhaseIdxV,
int nonWettingasPhaseIdxV,
int gasPhaseIdxV>
42 template <
class Traits>
52 BlackoilPhases::Liquid,
69 void init(
const Opm::Deck& deck,
70 std::shared_ptr<MaterialLawManager> materialLawManager)
72 init(Opm::phaseUsageFromDeck(deck), materialLawManager);
106 double* dpcds)
const;
130 const double* pcswmdc,
131 const double* krnswdc);
140 double* krnswdc)
const;
148 const double* pcswmdc,
149 const double* krnswdc);
158 double* krnswdc)
const;
173 std::shared_ptr<MaterialLawManager> materialLawManager_;
181 #endif // OPM_SATURATIONPROPSFROMDECK_HEADER_INCLUDED
void setGasOilHystParams(const int n, const int *cells, const double *pcswmdc, const double *krnswdc)
Set hysteresis parameters for gas-oil.
Definition: SaturationPropsFromDeck.cpp:278
void init(const Opm::Deck &deck, std::shared_ptr< MaterialLawManager > materialLawManager)
Initialize from deck and MaterialLawManager.
Definition: SaturationPropsFromDeck.hpp:69
Definition: SaturationPropsFromDeck.hpp:41
const MaterialLawManager & materialLawManager() const
Returns a reference to the MaterialLawManager.
Definition: SaturationPropsFromDeck.hpp:169
SaturationPropsFromDeck()
Default constructor.
Definition: SaturationPropsFromDeck.cpp:43
void setOilWaterHystParams(const int n, const int *cells, const double *pcswmdc, const double *krnswdc)
Set hysteresis parameters for oil-water.
Definition: SaturationPropsFromDeck.cpp:321
void getGasOilHystParams(const int n, const int *cells, double *pcswmdc, double *krnswdc) const
Get hysteresis parameters for gas-oil.
Definition: SaturationPropsFromDeck.cpp:296
Interface to saturation functions from deck.
Definition: SaturationPropsFromDeck.hpp:47
void satRange(const int n, const int *cells, double *smin, double *smax) const
Obtain the range of allowable saturation values.
Definition: SaturationPropsFromDeck.cpp:212
int numPhases() const
Definition: SaturationPropsFromDeck.cpp:56
void capPress(const int n, const double *s, const int *cells, double *pc, double *dpcds) const
Capillary pressure.
Definition: SaturationPropsFromDeck.cpp:133
void init(const PhaseUsage &phaseUsage, std::shared_ptr< MaterialLawManager > materialLawManager)
Initialize from a MaterialLawManager object.
Definition: SaturationPropsFromDeck.cpp:48
Definition: BlackoilPhases.hpp:36
Definition: SaturationPropsInterface.hpp:29
void updateSatHyst(const int n, const int *cells, const double *s)
Update saturation state for the hysteresis tracking.
Definition: SaturationPropsFromDeck.cpp:255
void getOilWaterHystParams(const int n, const int *cells, double *pcswmdc, double *krnswdc) const
Get hysteresis parameters for oil-water.
Definition: SaturationPropsFromDeck.cpp:339
void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const
Relative permeability.
Definition: SaturationPropsFromDeck.cpp:74
void swatInitScaling(const int cell, const double pcow, double &swat)
Update capillary pressure scaling according to pressure diff.
Definition: SaturationPropsFromDeck.cpp:365
Definition: SaturationPropsFromDeck.hpp:43