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

View File

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

View File

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

View File

@@ -161,7 +161,7 @@ RimFractureTemplate::RimFractureTemplate()
m_dFactorSummaryText.xmlCapability()->disableIO(); m_dFactorSummaryText.xmlCapability()->disableIO();
CAF_PDM_InitField(&m_heightScaleFactor, "HeightScaleFactor", 1.0, "Height", "", "", ""); 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_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_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", "", "", ""); 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"); auto group = uiOrdering.addNewGroup("Sensitivity Scale Factors");
group->setCollapsedByDefault(false); group->setCollapsedByDefault(false);
group->add(&m_heightScaleFactor); group->add(&m_heightScaleFactor);
group->add(&m_widthScaleFactor); group->add(&m_halfLengthScaleFactor);
group->add(&m_dFactorScaleFactor); group->add(&m_dFactorScaleFactor);
group->add(&m_conductivityScaleFactor); 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_heightScaleFactor = heightScale;
m_dFactorScaleFactor = dFactorScale; m_dFactorScaleFactor = dFactorScale;
m_conductivityScaleFactor = conductivityScale; 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* heightScale,
double* dFactorScale, double* dFactorScale,
double* conductivityScale) const double* conductivityScale) const
{ {
CVF_ASSERT(widthScale && heightScale && dFactorScale && conductivityScale); CVF_ASSERT(halfLengthScale && heightScale && dFactorScale && conductivityScale);
*widthScale = m_widthScaleFactor; *halfLengthScale = m_halfLengthScaleFactor;
*heightScale = m_widthScaleFactor; *heightScale = m_heightScaleFactor;
*dFactorScale = m_dFactorScaleFactor; *dFactorScale = m_dFactorScaleFactor;
*conductivityScale = m_conductivityScaleFactor; *conductivityScale = m_conductivityScaleFactor;
} }
@@ -810,7 +813,7 @@ double RimFractureTemplate::computeFractureWidth(const RimFracture* fractureInst
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimFractureTemplate::loadDataAndUpdateGeometryHasChanged() void RimFractureTemplate::loadDataAndUpdateGeometryHasChanged()
{ {

View File

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

View File

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