28 #ifndef OPM_BLACK_OIL_POLYMER_PARAMS_HPP 29 #define OPM_BLACK_OIL_POLYMER_PARAMS_HPP 31 #include <opm/material/common/Tabulated1DFunction.hpp> 32 #include <opm/material/common/IntervalTabulated2DFunction.hpp> 42 template<
class Scalar>
44 using TabulatedFunction = Tabulated1DFunction<Scalar>;
45 using TabulatedTwoDFunction = IntervalTabulated2DFunction<Scalar>;
47 enum AdsorptionBehaviour { Desorption = 1, NoDesorption = 2 };
49 template<
bool enablePolymer,
bool enablePolymerMolarWeight>
50 void initFromState(
const EclipseState& eclState);
63 double refConcentration;
64 TabulatedTwoDFunction table_func;
67 std::vector<Scalar> plyrockDeadPoreVolume_{};
68 std::vector<Scalar> plyrockResidualResistanceFactor_{};
69 std::vector<Scalar> plyrockRockDensityFactor_{};
70 std::vector<Scalar> plyrockAdsorbtionIndex_{};
71 std::vector<Scalar> plyrockMaxAdsorbtion_{};
72 std::vector<TabulatedFunction> plyadsAdsorbedPolymer_{};
73 std::vector<TabulatedFunction> plyviscViscosityMultiplierTable_{};
74 std::vector<Scalar> plymaxMaxConcentration_{};
75 std::vector<Scalar> plymixparToddLongstaff_{};
76 std::vector<std::vector<Scalar>> plyshlogShearEffectRefMultiplier_{};
77 std::vector<std::vector<Scalar>> plyshlogShearEffectRefLogVelocity_{};
78 std::vector<Scalar> shrate_{};
79 bool hasShrate_ =
false;
80 bool hasPlyshlog_ =
false;
82 std::vector<PlyvmhCoefficients> plyvmhCoefficients_{};
83 std::map<int, TabulatedTwoDFunction> plymwinjTables_{};
84 std::map<int, TabulatedTwoDFunction> skprwatTables_{};
86 std::map<int, SkprpolyTable> skprpolyTables_{};
94 void setNumSatRegions(
unsigned numRegions);
101 void setNumMixRegions(
unsigned numRegions,
bool enablePolymerMolarWeight);
108 void setPlyrock(
unsigned satRegionIdx,
109 const Scalar& plyrockDeadPoreVolume,
110 const Scalar& plyrockResidualResistanceFactor,
111 const Scalar& plyrockRockDensityFactor,
112 const Scalar& plyrockAdsorbtionIndex,
113 const Scalar& plyrockMaxAdsorbtion);
118 void processPlyrock(
const EclipseState& eclState);
123 void processPlyads(
const EclipseState& eclState);
128 template<
bool enablePolymerMolarWeight>
129 void processPlyvisc(
const EclipseState& eclState);
134 template<
bool enablePolymerMolarWeight>
135 void processPlymax(
const EclipseState& eclState);
140 template<
bool enablePolymerMolarWeight>
141 void processPlmixpar(
const EclipseState& eclState);
146 void processPlyshlog(
const EclipseState& eclState);
151 void processShrate(
const EclipseState& eclState);
156 void processPlyvmh(
const EclipseState& eclState);
161 void processPlymwinj(
const EclipseState& eclState);
166 void processSkprwat(
const EclipseState& eclState);
171 void processSkprpoly(
const EclipseState& eclState);
176 #endif // OPM_BLACK_OIL_POLYMER_PARAMS_HPP Structs needed for tpfalinearizer and its gpuparams struct extracted to be defined in one place that ...
Definition: blackoilbioeffectsmodules.hh:45
Struct holding the parameters for the BlackOilPolymerModule class.
Definition: blackoilpolymerparams.hpp:43
Definition: blackoilpolymerparams.hpp:55
Definition: blackoilpolymerparams.hpp:62