mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Implement pressure effects in the Todd-Longstaff mixing parameter
The Todd-Longstaff model is extended to incorporate pressure effects The solvent viscosity is then caculated as mu_eff = mu_s^(1-\alpha * \omega) * mu_mix^(\alpha * \omega) where \omega accounts for the porous media effects and \alpha = \alpha(pressure) accounts for the miscibility of the solvent and oil when contacted. The \alpha values can be given using the TLPMIXPA keyword If no entries are given to TLPMIXPA the table specified using PMISC will be used as default. IF TLPMIXPA does not appear in the grid \alpha = 1 and the pressure effect is neglected. This is tested in test_solventprops_ad.cpp
This commit is contained in:
@@ -143,6 +143,13 @@ public:
|
||||
/// return Array of n mixing paramters for density calculation
|
||||
V mixingParameterDensity(const Cells& cells) const;
|
||||
|
||||
/// Todd-Longstaff pressure dependent mixing parameter
|
||||
/// \param[in] So Array of n oil fraction values. Soil / Sn values, where Sn = Sgas + Ssolvent + Soil.
|
||||
/// \param[in] cells Array of n cell indices to be associated with the fraction values.
|
||||
/// return Array of n pressure dependent mixing paramters
|
||||
ADB pressureMixingParameter(const ADB& po,
|
||||
const Cells& cells) const;
|
||||
|
||||
|
||||
private:
|
||||
/// Makes ADB from table values
|
||||
@@ -185,6 +192,7 @@ private:
|
||||
std::vector<NonuniformTableLinear<double> > pmisc_;
|
||||
std::vector<NonuniformTableLinear<double> > sorwmis_;
|
||||
std::vector<NonuniformTableLinear<double> > sgcwmis_;
|
||||
std::vector<NonuniformTableLinear<double> > tlpmix_param_;
|
||||
std::vector<double> mix_param_viscosity_;
|
||||
std::vector<double> mix_param_density_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user