mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2455 Non-Darcy Flow : Show user defined permeability and rename
This commit is contained in:
@@ -56,7 +56,7 @@ RimEllipseFractureTemplate::RimEllipseFractureTemplate(void)
|
||||
CAF_PDM_InitField(&m_height, "Height", 0.0f, "Height", "", "", "");
|
||||
CAF_PDM_InitField(&m_width, "Width", 0.0f, "Width", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_permeability,"Permeability", 0.0f, "Permeability [mD]", "", "", "");
|
||||
CAF_PDM_InitField(&m_userDefinedEffectivePermeability,"Permeability", 0.0f, "Permeability [mD]", "", "", "");
|
||||
|
||||
m_fractureGrid = new RigFractureGrid();
|
||||
setupFractureGridCells();
|
||||
@@ -90,7 +90,7 @@ void RimEllipseFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
if ( changedField == &m_halfLength
|
||||
|| changedField == &m_height
|
||||
|| changedField == &m_width
|
||||
|| changedField == &m_permeability)
|
||||
|| changedField == &m_userDefinedEffectivePermeability)
|
||||
{
|
||||
//Changes to one of these parameters should change all fractures with this fracture template attached.
|
||||
RimProject* proj;
|
||||
@@ -102,7 +102,7 @@ void RimEllipseFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
setupFractureGridCells();
|
||||
}
|
||||
}
|
||||
if (changedField == &m_width || changedField == &m_permeability)
|
||||
if (changedField == &m_width || changedField == &m_userDefinedEffectivePermeability)
|
||||
{
|
||||
setupFractureGridCells();
|
||||
}
|
||||
@@ -277,7 +277,7 @@ FractureWidthAndConductivity RimEllipseFractureTemplate::widthAndConductivityAtW
|
||||
{
|
||||
FractureWidthAndConductivity values;
|
||||
values.m_width = m_width;
|
||||
values.m_permeability = m_permeability;
|
||||
values.m_permeability = m_userDefinedEffectivePermeability;
|
||||
|
||||
return values;
|
||||
}
|
||||
@@ -298,14 +298,14 @@ void RimEllipseFractureTemplate::setDefaultValuesFromUnit()
|
||||
if (fractureTemplateUnit() == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
m_width = 0.5f;
|
||||
m_permeability = 80000.0f;
|
||||
m_userDefinedEffectivePermeability = 80000.0f;
|
||||
m_halfLength = 300.0f;
|
||||
m_height = 225.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_width = 0.01f;
|
||||
m_permeability = 100000.0f;
|
||||
m_userDefinedEffectivePermeability = 100000.0f;
|
||||
m_halfLength = 100.0f;
|
||||
m_height = 75.0f;
|
||||
}
|
||||
@@ -322,12 +322,12 @@ double RimEllipseFractureTemplate::conductivity() const
|
||||
if (fractureTemplateUnit() == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
//Conductivity should be md-m, width is in m
|
||||
cond = m_permeability * m_width;
|
||||
cond = m_userDefinedEffectivePermeability * m_width;
|
||||
}
|
||||
else if (fractureTemplateUnit() == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
//Conductivity should be md-ft, but width is in inches
|
||||
cond = m_permeability * RiaEclipseUnitTools::inchToFeet(m_width);
|
||||
cond = m_userDefinedEffectivePermeability * RiaEclipseUnitTools::inchToFeet(m_width);
|
||||
}
|
||||
return cond;
|
||||
}
|
||||
@@ -380,12 +380,12 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
|
||||
if (conductivityType() == FINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_permeability.uiCapability()->setUiHidden(false);
|
||||
m_userDefinedEffectivePermeability.uiCapability()->setUiHidden(false);
|
||||
m_width.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else if (conductivityType() == INFINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_permeability.uiCapability()->setUiHidden(true);
|
||||
m_userDefinedEffectivePermeability.uiCapability()->setUiHidden(true);
|
||||
m_width.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
|
||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||
propertyGroup->add(&m_conductivityType);
|
||||
propertyGroup->add(&m_permeability);
|
||||
propertyGroup->add(&m_userDefinedEffectivePermeability);
|
||||
propertyGroup->add(&m_width);
|
||||
propertyGroup->add(&m_skinFactor);
|
||||
propertyGroup->add(&m_perforationLength);
|
||||
|
||||
@@ -82,5 +82,5 @@ private:
|
||||
caf::PdmField<float> m_halfLength;
|
||||
caf::PdmField<float> m_height;
|
||||
caf::PdmField<float> m_width;
|
||||
caf::PdmField<float> m_permeability;
|
||||
caf::PdmField<float> m_userDefinedEffectivePermeability;
|
||||
};
|
||||
|
||||
@@ -103,9 +103,9 @@ RimFractureTemplate::RimFractureTemplate()
|
||||
CAF_PDM_InitField_Basic(&m_useNonDarcyFlow, "UseNonDarcyFlow", false, "Use Non-Darcy Flow");
|
||||
CAF_PDM_InitField_Basic(&m_inertialCoefficient, "InertialCoefficient", 0.006083236, "Inertial Coefficient");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_permeabilityType, "PermeabilityType", "Type", "", "", "");
|
||||
CAF_PDM_InitField_Basic(&m_permeabilityScaleFactor,"EffectivePermeabilityScaleFactor", 1.0, "Scale Factor [0..1]");
|
||||
CAF_PDM_InitField(&m_permeability, "EffectivePermeability", 0.0, "Effective Permeability", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_permeabilityType, "PermeabilityType", "Type", "", "", "");
|
||||
CAF_PDM_InitField_Basic(&m_relativePermeability, "RelativePermeability", 1.0, "Relative Permeability");
|
||||
CAF_PDM_InitField(&m_userDefinedEffectivePermeability, "EffectivePermeability",0.0, "Effective Permeability [mD]", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_relativeGasDensity, "RelativeGasDensity", 0.8, "Relative Gas Density", "", "Relative density of gas at surface conditions with respect to air at STP", "");
|
||||
CAF_PDM_InitField(&m_gasViscosity, "GasViscosity", 0.02, "Gas Viscosity", "", "Gas viscosity at bottom hole pressure", "");
|
||||
@@ -270,8 +270,8 @@ void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
{
|
||||
auto permGroup = group->addNewGroup("Effective Permeability");
|
||||
permGroup->add(&m_permeabilityType);
|
||||
permGroup->add(&m_permeabilityScaleFactor);
|
||||
permGroup->add(&m_permeability);
|
||||
permGroup->add(&m_relativePermeability);
|
||||
permGroup->add(&m_userDefinedEffectivePermeability);
|
||||
}
|
||||
|
||||
group->add(&m_relativeGasDensity);
|
||||
@@ -366,8 +366,8 @@ void RimFractureTemplate::prepareFieldsForUiDisplay()
|
||||
m_inertialCoefficient.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
|
||||
m_permeabilityType.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
m_permeabilityScaleFactor.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
m_permeability.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
m_relativePermeability.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
m_userDefinedEffectivePermeability.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
|
||||
m_relativeGasDensity.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
m_gasViscosity.uiCapability()->setUiReadOnly(!m_useNonDarcyFlow);
|
||||
@@ -376,13 +376,13 @@ void RimFractureTemplate::prepareFieldsForUiDisplay()
|
||||
{
|
||||
if (m_permeabilityType == RimFractureTemplate::USER_DEFINED_PERMEABILITY)
|
||||
{
|
||||
m_permeabilityScaleFactor.uiCapability()->setUiHidden(true);
|
||||
m_permeability.uiCapability()->setUiReadOnly(false);
|
||||
m_relativePermeability.uiCapability()->setUiHidden(true);
|
||||
m_userDefinedEffectivePermeability.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_permeabilityScaleFactor.uiCapability()->setUiHidden(false);
|
||||
m_permeability.uiCapability()->setUiHidden(true);
|
||||
m_relativePermeability.uiCapability()->setUiHidden(false);
|
||||
m_userDefinedEffectivePermeability.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -436,7 +436,7 @@ double RimFractureTemplate::effectivePermeability() const
|
||||
{
|
||||
if (m_permeabilityType() == RimFractureTemplate::USER_DEFINED_PERMEABILITY)
|
||||
{
|
||||
return m_permeability;
|
||||
return m_userDefinedEffectivePermeability;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -444,7 +444,7 @@ double RimFractureTemplate::effectivePermeability() const
|
||||
|
||||
auto fracPermeability = values.m_permeability;
|
||||
|
||||
return fracPermeability * m_permeabilityScaleFactor;
|
||||
return fracPermeability * m_relativePermeability;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -145,8 +145,8 @@ protected:
|
||||
|
||||
caf::PdmField<caf::AppEnum<EffectivePermeabilityEnum>>
|
||||
m_permeabilityType;
|
||||
caf::PdmField<double> m_permeabilityScaleFactor;
|
||||
caf::PdmField<double> m_permeability;
|
||||
caf::PdmField<double> m_relativePermeability;
|
||||
caf::PdmField<double> m_userDefinedEffectivePermeability;
|
||||
|
||||
caf::PdmField<double> m_relativeGasDensity;
|
||||
caf::PdmField<double> m_gasViscosity;
|
||||
|
||||
Reference in New Issue
Block a user