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:
parent
8542643963
commit
66df15224f
@ -444,19 +444,25 @@ bool RimStimPlanModelCalculator::calculateStressWithGradients( std::vector<doubl
|
||||
double diffPressureEQLBottom = findValueAtBottomOfLayer( pressureDiffData, layerBoundaryIndexes, i );
|
||||
if ( !std::isinf( diffPressureEQLTop ) )
|
||||
{
|
||||
lengthOfLayer = 2.0;
|
||||
double offset = RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset();
|
||||
lengthOfLayer = offset * 2.0;
|
||||
diffPressureLayer = diffPressureEQLTop;
|
||||
diffStressLayer =
|
||||
calculateStressAtDepth( depthTopOfZone - 1, stressDepthRef, verticalStressRef, verticalStressGradientRef ) -
|
||||
calculateStressAtDepth( depthTopOfZone + 1, stressDepthRef, verticalStressRef, verticalStressGradientRef );
|
||||
diffStressLayer = calculateStressDifferenceAtDepth( depthTopOfZone,
|
||||
offset,
|
||||
stressDepthRef,
|
||||
verticalStressRef,
|
||||
verticalStressGradientRef );
|
||||
}
|
||||
else if ( !std::isinf( diffPressureEQLBottom ) )
|
||||
{
|
||||
lengthOfLayer = 2.0;
|
||||
double offset = RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset();
|
||||
lengthOfLayer = offset * 2.0;
|
||||
diffPressureLayer = diffPressureEQLBottom;
|
||||
diffStressLayer =
|
||||
calculateStressAtDepth( depthBottomOfZone - 1, stressDepthRef, verticalStressRef, verticalStressGradientRef ) -
|
||||
calculateStressAtDepth( depthBottomOfZone + 1, stressDepthRef, verticalStressRef, verticalStressGradientRef );
|
||||
diffStressLayer = calculateStressDifferenceAtDepth( depthBottomOfZone,
|
||||
offset,
|
||||
stressDepthRef,
|
||||
verticalStressRef,
|
||||
verticalStressGradientRef );
|
||||
}
|
||||
|
||||
double stressGradient = ( diffStressLayer * k0 + diffPressureLayer * ( 1.0 - k0 ) ) / lengthOfLayer;
|
||||
@ -466,6 +472,19 @@ bool RimStimPlanModelCalculator::calculateStressWithGradients( std::vector<doubl
|
||||
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,
|
||||
std::vector<double>& result );
|
||||
|
||||
static double calculateStressDifferenceAtDepth( double depth,
|
||||
double offset,
|
||||
double stressDepthRef,
|
||||
double verticalStressRef,
|
||||
double verticalStressGradientRef );
|
||||
|
||||
static double calculateStressAtDepth( double depth,
|
||||
double stressDepthRef,
|
||||
double verticalStressRef,
|
||||
|
@ -656,10 +656,11 @@ bool RimStimPlanModelPressureCalculator::interpolatePressureDifferenceByEquilibr
|
||||
DepthValuePairVector depthValuePairs = valuesPerEqlNum[eqlNum];
|
||||
if ( !depthValuePairs.empty() )
|
||||
{
|
||||
double depth = tvDepthValues[i];
|
||||
double p1 = interpolatePressure( depthValuePairs, depth - 1, eqlNum );
|
||||
double p2 = interpolatePressure( depthValuePairs, depth + 1, eqlNum );
|
||||
values[i] = p2 - p1;
|
||||
double offset = pressureDifferenceInterpolationOffset();
|
||||
double depth = tvDepthValues[i];
|
||||
double p1 = interpolatePressure( depthValuePairs, depth - offset, eqlNum );
|
||||
double p2 = interpolatePressure( depthValuePairs, depth + offset, eqlNum );
|
||||
values[i] = 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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RimStimPlanModelPressureCalculator::pressureDifferenceInterpolationOffset()
|
||||
{
|
||||
// Unit: meter
|
||||
return 1.0;
|
||||
}
|
||||
|
@ -43,6 +43,8 @@ public:
|
||||
|
||||
bool isMatching( RiaDefines::CurveProperty curveProperty ) const override;
|
||||
|
||||
static double pressureDifferenceInterpolationOffset();
|
||||
|
||||
protected:
|
||||
bool extractValuesForProperty( RiaDefines::CurveProperty curveProperty,
|
||||
const RimStimPlanModel* stimPlanModel,
|
||||
|
Loading…
Reference in New Issue
Block a user