mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-09 23:16:00 -06:00
#1608 - fixing update of wellDiameter and perforation length (in fracture unit system) from fracture template
This commit is contained in:
parent
1911092cb7
commit
7d1dc5d9d6
@ -38,6 +38,7 @@
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEllipseFractureTemplate.h"
|
||||
#include "RimFractureTemplate.h"
|
||||
#include "RimFractureTemplateCollection.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
@ -155,17 +156,7 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
||||
|
||||
if (changedField == &m_fractureTemplate)
|
||||
{
|
||||
//perforationLength = m_fractureTemplate->perforationLength();
|
||||
//TODO: Find out if performationLength should be in RimFractureTemplate or in RimEllipseFracTemplate
|
||||
if (fractureTemplate()) azimuth = m_fractureTemplate->azimuthAngle();
|
||||
else azimuth = 0.0;
|
||||
updateAzimuthFromFractureTemplate();
|
||||
|
||||
RimStimPlanFractureTemplate* stimPlanFracTemplate = dynamic_cast<RimStimPlanFractureTemplate*>(fractureTemplate());
|
||||
if (stimPlanFracTemplate)
|
||||
{
|
||||
stimPlanTimeIndexToPlot = stimPlanFracTemplate->activeTimeStepIndex();
|
||||
}
|
||||
setFractureTemplate(m_fractureTemplate);
|
||||
}
|
||||
|
||||
if (changedField == &azimuth ||
|
||||
@ -514,6 +505,8 @@ void RimFracture::setFractureTemplate(RimFractureTemplate* fractureTemplate)
|
||||
}
|
||||
|
||||
this->updateAzimuthFromFractureTemplate();
|
||||
this->wellDiameter = fractureTemplate->wellDiameterInFractureUnit(fractureUnit);
|
||||
this->perforationLength = fractureTemplate->perforationLengthInFractureUnit(fractureUnit);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -226,6 +226,52 @@ void RimFractureTemplate::defineEditorAttribute(const caf::PdmFieldHandle* field
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RimFractureTemplate::wellDiameterInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit)
|
||||
{
|
||||
if (fractureUnit == fractureTemplateUnit())
|
||||
{
|
||||
return wellDiameter;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
return RiaEclipseUnitTools::meterToInch(wellDiameter);
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
return RiaEclipseUnitTools::inchToMeter(wellDiameter);
|
||||
}
|
||||
|
||||
return cvf::UNDEFINED_DOUBLE;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RimFractureTemplate::perforationLengthInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit)
|
||||
{
|
||||
if (fractureUnit == fractureTemplateUnit())
|
||||
{
|
||||
return perforationLength;
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_METRIC
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_FIELD)
|
||||
{
|
||||
return RiaEclipseUnitTools::meterToFeet(perforationLength);
|
||||
}
|
||||
else if (fractureTemplateUnit == RiaEclipseUnitTools::UNITS_FIELD
|
||||
&& fractureUnit == RiaEclipseUnitTools::UNITS_METRIC)
|
||||
{
|
||||
return RiaEclipseUnitTools::feetToMeter(perforationLength);
|
||||
}
|
||||
|
||||
return cvf::UNDEFINED_DOUBLE;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -74,6 +74,8 @@ public:
|
||||
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > fractureTemplateUnit;
|
||||
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user