#3412 Non-Darcy Perf intervals : Rename to gridPermeabilityScalingFactor

This commit is contained in:
Magne Sjaastad 2018-10-11 11:34:11 +02:00
parent 0174ee03e1
commit 0ea4922f19
2 changed files with 113 additions and 72 deletions

View File

@ -23,17 +23,18 @@
#include <limits>
namespace caf {
template<>
void caf::AppEnum<RimNonDarcyPerforationParameters::NonDarcyFlowEnum>::setUp()
{
addItem(RimNonDarcyPerforationParameters::NON_DARCY_NONE, "None", "None");
addItem(RimNonDarcyPerforationParameters::NON_DARCY_COMPUTED, "Computed", "Compute D-factor");
addItem(RimNonDarcyPerforationParameters::NON_DARCY_USER_DEFINED, "UserDefined", "User Defined D-factor");
namespace caf
{
template<>
void caf::AppEnum<RimNonDarcyPerforationParameters::NonDarcyFlowEnum>::setUp()
{
addItem(RimNonDarcyPerforationParameters::NON_DARCY_NONE, "None", "None");
addItem(RimNonDarcyPerforationParameters::NON_DARCY_COMPUTED, "Computed", "Compute D-factor");
addItem(RimNonDarcyPerforationParameters::NON_DARCY_USER_DEFINED, "UserDefined", "User Defined D-factor");
setDefault(RimNonDarcyPerforationParameters::NON_DARCY_NONE);
}
setDefault(RimNonDarcyPerforationParameters::NON_DARCY_NONE);
}
} // namespace caf
CAF_PDM_SOURCE_INIT(RimNonDarcyPerforationParameters, "RimNonDarcyPerforationParameters");
@ -45,28 +46,68 @@ RimNonDarcyPerforationParameters::RimNonDarcyPerforationParameters()
CAF_PDM_InitObject("NonDarcyPerforationParameters", ":/CompletionsSymbol16x16.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_nonDarcyFlowType, "NonDarcyFlowType", "Non-Darcy Flow", "", "", "");
CAF_PDM_InitField(&m_userDefinedDFactor, "UserDefinedDFactor", 1.0, "D Factor", "", "", "");
CAF_PDM_InitField(&m_unitConstant, "UnitConstant", 1.0, "<html> Unit Constant (&alpha;)</html>", "",
"<html>Unit:[cP*Day*m<sup>2</sup>/(Forch*mD*Sm<sup>3</sup>)]</html>", "");
CAF_PDM_InitField(&m_inertialCoefficient, "InertialCoefficient", 0.006083236, "<html>Inertial Coefficient (&beta;)</html> [Forch. unit]", "", "", "");
CAF_PDM_InitField(&m_effectivePermeability, "EffectivePermeability", 0.0, "<html>Effective Permeability (K<sub>e</sub>) [mD]</html>", "", "", "");
CAF_PDM_InitField(&m_wellRadius, "WellRadius", 0.15, "<html>Well Radius (r<sub>w</sub>)</html> [m]", "", "", "");
CAF_PDM_InitField(&m_relativeGasDensity, "RelativeGasDensity", 0.8, "<html>Relative Gas Density (&gamma;)</html>", "", "Relative density of gas at surface conditions with respect to air at STP", "");
CAF_PDM_InitField(&m_gasViscosity, "GasViscosity", 0.02, "<html>Gas Viscosity (&mu;)</html> [cP]", "", "Gas viscosity at bottom hole pressure", "");
CAF_PDM_InitField(&m_unitConstant,
"UnitConstant",
1.0,
"<html> Unit Constant (&alpha;)</html>",
"",
"<html>Unit:[cP*Day*m<sup>2</sup>/(Forch*mD*Sm<sup>3</sup>)]</html>",
"");
CAF_PDM_InitField(&m_inertialCoefficient,
"InertialCoefficient",
0.006083236,
"<html>Inertial Coefficient (&beta;)</html> [Forch. unit]",
"",
"",
"");
CAF_PDM_InitField(&m_gridPermeabilityScalingFactor,
"GridPermeabilityScalingFactor",
0.0,
"<html>Grid Permeability Scaling Factor (K<sub>r</sub>) [0..1]</html>",
"",
"",
"");
CAF_PDM_InitField(&m_wellRadius, "WellRadius", 0.15, "<html>Well Radius (r<sub>w</sub>)</html> [m]", "", "", "");
CAF_PDM_InitField(&m_relativeGasDensity,
"RelativeGasDensity",
0.8,
"<html>Relative Gas Density (&gamma;)</html>",
"",
"Relative density of gas at surface conditions with respect to air at STP",
"");
CAF_PDM_InitField(&m_gasViscosity,
"GasViscosity",
0.02,
"<html>Gas Viscosity (&mu;)</html> [cP]",
"",
"Gas viscosity at bottom hole pressure",
"");
CAF_PDM_InitField(&m_inertialCoefficientBeta0,
"InertialCoefficientBeta0",
883.90,
"<html>Inertial Coefficient (&beta;<sub>0</sub>)</html> [Forch. unit]",
"",
"",
"");
CAF_PDM_InitField(
&m_permeabilityScalingFactor, "PermeabilityScalingFactor", -1.1045, "Permeability Scaling Factor (B)", "", "", "");
CAF_PDM_InitField(&m_inertialCoefficientBeta0, "InertialCoefficientBeta0", 883.90, "<html>Inertial Coefficient (&beta;<sub>0</sub>)</html> [Forch. unit]", "", "", "");
CAF_PDM_InitField(&m_permeabilityScalingFactor, "PermeabilityScalingFactor", -1.1045, "Permeability Scaling Factor (B)", "", "", "");
CAF_PDM_InitField(&m_porosityScalingFactor, "PorosityScalingFactor", 0.0, "Porosity Scaling Factor (C)", "", "", "");
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimNonDarcyPerforationParameters::~RimNonDarcyPerforationParameters()
{
}
RimNonDarcyPerforationParameters::~RimNonDarcyPerforationParameters() {}
//--------------------------------------------------------------------------------------------------
///
@ -103,9 +144,9 @@ double RimNonDarcyPerforationParameters::inertialCoefficient() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimNonDarcyPerforationParameters::effectivePermeability() const
double RimNonDarcyPerforationParameters::gridPermeabilityScalingFactor() const
{
return m_effectivePermeability;
return m_gridPermeabilityScalingFactor;
}
//--------------------------------------------------------------------------------------------------
@ -159,7 +200,9 @@ double RimNonDarcyPerforationParameters::porosityScalingFactor() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimNonDarcyPerforationParameters::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
void RimNonDarcyPerforationParameters::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue)
{
if (changedField == &m_nonDarcyFlowType)
{
@ -185,7 +228,7 @@ void RimNonDarcyPerforationParameters::defineUiOrdering(QString uiConfigName, ca
auto group = nonDarcyFlowGroup->addNewGroup("Parameters");
group->add(&m_unitConstant);
group->add(&m_inertialCoefficient);
group->add(&m_effectivePermeability);
group->add(&m_gridPermeabilityScalingFactor);
group->add(&m_wellRadius);
group->add(&m_relativeGasDensity);
group->add(&m_gasViscosity);

View File

@ -38,36 +38,34 @@ public:
RimNonDarcyPerforationParameters();
~RimNonDarcyPerforationParameters();
NonDarcyFlowEnum nonDarcyFlowType() const;
double userDefinedDFactor() const;
double unitConstant() const;
double inertialCoefficient() const;
double effectivePermeability() const;
double wellRadius() const;
double relativeGasDensity() const;
double gasViscosity() const;
double inertialCoefficientBeta0() const;
double permeabilityScalingFactor() const;
double porosityScalingFactor() const;
NonDarcyFlowEnum nonDarcyFlowType() const;
double userDefinedDFactor() const;
double unitConstant() const;
double inertialCoefficient() const;
double gridPermeabilityScalingFactor() const;
double wellRadius() const;
double relativeGasDensity() const;
double gasViscosity() const;
double inertialCoefficientBeta0() const;
double permeabilityScalingFactor() const;
double porosityScalingFactor() const;
protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue);
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
private:
caf::PdmField<caf::AppEnum<NonDarcyFlowEnum>> m_nonDarcyFlowType;
caf::PdmField<double> m_userDefinedDFactor;
caf::PdmField<caf::AppEnum<NonDarcyFlowEnum>> m_nonDarcyFlowType;
caf::PdmField<double> m_userDefinedDFactor;
caf::PdmField<double> m_unitConstant;
caf::PdmField<double> m_inertialCoefficient;
caf::PdmField<double> m_effectivePermeability;
caf::PdmField<double> m_wellRadius;
caf::PdmField<double> m_relativeGasDensity;
caf::PdmField<double> m_gasViscosity;
caf::PdmField<double> m_unitConstant;
caf::PdmField<double> m_inertialCoefficient;
caf::PdmField<double> m_gridPermeabilityScalingFactor;
caf::PdmField<double> m_wellRadius;
caf::PdmField<double> m_relativeGasDensity;
caf::PdmField<double> m_gasViscosity;
caf::PdmField<double> m_inertialCoefficientBeta0;
caf::PdmField<double> m_permeabilityScalingFactor;
caf::PdmField<double> m_porosityScalingFactor;
caf::PdmField<double> m_inertialCoefficientBeta0;
caf::PdmField<double> m_permeabilityScalingFactor;
caf::PdmField<double> m_porosityScalingFactor;
};