mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3349 Fracture Scaling : Improve naming in UI
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user