diff --git a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp index 09dd255782..622a0be8bc 100644 --- a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.cpp @@ -103,7 +103,7 @@ void RigGeoMechWellLogExtractor::performCurveDataSmoothing( int if ( !mds->empty() && !values->empty() ) { - std::vector*> dependentValues = {tvds, &interfaceShValuesDbl, &interfacePorePressuresDbl}; + std::vector*> dependentValues = { tvds, &interfaceShValuesDbl, &interfacePorePressuresDbl }; std::vector smoothOrFilterSegments = determineFilteringOrSmoothing( interfacePorePressuresDbl ); @@ -486,7 +486,8 @@ void RigGeoMechWellLogExtractor::wellPathAngles( const RigFemResultAddress& resA std::vector RigGeoMechWellLogExtractor::wellPathScaledCurveData( const RigFemResultAddress& resAddr, int frameIndex, - std::vector* values ) + std::vector* values, + bool forceGridSourceForPPReservoir /*=false*/ ) { CVF_ASSERT( values ); @@ -499,8 +500,21 @@ std::vector std::vector ppSandValues( m_intersections.size(), std::numeric_limits::infinity() ); std::vector ppShaleValues( m_intersections.size(), std::numeric_limits::infinity() ); - std::vector ppSandSources = - calculateWbsParameterForAllSegments( RigWbsParameter::PP_Reservoir(), frameIndex, &ppSandValues, true ); + std::vector ppSandSources; + if ( forceGridSourceForPPReservoir ) + { + ppSandSources = calculateWbsParameterForAllSegments( RigWbsParameter::PP_Reservoir(), + RigWbsParameter::GRID, + frameIndex, + &ppSandValues, + true ); + } + else + { + ppSandSources = + calculateWbsParameterForAllSegments( RigWbsParameter::PP_Reservoir(), frameIndex, &ppSandValues, true ); + } + std::vector ppShaleSources = calculateWbsParameterForAllSegments( RigWbsParameter::PP_NonReservoir(), 0, &ppShaleValues, true ); @@ -662,8 +676,7 @@ void RigGeoMechWellLogExtractor::wellBoreFGShale( int frameIndex, std::vector K0_FG, OBG0; // parameters RigFemResultAddress ppAddr( RIG_WELLPATH_DERIVED, RiaDefines::wbsPPResult().toStdString(), "" ); - - curveData( ppAddr, 0, &PP0 ); + wellPathScaledCurveData( ppAddr, 0, &PP0, true ); calculateWbsParameterForAllSegments( RigWbsParameter::K0_FG(), frameIndex, &K0_FG, true ); calculateWbsParameterForAllSegments( RigWbsParameter::OBG0(), 0, &OBG0, true ); diff --git a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.h b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.h index cc355cb411..be63f47ee8 100644 --- a/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.h +++ b/ApplicationCode/ReservoirDataModel/RigGeoMechWellLogExtractor.h @@ -102,9 +102,11 @@ private: std::vector* values, bool allowNormalization ); - void wellPathAngles( const RigFemResultAddress& resAddr, std::vector* values ); - std::vector - wellPathScaledCurveData( const RigFemResultAddress& resAddr, int frameIndex, std::vector* values ); + void wellPathAngles( const RigFemResultAddress& resAddr, std::vector* values ); + std::vector wellPathScaledCurveData( const RigFemResultAddress& resAddr, + int frameIndex, + std::vector* values, + bool forceGridSourceforPPReservoir = false ); void wellBoreWallCurveData( const RigFemResultAddress& resAddr, int frameIndex, std::vector* values ); void wellBoreFGShale( int frameIndex, std::vector* values );