#3696 Non-Darcy perforation intervals : Remove unit constant from UI

This commit is contained in:
Magne Sjaastad
2018-11-22 09:46:40 +01:00
parent 13f8ad5ea8
commit a225d1fd1a
5 changed files with 31 additions and 32 deletions

View File

@@ -27,27 +27,37 @@ QString RiaDefines::conductivityResultName()
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RiaDefines::unitStringConductivity(RiaEclipseUnitTools::UnitSystem unitSystem) QString RiaDefines::unitStringConductivity(RiaEclipseUnitTools::UnitSystem unitSystem)
{ {
switch (unitSystem) switch (unitSystem)
{ {
case RiaEclipseUnitTools::UNITS_METRIC: return "md-m"; case RiaEclipseUnitTools::UNITS_METRIC:
case RiaEclipseUnitTools::UNITS_FIELD: return "md-ft"; return "md-m";
default: return ""; case RiaEclipseUnitTools::UNITS_FIELD:
return "md-ft";
default:
return "";
} }
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
double RiaDefines::nonDarcyFlowAlpha(RiaEclipseUnitTools::UnitSystem unitSystem) double RiaDefines::nonDarcyFlowAlpha(RiaEclipseUnitTools::UnitSystem unitSystem)
{ {
switch (unitSystem) switch (unitSystem)
{ {
case RiaEclipseUnitTools::UNITS_METRIC: return 2.24460e-10; case RiaEclipseUnitTools::UNITS_METRIC:
case RiaEclipseUnitTools::UNITS_FIELD: return 6.83352e-8; return 2.24460e-10;
default: return 0.0; case RiaEclipseUnitTools::UNITS_FIELD:
return 6.83352e-8;
case RiaEclipseUnitTools::UNITS_LAB:
return 5.41375E-11;
// case RiaEclipseUnitTools::PVT_METRIC: return 2.25533E-10;
default:
return 0.0;
} }
} }

View File

@@ -27,5 +27,5 @@ namespace RiaDefines
QString conductivityResultName(); QString conductivityResultName();
QString unitStringConductivity(RiaEclipseUnitTools::UnitSystem unitSystem); QString unitStringConductivity(RiaEclipseUnitTools::UnitSystem unitSystem);
double nonDarcyFlowAlpha(RiaEclipseUnitTools::UnitSystem unitSystem); double nonDarcyFlowAlpha(RiaEclipseUnitTools::UnitSystem unitSystem);
}; }; // namespace RiaDefines

View File

@@ -20,6 +20,7 @@
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RiaFilePathTools.h" #include "RiaFilePathTools.h"
#include "RiaFractureDefines.h"
#include "RiaLogging.h" #include "RiaLogging.h"
#include "RiaPreferences.h" #include "RiaPreferences.h"
@@ -2394,10 +2395,15 @@ double RicWellPathExportCompletionDataFeatureImpl::calculateDFactor(RimEclipseCa
{ {
using EQ = RigPerforationTransmissibilityEquations; using EQ = RigPerforationTransmissibilityEquations;
if (!eclipseCase || !eclipseCase->eclipseCaseData())
{
return std::numeric_limits<double>::infinity();
}
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
double porosity = 0.0; double porosity = 0.0;
{ {
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
eclipseCase->results(RiaDefines::MATRIX_MODEL)->findOrLoadScalarResult(RiaDefines::STATIC_NATIVE, "PORO"); eclipseCase->results(RiaDefines::MATRIX_MODEL)->findOrLoadScalarResult(RiaDefines::STATIC_NATIVE, "PORO");
cvf::ref<RigResultAccessor> poroAccessObject = cvf::ref<RigResultAccessor> poroAccessObject =
RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "PORO"); RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "PORO");
@@ -2414,7 +2420,9 @@ double RicWellPathExportCompletionDataFeatureImpl::calculateDFactor(RimEclipseCa
porosity, porosity,
nonDarcyParameters->porosityScalingFactor()); nonDarcyParameters->porosityScalingFactor());
return EQ::dFactor(nonDarcyParameters->unitConstant(), const double alpha = RiaDefines::nonDarcyFlowAlpha(eclipseCaseData->unitsType());
return EQ::dFactor(alpha,
betaFactor, betaFactor,
effectivePermeability, effectivePermeability,
internalCellLengths.length(), internalCellLengths.length(),

View File

@@ -49,14 +49,6 @@ RimNonDarcyPerforationParameters::RimNonDarcyPerforationParameters()
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 (&alpha;)</html>",
"",
"<html>Unit:[cP*Day*m<sup>2</sup>/(Forch*mD*Sm<sup>3</sup>)]</html>",
"");
CAF_PDM_InitField(&m_gridPermeabilityScalingFactor, CAF_PDM_InitField(&m_gridPermeabilityScalingFactor,
"GridPermeabilityScalingFactor", "GridPermeabilityScalingFactor",
1.0, 1.0,
@@ -117,14 +109,6 @@ double RimNonDarcyPerforationParameters::userDefinedDFactor() const
return m_userDefinedDFactor; return m_userDefinedDFactor;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimNonDarcyPerforationParameters::unitConstant() const
{
return m_unitConstant;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -210,7 +194,6 @@ void RimNonDarcyPerforationParameters::defineUiOrdering(QString uiConfigName, ca
{ {
{ {
auto group = nonDarcyFlowGroup->addNewGroup("Parameters"); auto group = nonDarcyFlowGroup->addNewGroup("Parameters");
group->add(&m_unitConstant);
group->add(&m_gridPermeabilityScalingFactor); group->add(&m_gridPermeabilityScalingFactor);
group->add(&m_wellRadius); group->add(&m_wellRadius);
group->add(&m_relativeGasDensity); group->add(&m_relativeGasDensity);

View File

@@ -40,7 +40,6 @@ public:
NonDarcyFlowEnum nonDarcyFlowType() const; NonDarcyFlowEnum nonDarcyFlowType() const;
double userDefinedDFactor() const; double userDefinedDFactor() const;
double unitConstant() const;
double gridPermeabilityScalingFactor() const; double gridPermeabilityScalingFactor() const;
double wellRadius() const; double wellRadius() const;
double relativeGasDensity() const; double relativeGasDensity() const;
@@ -57,7 +56,6 @@ 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_gridPermeabilityScalingFactor; 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;