Move hard coded parameter names to RiaDefines

This commit is contained in:
Gaute Lindkvist 2018-07-02 09:47:34 +02:00
parent 0d9f810718
commit 0a0cb584b5
6 changed files with 124 additions and 21 deletions

View File

@ -353,6 +353,88 @@ QString RiaDefines::activeFormationNamesResultName()
return "Active Formation Names";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathAzimuthResultName()
{
return "Azimuth";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathInclinationResultName()
{
return "Inclination";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathPPResultName()
{
return "PP";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathSHResultName()
{
return "SH";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathOBGResultName()
{
return "OBG";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathFGResultName()
{
return "FG";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathSFGResultName()
{
return "SFG";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::wellPathCasingShoeSizeChannelName()
{
return "CASING_SIZE";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<QString> RiaDefines::wellPathAngleResultNames()
{
return { RiaDefines::wellPathAzimuthResultName(), RiaDefines::wellPathInclinationResultName() };
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<QString> RiaDefines::wellPathStabilityResultNames()
{
return { RiaDefines::wellPathFGResultName(), RiaDefines::wellPathOBGResultName(),
RiaDefines::wellPathPPResultName(), RiaDefines::wellPathSFGResultName(),
RiaDefines::wellPathSHResultName() };
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -21,6 +21,7 @@
#pragma once
#include <QString>
#include <vector>
namespace RiaDefines
{
@ -85,6 +86,22 @@ namespace RiaDefines
QString activeFormationNamesResultName();
// Well path derived results
QString wellPathAzimuthResultName();
QString wellPathInclinationResultName();
QString wellPathPPResultName();
QString wellPathSHResultName();
QString wellPathOBGResultName();
QString wellPathFGResultName();
QString wellPathSFGResultName();
// Well path casing shoe size
QString wellPathCasingShoeSizeChannelName();
// List of well path derived results
std::vector<QString> wellPathAngleResultNames();
std::vector<QString> wellPathStabilityResultNames();
//Units and conversions
enum DepthUnitType
{

View File

@ -193,15 +193,15 @@ void RicNewWellBoreStabilityPlotFeature::createStabilityCurvesTrack(RimWellLogPl
stabilityCurvesTrack->setAutoScaleXEnabled(true);
stabilityCurvesTrack->setTickIntervals(0.5, 0.05);
stabilityCurvesTrack->enableGridLines(RimWellLogTrack::GRID_X_MAJOR_AND_MINOR);
std::vector<std::string> resultNames = { "PP", "SH", "OGB", "FractureGradient", "ShearFailureGradient" };
std::vector<QString> resultNames = RiaDefines::wellPathStabilityResultNames();
for (std::string& resultName : resultNames)
for (const QString& resultName : resultNames)
{
RigFemResultAddress resAddr(RIG_WELLPATH_DERIVED, resultName, "");
RigFemResultAddress resAddr(RIG_WELLPATH_DERIVED, resultName.toStdString(), "");
RimWellLogExtractionCurve* curve = RicWellLogTools::addExtractionCurve(stabilityCurvesTrack, geoMechView, wellPath, nullptr, 0, false, false);
curve->setGeoMechResultAddress(resAddr);
curve->setCurrentTimeStep(geoMechView->currentTimeStep());
curve->setCustomName(QString::fromStdString(resultName));
curve->setCustomName(resultName);
curve->loadDataAndUpdate(false);
}
stabilityCurvesTrack->calculateXZoomRangeAndUpdateQwt();
@ -216,15 +216,15 @@ void RicNewWellBoreStabilityPlotFeature::createAnglesTrack(RimWellLogPlot* plot,
double minValue = 360.0, maxValue = 0.0;
const double epsilon = 1.0e-3;
const double angleIncrement = 90.0;
std::vector<std::string> resultNames = { "Azimuth", "Inclination" };
std::vector<QString> resultNames = RiaDefines::wellPathAngleResultNames();
for (std::string& resultName : resultNames)
for (const QString& resultName : resultNames)
{
RigFemResultAddress resAddr(RIG_WELLPATH_DERIVED, resultName, "");
RigFemResultAddress resAddr(RIG_WELLPATH_DERIVED, resultName.toStdString(), "");
RimWellLogExtractionCurve* curve = RicWellLogTools::addExtractionCurve(wellPathAnglesTrack, geoMechView, wellPath, nullptr, 0, false, false);
curve->setGeoMechResultAddress(resAddr);
curve->setCurrentTimeStep(geoMechView->currentTimeStep());
curve->setCustomName(QString::fromStdString(resultName));
curve->setCustomName(resultName);
curve->loadDataAndUpdate(false);
double actualMinValue = minValue, actualMaxValue = maxValue;

View File

@ -484,13 +484,16 @@ std::map<std::string, std::vector<std::string> > RigFemPartResultsCollection::sc
}
else if (resPos == RIG_WELLPATH_DERIVED)
{
fieldCompNames["Azimuth"];
fieldCompNames["FractureGradient"];
fieldCompNames["Inclination"];
fieldCompNames["PP"];
fieldCompNames["OBG"];
fieldCompNames["SH"];
fieldCompNames["ShearFailureGradient"];
std::vector<QString> angles = RiaDefines::wellPathAngleResultNames();
for (QString angle : angles)
{
fieldCompNames[angle.toStdString()];
}
std::vector<QString> derivedResults = RiaDefines::wellPathStabilityResultNames();
for (QString result : derivedResults)
{
fieldCompNames[result.toStdString()];
}
}
}

View File

@ -483,8 +483,8 @@ void RimGeoMechResultDefinition::loadResult()
{
if (m_geomCase && m_geomCase->geoMechData())
{
if (this->resultAddress().fieldName == "FractureGradient" ||
this->resultAddress().fieldName == "ShearFailureGradient")
if (this->resultAddress().fieldName == RiaDefines::wellPathFGResultName().toStdString() ||
this->resultAddress().fieldName == RiaDefines::wellPathSFGResultName().toStdString())
{
RigFemResultAddress stressResAddr(RIG_ELEMENT_NODAL, std::string("ST"), "");
RigFemResultAddress porBarResAddr(RIG_ELEMENT_NODAL, std::string("POR-Bar"), "");

View File

@ -22,6 +22,7 @@
//==================================================================================================
#include "RigGeoMechWellLogExtractor.h"
#include "RiaDefines.h"
#include "RigFemTypes.h"
#include "RigGeoMechBoreHoleStressCalculator.h"
#include "RigFemPart.h"
@ -60,7 +61,7 @@ void RigGeoMechWellLogExtractor::curveData(const RigFemResultAddress& resAddr, i
if (resAddr.resultPosType == RIG_WELLPATH_DERIVED)
{
if (resAddr.fieldName == "FractureGradient" || resAddr.fieldName == "ShearFailureGradient")
if (resAddr.fieldName == RiaDefines::wellPathFGResultName().toStdString() || resAddr.fieldName == RiaDefines::wellPathSFGResultName().toStdString())
{
wellBoreWallCurveData(resAddr, frameIndex, values);
return;
@ -214,7 +215,7 @@ void RigGeoMechWellLogExtractor::wellBoreWallCurveData(const RigFemResultAddress
const double uniaxialStrengthInBars = 100.0;
CVF_ASSERT(values);
CVF_ASSERT(resAddr.fieldName == "FractureGradient" || resAddr.fieldName == "ShearFailureGradient");
CVF_ASSERT(resAddr.fieldName == RiaDefines::wellPathFGResultName().toStdString() || resAddr.fieldName == RiaDefines::wellPathSFGResultName().toStdString());
const RigFemPart* femPart = m_caseData->femParts()->part(0);
const std::vector<cvf::Vec3f>& nodeCoords = femPart->nodes().coordinates;
@ -266,13 +267,13 @@ void RigGeoMechWellLogExtractor::wellBoreWallCurveData(const RigFemResultAddress
RigGeoMechBoreHoleStressCalculator sigmaCalculator(wellPathStressDouble, porePressure, poissonRatio, uniaxialStrengthInBars, 32);
double resultValue = 0.0;
if (resAddr.fieldName == "FractureGradient")
if (resAddr.fieldName == RiaDefines::wellPathFGResultName().toStdString())
{
resultValue = sigmaCalculator.solveFractureGradient();
}
else
{
CVF_ASSERT(resAddr.fieldName == "ShearFailureGradient");
CVF_ASSERT(resAddr.fieldName == RiaDefines::wellPathSFGResultName().toStdString());
resultValue = sigmaCalculator.solveStassiDalia();
}
double effectiveDepth = -m_intersections[intersectionIdx].z() + m_rkbDiff;