#2505 Add conductivity scale factor batch command argument

This commit is contained in:
Bjørn Erik Jensen
2018-03-05 11:55:34 +01:00
parent b371a94e91
commit 3a6de3cc56
6 changed files with 23 additions and 17 deletions

View File

@@ -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();
} }

View File

@@ -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;
}; };

View File

@@ -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;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -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;
}; };

View File

@@ -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);

View File

@@ -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;