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()
|
RicfScaleFractureTemplate::RicfScaleFractureTemplate()
|
||||||
{
|
{
|
||||||
RICF_InitField(&m_id, "id", -1, "Id", "", "", "");
|
RICF_InitField(&m_id, "id", -1, "Id", "", "", "");
|
||||||
RICF_InitField(&m_widthScaleFactor, "width", 1.0, "WidthScaleFactor", "", "", "");
|
RICF_InitField(&m_widthScaleFactor, "width", 1.0, "WidthScaleFactor", "", "", "");
|
||||||
RICF_InitField(&m_heightScaleFactor, "height", 1.0, "HeightScaleFactor", "", "", "");
|
RICF_InitField(&m_heightScaleFactor, "height", 1.0, "HeightScaleFactor", "", "", "");
|
||||||
RICF_InitField(&m_dFactorScaleFactor, "dFactor", 1.0, "DFactorScaleFactor", "", "", "");
|
RICF_InitField(&m_dFactorScaleFactor, "dFactor", 1.0, "DFactorScaleFactor", "", "", "");
|
||||||
|
RICF_InitField(&m_conductivityScaleFactor, "conductivity", 1.0, "ConductivityScaleFactor", "", "", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -67,6 +68,6 @@ void RicfScaleFractureTemplate::execute()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
templ->setScaleFactors(m_widthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor);
|
templ->setScaleFactors(m_widthScaleFactor, m_heightScaleFactor, m_dFactorScaleFactor, m_conductivityScaleFactor);
|
||||||
templ->reload();
|
templ->reload();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,4 +43,5 @@ private:
|
|||||||
caf::PdmField<double> m_widthScaleFactor;
|
caf::PdmField<double> m_widthScaleFactor;
|
||||||
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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -161,7 +161,9 @@ RimFractureTemplate::RimFractureTemplate()
|
|||||||
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_widthScaleFactor, "WidthScaleFactor", 1.0, "Width", "", "", "");
|
||||||
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_scaleApplyButton, "ScaleApplyButton", false, "Apply", "", "", "");
|
CAF_PDM_InitField(&m_scaleApplyButton, "ScaleApplyButton", false, "Apply", "", "", "");
|
||||||
|
|
||||||
m_scaleApplyButton.xmlCapability()->disableIO();
|
m_scaleApplyButton.xmlCapability()->disableIO();
|
||||||
m_scaleApplyButton.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
m_scaleApplyButton.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||||
m_scaleApplyButton.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
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_heightScaleFactor);
|
||||||
group->add(&m_widthScaleFactor);
|
group->add(&m_widthScaleFactor);
|
||||||
group->add(&m_dFactorScaleFactor);
|
group->add(&m_dFactorScaleFactor);
|
||||||
|
|
||||||
|
if (supportsConductivityScaling())
|
||||||
|
{
|
||||||
|
group->add(&m_conductivityScaleFactor);
|
||||||
|
}
|
||||||
group->add(&m_scaleApplyButton);
|
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_widthScaleFactor = width;
|
||||||
m_heightScaleFactor = height;
|
m_heightScaleFactor = height;
|
||||||
m_dFactorScaleFactor = dFactor;
|
m_dFactorScaleFactor = dFactor;
|
||||||
|
m_conductivityScaleFactor = supportsConductivityScaling() ? conductivity : 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ public:
|
|||||||
|
|
||||||
void disconnectAllFracturesAndRedrawViews() const;
|
void disconnectAllFracturesAndRedrawViews() const;
|
||||||
void setId(int id);
|
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() {}
|
virtual void reload() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -157,6 +157,8 @@ protected:
|
|||||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
|
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 QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override;
|
||||||
|
|
||||||
|
virtual bool supportsConductivityScaling() const { return false; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void prepareFieldsForUiDisplay();
|
void prepareFieldsForUiDisplay();
|
||||||
virtual FractureWidthAndConductivity widthAndConductivityAtWellPathIntersection() const = 0;
|
virtual FractureWidthAndConductivity widthAndConductivityAtWellPathIntersection() const = 0;
|
||||||
@@ -201,5 +203,6 @@ protected:
|
|||||||
caf::PdmField<double> m_heightScaleFactor;
|
caf::PdmField<double> m_heightScaleFactor;
|
||||||
caf::PdmField<double> m_widthScaleFactor;
|
caf::PdmField<double> m_widthScaleFactor;
|
||||||
caf::PdmField<double> m_dFactorScaleFactor;
|
caf::PdmField<double> m_dFactorScaleFactor;
|
||||||
|
caf::PdmField<double> m_conductivityScaleFactor;
|
||||||
caf::PdmField<bool> m_scaleApplyButton;
|
caf::PdmField<bool> m_scaleApplyButton;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ RimStimPlanFractureTemplate::RimStimPlanFractureTemplate()
|
|||||||
m_borderPolygonResultName.uiCapability()->setUiHidden(true);
|
m_borderPolygonResultName.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_activeTimeStepIndex, "ActiveTimeStepIndex", 0, "Active TimeStep Index", "", "", "");
|
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_conductivityResultNameOnFile, "ConductivityResultName", QString(""), "Active Conductivity Result Name", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_showStimPlanMesh_OBSOLETE, "ShowStimPlanMesh", true, "", "", "", "");
|
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
|
if (&m_wellPathDepthAtFracture == changedField
|
||||||
|| &m_borderPolygonResultName == changedField
|
|| &m_borderPolygonResultName == changedField
|
||||||
|| &m_activeTimeStepIndex == changedField
|
|| &m_activeTimeStepIndex == changedField
|
||||||
|| &m_conductivityScalingFactor == changedField
|
|
||||||
|| &m_stimPlanFileName == changedField
|
|| &m_stimPlanFileName == changedField
|
||||||
|| &m_conductivityResultNameOnFile == changedField)
|
|| &m_conductivityResultNameOnFile == changedField)
|
||||||
{
|
{
|
||||||
@@ -246,7 +239,7 @@ void RimStimPlanFractureTemplate::loadDataAndUpdate()
|
|||||||
if (m_readError) return;
|
if (m_readError) return;
|
||||||
|
|
||||||
m_stimPlanFractureDefinitionData = RifStimPlanXmlReader::readStimPlanXMLFile( m_stimPlanFileName(),
|
m_stimPlanFractureDefinitionData = RifStimPlanXmlReader::readStimPlanXMLFile( m_stimPlanFileName(),
|
||||||
m_conductivityScalingFactor(),
|
m_conductivityScaleFactor(),
|
||||||
m_widthScaleFactor(),
|
m_widthScaleFactor(),
|
||||||
m_heightScaleFactor(),
|
m_heightScaleFactor(),
|
||||||
-m_wellPathDepthAtFracture(),
|
-m_wellPathDepthAtFracture(),
|
||||||
@@ -791,7 +784,6 @@ void RimStimPlanFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pd
|
|||||||
|
|
||||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||||
propertyGroup->add(&m_conductivityResultNameOnFile);
|
propertyGroup->add(&m_conductivityResultNameOnFile);
|
||||||
propertyGroup->add(&m_conductivityScalingFactor);
|
|
||||||
propertyGroup->add(&m_conductivityType);
|
propertyGroup->add(&m_conductivityType);
|
||||||
propertyGroup->add(&m_skinFactor);
|
propertyGroup->add(&m_skinFactor);
|
||||||
propertyGroup->add(&m_perforationLength);
|
propertyGroup->add(&m_perforationLength);
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ protected:
|
|||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;
|
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;
|
||||||
|
|
||||||
|
virtual bool supportsConductivityScaling() const override { return true; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool setBorderPolygonResultNameToDefault();
|
bool setBorderPolygonResultNameToDefault();
|
||||||
void setDepthOfWellPathAtFracture();
|
void setDepthOfWellPathAtFracture();
|
||||||
@@ -118,7 +120,6 @@ private:
|
|||||||
|
|
||||||
caf::PdmField<QString> m_stimPlanFileName;
|
caf::PdmField<QString> m_stimPlanFileName;
|
||||||
cvf::ref<RigStimPlanFractureDefinition> m_stimPlanFractureDefinitionData;
|
cvf::ref<RigStimPlanFractureDefinition> m_stimPlanFractureDefinitionData;
|
||||||
caf::PdmField<double> m_conductivityScalingFactor;
|
|
||||||
cvf::ref<RigFractureGrid> m_fractureGrid;
|
cvf::ref<RigFractureGrid> m_fractureGrid;
|
||||||
bool m_readError;
|
bool m_readError;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user