#1090 #1089 - pre-proto - Adding perforation length to fracture template and fracture, and azimuth angle to fracture template.

This commit is contained in:
astridkbjorke 2017-01-23 08:54:27 +01:00
parent 61c1b95462
commit fbfffd4398
8 changed files with 34 additions and 1 deletions

View File

@ -85,6 +85,9 @@ void RicNewSimWellFractureAtPosFeature::onActionTriggered(bool isChecked)
{
RimEllipseFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
fracture->setFractureTemplate(fracDef);
fracture->azimuth = fracDef->azimuthAngle();
fracture->perforationLength = fracDef->perforationLength();
}

View File

@ -70,6 +70,9 @@ void RicNewSimWellFractureFeature::onActionTriggered(bool isChecked)
{
RimEllipseFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
fracture->setFractureTemplate(fracDef);
fracture->azimuth = fracDef->azimuthAngle();
fracture->perforationLength = fracDef->perforationLength();
}
fracture->setIJK(0, 0, 0);

View File

@ -92,6 +92,9 @@ void RicNewWellPathFractureAtPosFeature::onActionTriggered(bool isChecked)
{
RimEllipseFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
fracture->setFractureTemplate(fracDef);
fracture->azimuth = fracDef->azimuthAngle();
fracture->perforationLength = fracDef->perforationLength();
}

View File

@ -83,6 +83,9 @@ void RicNewWellPathFractureFeature::onActionTriggered(bool isChecked)
{
RimEllipseFractureTemplate* fracDef = oilfield->fractureDefinitionCollection->fractureDefinitions[0];
fracture->setFractureTemplate(fracDef);
fracture->azimuth = fracDef->azimuthAngle();
fracture->perforationLength = fracDef->perforationLength();
}
fractureCollection->updateConnectedEditors();

View File

@ -56,6 +56,9 @@ RimEllipseFractureTemplate::RimEllipseFractureTemplate(void)
CAF_PDM_InitField(&height, "Height", 75.0f, "Height", "", "", "");
CAF_PDM_InitField(&width, "Width", 1.0f, "Width", "", "", "");
CAF_PDM_InitField(&orientation, "Orientation", caf::AppEnum<FracOrientationEnum>(TRANSVERSE_WELL_PATH), "Fracture orientation", "", "", "");
CAF_PDM_InitField(&azimuthAngle, "AzimuthAngle", 0.0f, "Angle (if Azimuth Orientation)", "", "", ""); //Is this correct description?
CAF_PDM_InitField(&perforationLength, "PerforationLength", 0.0f, "Lenght of well perforation", "", "", ""); //Is this correct description?
CAF_PDM_InitField(&skinFactor, "SkinFactor", 1.0f, "Skin Factor", "", "", "");
CAF_PDM_InitField(&permeability,"Permeability", 22000.f, "Permeability", "", "", "");
@ -160,7 +163,8 @@ void RimEllipseFractureTemplate::defineUiOrdering(QString uiConfigName, caf::Pdm
geometryGroup->add(&halfLength);
geometryGroup->add(&height);
geometryGroup->add(&orientation);
geometryGroup->add(&azimuthAngle);
geometryGroup->add(&perforationLength);
caf::PdmUiGroup* group = uiOrdering.addNewGroup("Fracture properties");
group->add(&permeability);

View File

@ -46,6 +46,9 @@ public:
caf::PdmField<float> halfLength;
caf::PdmField<float> height;
caf::PdmField<float> azimuthAngle;
caf::PdmField<float> perforationLength;
caf::PdmField<float> width;
caf::PdmField<float> skinFactor;

View File

@ -68,6 +68,9 @@ RimFracture::RimFracture(void)
m_uiAnchorPosition.uiCapability()->setUiReadOnly(true);
CAF_PDM_InitField(&azimuth, "Azimuth", 0.0, "Azimuth", "", "", "");
CAF_PDM_InitField(&perforationLength, "PerforationLength", 0.0, "PerforationLength", "", "", "");
azimuth.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&m_i, "I", 1, "Fracture location cell I", "", "", "");
@ -149,6 +152,9 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
if (changedField == &azimuth ||
changedField == &m_fractureTemplate)
{
if (changedField == &m_fractureTemplate) azimuth = m_fractureTemplate->azimuthAngle();
setRecomputeGeometryFlag();
RimView* rimView = nullptr;
@ -166,7 +172,13 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
activeView->createDisplayModelAndRedraw();
}
}
}
if (changedField == &perforationLength ||
changedField == & m_fractureTemplate)
perforationLength = m_fractureTemplate->perforationLength();
azimuth = m_fractureTemplate->azimuthAngle();
}
//--------------------------------------------------------------------------------------------------
@ -598,6 +610,7 @@ void RimFracture::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
caf::PdmUiGroup* geometryGroup = uiOrdering.addNewGroup("Properties");
geometryGroup->add(&azimuth);
geometryGroup->add(&perforationLength);
geometryGroup->add(&m_fractureTemplate);
caf::PdmUiGroup* fractureCenterGroup = uiOrdering.addNewGroup("Fracture Center Info");

View File

@ -51,6 +51,7 @@ public:
caf::PdmField<QString> name;
caf::PdmField<double> azimuth;
caf::PdmField<double> perforationLength;
cvf::Vec3d anchorPosition();
void setAnchorPosition(const cvf::Vec3d& pos);