#7158 Fix water depth calculation for WBS plot.

The first intersection between the well path and the GeoMech model
is the correct water depth only when well path starts outside the model.

Top of the bounding box is used as an estimated water depth when
there is no intersection. WBS curves are now disabled for this case.
This commit is contained in:
Kristian Bendiksen
2021-01-15 10:32:36 +01:00
committed by Magne Sjaastad
parent ee29349d5e
commit d73bd60825
7 changed files with 99 additions and 31 deletions

View File

@@ -60,7 +60,7 @@ public:
public:
RigGeoMechWellLogExtractor( gsl::not_null<RigGeoMechCaseData*> aCase,
gsl::not_null<const RigWellPath*> wellpath,
const std::string& wellCaseErrorMsgName );
const std::string& wellCaseErrorMsgName );
void performCurveDataSmoothing( int frameIndex,
std::vector<double>* mds,
@@ -87,6 +87,9 @@ public:
static double hydroStaticPorePressureAtDepth( double effectiveDepthMeters,
double waterDensityGCM3 = PURE_WATER_DENSITY_GCM3 );
double waterDepth() const;
double estimateWaterDepth() const;
private:
enum WellPathTangentCalculation
{
@@ -167,6 +170,8 @@ private:
static bool isValid( double value );
static bool isValid( float value );
double calculateWaterDepth() const;
private:
cvf::ref<RigGeoMechCaseData> m_caseData;
@@ -174,4 +179,6 @@ private:
std::map<RigWbsParameter, QString> m_lasFileInputUnits;
std::map<RigWbsParameter, WbsParameterSource> m_parameterSources;
std::map<RigWbsParameter, double> m_userDefinedValues;
double m_waterDepth;
};