mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -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 "RimEclipseCellColors.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimEllipseFractureTemplate.h"
|
#include "RimEllipseFractureTemplate.h"
|
||||||
|
#include "RimFractureTemplate.h"
|
||||||
#include "RimFractureTemplateCollection.h"
|
#include "RimFractureTemplateCollection.h"
|
||||||
#include "RimOilField.h"
|
#include "RimOilField.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
@ -155,17 +156,7 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
|||||||
|
|
||||||
if (changedField == &m_fractureTemplate)
|
if (changedField == &m_fractureTemplate)
|
||||||
{
|
{
|
||||||
//perforationLength = m_fractureTemplate->perforationLength();
|
setFractureTemplate(m_fractureTemplate);
|
||||||
//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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changedField == &azimuth ||
|
if (changedField == &azimuth ||
|
||||||
@ -514,6 +505,8 @@ void RimFracture::setFractureTemplate(RimFractureTemplate* fractureTemplate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
this->updateAzimuthFromFractureTemplate();
|
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;
|
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > fractureTemplateUnit;
|
||||||
|
|
||||||
void setDefaultWellDiameterFromUnit();
|
void setDefaultWellDiameterFromUnit();
|
||||||
|
double wellDiameterInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit);
|
||||||
|
double perforationLengthInFractureUnit(RiaEclipseUnitTools::UnitSystemType fractureUnit);
|
||||||
|
|
||||||
virtual void fractureTriangleGeometry(std::vector<cvf::Vec3f>* nodeCoords,
|
virtual void fractureTriangleGeometry(std::vector<cvf::Vec3f>* nodeCoords,
|
||||||
std::vector<cvf::uint>* triangleIndices,
|
std::vector<cvf::uint>* triangleIndices,
|
||||||
|
Loading…
Reference in New Issue
Block a user