mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1744 Load and update data for fractures when loading project file
This commit is contained in:
parent
f756d1d2cb
commit
7dfcfde1d1
@ -76,6 +76,7 @@
|
||||
#include "RimWellLogPlotCollection.h"
|
||||
#include "RimWellPath.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
#include "RimWellPathFracture.h"
|
||||
|
||||
#include "RiuMainPlotWindow.h"
|
||||
#include "RiuMainWindow.h"
|
||||
@ -483,6 +484,17 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi
|
||||
oilField->summaryCaseCollection()->loadAllSummaryCaseData();
|
||||
|
||||
oilField->fractureDefinitionCollection()->loadAndUpdateData();
|
||||
|
||||
{
|
||||
std::vector<RimWellPathFracture*> wellPathFractures;
|
||||
oilField->wellPathCollection->descendantsIncludingThisOfType(wellPathFractures);
|
||||
|
||||
for (auto fracture : wellPathFractures)
|
||||
{
|
||||
fracture->loadDataAndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// If load action is specified to recalculate statistics, do it now.
|
||||
|
@ -97,6 +97,8 @@ public:
|
||||
virtual double wellAzimuthAtFracturePosition() const = 0;
|
||||
virtual double fractureMD() const = 0;
|
||||
|
||||
virtual void loadDataAndUpdate() = 0;
|
||||
|
||||
protected:
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override;
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
|
@ -97,7 +97,6 @@ void RimSimWellFracture::updateAzimuthBasedOnWellAzimuthAngle()
|
||||
else azimuth = simWellAzimuth - 90;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -120,6 +119,17 @@ double RimSimWellFracture::wellDipAtFracturePosition()
|
||||
double simWellDip = m_branchCenterLines[m_branchIndex].simWellDipAngle(fracturePosition());
|
||||
return simWellDip;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSimWellFracture::loadDataAndUpdate()
|
||||
{
|
||||
setBranchGeometry();
|
||||
updateFracturePositionFromLocation();
|
||||
updateAzimuthBasedOnWellAzimuthAngle();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -48,9 +48,10 @@ public:
|
||||
double wellDipAtFracturePosition();
|
||||
double fractureMD() const override { return m_location; }
|
||||
|
||||
|
||||
int branchIndex() const { return m_branchIndex(); }
|
||||
|
||||
virtual void loadDataAndUpdate() override;
|
||||
|
||||
protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
|
||||
|
@ -118,6 +118,15 @@ double RimWellPathFracture::wellAzimuthAtFracturePosition() const
|
||||
return wellPathAzimuth;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellPathFracture::loadDataAndUpdate()
|
||||
{
|
||||
updatePositionFromMeasuredDepth();
|
||||
updateAzimuthBasedOnWellAzimuthAngle();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -45,6 +45,8 @@ public:
|
||||
|
||||
double wellAzimuthAtFracturePosition() const override;
|
||||
|
||||
virtual void loadDataAndUpdate() override;
|
||||
|
||||
protected:
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;
|
||||
|
@ -53,6 +53,7 @@
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimReservoirCellResultsStorage.h"
|
||||
#include "RimSimWellFracture.h"
|
||||
#include "RimStimPlanColors.h"
|
||||
#include "RimTernaryLegendConfig.h"
|
||||
#include "RimViewController.h"
|
||||
@ -89,7 +90,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimEclipseView, "ReservoirView");
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -746,9 +746,19 @@ void RimEclipseView::loadDataAndUpdate()
|
||||
m_simWellsPartManager->clearGeometryCache();
|
||||
|
||||
syncronizeWellsWithResults();
|
||||
|
||||
{
|
||||
// Update simulation well fractures after well cell results are imported
|
||||
|
||||
std::vector<RimSimWellFracture*> simFractures;
|
||||
this->descendantsIncludingThisOfType(simFractures);
|
||||
for (auto fracture : simFractures)
|
||||
{
|
||||
fracture->loadDataAndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
this->scheduleCreateDisplayModelAndRedraw();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user