#3349 Fracture Scaling : Improve naming in UI

This commit is contained in:
Magne Sjaastad
2018-09-14 08:25:27 +02:00
parent b49e7a7aaf
commit 35b728c133
7 changed files with 62 additions and 36 deletions

View File

@@ -2,17 +2,17 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2017 Statoil ASA
//
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
@@ -22,26 +22,32 @@
#include "RiaApplication.h"
#include "RiaLogging.h"
#include "RimProject.h"
#include "RimFractureTemplate.h"
#include "RimFractureTemplateCollection.h"
#include "RimProject.h"
CAF_PDM_SOURCE_INIT(RicfScaleFractureTemplate, "scaleFractureTemplate");
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
RicfScaleFractureTemplate::RicfScaleFractureTemplate()
{
RICF_InitField(&m_id, "id", -1, "Id", "", "", "");
RICF_InitField(&m_widthScaleFactor, "width", 1.0, "WidthScaleFactor", "", "", "");
RICF_InitField(&m_heightScaleFactor, "height", 1.0, "HeightScaleFactor", "", "", "");
RICF_InitField(&m_dFactorScaleFactor, "dFactor", 1.0, "DFactorScaleFactor", "", "", "");
// clang-format off
RICF_InitField(&m_id, "id", -1, "Id", "", "", "");
RICF_InitField(&m_halfLengthScaleFactor, "halfLength", 1.0, "HalfLengthScaleFactor", "", "", "");
RICF_InitField(&m_heightScaleFactor, "height", 1.0, "HeightScaleFactor", "", "", "");
RICF_InitField(&m_dFactorScaleFactor, "dFactor", 1.0, "DFactorScaleFactor", "", "", "");
RICF_InitField(&m_conductivityScaleFactor, "conductivity", 1.0, "ConductivityScaleFactor", "", "", "");
RICF_InitField(&m_OBSOLETE_widthScaleFactor, "width", 1.0, "WidthScaleFactor", "", "", "");
// clang-format on
}
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
void RicfScaleFractureTemplate::execute()
{
@@ -59,15 +65,27 @@ void RicfScaleFractureTemplate::execute()
return;
}
RimFractureTemplateCollection* templColl = !project->allFractureTemplateCollections().empty() ? project->allFractureTemplateCollections()[0] : nullptr;
RimFractureTemplateCollection* templColl =
!project->allFractureTemplateCollections().empty() ? project->allFractureTemplateCollections()[0] : nullptr;
RimFractureTemplate* templ = templColl ? templColl->fractureTemplate(m_id) : nullptr;
if (!templ)
{
RiaLogging::error(QString("scaleFractureTemplate: Fracture template not found. Id=%1").arg(m_id));
return;
}
templ->setScaleFactors(m_widthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor, m_conductivityScaleFactor);
templ->setScaleFactors(m_halfLengthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor, m_conductivityScaleFactor);
templ->loadDataAndUpdateGeometryHasChanged();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicfScaleFractureTemplate::initAfterRead()
{
if (m_OBSOLETE_widthScaleFactor != m_OBSOLETE_widthScaleFactor.defaultValue())
{
m_halfLengthScaleFactor = m_OBSOLETE_widthScaleFactor;
}
}

View File

@@ -38,10 +38,15 @@ public:
virtual void execute() override;
private:
void initAfterRead() override;
private:
caf::PdmField<int> m_id;
caf::PdmField<double> m_widthScaleFactor;
caf::PdmField<double> m_halfLengthScaleFactor;
caf::PdmField<double> m_heightScaleFactor;
caf::PdmField<double> m_dFactorScaleFactor;
caf::PdmField<double> m_conductivityScaleFactor;
caf::PdmField<double> m_OBSOLETE_widthScaleFactor;
};

View File

@@ -418,7 +418,7 @@ QString
floatNumberColumn("Bot"),
floatNumberColumn("Fault"),
floatNumberColumn("Height"),
floatNumberColumn("Width"),
floatNumberColumn("Half Length"),
floatNumberColumn("DFac"),
floatNumberColumn("Conductivity"),
};
@@ -464,10 +464,10 @@ QString
formatter.add("NA");
}
double heightScale, widthScale, dfactorScale, conductivityScale;
fracTemplate->scaleFactors(&heightScale, &widthScale, &dfactorScale, &conductivityScale);
double halfLengthScale, heightScale, dfactorScale, conductivityScale;
fracTemplate->scaleFactors(&halfLengthScale, &heightScale, &dfactorScale, &conductivityScale);
formatter.add(heightScale);
formatter.add(widthScale);
formatter.add(halfLengthScale);
formatter.add(dfactorScale);
formatter.add(conductivityScale);

View File

@@ -54,7 +54,7 @@ RimEllipseFractureTemplate::RimEllipseFractureTemplate()
CAF_PDM_InitObject("Fracture Template", ":/FractureTemplate16x16.png", "", "");
CAF_PDM_InitField(&m_halfLength, "HalfLength", 0.0, "Halflength X<sub>f</sub>", "", "", "");
CAF_PDM_InitField(&m_halfLength, "HalfLength", 0.0, "Half Length X<sub>f</sub>", "", "", "");
CAF_PDM_InitField(&m_height, "Height", 0.0, "Height", "", "", "");
CAF_PDM_InitField(&m_width, "Width", 0.0, "Width", "", "", "");
CAF_PDM_InitField(&m_permeability,"Permeability", 0.0, "Permeability [mD]", "", "", "");
@@ -108,7 +108,7 @@ void RimEllipseFractureTemplate::fractureTriangleGeometry(std::vector<cvf::Vec3f
{
RigEllipsisTesselator tesselator(20);
float a = m_halfLength * m_widthScaleFactor;
float a = m_halfLength * m_halfLengthScaleFactor;
float b = m_height / 2.0f * m_heightScaleFactor;
tesselator.tesselateEllipsis(a, b, triangleIndices, nodeCoords);
@@ -162,9 +162,9 @@ void RimEllipseFractureTemplate::createFractureGridAndAssignConductivities()
int numberOfCellsJ = 35;
double height = m_height * m_heightScaleFactor;
double halfLength = m_halfLength * m_widthScaleFactor;
double halfLength = m_halfLength * m_halfLengthScaleFactor;
double cellSizeX = (halfLength * 2) / numberOfCellsI * m_widthScaleFactor;
double cellSizeX = (halfLength * 2) / numberOfCellsI * m_halfLengthScaleFactor;
double cellSizeZ = height / numberOfCellsJ * m_heightScaleFactor;
double cellArea = cellSizeX * cellSizeZ;

View File

@@ -161,7 +161,7 @@ RimFractureTemplate::RimFractureTemplate()
m_dFactorSummaryText.xmlCapability()->disableIO();
CAF_PDM_InitField(&m_heightScaleFactor, "HeightScaleFactor", 1.0, "Height", "", "", "");
CAF_PDM_InitField(&m_widthScaleFactor, "WidthScaleFactor", 1.0, "Width", "", "", "");
CAF_PDM_InitField(&m_halfLengthScaleFactor, "WidthScaleFactor", 1.0, "Half Length", "", "", "");
CAF_PDM_InitField(&m_dFactorScaleFactor, "DFactorScaleFactor", 1.0, "D-factor", "", "", "");
CAF_PDM_InitField(&m_conductivityScaleFactor, "ConductivityFactor", 1.0, "Conductivity", "", "The conductivity values read from file will be scaled with this parameters", "");
CAF_PDM_InitField(&m_scaleApplyButton, "ScaleApplyButton", false, "Apply", "", "", "");
@@ -319,7 +319,7 @@ void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
auto group = uiOrdering.addNewGroup("Sensitivity Scale Factors");
group->setCollapsedByDefault(false);
group->add(&m_heightScaleFactor);
group->add(&m_widthScaleFactor);
group->add(&m_halfLengthScaleFactor);
group->add(&m_dFactorScaleFactor);
group->add(&m_conductivityScaleFactor);
@@ -749,9 +749,12 @@ void RimFractureTemplate::setId(int id)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureTemplate::setScaleFactors(double widthScale, double heightScale, double dFactorScale, double conductivityScale)
void RimFractureTemplate::setScaleFactors(double halfLengthScale,
double heightScale,
double dFactorScale,
double conductivityScale)
{
m_widthScaleFactor = widthScale;
m_halfLengthScaleFactor = halfLengthScale;
m_heightScaleFactor = heightScale;
m_dFactorScaleFactor = dFactorScale;
m_conductivityScaleFactor = conductivityScale;
@@ -765,15 +768,15 @@ void RimFractureTemplate::setScaleFactors(double widthScale, double heightScale,
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureTemplate::scaleFactors(double* widthScale,
void RimFractureTemplate::scaleFactors(double* halfLengthScale,
double* heightScale,
double* dFactorScale,
double* conductivityScale) const
{
CVF_ASSERT(widthScale && heightScale && dFactorScale && conductivityScale);
CVF_ASSERT(halfLengthScale && heightScale && dFactorScale && conductivityScale);
*widthScale = m_widthScaleFactor;
*heightScale = m_widthScaleFactor;
*halfLengthScale = m_halfLengthScaleFactor;
*heightScale = m_heightScaleFactor;
*dFactorScale = m_dFactorScaleFactor;
*conductivityScale = m_conductivityScaleFactor;
}
@@ -810,7 +813,7 @@ double RimFractureTemplate::computeFractureWidth(const RimFracture* fractureInst
}
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
void RimFractureTemplate::loadDataAndUpdateGeometryHasChanged()
{

View File

@@ -154,8 +154,8 @@ public:
void disconnectAllFracturesAndRedrawViews() const;
void setId(int id);
void setScaleFactors(double widthScale, double heightScale, double dFactorScale, double conductivityScale);
void scaleFactors(double* widthScale, double* heightScale, double* dFactorScale, double* conductivityScale) const;
void setScaleFactors(double halfLengthScale, double heightScale, double dFactorScale, double conductivityScale);
void scaleFactors(double* halfLengthScale, double* heightScale, double* dFactorScale, double* conductivityScale) const;
void setContainmentTopKLayer(int topKLayer);
void setContainmentBaseKLayer(int baseKLayer);
@@ -217,7 +217,7 @@ protected:
caf::PdmProxyValueField<QString> m_dFactorSummaryText;
caf::PdmField<double> m_heightScaleFactor;
caf::PdmField<double> m_widthScaleFactor;
caf::PdmField<double> m_halfLengthScaleFactor;
caf::PdmField<double> m_dFactorScaleFactor;
caf::PdmField<double> m_conductivityScaleFactor;
caf::PdmField<bool> m_scaleApplyButton;

View File

@@ -252,7 +252,7 @@ void RimStimPlanFractureTemplate::loadDataAndUpdate()
m_stimPlanFractureDefinitionData = RifStimPlanXmlReader::readStimPlanXMLFile(m_stimPlanFileName(),
m_conductivityScaleFactor(),
m_widthScaleFactor(),
m_halfLengthScaleFactor(),
m_heightScaleFactor(),
-m_wellPathDepthAtFracture(),
RifStimPlanXmlReader::MIRROR_AUTO,