mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2505 Add conductivity scale factor batch command argument
This commit is contained in:
@@ -33,10 +33,11 @@ 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", "", "", "");
|
||||
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", "", "", "");
|
||||
RICF_InitField(&m_conductivityScaleFactor, "conductivity", 1.0, "ConductivityScaleFactor", "", "", "");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -67,6 +68,6 @@ void RicfScaleFractureTemplate::execute()
|
||||
return;
|
||||
}
|
||||
|
||||
templ->setScaleFactors(m_widthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor);
|
||||
templ->setScaleFactors(m_widthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor, m_conductivityScaleFactor);
|
||||
templ->reload();
|
||||
}
|
||||
|
||||
@@ -43,4 +43,5 @@ private:
|
||||
caf::PdmField<double> m_widthScaleFactor;
|
||||
caf::PdmField<double> m_heightScaleFactor;
|
||||
caf::PdmField<double> m_dFactorScaleFactor;
|
||||
caf::PdmField<double> m_conductivityScaleFactor;
|
||||
};
|
||||
|
||||
@@ -161,7 +161,9 @@ RimFractureTemplate::RimFractureTemplate()
|
||||
CAF_PDM_InitField(&m_heightScaleFactor, "HeightScaleFactor", 1.0, "Height", "", "", "");
|
||||
CAF_PDM_InitField(&m_widthScaleFactor, "WidthScaleFactor", 1.0, "Width", "", "", "");
|
||||
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", "", "", "");
|
||||
|
||||
m_scaleApplyButton.xmlCapability()->disableIO();
|
||||
m_scaleApplyButton.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_scaleApplyButton.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
@@ -322,6 +324,11 @@ void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
group->add(&m_heightScaleFactor);
|
||||
group->add(&m_widthScaleFactor);
|
||||
group->add(&m_dFactorScaleFactor);
|
||||
|
||||
if (supportsConductivityScaling())
|
||||
{
|
||||
group->add(&m_conductivityScaleFactor);
|
||||
}
|
||||
group->add(&m_scaleApplyButton);
|
||||
}
|
||||
|
||||
@@ -668,11 +675,12 @@ void RimFractureTemplate::setId(int id)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureTemplate::setScaleFactors(double width, double height, double dFactor)
|
||||
void RimFractureTemplate::setScaleFactors(double width, double height, double dFactor, double conductivity)
|
||||
{
|
||||
m_widthScaleFactor = width;
|
||||
m_heightScaleFactor = height;
|
||||
m_dFactorScaleFactor = dFactor;
|
||||
m_conductivityScaleFactor = supportsConductivityScaling() ? conductivity : 1.0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
|
||||
void disconnectAllFracturesAndRedrawViews() const;
|
||||
void setId(int id);
|
||||
void setScaleFactors(double width, double height, double dFactor);
|
||||
void setScaleFactors(double width, double height, double dFactor, double conductivity);
|
||||
virtual void reload() {}
|
||||
|
||||
protected:
|
||||
@@ -157,6 +157,8 @@ protected:
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override;
|
||||
|
||||
virtual bool supportsConductivityScaling() const { return false; }
|
||||
|
||||
private:
|
||||
void prepareFieldsForUiDisplay();
|
||||
virtual FractureWidthAndConductivity widthAndConductivityAtWellPathIntersection() const = 0;
|
||||
@@ -201,5 +203,6 @@ protected:
|
||||
caf::PdmField<double> m_heightScaleFactor;
|
||||
caf::PdmField<double> m_widthScaleFactor;
|
||||
caf::PdmField<double> m_dFactorScaleFactor;
|
||||
caf::PdmField<double> m_conductivityScaleFactor;
|
||||
caf::PdmField<bool> m_scaleApplyButton;
|
||||
};
|
||||
|
||||
@@ -71,7 +71,6 @@ RimStimPlanFractureTemplate::RimStimPlanFractureTemplate()
|
||||
m_borderPolygonResultName.uiCapability()->setUiHidden(true);
|
||||
|
||||
CAF_PDM_InitField(&m_activeTimeStepIndex, "ActiveTimeStepIndex", 0, "Active TimeStep Index", "", "", "");
|
||||
CAF_PDM_InitField(&m_conductivityScalingFactor, "ConductivityFactor", 1.0, "Conductivity Scaling Factor", "", "The conductivity values read from file will be scaled with this parameters", "");
|
||||
CAF_PDM_InitField(&m_conductivityResultNameOnFile, "ConductivityResultName", QString(""), "Active Conductivity Result Name", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_showStimPlanMesh_OBSOLETE, "ShowStimPlanMesh", true, "", "", "", "");
|
||||
@@ -130,15 +129,9 @@ void RimStimPlanFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* ch
|
||||
}
|
||||
}
|
||||
|
||||
if (&m_conductivityScalingFactor == changedField)
|
||||
{
|
||||
loadDataAndUpdate();
|
||||
}
|
||||
|
||||
if (&m_wellPathDepthAtFracture == changedField
|
||||
|| &m_borderPolygonResultName == changedField
|
||||
|| &m_activeTimeStepIndex == changedField
|
||||
|| &m_conductivityScalingFactor == changedField
|
||||
|| &m_stimPlanFileName == changedField
|
||||
|| &m_conductivityResultNameOnFile == changedField)
|
||||
{
|
||||
@@ -246,7 +239,7 @@ void RimStimPlanFractureTemplate::loadDataAndUpdate()
|
||||
if (m_readError) return;
|
||||
|
||||
m_stimPlanFractureDefinitionData = RifStimPlanXmlReader::readStimPlanXMLFile( m_stimPlanFileName(),
|
||||
m_conductivityScalingFactor(),
|
||||
m_conductivityScaleFactor(),
|
||||
m_widthScaleFactor(),
|
||||
m_heightScaleFactor(),
|
||||
-m_wellPathDepthAtFracture(),
|
||||
@@ -791,7 +784,6 @@ void RimStimPlanFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pd
|
||||
|
||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||
propertyGroup->add(&m_conductivityResultNameOnFile);
|
||||
propertyGroup->add(&m_conductivityScalingFactor);
|
||||
propertyGroup->add(&m_conductivityType);
|
||||
propertyGroup->add(&m_skinFactor);
|
||||
propertyGroup->add(&m_perforationLength);
|
||||
|
||||
@@ -100,6 +100,8 @@ protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;
|
||||
|
||||
virtual bool supportsConductivityScaling() const override { return true; }
|
||||
|
||||
private:
|
||||
bool setBorderPolygonResultNameToDefault();
|
||||
void setDepthOfWellPathAtFracture();
|
||||
@@ -118,7 +120,6 @@ private:
|
||||
|
||||
caf::PdmField<QString> m_stimPlanFileName;
|
||||
cvf::ref<RigStimPlanFractureDefinition> m_stimPlanFractureDefinitionData;
|
||||
caf::PdmField<double> m_conductivityScalingFactor;
|
||||
cvf::ref<RigFractureGrid> m_fractureGrid;
|
||||
bool m_readError;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user