mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2442 Fracture Template : Move several fields from public to protected
This commit is contained in:
@@ -181,7 +181,7 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
|
||||
|
||||
RigEclipseToStimPlanCellTransmissibilityCalculator eclToFractureTransCalc(caseToApply,
|
||||
fracture->transformMatrix(),
|
||||
fracture->fractureTemplate()->skinFactor,
|
||||
fracture->fractureTemplate()->skinFactor(),
|
||||
cDarcyInCorrectUnit,
|
||||
fractureCell);
|
||||
|
||||
|
||||
@@ -178,8 +178,8 @@ void RimEllipseFractureTemplate::changeUnits()
|
||||
m_halfLength = RiaEclipseUnitTools::meterToFeet(m_halfLength);
|
||||
m_height = RiaEclipseUnitTools::meterToFeet(m_height);
|
||||
m_width = RiaEclipseUnitTools::meterToInch(m_width);
|
||||
wellDiameter = RiaEclipseUnitTools::meterToInch(wellDiameter);
|
||||
perforationLength = RiaEclipseUnitTools::meterToFeet(perforationLength);
|
||||
m_wellDiameter = RiaEclipseUnitTools::meterToInch(m_wellDiameter);
|
||||
m_perforationLength = RiaEclipseUnitTools::meterToFeet(m_perforationLength);
|
||||
fractureTemplateUnit = RiaEclipseUnitTools::UNITS_FIELD;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
@@ -187,8 +187,8 @@ void RimEllipseFractureTemplate::changeUnits()
|
||||
m_halfLength = RiaEclipseUnitTools::feetToMeter(m_halfLength);
|
||||
m_height = RiaEclipseUnitTools::feetToMeter(m_height);
|
||||
m_width = RiaEclipseUnitTools::inchToMeter(m_width);
|
||||
wellDiameter = RiaEclipseUnitTools::inchToMeter(wellDiameter);
|
||||
perforationLength = RiaEclipseUnitTools::feetToMeter(perforationLength);
|
||||
m_wellDiameter = RiaEclipseUnitTools::inchToMeter(m_wellDiameter);
|
||||
m_perforationLength = RiaEclipseUnitTools::feetToMeter(m_perforationLength);
|
||||
fractureTemplateUnit = RiaEclipseUnitTools::UNITS_METRIC;
|
||||
}
|
||||
|
||||
@@ -355,23 +355,23 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
m_halfLength.uiCapability()->setUiName("Halflenght X<sub>f</sub> [m]");
|
||||
m_height.uiCapability()->setUiName("Height [m]");
|
||||
m_width.uiCapability()->setUiName("Width [m]");
|
||||
wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
||||
m_wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
m_halfLength.uiCapability()->setUiName("Halflenght X<sub>f</sub> [Ft]");
|
||||
m_height.uiCapability()->setUiName("Height [Ft]");
|
||||
m_width.uiCapability()->setUiName("Width [inches]");
|
||||
wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
||||
m_wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
||||
}
|
||||
|
||||
|
||||
if (conductivityType == FINITE_CONDUCTIVITY)
|
||||
if (conductivityType() == FINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_permeability.uiCapability()->setUiHidden(false);
|
||||
m_width.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else if (conductivityType == INFINITE_CONDUCTIVITY)
|
||||
else if (conductivityType() == INFINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_permeability.uiCapability()->setUiHidden(true);
|
||||
m_width.uiCapability()->setUiHidden(true);
|
||||
@@ -384,19 +384,19 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
|
||||
geometryGroup->add(&m_halfLength);
|
||||
geometryGroup->add(&m_height);
|
||||
geometryGroup->add(&orientationType);
|
||||
geometryGroup->add(&azimuthAngle);
|
||||
geometryGroup->add(&m_azimuthAngle);
|
||||
|
||||
caf::PdmUiGroup* trGr = uiOrdering.addNewGroup("Fracture Truncation");
|
||||
m_fractureContainment()->defineUiOrdering(uiConfigName, *trGr);
|
||||
|
||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||
propertyGroup->add(&conductivityType);
|
||||
propertyGroup->add(&m_conductivityType);
|
||||
propertyGroup->add(&m_permeability);
|
||||
propertyGroup->add(&m_width);
|
||||
propertyGroup->add(&skinFactor);
|
||||
propertyGroup->add(&perforationLength);
|
||||
propertyGroup->add(&perforationEfficiency);
|
||||
propertyGroup->add(&wellDiameter);
|
||||
propertyGroup->add(&m_skinFactor);
|
||||
propertyGroup->add(&m_perforationLength);
|
||||
propertyGroup->add(&m_perforationEfficiency);
|
||||
propertyGroup->add(&m_wellDiameter);
|
||||
|
||||
uiOrdering.add(&fractureTemplateUnit);
|
||||
uiOrdering.skipRemainingFields(true);
|
||||
|
||||
@@ -483,11 +483,11 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
|
||||
m_perforationLength.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
||||
if (fractureTemplate()->conductivityType == RimFractureTemplate::FINITE_CONDUCTIVITY)
|
||||
if (fractureTemplate()->conductivityType() == RimFractureTemplate::FINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_wellDiameter.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else if (fractureTemplate()->conductivityType == RimFractureTemplate::INFINITE_CONDUCTIVITY)
|
||||
else if (fractureTemplate()->conductivityType() == RimFractureTemplate::INFINITE_CONDUCTIVITY)
|
||||
{
|
||||
m_wellDiameter.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
@@ -628,7 +628,7 @@ void RimFracture::setFractureTemplate(RimFractureTemplate* fractureTemplate)
|
||||
|
||||
if (fractureTemplate->orientationType == RimFractureTemplate::AZIMUTH)
|
||||
{
|
||||
m_azimuth = fractureTemplate->azimuthAngle;
|
||||
m_azimuth = fractureTemplate->azimuthAngle();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -69,16 +69,16 @@ RimFractureTemplate::RimFractureTemplate()
|
||||
CAF_PDM_InitField(&fractureTemplateUnit,"UnitSystem", caf::AppEnum<RiaEclipseUnitTools::UnitSystem>(RiaEclipseUnitTools::UNITS_METRIC), "Units System", "", "", "");
|
||||
fractureTemplateUnit.uiCapability()->setUiReadOnly(true);
|
||||
|
||||
CAF_PDM_InitField(&orientationType, "Orientation", caf::AppEnum<FracOrientationEnum>(TRANSVERSE_WELL_PATH), "Fracture Orientation", "", "", "");
|
||||
CAF_PDM_InitField(&azimuthAngle, "AzimuthAngle", 0.0f, "Azimuth Angle", "", "", ""); //Is this correct description?
|
||||
CAF_PDM_InitField(&skinFactor, "SkinFactor", 0.0f, "Skin Factor", "", "", "");
|
||||
CAF_PDM_InitField(&orientationType, "Orientation", caf::AppEnum<FracOrientationEnum>(TRANSVERSE_WELL_PATH), "Fracture Orientation", "", "", "");
|
||||
CAF_PDM_InitField(&m_azimuthAngle, "AzimuthAngle", 0.0f, "Azimuth Angle", "", "", ""); //Is this correct description?
|
||||
CAF_PDM_InitField(&m_skinFactor, "SkinFactor", 0.0f, "Skin Factor", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&perforationLength, "PerforationLength", 1.0, "Perforation Length", "", "", "");
|
||||
CAF_PDM_InitField(&perforationEfficiency, "PerforationEfficiency", 1.0, "Perforation Efficiency", "", "", "");
|
||||
perforationEfficiency.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
||||
CAF_PDM_InitField(&wellDiameter, "WellDiameter", 0.216, "Well Diameter at Fracture", "", "", "");
|
||||
CAF_PDM_InitField(&m_perforationLength, "PerforationLength", 1.0, "Perforation Length", "", "", "");
|
||||
CAF_PDM_InitField(&m_perforationEfficiency, "PerforationEfficiency", 1.0, "Perforation Efficiency", "", "", "");
|
||||
m_perforationEfficiency.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
||||
CAF_PDM_InitField(&m_wellDiameter, "WellDiameter", 0.216, "Well Diameter at Fracture", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&conductivityType, "ConductivityType", caf::AppEnum<FracConductivityEnum>(FINITE_CONDUCTIVITY), "Conductivity in Fracture", "", "", "");
|
||||
CAF_PDM_InitField(&m_conductivityType, "ConductivityType", caf::AppEnum<FracConductivityEnum>(FINITE_CONDUCTIVITY), "Conductivity in Fracture", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_fractureContainment, "FractureContainmentField", "Fracture Containment", "", "", "");
|
||||
m_fractureContainment = new RimFractureContainment();
|
||||
@@ -106,7 +106,7 @@ caf::PdmFieldHandle* RimFractureTemplate::userDescriptionField()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
if (changedField == &azimuthAngle || changedField == &orientationType)
|
||||
if (changedField == &m_azimuthAngle || changedField == &orientationType)
|
||||
{
|
||||
//Changes to one of these parameters should change all fractures with this fracture template attached.
|
||||
RimProject* proj;
|
||||
@@ -121,16 +121,16 @@ void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
{
|
||||
if (fracture->fractureTemplate() == this)
|
||||
{
|
||||
if (changedField == &azimuthAngle && (fabs(oldValue.toDouble() - fracture->m_azimuth()) < 1e-5))
|
||||
if (changedField == &m_azimuthAngle && (fabs(oldValue.toDouble() - fracture->m_azimuth()) < 1e-5))
|
||||
{
|
||||
fracture->m_azimuth = azimuthAngle;
|
||||
fracture->m_azimuth = m_azimuthAngle;
|
||||
}
|
||||
|
||||
if (changedField == &orientationType)
|
||||
{
|
||||
if (newValue == AZIMUTH)
|
||||
{
|
||||
fracture->m_azimuth = azimuthAngle;
|
||||
fracture->m_azimuth = m_azimuthAngle;
|
||||
}
|
||||
else fracture->updateAzimuthBasedOnWellAzimuthAngle();
|
||||
}
|
||||
@@ -141,7 +141,7 @@ void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
}
|
||||
}
|
||||
|
||||
if (changedField == &perforationLength || changedField == &perforationEfficiency || changedField == &wellDiameter)
|
||||
if (changedField == &m_perforationLength || changedField == &m_perforationEfficiency || changedField == &m_wellDiameter)
|
||||
{
|
||||
RimProject* proj;
|
||||
this->firstAncestorOrThisOfType(proj);
|
||||
@@ -153,23 +153,23 @@ void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
{
|
||||
if (fracture->fractureTemplate() == this)
|
||||
{
|
||||
if (changedField == &perforationLength && (fabs(oldValue.toDouble() - fracture->m_perforationLength()) < 1e-5))
|
||||
if (changedField == &m_perforationLength && (fabs(oldValue.toDouble() - fracture->m_perforationLength()) < 1e-5))
|
||||
{
|
||||
fracture->m_perforationLength = perforationLength;
|
||||
fracture->m_perforationLength = m_perforationLength;
|
||||
}
|
||||
if (changedField == &perforationEfficiency && (fabs(oldValue.toDouble() - fracture->m_perforationEfficiency()) < 1e-5))
|
||||
if (changedField == &m_perforationEfficiency && (fabs(oldValue.toDouble() - fracture->m_perforationEfficiency()) < 1e-5))
|
||||
{
|
||||
fracture->m_perforationEfficiency = perforationEfficiency;
|
||||
fracture->m_perforationEfficiency = m_perforationEfficiency;
|
||||
}
|
||||
if (changedField == &wellDiameter && (fabs(oldValue.toDouble() - fracture->m_wellDiameter()) < 1e-5))
|
||||
if (changedField == &m_wellDiameter && (fabs(oldValue.toDouble() - fracture->m_wellDiameter()) < 1e-5))
|
||||
{
|
||||
fracture->m_wellDiameter = wellDiameter;
|
||||
fracture->m_wellDiameter = m_wellDiameter;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (changedField == &perforationLength)
|
||||
if (changedField == &m_perforationLength)
|
||||
{
|
||||
RimProject* proj;
|
||||
this->firstAncestorOrThisOfType(proj);
|
||||
@@ -188,43 +188,43 @@ void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
|
||||
if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
||||
perforationLength.uiCapability()->setUiName("Perforation Length [m]");
|
||||
m_wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
||||
m_perforationLength.uiCapability()->setUiName("Perforation Length [m]");
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
||||
perforationLength.uiCapability()->setUiName("Perforation Length [Ft]");
|
||||
m_wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
||||
m_perforationLength.uiCapability()->setUiName("Perforation Length [Ft]");
|
||||
}
|
||||
|
||||
if (orientationType == RimFractureTemplate::ALONG_WELL_PATH
|
||||
|| orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
||||
{
|
||||
azimuthAngle.uiCapability()->setUiHidden(true);
|
||||
m_azimuthAngle.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
else if (orientationType == RimFractureTemplate::AZIMUTH)
|
||||
{
|
||||
azimuthAngle.uiCapability()->setUiHidden(false);
|
||||
m_azimuthAngle.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
|
||||
if (orientationType == RimFractureTemplate::ALONG_WELL_PATH)
|
||||
{
|
||||
perforationEfficiency.uiCapability()->setUiHidden(false);
|
||||
perforationLength.uiCapability()->setUiHidden(false);
|
||||
m_perforationEfficiency.uiCapability()->setUiHidden(false);
|
||||
m_perforationLength.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
perforationEfficiency.uiCapability()->setUiHidden(true);
|
||||
perforationLength.uiCapability()->setUiHidden(true);
|
||||
m_perforationEfficiency.uiCapability()->setUiHidden(true);
|
||||
m_perforationLength.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
||||
if (conductivityType == FINITE_CONDUCTIVITY)
|
||||
if (m_conductivityType == FINITE_CONDUCTIVITY)
|
||||
{
|
||||
wellDiameter.uiCapability()->setUiHidden(false);
|
||||
m_wellDiameter.uiCapability()->setUiHidden(false);
|
||||
}
|
||||
else if (conductivityType == INFINITE_CONDUCTIVITY)
|
||||
else if (m_conductivityType == INFINITE_CONDUCTIVITY)
|
||||
{
|
||||
wellDiameter.uiCapability()->setUiHidden(true);
|
||||
m_wellDiameter.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -234,7 +234,7 @@ void RimFractureTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureTemplate::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute)
|
||||
{
|
||||
if (field == &perforationEfficiency)
|
||||
if (field == &m_perforationEfficiency)
|
||||
{
|
||||
auto myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>(attribute);
|
||||
if (myAttr)
|
||||
@@ -253,17 +253,17 @@ double RimFractureTemplate::wellDiameterInFractureUnit(RiaEclipseUnitTools::Unit
|
||||
{
|
||||
if (fractureUnit == fractureTemplateUnit())
|
||||
{
|
||||
return wellDiameter;
|
||||
return m_wellDiameter;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
return RiaEclipseUnitTools::meterToInch(wellDiameter);
|
||||
return RiaEclipseUnitTools::meterToInch(m_wellDiameter);
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
return RiaEclipseUnitTools::inchToMeter(wellDiameter);
|
||||
return RiaEclipseUnitTools::inchToMeter(m_wellDiameter);
|
||||
}
|
||||
|
||||
return cvf::UNDEFINED_DOUBLE;
|
||||
@@ -276,17 +276,17 @@ double RimFractureTemplate::perforationLengthInFractureUnit(RiaEclipseUnitTools:
|
||||
{
|
||||
if (fractureUnit == fractureTemplateUnit())
|
||||
{
|
||||
return perforationLength;
|
||||
return m_perforationLength;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
return RiaEclipseUnitTools::meterToFeet(perforationLength);
|
||||
return RiaEclipseUnitTools::meterToFeet(m_perforationLength);
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
return RiaEclipseUnitTools::feetToMeter(perforationLength);
|
||||
return RiaEclipseUnitTools::feetToMeter(m_perforationLength);
|
||||
}
|
||||
|
||||
return cvf::UNDEFINED_DOUBLE;
|
||||
@@ -300,6 +300,30 @@ const RimFractureContainment * RimFractureTemplate::fractureContainment()
|
||||
return m_fractureContainment();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureTemplate::FracConductivityEnum RimFractureTemplate::conductivityType() const
|
||||
{
|
||||
return m_conductivityType();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimFractureTemplate::azimuthAngle() const
|
||||
{
|
||||
return m_azimuthAngle;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RimFractureTemplate::skinFactor() const
|
||||
{
|
||||
return m_skinFactor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -307,10 +331,10 @@ void RimFractureTemplate::setDefaultWellDiameterFromUnit()
|
||||
{
|
||||
if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
wellDiameter = 8.5;
|
||||
m_wellDiameter = 8.5;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
wellDiameter = 0.216;
|
||||
m_wellDiameter = 0.216;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,61 +47,62 @@ class RimFractureTemplate : public caf::PdmObject
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
RimFractureTemplate();
|
||||
virtual ~RimFractureTemplate();
|
||||
|
||||
caf::PdmField<QString> name;
|
||||
caf::PdmField<float> azimuthAngle;
|
||||
caf::PdmField<float> skinFactor;
|
||||
|
||||
caf::PdmField<double> perforationLength;
|
||||
caf::PdmField<double> perforationEfficiency;
|
||||
caf::PdmField<double> wellDiameter;
|
||||
|
||||
enum FracOrientationEnum
|
||||
{
|
||||
AZIMUTH,
|
||||
ALONG_WELL_PATH,
|
||||
TRANSVERSE_WELL_PATH
|
||||
};
|
||||
caf::PdmField< caf::AppEnum< FracOrientationEnum > > orientationType;
|
||||
|
||||
enum FracConductivityEnum
|
||||
{
|
||||
INFINITE_CONDUCTIVITY,
|
||||
FINITE_CONDUCTIVITY,
|
||||
};
|
||||
caf::PdmField< caf::AppEnum< FracConductivityEnum > > conductivityType;
|
||||
|
||||
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > fractureTemplateUnit;
|
||||
public:
|
||||
RimFractureTemplate();
|
||||
virtual ~RimFractureTemplate();
|
||||
|
||||
caf::PdmField<QString> name;
|
||||
caf::PdmField<caf::AppEnum<FracOrientationEnum>> orientationType;
|
||||
caf::PdmField<RiaEclipseUnitTools::UnitSystemType> fractureTemplateUnit;
|
||||
|
||||
FracConductivityEnum conductivityType() const;
|
||||
float azimuthAngle() const;
|
||||
float skinFactor() const;
|
||||
void setDefaultWellDiameterFromUnit();
|
||||
double wellDiameterInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit);
|
||||
double perforationLengthInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit);
|
||||
|
||||
virtual void fractureTriangleGeometry(std::vector<cvf::Vec3f>* nodeCoords,
|
||||
std::vector<cvf::uint>* triangleIndices,
|
||||
|
||||
virtual void fractureTriangleGeometry(std::vector<cvf::Vec3f>* nodeCoords,
|
||||
std::vector<cvf::uint>* triangleIndices,
|
||||
RiaEclipseUnitTools::UnitSystem neededUnit) = 0;
|
||||
virtual std::vector<cvf::Vec3f> fractureBorderPolygon(RiaEclipseUnitTools::UnitSystem neededUnit) = 0;
|
||||
|
||||
virtual const RigFractureGrid* fractureGrid() const = 0;
|
||||
virtual std::vector<cvf::Vec3f> fractureBorderPolygon(RiaEclipseUnitTools::UnitSystem neededUnit) = 0;
|
||||
virtual const RigFractureGrid* fractureGrid() const = 0;
|
||||
const RimFractureContainment* fractureContainment();
|
||||
|
||||
const RimFractureContainment * fractureContainment();
|
||||
|
||||
virtual void appendDataToResultStatistics(const QString& resultName, const QString& unit,
|
||||
MinMaxAccumulator& minMaxAccumulator,
|
||||
PosNegAccumulator& posNegAccumulator) const = 0;
|
||||
|
||||
virtual std::vector<std::pair<QString, QString> > uiResultNamesWithUnit() const = 0;
|
||||
virtual void appendDataToResultStatistics(const QString& resultName,
|
||||
const QString& unit,
|
||||
MinMaxAccumulator& minMaxAccumulator,
|
||||
PosNegAccumulator& posNegAccumulator) const = 0;
|
||||
|
||||
virtual std::vector<std::pair<QString, QString>> uiResultNamesWithUnit() const = 0;
|
||||
|
||||
protected:
|
||||
caf::PdmChildField<RimFractureContainment*> m_fractureContainment;
|
||||
|
||||
virtual caf::PdmFieldHandle* userDescriptionField() override;
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
|
||||
|
||||
protected:
|
||||
caf::PdmField<double> m_wellDiameter;
|
||||
caf::PdmField<double> m_perforationLength;
|
||||
caf::PdmField<double> m_perforationEfficiency;
|
||||
caf::PdmField<float> m_skinFactor;
|
||||
caf::PdmField<float> m_azimuthAngle;
|
||||
|
||||
caf::PdmChildField<RimFractureContainment*> m_fractureContainment;
|
||||
caf::PdmField<caf::AppEnum<FracConductivityEnum>> m_conductivityType;
|
||||
};
|
||||
|
||||
@@ -363,17 +363,17 @@ void RimStimPlanFractureTemplate::setPerforationLength()
|
||||
|
||||
if (firstTvd != HUGE_VAL && lastTvd != HUGE_VAL)
|
||||
{
|
||||
perforationLength = std::round(cvf::Math::abs(firstTvd - lastTvd));
|
||||
m_perforationLength = std::round(cvf::Math::abs(firstTvd - lastTvd));
|
||||
}
|
||||
}
|
||||
|
||||
if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC && perforationLength < 10)
|
||||
if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC && m_perforationLength < 10)
|
||||
{
|
||||
perforationLength = 10;
|
||||
m_perforationLength = 10;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD && perforationLength < RiaEclipseUnitTools::meterToFeet(10))
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD && m_perforationLength < RiaEclipseUnitTools::meterToFeet(10))
|
||||
{
|
||||
perforationLength = std::round(RiaEclipseUnitTools::meterToFeet(10));
|
||||
m_perforationLength = std::round(RiaEclipseUnitTools::meterToFeet(10));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,7 +640,7 @@ void RimStimPlanFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pd
|
||||
|
||||
caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Geometry");
|
||||
geometryGroup->add(&orientationType);
|
||||
geometryGroup->add(&azimuthAngle);
|
||||
geometryGroup->add(&m_azimuthAngle);
|
||||
|
||||
caf::PdmUiGroup* trGr = uiOrdering.addNewGroup("Fracture Truncation");
|
||||
m_fractureContainment()->defineUiOrdering(uiConfigName, *trGr);
|
||||
@@ -648,11 +648,11 @@ void RimStimPlanFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pd
|
||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||
propertyGroup->add(&m_conductivityResultNameOnFile);
|
||||
propertyGroup->add(&m_conductivityScalingFactor);
|
||||
propertyGroup->add(&conductivityType);
|
||||
propertyGroup->add(&skinFactor);
|
||||
propertyGroup->add(&perforationLength);
|
||||
propertyGroup->add(&perforationEfficiency);
|
||||
propertyGroup->add(&wellDiameter);
|
||||
propertyGroup->add(&m_conductivityType);
|
||||
propertyGroup->add(&m_skinFactor);
|
||||
propertyGroup->add(&m_perforationLength);
|
||||
propertyGroup->add(&m_perforationEfficiency);
|
||||
propertyGroup->add(&m_wellDiameter);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user