#2388 fractures. Support for asymmetric stim plan

This commit is contained in:
Bjørn Erik Jensen
2018-02-08 11:05:01 +01:00
parent 1370cfe3e5
commit 7ddfaeb234
8 changed files with 236 additions and 215 deletions

View File

@@ -229,23 +229,6 @@ void RivWellFracturePartMgr::appendGeometryPartsToModel(cvf::ModelBasicList* mod
appendFracturePerforationLengthParts(eclView, model);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<double> RivWellFracturePartMgr::mirrorDataAtSingleDepth(std::vector<double> depthData)
{
std::vector<double> mirroredValuesAtGivenDepth;
mirroredValuesAtGivenDepth.push_back(depthData[0]);
for (size_t i = 1; i < (depthData.size()); i++) //starting at 1 since we don't want center value twice
{
double valueAtGivenX = depthData[i];
mirroredValuesAtGivenDepth.insert(mirroredValuesAtGivenDepth.begin(), valueAtGivenX);
mirroredValuesAtGivenDepth.push_back(valueAtGivenX);
}
return mirroredValuesAtGivenDepth;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -443,7 +426,7 @@ cvf::ref<cvf::Part> RivWellFracturePartMgr::createStimPlanColorInterpolatedSurfa
doubleCoord = displayCoordTransform->transformToDisplayCoord(doubleCoord);
nodeCoord = cvf::Vec3f(doubleCoord);
}
RimLegendConfig* legendConfig = nullptr;
if (activeView.fractureColors() && activeView.fractureColors()->isChecked())
{
@@ -459,10 +442,9 @@ cvf::ref<cvf::Part> RivWellFracturePartMgr::createStimPlanColorInterpolatedSurfa
{
size_t idx = 0;
const std::vector<std::vector<double> > dataToPlot = stimPlanFracTemplate->resultValues(activeView.fractureColors->uiResultName(), activeView.fractureColors->unit(), stimPlanFracTemplate->activeTimeStepIndex());
for (const std::vector<double>& unmirroredDataAtDepth : dataToPlot)
for (const std::vector<double>& dataAtY : dataToPlot)
{
const std::vector<double> mirroredValuesAtDepth = mirrorDataAtSingleDepth(unmirroredDataAtDepth);
for (double val : mirroredValuesAtDepth)
for (double val : dataAtY)
{
perNodeResultValues[idx++] = val;
}

View File

@@ -57,8 +57,6 @@ public:
void appendGeometryPartsToModel(cvf::ModelBasicList* model, const RimEclipseView& eclView);
static std::vector<double> mirrorDataAtSingleDepth(std::vector<double> depthData);
const QString resultInfoText(const RimEclipseView& activeView, cvf::Vec3d domainIntersectionPoint) const;
const RigFractureCell* getFractureCellAtDomainCoord(cvf::Vec3d domainCoord) const;