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

View File

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

View File

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

View File

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

View File

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

View File

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