mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3412 Non-Darcy Perf intervals : Rename to gridPermeabilityScalingFactor
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2018 Equinor ASA
|
// Copyright (C) 2018 Equinor ASA
|
||||||
//
|
//
|
||||||
// ResInsight is free software: you can redistribute it and/or modify
|
// ResInsight is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU General Public License as published by
|
// it under the terms of the GNU General Public License as published by
|
||||||
// the Free Software Foundation, either version 3 of the License, or
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
// (at your option) any later version.
|
// (at your option) any later version.
|
||||||
//
|
//
|
||||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||||
// for more details.
|
// for more details.
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -23,17 +23,18 @@
|
|||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
namespace caf {
|
namespace caf
|
||||||
template<>
|
{
|
||||||
void caf::AppEnum<RimNonDarcyPerforationParameters::NonDarcyFlowEnum>::setUp()
|
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_NONE, "None", "None");
|
||||||
addItem(RimNonDarcyPerforationParameters::NON_DARCY_USER_DEFINED, "UserDefined", "User Defined D-factor");
|
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");
|
CAF_PDM_SOURCE_INIT(RimNonDarcyPerforationParameters, "RimNonDarcyPerforationParameters");
|
||||||
|
|
||||||
@@ -45,31 +46,71 @@ RimNonDarcyPerforationParameters::RimNonDarcyPerforationParameters()
|
|||||||
CAF_PDM_InitObject("NonDarcyPerforationParameters", ":/CompletionsSymbol16x16.png", "", "");
|
CAF_PDM_InitObject("NonDarcyPerforationParameters", ":/CompletionsSymbol16x16.png", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_nonDarcyFlowType, "NonDarcyFlowType", "Non-Darcy Flow", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_nonDarcyFlowType, "NonDarcyFlowType", "Non-Darcy Flow", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_userDefinedDFactor, "UserDefinedDFactor", 1.0, "D Factor", "", "", "");
|
CAF_PDM_InitField(&m_userDefinedDFactor, "UserDefinedDFactor", 1.0, "D Factor", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_unitConstant, "UnitConstant", 1.0, "<html> Unit Constant (α)</html>", "",
|
CAF_PDM_InitField(&m_unitConstant,
|
||||||
"<html>Unit:[cP*Day*m<sup>2</sup>/(Forch*mD*Sm<sup>3</sup>)]</html>", "");
|
"UnitConstant",
|
||||||
CAF_PDM_InitField(&m_inertialCoefficient, "InertialCoefficient", 0.006083236, "<html>Inertial Coefficient (β)</html> [Forch. unit]", "", "", "");
|
1.0,
|
||||||
CAF_PDM_InitField(&m_effectivePermeability, "EffectivePermeability", 0.0, "<html>Effective Permeability (K<sub>e</sub>) [mD]</html>", "", "", "");
|
"<html> Unit Constant (α)</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 (γ)</html>", "", "Relative density of gas at surface conditions with respect to air at STP", "");
|
"<html>Unit:[cP*Day*m<sup>2</sup>/(Forch*mD*Sm<sup>3</sup>)]</html>",
|
||||||
CAF_PDM_InitField(&m_gasViscosity, "GasViscosity", 0.02, "<html>Gas Viscosity (μ)</html> [cP]", "", "Gas viscosity at bottom hole pressure", "");
|
"");
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_inertialCoefficient,
|
||||||
|
"InertialCoefficient",
|
||||||
|
0.006083236,
|
||||||
|
"<html>Inertial Coefficient (β)</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 (γ)</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 (μ)</html> [cP]",
|
||||||
|
"",
|
||||||
|
"Gas viscosity at bottom hole pressure",
|
||||||
|
"");
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_inertialCoefficientBeta0,
|
||||||
|
"InertialCoefficientBeta0",
|
||||||
|
883.90,
|
||||||
|
"<html>Inertial Coefficient (β<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 (β<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)", "", "", "");
|
CAF_PDM_InitField(&m_porosityScalingFactor, "PorosityScalingFactor", 0.0, "Porosity Scaling Factor (C)", "", "", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimNonDarcyPerforationParameters::~RimNonDarcyPerforationParameters()
|
RimNonDarcyPerforationParameters::~RimNonDarcyPerforationParameters() {}
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimNonDarcyPerforationParameters::NonDarcyFlowEnum RimNonDarcyPerforationParameters::nonDarcyFlowType() const
|
RimNonDarcyPerforationParameters::NonDarcyFlowEnum RimNonDarcyPerforationParameters::nonDarcyFlowType() const
|
||||||
{
|
{
|
||||||
@@ -77,7 +118,7 @@ RimNonDarcyPerforationParameters::NonDarcyFlowEnum RimNonDarcyPerforationParamet
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::userDefinedDFactor() const
|
double RimNonDarcyPerforationParameters::userDefinedDFactor() const
|
||||||
{
|
{
|
||||||
@@ -85,7 +126,7 @@ double RimNonDarcyPerforationParameters::userDefinedDFactor() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::unitConstant() const
|
double RimNonDarcyPerforationParameters::unitConstant() const
|
||||||
{
|
{
|
||||||
@@ -93,7 +134,7 @@ double RimNonDarcyPerforationParameters::unitConstant() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::inertialCoefficient() const
|
double RimNonDarcyPerforationParameters::inertialCoefficient() const
|
||||||
{
|
{
|
||||||
@@ -101,15 +142,15 @@ double RimNonDarcyPerforationParameters::inertialCoefficient() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::effectivePermeability() const
|
double RimNonDarcyPerforationParameters::gridPermeabilityScalingFactor() const
|
||||||
{
|
{
|
||||||
return m_effectivePermeability;
|
return m_gridPermeabilityScalingFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::wellRadius() const
|
double RimNonDarcyPerforationParameters::wellRadius() const
|
||||||
{
|
{
|
||||||
@@ -117,7 +158,7 @@ double RimNonDarcyPerforationParameters::wellRadius() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::relativeGasDensity() const
|
double RimNonDarcyPerforationParameters::relativeGasDensity() const
|
||||||
{
|
{
|
||||||
@@ -125,7 +166,7 @@ double RimNonDarcyPerforationParameters::relativeGasDensity() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::gasViscosity() const
|
double RimNonDarcyPerforationParameters::gasViscosity() const
|
||||||
{
|
{
|
||||||
@@ -133,7 +174,7 @@ double RimNonDarcyPerforationParameters::gasViscosity() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::inertialCoefficientBeta0() const
|
double RimNonDarcyPerforationParameters::inertialCoefficientBeta0() const
|
||||||
{
|
{
|
||||||
@@ -141,7 +182,7 @@ double RimNonDarcyPerforationParameters::inertialCoefficientBeta0() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::permeabilityScalingFactor() const
|
double RimNonDarcyPerforationParameters::permeabilityScalingFactor() const
|
||||||
{
|
{
|
||||||
@@ -149,7 +190,7 @@ double RimNonDarcyPerforationParameters::permeabilityScalingFactor() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimNonDarcyPerforationParameters::porosityScalingFactor() const
|
double RimNonDarcyPerforationParameters::porosityScalingFactor() const
|
||||||
{
|
{
|
||||||
@@ -157,9 +198,11 @@ 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)
|
if (changedField == &m_nonDarcyFlowType)
|
||||||
{
|
{
|
||||||
@@ -185,7 +228,7 @@ void RimNonDarcyPerforationParameters::defineUiOrdering(QString uiConfigName, ca
|
|||||||
auto group = nonDarcyFlowGroup->addNewGroup("Parameters");
|
auto group = nonDarcyFlowGroup->addNewGroup("Parameters");
|
||||||
group->add(&m_unitConstant);
|
group->add(&m_unitConstant);
|
||||||
group->add(&m_inertialCoefficient);
|
group->add(&m_inertialCoefficient);
|
||||||
group->add(&m_effectivePermeability);
|
group->add(&m_gridPermeabilityScalingFactor);
|
||||||
group->add(&m_wellRadius);
|
group->add(&m_wellRadius);
|
||||||
group->add(&m_relativeGasDensity);
|
group->add(&m_relativeGasDensity);
|
||||||
group->add(&m_gasViscosity);
|
group->add(&m_gasViscosity);
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2018 Equinor ASA
|
// Copyright (C) 2018 Equinor ASA
|
||||||
//
|
//
|
||||||
// ResInsight is free software: you can redistribute it and/or modify
|
// ResInsight is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU General Public License as published by
|
// it under the terms of the GNU General Public License as published by
|
||||||
// the Free Software Foundation, either version 3 of the License, or
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
// (at your option) any later version.
|
// (at your option) any later version.
|
||||||
//
|
//
|
||||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
//
|
//
|
||||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||||
// for more details.
|
// for more details.
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -38,36 +38,34 @@ public:
|
|||||||
RimNonDarcyPerforationParameters();
|
RimNonDarcyPerforationParameters();
|
||||||
~RimNonDarcyPerforationParameters();
|
~RimNonDarcyPerforationParameters();
|
||||||
|
|
||||||
NonDarcyFlowEnum nonDarcyFlowType() const;
|
NonDarcyFlowEnum nonDarcyFlowType() const;
|
||||||
double userDefinedDFactor() const;
|
double userDefinedDFactor() const;
|
||||||
double unitConstant() const;
|
double unitConstant() const;
|
||||||
double inertialCoefficient() const;
|
double inertialCoefficient() const;
|
||||||
double effectivePermeability() const;
|
double gridPermeabilityScalingFactor() const;
|
||||||
double wellRadius() const;
|
double wellRadius() const;
|
||||||
double relativeGasDensity() const;
|
double relativeGasDensity() const;
|
||||||
double gasViscosity() const;
|
double gasViscosity() const;
|
||||||
double inertialCoefficientBeta0() const;
|
double inertialCoefficientBeta0() const;
|
||||||
double permeabilityScalingFactor() const;
|
double permeabilityScalingFactor() const;
|
||||||
double porosityScalingFactor() const;
|
double porosityScalingFactor() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField,
|
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||||
const QVariant& oldValue,
|
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
const QVariant& newValue);
|
|
||||||
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<caf::AppEnum<NonDarcyFlowEnum>> m_nonDarcyFlowType;
|
caf::PdmField<caf::AppEnum<NonDarcyFlowEnum>> m_nonDarcyFlowType;
|
||||||
caf::PdmField<double> m_userDefinedDFactor;
|
caf::PdmField<double> m_userDefinedDFactor;
|
||||||
|
|
||||||
caf::PdmField<double> m_unitConstant;
|
caf::PdmField<double> m_unitConstant;
|
||||||
caf::PdmField<double> m_inertialCoefficient;
|
caf::PdmField<double> m_inertialCoefficient;
|
||||||
caf::PdmField<double> m_effectivePermeability;
|
caf::PdmField<double> m_gridPermeabilityScalingFactor;
|
||||||
caf::PdmField<double> m_wellRadius;
|
caf::PdmField<double> m_wellRadius;
|
||||||
caf::PdmField<double> m_relativeGasDensity;
|
caf::PdmField<double> m_relativeGasDensity;
|
||||||
caf::PdmField<double> m_gasViscosity;
|
caf::PdmField<double> m_gasViscosity;
|
||||||
|
|
||||||
caf::PdmField<double> m_inertialCoefficientBeta0;
|
caf::PdmField<double> m_inertialCoefficientBeta0;
|
||||||
caf::PdmField<double> m_permeabilityScalingFactor;
|
caf::PdmField<double> m_permeabilityScalingFactor;
|
||||||
caf::PdmField<double> m_porosityScalingFactor;
|
caf::PdmField<double> m_porosityScalingFactor;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user