mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Adding PLYSHLOG related to PolymerProperies.
This commit is contained in:
@@ -69,6 +69,38 @@ namespace Opm
|
|||||||
return water_vel_vals_;
|
return water_vel_vals_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const std::vector<double>&
|
||||||
|
PolymerProperties::shearViscosityReductionFactor() const
|
||||||
|
{
|
||||||
|
return shear_vrf_vals_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double PolymerProperties:: plyshlogRefConc() const
|
||||||
|
{
|
||||||
|
return plyshlog_ref_conc_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PolymerProperties::hasPlyshlogRefSalinity() const
|
||||||
|
{
|
||||||
|
return has_plyshlog_ref_salinity_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PolymerProperties::hasPlyshlogRefTemp() const
|
||||||
|
{
|
||||||
|
return has_plyshlog_ref_temp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double PolymerProperties::plyshlogRefSalinity() const
|
||||||
|
{
|
||||||
|
return plyshlog_ref_salinity_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double PolymerProperties::plyshlogRefTemp() const
|
||||||
|
{
|
||||||
|
return plyshlog_ref_temp_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
double
|
double
|
||||||
PolymerProperties::shearVrf(const double velocity) const
|
PolymerProperties::shearVrf(const double velocity) const
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -153,6 +153,32 @@ namespace Opm
|
|||||||
|
|
||||||
c_vals_ads_ = plyadsTable.getPolymerConcentrationColumn();
|
c_vals_ads_ = plyadsTable.getPolymerConcentrationColumn();
|
||||||
ads_vals_ = plyadsTable.getAdsorbedPolymerColumn();
|
ads_vals_ = plyadsTable.getAdsorbedPolymerColumn();
|
||||||
|
|
||||||
|
plyshlog_ = deck->hasKeyword("PLYSHLOG");
|
||||||
|
|
||||||
|
if(plyshlog_){
|
||||||
|
// Assuming NTPVT == 1 always due to the limitation of the parser
|
||||||
|
const auto& plyshlogTable = eclipseState->getPlyshlogTables()[0];
|
||||||
|
|
||||||
|
water_vel_vals_ = plyshlogTable.getWaterVelocityColumn();
|
||||||
|
shear_vrf_vals_ = plyshlogTable.getShearMultiplierColumn();
|
||||||
|
|
||||||
|
plyshlog_ref_conc_ = plyshlogTable.getRefPolymerConcentration();
|
||||||
|
|
||||||
|
if(plyshlogTable.hasRefSalinity()) {
|
||||||
|
has_plyshlog_ref_salinity_ = true;
|
||||||
|
plyshlog_ref_salinity_ = plyshlogTable.getRefSalinity();
|
||||||
|
} else {
|
||||||
|
has_plyshlog_ref_salinity_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(plyshlogTable.hasRefTemperature()) {
|
||||||
|
has_plyshlog_ref_temp_ = true;
|
||||||
|
plyshlog_ref_temp_ = plyshlogTable.getRefTemperature();
|
||||||
|
} else {
|
||||||
|
has_plyshlog_ref_temp_ = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double cMax() const;
|
double cMax() const;
|
||||||
@@ -168,9 +194,28 @@ namespace Opm
|
|||||||
double cMaxAds() const;
|
double cMaxAds() const;
|
||||||
|
|
||||||
int adsIndex() const;
|
int adsIndex() const;
|
||||||
|
|
||||||
|
/// the water velocity or water shear rate in PLYSHLOG table
|
||||||
const std::vector<double>& shearWaterVelocity() const;
|
const std::vector<double>& shearWaterVelocity() const;
|
||||||
|
|
||||||
|
/// the viscosity reduction factor PLYSHLOG table
|
||||||
|
const std::vector<double>& shearViscosityReductionFactor() const;
|
||||||
|
|
||||||
|
/// the reference polymer concentration in PLYSHLOG
|
||||||
|
double plyshlogRefConc() const;
|
||||||
|
|
||||||
|
/// indicate wheter reference salinity is specified in PLYSHLOG
|
||||||
|
bool hasPlyshlogRefSalinity() const;
|
||||||
|
|
||||||
|
/// indicate whether reference temperature is specified in PLYSHLOG
|
||||||
|
bool hasPlyshlogRefTemp() const;
|
||||||
|
|
||||||
|
/// the reference salinity in PLYSHLOG
|
||||||
|
double plyshlogRefSalinity() const;
|
||||||
|
|
||||||
|
/// the reference temperature in PLYSHLOG
|
||||||
|
double plyshlogRefTemp() const;
|
||||||
|
|
||||||
double shearVrf(const double velocity) const;
|
double shearVrf(const double velocity) const;
|
||||||
|
|
||||||
double shearVrfWithDer(const double velocity, double& der) const;
|
double shearVrfWithDer(const double velocity, double& der) const;
|
||||||
@@ -279,6 +324,8 @@ namespace Opm
|
|||||||
double dead_pore_vol_;
|
double dead_pore_vol_;
|
||||||
double res_factor_;
|
double res_factor_;
|
||||||
double c_max_ads_;
|
double c_max_ads_;
|
||||||
|
|
||||||
|
bool plyshlog_;
|
||||||
AdsorptionBehaviour ads_index_;
|
AdsorptionBehaviour ads_index_;
|
||||||
std::vector<double> c_vals_visc_;
|
std::vector<double> c_vals_visc_;
|
||||||
std::vector<double> visc_mult_vals_;
|
std::vector<double> visc_mult_vals_;
|
||||||
@@ -286,6 +333,14 @@ namespace Opm
|
|||||||
std::vector<double> ads_vals_;
|
std::vector<double> ads_vals_;
|
||||||
std::vector<double> water_vel_vals_;
|
std::vector<double> water_vel_vals_;
|
||||||
std::vector<double> shear_vrf_vals_;
|
std::vector<double> shear_vrf_vals_;
|
||||||
|
|
||||||
|
double plyshlog_ref_conc_;
|
||||||
|
double plyshlog_ref_salinity_;
|
||||||
|
double plyshlog_ref_temp_;
|
||||||
|
bool has_plyshlog_ref_salinity_;
|
||||||
|
bool has_plyshlog_ref_temp_;
|
||||||
|
|
||||||
|
|
||||||
void simpleAdsorptionBoth(double c, double& c_ads,
|
void simpleAdsorptionBoth(double c, double& c_ads,
|
||||||
double& dc_ads_dc, bool if_with_der) const;
|
double& dc_ads_dc, bool if_with_der) const;
|
||||||
void adsorptionBoth(double c, double cmax,
|
void adsorptionBoth(double c, double cmax,
|
||||||
|
|||||||
Reference in New Issue
Block a user