mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fracture : Move public fields to protected, and make RimFractureTemplate friend
This commit is contained in:
@@ -319,7 +319,7 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
|
|||||||
fractureWellCell.cellSizeZ(),
|
fractureWellCell.cellSizeZ(),
|
||||||
intersection.vlength,
|
intersection.vlength,
|
||||||
intersection.hlength,
|
intersection.hlength,
|
||||||
fracture->perforationEfficiency,
|
fracture->perforationEfficiency(),
|
||||||
fracTemplate->skinFactor(),
|
fracTemplate->skinFactor(),
|
||||||
cDarcyInCorrectUnit);
|
cDarcyInCorrectUnit);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,21 +111,21 @@ RimFracture::RimFracture(void)
|
|||||||
m_uiAnchorPosition.uiCapability()->setUiReadOnly(true);
|
m_uiAnchorPosition.uiCapability()->setUiReadOnly(true);
|
||||||
m_uiAnchorPosition.xmlCapability()->disableIO();
|
m_uiAnchorPosition.xmlCapability()->disableIO();
|
||||||
|
|
||||||
CAF_PDM_InitField(&azimuth, "Azimuth", 0.0, "Azimuth", "", "", "");
|
CAF_PDM_InitField(&m_azimuth, "Azimuth", 0.0, "Azimuth", "", "", "");
|
||||||
azimuth.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
m_azimuth.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
||||||
|
|
||||||
CAF_PDM_InitField(&perforationLength, "PerforationLength", 1.0, "Perforation Length", "", "", "");
|
CAF_PDM_InitField(&m_perforationLength, "PerforationLength", 1.0, "Perforation Length", "", "", "");
|
||||||
CAF_PDM_InitField(&perforationEfficiency, "PerforationEfficiency", 1.0, "Perforation Efficiency", "", "", "");
|
CAF_PDM_InitField(&m_perforationEfficiency, "PerforationEfficiency", 1.0, "Perforation Efficiency", "", "", "");
|
||||||
perforationEfficiency.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
m_perforationEfficiency.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
||||||
|
|
||||||
CAF_PDM_InitField(&wellDiameter, "WellDiameter", 0.216, "Well Diameter at Fracture", "", "", "");
|
CAF_PDM_InitField(&m_wellDiameter, "WellDiameter", 0.216, "Well Diameter at Fracture", "", "", "");
|
||||||
CAF_PDM_InitField(&dip, "Dip", 0.0, "Dip", "", "", "");
|
CAF_PDM_InitField(&m_dip, "Dip", 0.0, "Dip", "", "", "");
|
||||||
CAF_PDM_InitField(&tilt, "Tilt", 0.0, "Tilt", "", "", "");
|
CAF_PDM_InitField(&m_tilt, "Tilt", 0.0, "Tilt", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_fractureUnit, "FractureUnit", caf::AppEnum<RiaEclipseUnitTools::UnitSystem>(RiaEclipseUnitTools::UNITS_METRIC), "Fracture Unit System", "", "", "");
|
CAF_PDM_InitField(&m_fractureUnit, "FractureUnit", caf::AppEnum<RiaEclipseUnitTools::UnitSystem>(RiaEclipseUnitTools::UNITS_METRIC), "Fracture Unit System", "", "", "");
|
||||||
m_fractureUnit.uiCapability()->setUiReadOnly(true);
|
m_fractureUnit.uiCapability()->setUiReadOnly(true);
|
||||||
|
|
||||||
CAF_PDM_InitField(&stimPlanTimeIndexToPlot, "TimeIndexToPlot", 0, "StimPlan Time Step", "", "", "");
|
CAF_PDM_InitField(&m_stimPlanTimeIndexToPlot, "TimeIndexToPlot", 0, "StimPlan Time Step", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_uiWellPathAzimuth, "WellPathAzimuth", "Well Path Azimuth", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_uiWellPathAzimuth, "WellPathAzimuth", "Well Path Azimuth", "", "", "");
|
||||||
m_uiWellPathAzimuth.registerGetMethod(this, &RimFracture::wellAzimuthAtFracturePositionText);
|
m_uiWellPathAzimuth.registerGetMethod(this, &RimFracture::wellAzimuthAtFracturePositionText);
|
||||||
@@ -151,6 +151,38 @@ RimFracture::~RimFracture()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RimFracture::perforationLength() const
|
||||||
|
{
|
||||||
|
return m_perforationLength();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RimFracture::perforationEfficiency() const
|
||||||
|
{
|
||||||
|
return m_perforationEfficiency();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
int RimFracture::stimPlanTimeIndexToPlot() const
|
||||||
|
{
|
||||||
|
return m_stimPlanTimeIndexToPlot();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimFracture::setStimPlanTimeIndexToPlot(int timeIndex)
|
||||||
|
{
|
||||||
|
m_stimPlanTimeIndexToPlot = timeIndex;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -177,12 +209,12 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
|||||||
setDefaultFractureColorResult();
|
setDefaultFractureColorResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changedField == &azimuth ||
|
if (changedField == &m_azimuth ||
|
||||||
changedField == &m_fractureTemplate ||
|
changedField == &m_fractureTemplate ||
|
||||||
changedField == &stimPlanTimeIndexToPlot ||
|
changedField == &m_stimPlanTimeIndexToPlot ||
|
||||||
changedField == this->objectToggleField() ||
|
changedField == this->objectToggleField() ||
|
||||||
changedField == &dip ||
|
changedField == &m_dip ||
|
||||||
changedField == &tilt)
|
changedField == &m_tilt)
|
||||||
{
|
{
|
||||||
Rim3dView* rimView = nullptr;
|
Rim3dView* rimView = nullptr;
|
||||||
this->firstAncestorOrThisOfType(rimView);
|
this->firstAncestorOrThisOfType(rimView);
|
||||||
@@ -214,7 +246,7 @@ cvf::Vec3d RimFracture::fracturePosition() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
double RimFracture::wellFractureAzimuthDiff() const
|
double RimFracture::wellFractureAzimuthDiff() const
|
||||||
{
|
{
|
||||||
double wellDifference = fabs(wellAzimuthAtFracturePosition() - azimuth);
|
double wellDifference = fabs(wellAzimuthAtFracturePosition() - m_azimuth);
|
||||||
return wellDifference;
|
return wellDifference;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,22 +291,22 @@ double RimFracture::wellRadius(RiaEclipseUnitTools::UnitSystem unitSystem) const
|
|||||||
{
|
{
|
||||||
if (unitSystem == RiaEclipseUnitTools::UNITS_FIELD)
|
if (unitSystem == RiaEclipseUnitTools::UNITS_FIELD)
|
||||||
{
|
{
|
||||||
return RiaEclipseUnitTools::meterToFeet(wellDiameter / 2);
|
return RiaEclipseUnitTools::meterToFeet(m_wellDiameter / 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return wellDiameter / 2;
|
return m_wellDiameter / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m_fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
else if (m_fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||||
{
|
{
|
||||||
if (unitSystem == RiaEclipseUnitTools::UNITS_METRIC)
|
if (unitSystem == RiaEclipseUnitTools::UNITS_METRIC)
|
||||||
{
|
{
|
||||||
return RiaEclipseUnitTools::inchToMeter(wellDiameter / 2);
|
return RiaEclipseUnitTools::inchToMeter(m_wellDiameter / 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return RiaEclipseUnitTools::inchToFeet(wellDiameter / 2);
|
return RiaEclipseUnitTools::inchToFeet(m_wellDiameter / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cvf::UNDEFINED_DOUBLE;
|
return cvf::UNDEFINED_DOUBLE;
|
||||||
@@ -296,17 +328,17 @@ cvf::Mat4d RimFracture::transformMatrix() const
|
|||||||
cvf::Vec3d center = anchorPosition();
|
cvf::Vec3d center = anchorPosition();
|
||||||
|
|
||||||
// Dip (in XY plane)
|
// Dip (in XY plane)
|
||||||
cvf::Mat4d dipRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::Z_AXIS, cvf::Math::toRadians(dip()));
|
cvf::Mat4d dipRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::Z_AXIS, cvf::Math::toRadians(m_dip()));
|
||||||
|
|
||||||
// Dip (out of XY plane)
|
// Dip (out of XY plane)
|
||||||
cvf::Mat4d tiltRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::X_AXIS, cvf::Math::toRadians(tilt()));
|
cvf::Mat4d tiltRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::X_AXIS, cvf::Math::toRadians(m_tilt()));
|
||||||
|
|
||||||
|
|
||||||
// Ellipsis geometry is produced in XY-plane, rotate 90 deg around X to get zero azimuth along Y
|
// Ellipsis geometry is produced in XY-plane, rotate 90 deg around X to get zero azimuth along Y
|
||||||
cvf::Mat4d rotationFromTesselator = cvf::Mat4d::fromRotation(cvf::Vec3d::X_AXIS, cvf::Math::toRadians(90.0f));
|
cvf::Mat4d rotationFromTesselator = cvf::Mat4d::fromRotation(cvf::Vec3d::X_AXIS, cvf::Math::toRadians(90.0f));
|
||||||
|
|
||||||
// Azimuth rotation
|
// Azimuth rotation
|
||||||
cvf::Mat4d azimuthRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::Z_AXIS, cvf::Math::toRadians(-azimuth()-90));
|
cvf::Mat4d azimuthRotation = cvf::Mat4d::fromRotation(cvf::Vec3d::Z_AXIS, cvf::Math::toRadians(-m_azimuth()-90));
|
||||||
|
|
||||||
cvf::Mat4d m = azimuthRotation * rotationFromTesselator * dipRotation * tiltRotation;
|
cvf::Mat4d m = azimuthRotation * rotationFromTesselator * dipRotation * tiltRotation;
|
||||||
m.setTranslation(center);
|
m.setTranslation(center);
|
||||||
@@ -320,7 +352,7 @@ cvf::Mat4d RimFracture::transformMatrix() const
|
|||||||
void RimFracture::triangleGeometry(std::vector<cvf::uint>* triangleIndices, std::vector<cvf::Vec3f>* nodeCoords)
|
void RimFracture::triangleGeometry(std::vector<cvf::uint>* triangleIndices, std::vector<cvf::Vec3f>* nodeCoords)
|
||||||
{
|
{
|
||||||
RimFractureTemplate* fractureDef = fractureTemplate();
|
RimFractureTemplate* fractureDef = fractureTemplate();
|
||||||
if (fractureDef )
|
if (fractureDef)
|
||||||
{
|
{
|
||||||
fractureDef->fractureTriangleGeometry(nodeCoords, triangleIndices, fractureUnit());
|
fractureDef->fractureTriangleGeometry(nodeCoords, triangleIndices, fractureUnit());
|
||||||
}
|
}
|
||||||
@@ -337,7 +369,6 @@ void RimFracture::triangleGeometry(std::vector<cvf::uint>* triangleIndices, std:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -373,7 +404,7 @@ QList<caf::PdmOptionItemInfo> RimFracture::calculateValueOptions(const caf::PdmF
|
|||||||
options.push_back(caf::PdmOptionItemInfo(fracDef->name(), fracDef));
|
options.push_back(caf::PdmOptionItemInfo(fracDef->name(), fracDef));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fieldNeedingOptions == &stimPlanTimeIndexToPlot)
|
else if (fieldNeedingOptions == &m_stimPlanTimeIndexToPlot)
|
||||||
{
|
{
|
||||||
if (fractureTemplate())
|
if (fractureTemplate())
|
||||||
{
|
{
|
||||||
@@ -403,13 +434,13 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
|
|||||||
{
|
{
|
||||||
if (m_fractureUnit() == RiaEclipseUnitTools::UNITS_METRIC)
|
if (m_fractureUnit() == RiaEclipseUnitTools::UNITS_METRIC)
|
||||||
{
|
{
|
||||||
wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
m_wellDiameter.uiCapability()->setUiName("Well Diameter [m]");
|
||||||
perforationLength.uiCapability()->setUiName("Perforation Length [m]");
|
m_perforationLength.uiCapability()->setUiName("Perforation Length [m]");
|
||||||
}
|
}
|
||||||
else if (m_fractureUnit() == RiaEclipseUnitTools::UNITS_FIELD)
|
else if (m_fractureUnit() == RiaEclipseUnitTools::UNITS_FIELD)
|
||||||
{
|
{
|
||||||
wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
m_wellDiameter.uiCapability()->setUiName("Well Diameter [inches]");
|
||||||
perforationLength.uiCapability()->setUiName("Perforation Length [Ft]");
|
m_perforationLength.uiCapability()->setUiName("Perforation Length [Ft]");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fractureTemplate())
|
if (fractureTemplate())
|
||||||
@@ -441,47 +472,47 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
|
|||||||
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH
|
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH
|
||||||
|| fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
|| fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
||||||
{
|
{
|
||||||
azimuth.uiCapability()->setUiReadOnly(true);
|
m_azimuth.uiCapability()->setUiReadOnly(true);
|
||||||
}
|
}
|
||||||
else if (fractureTemplate()->orientationType == RimFractureTemplate::AZIMUTH)
|
else if (fractureTemplate()->orientationType == RimFractureTemplate::AZIMUTH)
|
||||||
{
|
{
|
||||||
azimuth.uiCapability()->setUiReadOnly(false);
|
m_azimuth.uiCapability()->setUiReadOnly(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH)
|
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH)
|
||||||
{
|
{
|
||||||
perforationEfficiency.uiCapability()->setUiHidden(false);
|
m_perforationEfficiency.uiCapability()->setUiHidden(false);
|
||||||
perforationLength.uiCapability()->setUiHidden(false);
|
m_perforationLength.uiCapability()->setUiHidden(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
perforationEfficiency.uiCapability()->setUiHidden(true);
|
m_perforationEfficiency.uiCapability()->setUiHidden(true);
|
||||||
perforationLength.uiCapability()->setUiHidden(true);
|
m_perforationLength.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fractureTemplate()->conductivityType == RimFractureTemplate::FINITE_CONDUCTIVITY)
|
if (fractureTemplate()->conductivityType == RimFractureTemplate::FINITE_CONDUCTIVITY)
|
||||||
{
|
{
|
||||||
wellDiameter.uiCapability()->setUiHidden(false);
|
m_wellDiameter.uiCapability()->setUiHidden(false);
|
||||||
}
|
}
|
||||||
else if (fractureTemplate()->conductivityType == RimFractureTemplate::INFINITE_CONDUCTIVITY)
|
else if (fractureTemplate()->conductivityType == RimFractureTemplate::INFINITE_CONDUCTIVITY)
|
||||||
{
|
{
|
||||||
wellDiameter.uiCapability()->setUiHidden(true);
|
m_wellDiameter.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
RimFractureTemplate* fracTemplate = fractureTemplate();
|
RimFractureTemplate* fracTemplate = fractureTemplate();
|
||||||
if (dynamic_cast<RimStimPlanFractureTemplate*>(fracTemplate))
|
if (dynamic_cast<RimStimPlanFractureTemplate*>(fracTemplate))
|
||||||
{
|
{
|
||||||
stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(false);
|
m_stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(false);
|
||||||
stimPlanTimeIndexToPlot.uiCapability()->setUiReadOnly(true);
|
m_stimPlanTimeIndexToPlot.uiCapability()->setUiReadOnly(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(true);
|
m_stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(true);
|
m_stimPlanTimeIndexToPlot.uiCapability()->setUiHidden(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -490,7 +521,7 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimFracture::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute)
|
void RimFracture::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute)
|
||||||
{
|
{
|
||||||
if (field == &azimuth)
|
if (field == &m_azimuth)
|
||||||
{
|
{
|
||||||
caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>(attribute);
|
caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>(attribute);
|
||||||
if (myAttr)
|
if (myAttr)
|
||||||
@@ -500,7 +531,7 @@ void RimFracture::defineEditorAttribute(const caf::PdmFieldHandle* field, QStrin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (field == &perforationEfficiency)
|
if (field == &m_perforationEfficiency)
|
||||||
{
|
{
|
||||||
caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>(attribute);
|
caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast<caf::PdmUiDoubleSliderEditorAttribute*>(attribute);
|
||||||
if (myAttr)
|
if (myAttr)
|
||||||
@@ -598,19 +629,19 @@ void RimFracture::setFractureTemplate(RimFractureTemplate* fractureTemplate)
|
|||||||
RimStimPlanFractureTemplate* stimPlanFracTemplate = dynamic_cast<RimStimPlanFractureTemplate*>(fractureTemplate);
|
RimStimPlanFractureTemplate* stimPlanFracTemplate = dynamic_cast<RimStimPlanFractureTemplate*>(fractureTemplate);
|
||||||
if (stimPlanFracTemplate)
|
if (stimPlanFracTemplate)
|
||||||
{
|
{
|
||||||
stimPlanTimeIndexToPlot = stimPlanFracTemplate->activeTimeStepIndex();
|
m_stimPlanTimeIndexToPlot = stimPlanFracTemplate->activeTimeStepIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fractureTemplate->orientationType == RimFractureTemplate::AZIMUTH)
|
if (fractureTemplate->orientationType == RimFractureTemplate::AZIMUTH)
|
||||||
{
|
{
|
||||||
azimuth = fractureTemplate->azimuthAngle;
|
m_azimuth = fractureTemplate->azimuthAngle;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->updateAzimuthBasedOnWellAzimuthAngle();
|
this->updateAzimuthBasedOnWellAzimuthAngle();
|
||||||
}
|
}
|
||||||
this->wellDiameter = fractureTemplate->wellDiameterInFractureUnit(m_fractureUnit());
|
this->m_wellDiameter = fractureTemplate->wellDiameterInFractureUnit(m_fractureUnit());
|
||||||
this->perforationLength = fractureTemplate->perforationLengthInFractureUnit(m_fractureUnit());
|
this->m_perforationLength = fractureTemplate->perforationLengthInFractureUnit(m_fractureUnit());
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -55,16 +55,11 @@ public:
|
|||||||
RimFracture(void);
|
RimFracture(void);
|
||||||
virtual ~RimFracture(void);
|
virtual ~RimFracture(void);
|
||||||
|
|
||||||
caf::PdmField<double> azimuth;
|
double perforationLength() const;
|
||||||
caf::PdmField<double> perforationLength;
|
double perforationEfficiency() const;
|
||||||
caf::PdmField<double> perforationEfficiency;
|
|
||||||
caf::PdmField<double> wellDiameter;
|
|
||||||
|
|
||||||
caf::PdmField<double> dip;
|
|
||||||
caf::PdmField<double> tilt;
|
|
||||||
|
|
||||||
caf::PdmField<int> stimPlanTimeIndexToPlot;
|
|
||||||
|
|
||||||
|
int stimPlanTimeIndexToPlot() const;
|
||||||
|
void setStimPlanTimeIndexToPlot(int timeIndex);
|
||||||
|
|
||||||
double wellRadius(RiaEclipseUnitTools::UnitSystem unitSystem) const;
|
double wellRadius(RiaEclipseUnitTools::UnitSystem unitSystem) const;
|
||||||
cvf::Vec3d anchorPosition() const ;
|
cvf::Vec3d anchorPosition() const ;
|
||||||
@@ -96,6 +91,8 @@ public:
|
|||||||
|
|
||||||
virtual void loadDataAndUpdate() = 0;
|
virtual void loadDataAndUpdate() = 0;
|
||||||
|
|
||||||
|
friend class RimFractureTemplate;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
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 void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||||
@@ -119,9 +116,15 @@ protected:
|
|||||||
caf::PdmProxyValueField<QString> m_uiWellFractureAzimuthDiff;
|
caf::PdmProxyValueField<QString> m_uiWellFractureAzimuthDiff;
|
||||||
caf::PdmField<QString> m_wellFractureAzimuthAngleWarning;
|
caf::PdmField<QString> m_wellFractureAzimuthAngleWarning;
|
||||||
|
|
||||||
|
caf::PdmField<double> m_dip;
|
||||||
|
caf::PdmField<double> m_tilt;
|
||||||
|
caf::PdmField<double> m_azimuth;
|
||||||
|
caf::PdmField<double> m_perforationLength;
|
||||||
|
caf::PdmField<double> m_perforationEfficiency;
|
||||||
|
caf::PdmField<double> m_wellDiameter;
|
||||||
|
caf::PdmField<int> m_stimPlanTimeIndexToPlot;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<cvf::Vec3d> m_anchorPosition;
|
caf::PdmField<cvf::Vec3d> m_anchorPosition;
|
||||||
|
|
||||||
cvf::ref<RivWellFracturePartMgr> m_fracturePartMgr;
|
cvf::ref<RivWellFracturePartMgr> m_fracturePartMgr;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -121,16 +121,16 @@ void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
|||||||
{
|
{
|
||||||
if (fracture->fractureTemplate() == this)
|
if (fracture->fractureTemplate() == this)
|
||||||
{
|
{
|
||||||
if (changedField == &azimuthAngle && (fabs(oldValue.toDouble() - fracture->azimuth()) < 1e-5))
|
if (changedField == &azimuthAngle && (fabs(oldValue.toDouble() - fracture->m_azimuth()) < 1e-5))
|
||||||
{
|
{
|
||||||
fracture->azimuth = azimuthAngle;
|
fracture->m_azimuth = azimuthAngle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changedField == &orientationType)
|
if (changedField == &orientationType)
|
||||||
{
|
{
|
||||||
if (newValue == AZIMUTH)
|
if (newValue == AZIMUTH)
|
||||||
{
|
{
|
||||||
fracture->azimuth = azimuthAngle;
|
fracture->m_azimuth = azimuthAngle;
|
||||||
}
|
}
|
||||||
else fracture->updateAzimuthBasedOnWellAzimuthAngle();
|
else fracture->updateAzimuthBasedOnWellAzimuthAngle();
|
||||||
}
|
}
|
||||||
@@ -153,17 +153,17 @@ void RimFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
|||||||
{
|
{
|
||||||
if (fracture->fractureTemplate() == this)
|
if (fracture->fractureTemplate() == this)
|
||||||
{
|
{
|
||||||
if (changedField == &perforationLength && (fabs(oldValue.toDouble() - fracture->perforationLength()) < 1e-5))
|
if (changedField == &perforationLength && (fabs(oldValue.toDouble() - fracture->m_perforationLength()) < 1e-5))
|
||||||
{
|
{
|
||||||
fracture->perforationLength = perforationLength;
|
fracture->m_perforationLength = perforationLength;
|
||||||
}
|
}
|
||||||
if (changedField == &perforationEfficiency && (fabs(oldValue.toDouble() - fracture->perforationEfficiency()) < 1e-5))
|
if (changedField == &perforationEfficiency && (fabs(oldValue.toDouble() - fracture->m_perforationEfficiency()) < 1e-5))
|
||||||
{
|
{
|
||||||
fracture->perforationEfficiency = perforationEfficiency;
|
fracture->m_perforationEfficiency = perforationEfficiency;
|
||||||
}
|
}
|
||||||
if (changedField == &wellDiameter && (fabs(oldValue.toDouble() - fracture->wellDiameter()) < 1e-5))
|
if (changedField == &wellDiameter && (fabs(oldValue.toDouble() - fracture->m_wellDiameter()) < 1e-5))
|
||||||
{
|
{
|
||||||
fracture->wellDiameter = wellDiameter;
|
fracture->m_wellDiameter = wellDiameter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,12 +90,12 @@ void RimSimWellFracture::updateAzimuthBasedOnWellAzimuthAngle()
|
|||||||
|
|
||||||
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH )
|
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH )
|
||||||
{
|
{
|
||||||
azimuth = simWellAzimuth;
|
m_azimuth = simWellAzimuth;
|
||||||
}
|
}
|
||||||
else if (fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
else if (fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
||||||
{
|
{
|
||||||
if (simWellAzimuth + 90 < 360) azimuth = simWellAzimuth + 90;
|
if (simWellAzimuth + 90 < 360) m_azimuth = simWellAzimuth + 90;
|
||||||
else azimuth = simWellAzimuth - 90;
|
else m_azimuth = simWellAzimuth - 90;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,20 +201,20 @@ void RimSimWellFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
|
|||||||
caf::PdmUiGroup* locationGroup = uiOrdering.addNewGroup("Location / Orientation");
|
caf::PdmUiGroup* locationGroup = uiOrdering.addNewGroup("Location / Orientation");
|
||||||
locationGroup->add(&m_location);
|
locationGroup->add(&m_location);
|
||||||
locationGroup->add(&m_branchIndex);
|
locationGroup->add(&m_branchIndex);
|
||||||
locationGroup->add(&azimuth);
|
locationGroup->add(&m_azimuth);
|
||||||
locationGroup->add(&m_uiWellPathAzimuth);
|
locationGroup->add(&m_uiWellPathAzimuth);
|
||||||
locationGroup->add(&m_uiWellFractureAzimuthDiff);
|
locationGroup->add(&m_uiWellFractureAzimuthDiff);
|
||||||
locationGroup->add(&m_wellFractureAzimuthAngleWarning);
|
locationGroup->add(&m_wellFractureAzimuthAngleWarning);
|
||||||
locationGroup->add(&dip);
|
locationGroup->add(&m_dip);
|
||||||
locationGroup->add(&tilt);
|
locationGroup->add(&m_tilt);
|
||||||
|
|
||||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||||
propertyGroup->add(&m_fractureUnit);
|
propertyGroup->add(&m_fractureUnit);
|
||||||
propertyGroup->add(&m_fractureTemplate);
|
propertyGroup->add(&m_fractureTemplate);
|
||||||
propertyGroup->add(&stimPlanTimeIndexToPlot);
|
propertyGroup->add(&m_stimPlanTimeIndexToPlot);
|
||||||
propertyGroup->add(&perforationLength);
|
propertyGroup->add(&m_perforationLength);
|
||||||
propertyGroup->add(&perforationEfficiency);
|
propertyGroup->add(&m_perforationEfficiency);
|
||||||
propertyGroup->add(&wellDiameter);
|
propertyGroup->add(&m_wellDiameter);
|
||||||
|
|
||||||
caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info");
|
caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info");
|
||||||
fractureCenterGroup->add(&m_uiAnchorPosition);
|
fractureCenterGroup->add(&m_uiAnchorPosition);
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ void RimStimPlanFractureTemplate::fieldChangedByUi(const caf::PdmFieldHandle* ch
|
|||||||
{
|
{
|
||||||
if (fracture->fractureTemplate() == this)
|
if (fracture->fractureTemplate() == this)
|
||||||
{
|
{
|
||||||
fracture->stimPlanTimeIndexToPlot = m_activeTimeStepIndex;
|
fracture->setStimPlanTimeIndexToPlot(m_activeTimeStepIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
proj->createDisplayModelAndRedrawAllViews();
|
proj->createDisplayModelAndRedrawAllViews();
|
||||||
|
|||||||
@@ -91,12 +91,12 @@ void RimWellPathFracture::updateAzimuthBasedOnWellAzimuthAngle()
|
|||||||
|
|
||||||
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH)
|
if (fractureTemplate()->orientationType == RimFractureTemplate::ALONG_WELL_PATH)
|
||||||
{
|
{
|
||||||
azimuth = wellPathAzimuth;
|
m_azimuth = wellPathAzimuth;
|
||||||
}
|
}
|
||||||
if (fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
if (fractureTemplate()->orientationType == RimFractureTemplate::TRANSVERSE_WELL_PATH)
|
||||||
{
|
{
|
||||||
if (wellPathAzimuth + 90 < 360) azimuth = wellPathAzimuth + 90;
|
if (wellPathAzimuth + 90 < 360) m_azimuth = wellPathAzimuth + 90;
|
||||||
else azimuth = wellPathAzimuth - 90;
|
else m_azimuth = wellPathAzimuth - 90;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -166,20 +166,20 @@ void RimWellPathFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
|||||||
|
|
||||||
caf::PdmUiGroup* locationGroup = uiOrdering.addNewGroup("Location / Orientation");
|
caf::PdmUiGroup* locationGroup = uiOrdering.addNewGroup("Location / Orientation");
|
||||||
locationGroup->add(&m_measuredDepth);
|
locationGroup->add(&m_measuredDepth);
|
||||||
locationGroup->add(&azimuth);
|
locationGroup->add(&m_azimuth);
|
||||||
locationGroup->add(&m_uiWellPathAzimuth);
|
locationGroup->add(&m_uiWellPathAzimuth);
|
||||||
locationGroup->add(&m_uiWellFractureAzimuthDiff);
|
locationGroup->add(&m_uiWellFractureAzimuthDiff);
|
||||||
locationGroup->add(&m_wellFractureAzimuthAngleWarning);
|
locationGroup->add(&m_wellFractureAzimuthAngleWarning);
|
||||||
locationGroup->add(&dip);
|
locationGroup->add(&m_dip);
|
||||||
locationGroup->add(&tilt);
|
locationGroup->add(&m_tilt);
|
||||||
|
|
||||||
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
caf::PdmUiGroup* propertyGroup = uiOrdering.addNewGroup("Properties");
|
||||||
propertyGroup->add(&m_fractureUnit);
|
propertyGroup->add(&m_fractureUnit);
|
||||||
propertyGroup->add(&m_fractureTemplate);
|
propertyGroup->add(&m_fractureTemplate);
|
||||||
propertyGroup->add(&stimPlanTimeIndexToPlot);
|
propertyGroup->add(&m_stimPlanTimeIndexToPlot);
|
||||||
propertyGroup->add(&perforationLength);
|
propertyGroup->add(&m_perforationLength);
|
||||||
propertyGroup->add(&perforationEfficiency);
|
propertyGroup->add(&m_perforationEfficiency);
|
||||||
propertyGroup->add(&wellDiameter);
|
propertyGroup->add(&m_wellDiameter);
|
||||||
|
|
||||||
caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info");
|
caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info");
|
||||||
fractureCenterGroup->add(&m_uiAnchorPosition);
|
fractureCenterGroup->add(&m_uiAnchorPosition);
|
||||||
|
|||||||
Reference in New Issue
Block a user