From 0733c00915a97b3ddafdd848012d57f293926816 Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Fri, 3 Apr 2020 13:51:34 +0200 Subject: [PATCH] #5695: Improve pore pressure input options for reservoir/non-reservoir pressure. Current options for reservoir: 1. Grid (POR-Bar) 2. LAS file (PP_INP, PP_RES_INP, POR_RES_INP) 3. Property table (POR_INP, PP_INP) Current options for non-reservoir: 1. LAS file (PP_NONRES_INP or POR_NONRES_INP) 2. Property Table (POR_NONRES_INP or PP_NONRES_INP) 3. Hydrostatic --- .../ProjectDataModel/RimWbsParameters.cpp | 5 +++-- .../RigGeoMechWellLogExtractor.cpp | 10 +--------- .../ReservoirDataModel/RigWbsParameter.cpp | 17 ++++++++--------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimWbsParameters.cpp b/ApplicationCode/ProjectDataModel/RimWbsParameters.cpp index e0d43f77c7..c7762df9f4 100644 --- a/ApplicationCode/ProjectDataModel/RimWbsParameters.cpp +++ b/ApplicationCode/ProjectDataModel/RimWbsParameters.cpp @@ -52,7 +52,7 @@ RimWbsParameters::RimWbsParameters() "" ); CAF_PDM_InitScriptableFieldWithIO( &m_userDefinedPPShale, "UserPPNonReservoir", - 1.05, + 1.0, " Multiplier of hydrostatic PP", "", "", @@ -388,10 +388,11 @@ void RimWbsParameters::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderin uiOrdering.add( &m_userDefinedDensity ); uiOrdering.add( &m_porePressureSource ); uiOrdering.add( &m_porePressureNonReservoirSource ); - if ( m_porePressureNonReservoirSource == RigWbsParameter::USER_DEFINED ) + if ( m_porePressureNonReservoirSource == RigWbsParameter::HYDROSTATIC ) { uiOrdering.add( &m_userDefinedPPShale ); } + uiOrdering.add( &m_poissonRatioSource ); uiOrdering.add( &m_userDefinedPoissionRatio ); uiOrdering.add( &m_ucsSource ); diff --git a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp index 075fb4713e..09dd255782 100644 --- a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp @@ -339,18 +339,10 @@ std::vector else if ( *it == RigWbsParameter::HYDROSTATIC && isPPresult ) { unscaledValues[intersectionIdx] = - hydroStaticPorePressureForIntersection( intersectionIdx, waterDensityGCM3 ); + userDefinedValue * hydroStaticPorePressureForIntersection( intersectionIdx, waterDensityGCM3 ); finalSourcesPerSegment[intersectionIdx] = RigWbsParameter::HYDROSTATIC; break; } - else if ( *it == RigWbsParameter::USER_DEFINED && isPPresult ) - { - unscaledValues[intersectionIdx] = - userDefinedValue * hydroStaticPorePressureForIntersection( intersectionIdx ); - finalSourcesPerSegment[intersectionIdx] = RigWbsParameter::USER_DEFINED; - break; - } - else if ( *it == RigWbsParameter::USER_DEFINED ) { unscaledValues[intersectionIdx] = userDefinedValue; diff --git a/ApplicationCode/ReservoirDataModel/RigWbsParameter.cpp b/ApplicationCode/ReservoirDataModel/RigWbsParameter.cpp index c71f3fe092..40d9daf24b 100644 --- a/ApplicationCode/ReservoirDataModel/RigWbsParameter.cpp +++ b/ApplicationCode/ReservoirDataModel/RigWbsParameter.cpp @@ -253,15 +253,14 @@ RigWbsParameter RigWbsParameter::PP_Reservoir() //-------------------------------------------------------------------------------------------------- RigWbsParameter RigWbsParameter::PP_NonReservoir() { - return RigWbsParameter( "PP Non-Reservoir", - true, - {{LAS_FILE, - SourceAddress( "PP_NONRES_INP", "", RiaWellLogUnitTools::sg_emwUnitString() )}, - {LAS_FILE, - SourceAddress( "POR_NONRES_INP", "", RiaWellLogUnitTools::gPerCm3UnitString() )}, - {USER_DEFINED, SourceAddress( "", "", RiaWellLogUnitTools::barUnitString() )}, - {HYDROSTATIC, - SourceAddress( "Hydrostatic", "", RiaWellLogUnitTools::barUnitString() )}} ); + SourceVector sources = + {{LAS_FILE, SourceAddress( "PP_NONRES_INP", "", RiaWellLogUnitTools::sg_emwUnitString() )}, + {LAS_FILE, SourceAddress( "POR_NONRES_INP", "", RiaWellLogUnitTools::gPerCm3UnitString() )}, + {ELEMENT_PROPERTY_TABLE, SourceAddress( "POR_NONRES_INP", "", RiaWellLogUnitTools::pascalUnitString() )}, + {ELEMENT_PROPERTY_TABLE, SourceAddress( "PP_NONRES_INP", "", RiaWellLogUnitTools::sg_emwUnitString() )}, + {HYDROSTATIC, SourceAddress( "Hydrostatic", "", RiaWellLogUnitTools::barUnitString() )}}; + + return RigWbsParameter( "PP Non-Reservoir", true, sources ); } //--------------------------------------------------------------------------------------------------