mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Use hydrostatic pore pressure calculation
This commit is contained in:
@@ -254,9 +254,9 @@ RigFemScalarResultFrames* RigFemPartResultCalculatorMudWeightWindow::calculate(
|
|||||||
// Use hydrostatic pressure from cell centroid.
|
// Use hydrostatic pressure from cell centroid.
|
||||||
// Use centroid to avoid intra-element differences
|
// Use centroid to avoid intra-element differences
|
||||||
cvf::Vec3d cellCentroid = femPartGrid->cellCentroid( elmIdx );
|
cvf::Vec3d cellCentroid = femPartGrid->cellCentroid( elmIdx );
|
||||||
double cellCentroidTvdRKB = std::abs( cellCentroid.z() ) + airGap;
|
double cellCentroidTvdRKB = -cellCentroid.z() + airGap;
|
||||||
double cellCenterHydroStaticPressure =
|
double cellCenterHydroStaticPressure =
|
||||||
RiaWellLogUnitTools<double>::hydrostaticPorePressureBar( cellCentroidTvdRKB );
|
RigGeoMechWellLogExtractor::hydroStaticPorePressureAtDepth( cellCentroidTvdRKB );
|
||||||
|
|
||||||
size_t elmNodResIdx = femPart->elementNodeResultIdx( elmIdx, elmNodIdx );
|
size_t elmNodResIdx = femPart->elementNodeResultIdx( elmIdx, elmNodIdx );
|
||||||
if ( elmNodResIdx < stressFrameData.size() )
|
if ( elmNodResIdx < stressFrameData.size() )
|
||||||
|
|||||||
@@ -1403,6 +1403,16 @@ double RigGeoMechWellLogExtractor::hydroStaticPorePressureForSegment( size_t int
|
|||||||
return hydroStaticPorePressureBar;
|
return hydroStaticPorePressureBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RigGeoMechWellLogExtractor::hydroStaticPorePressureAtDepth( double effectiveDepthMeters, double waterDensityGCM3 )
|
||||||
|
{
|
||||||
|
double hydroStaticPorePressurePascal = effectiveDepthMeters * GRAVITY_ACCEL * waterDensityGCM3 * 1000;
|
||||||
|
double hydroStaticPorePressureBar = pascalToBar( hydroStaticPorePressurePascal );
|
||||||
|
return hydroStaticPorePressureBar;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -84,6 +84,9 @@ public:
|
|||||||
static caf::Ten3d transformTensorToWellPathOrientation( const cvf::Vec3d& wellPathTangent,
|
static caf::Ten3d transformTensorToWellPathOrientation( const cvf::Vec3d& wellPathTangent,
|
||||||
const caf::Ten3d& wellPathTensor );
|
const caf::Ten3d& wellPathTensor );
|
||||||
|
|
||||||
|
static double hydroStaticPorePressureAtDepth( double effectiveDepthMeters,
|
||||||
|
double waterDensityGCM3 = PURE_WATER_DENSITY_GCM3 );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum WellPathTangentCalculation
|
enum WellPathTangentCalculation
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user