28 #ifndef OPM_ECL_MATERIAL_LAW_HYST_PARAMS_HPP 29 #define OPM_ECL_MATERIAL_LAW_HYST_PARAMS_HPP 38 class EclEpsGridProperties;
46 template<
class Traits>
50 using Scalar =
typename Traits::Scalar;
51 using GasOilHystParams =
typename TwoPhaseTypes<Traits>::GasOilHystParams;
52 using GasWaterHystParams =
typename TwoPhaseTypes<Traits>::GasWaterHystParams;
53 using OilWaterHystParams =
typename TwoPhaseTypes<Traits>::OilWaterHystParams;
63 std::shared_ptr<GasOilHystParams> getGasOilParams()
64 {
return gasOilParams_; }
66 std::shared_ptr<OilWaterHystParams> getOilWaterParams()
67 {
return oilWaterParams_; }
69 std::shared_ptr<GasWaterHystParams> getGasWaterParams()
70 {
return gasWaterParams_; }
72 void setConfig(
unsigned satRegionIdx);
77 using LookupFunction = std::function<unsigned(unsigned)>;
79 void setDrainageParamsOilGas(
unsigned elemIdx,
unsigned satRegionIdx,
80 const LookupFunction& lookupIdxOnLevelZeroAssigner);
82 void setDrainageParamsOilWater(
unsigned elemIdx,
unsigned satRegionIdx,
83 const LookupFunction& lookupIdxOnLevelZeroAssigner);
85 void setDrainageParamsGasWater(
unsigned elemIdx,
unsigned satRegionIdx,
86 const LookupFunction& lookupIdxOnLevelZeroAssigner);
88 void setImbibitionParamsOilGas(
unsigned elemIdx,
unsigned satRegionIdx,
89 const LookupFunction& lookupIdxOnLevelZeroAssigner);
91 void setImbibitionParamsOilWater(
unsigned elemIdx,
unsigned satRegionIdx,
92 const LookupFunction& lookupIdxOnLevelZeroAssigner);
93 void setImbibitionParamsGasWater(
unsigned elemIdx,
unsigned satRegionIdx,
94 const LookupFunction& lookupIdxOnLevelZeroAssigner);
108 const LookupFunction& lookupIdxOnLevelZeroAssigner);
111 readScaledEpsPointsDrainage_(
unsigned elemIdx,
113 const LookupFunction& lookupIdxOnLevelZeroAssigner);
116 readScaledEpsPointsImbibition_(
unsigned elemIdx,
118 const LookupFunction& lookupIdxOnLevelZeroAssigner);
120 std::shared_ptr<GasOilHystParams> gasOilParams_;
121 std::shared_ptr<OilWaterHystParams> oilWaterParams_;
122 std::shared_ptr<GasWaterHystParams> gasWaterParams_;
EclTwoPhaseSystemType
Specified which fluids are involved in a given twophase material law for endpoint scaling...
Definition: EclEpsConfig.hpp:40
Definition: EclMaterialLawHystParams.hpp:47
Definition: EclMaterialLawHystParams.cpp:28
Collects all grid properties which are relevant for end point scaling.
Definition: EclEpsGridProperties.hpp:44
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: EclipseState.hpp:66
Represents the points on the X and Y axis to be scaled if endpoint scaling is used.
Definition: EclEpsScalingPoints.hpp:150
Provides an simple way to create and manage the material law objects for a complete ECL deck...
Definition: EclMaterialLawHystParams.hpp:44