mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7452 Remove magic number.
This commit is contained in:
@@ -444,19 +444,25 @@ bool RimStimPlanModelCalculator::calculateStressWithGradients( std::vector<doubl
|
|||||||
double diffPressureEQLBottom = findValueAtBottomOfLayer( pressureDiffData, layerBoundaryIndexes, i );
|
double diffPressureEQLBottom = findValueAtBottomOfLayer( pressureDiffData, layerBoundaryIndexes, i );
|
||||||
if ( !std::isinf( diffPressureEQLTop ) )
|
if ( !std::isinf( diffPressureEQLTop ) )
|
||||||
{
|
{
|
||||||
lengthOfLayer = 2.0;
|
double offset = RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset();
|
||||||
|
lengthOfLayer = offset * 2.0;
|
||||||
diffPressureLayer = diffPressureEQLTop;
|
diffPressureLayer = diffPressureEQLTop;
|
||||||
diffStressLayer =
|
diffStressLayer = calculateStressDifferenceAtDepth( depthTopOfZone,
|
||||||
calculateStressAtDepth( depthTopOfZone - 1, stressDepthRef, verticalStressRef, verticalStressGradientRef ) -
|
offset,
|
||||||
calculateStressAtDepth( depthTopOfZone + 1, stressDepthRef, verticalStressRef, verticalStressGradientRef );
|
stressDepthRef,
|
||||||
|
verticalStressRef,
|
||||||
|
verticalStressGradientRef );
|
||||||
}
|
}
|
||||||
else if ( !std::isinf( diffPressureEQLBottom ) )
|
else if ( !std::isinf( diffPressureEQLBottom ) )
|
||||||
{
|
{
|
||||||
lengthOfLayer = 2.0;
|
double offset = RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset();
|
||||||
|
lengthOfLayer = offset * 2.0;
|
||||||
diffPressureLayer = diffPressureEQLBottom;
|
diffPressureLayer = diffPressureEQLBottom;
|
||||||
diffStressLayer =
|
diffStressLayer = calculateStressDifferenceAtDepth( depthBottomOfZone,
|
||||||
calculateStressAtDepth( depthBottomOfZone - 1, stressDepthRef, verticalStressRef, verticalStressGradientRef ) -
|
offset,
|
||||||
calculateStressAtDepth( depthBottomOfZone + 1, stressDepthRef, verticalStressRef, verticalStressGradientRef );
|
stressDepthRef,
|
||||||
|
verticalStressRef,
|
||||||
|
verticalStressGradientRef );
|
||||||
}
|
}
|
||||||
|
|
||||||
double stressGradient = ( diffStressLayer * k0 + diffPressureLayer * ( 1.0 - k0 ) ) / lengthOfLayer;
|
double stressGradient = ( diffStressLayer * k0 + diffPressureLayer * ( 1.0 - k0 ) ) / lengthOfLayer;
|
||||||
@@ -466,6 +472,19 @@ bool RimStimPlanModelCalculator::calculateStressWithGradients( std::vector<doubl
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RimStimPlanModelCalculator::calculateStressDifferenceAtDepth( double depth,
|
||||||
|
double offset,
|
||||||
|
double stressDepthRef,
|
||||||
|
double verticalStressRef,
|
||||||
|
double verticalStressGradientRef )
|
||||||
|
{
|
||||||
|
return calculateStressAtDepth( depth - offset, stressDepthRef, verticalStressRef, verticalStressGradientRef ) -
|
||||||
|
calculateStressAtDepth( depth + offset, stressDepthRef, verticalStressRef, verticalStressGradientRef );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -93,6 +93,12 @@ protected:
|
|||||||
const std::vector<double>& inputVector,
|
const std::vector<double>& inputVector,
|
||||||
std::vector<double>& result );
|
std::vector<double>& result );
|
||||||
|
|
||||||
|
static double calculateStressDifferenceAtDepth( double depth,
|
||||||
|
double offset,
|
||||||
|
double stressDepthRef,
|
||||||
|
double verticalStressRef,
|
||||||
|
double verticalStressGradientRef );
|
||||||
|
|
||||||
static double calculateStressAtDepth( double depth,
|
static double calculateStressAtDepth( double depth,
|
||||||
double stressDepthRef,
|
double stressDepthRef,
|
||||||
double verticalStressRef,
|
double verticalStressRef,
|
||||||
|
|||||||
@@ -656,9 +656,10 @@ bool RimStimPlanModelPressureCalculator::interpolatePressureDifferenceByEquilibr
|
|||||||
DepthValuePairVector depthValuePairs = valuesPerEqlNum[eqlNum];
|
DepthValuePairVector depthValuePairs = valuesPerEqlNum[eqlNum];
|
||||||
if ( !depthValuePairs.empty() )
|
if ( !depthValuePairs.empty() )
|
||||||
{
|
{
|
||||||
|
double offset = pressureDifferenceInterpolationOffset();
|
||||||
double depth = tvDepthValues[i];
|
double depth = tvDepthValues[i];
|
||||||
double p1 = interpolatePressure( depthValuePairs, depth - 1, eqlNum );
|
double p1 = interpolatePressure( depthValuePairs, depth - offset, eqlNum );
|
||||||
double p2 = interpolatePressure( depthValuePairs, depth + 1, eqlNum );
|
double p2 = interpolatePressure( depthValuePairs, depth + offset, eqlNum );
|
||||||
values[i] = p2 - p1;
|
values[i] = p2 - p1;
|
||||||
RiaLogging::debug( QString( "INTERPOLATING PRESSURE DIFF: %1 %2 = %3" ).arg( p1 ).arg( p2 ).arg( p2 - p1 ) );
|
RiaLogging::debug( QString( "INTERPOLATING PRESSURE DIFF: %1 %2 = %3" ).arg( p1 ).arg( p2 ).arg( p2 - p1 ) );
|
||||||
}
|
}
|
||||||
@@ -667,3 +668,12 @@ bool RimStimPlanModelPressureCalculator::interpolatePressureDifferenceByEquilibr
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset()
|
||||||
|
{
|
||||||
|
// Unit: meter
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ public:
|
|||||||
|
|
||||||
bool isMatching( RiaDefines::CurveProperty curveProperty ) const override;
|
bool isMatching( RiaDefines::CurveProperty curveProperty ) const override;
|
||||||
|
|
||||||
|
static double pressureDifferenceInterpolationOffset();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool extractValuesForProperty( RiaDefines::CurveProperty curveProperty,
|
bool extractValuesForProperty( RiaDefines::CurveProperty curveProperty,
|
||||||
const RimStimPlanModel* stimPlanModel,
|
const RimStimPlanModel* stimPlanModel,
|
||||||
|
|||||||
Reference in New Issue
Block a user