From f598e6905c7fb1d231a11803ed2e4bc3cbc664b5 Mon Sep 17 00:00:00 2001 From: Rebecca Cox Date: Mon, 29 Jan 2018 14:41:07 +0100 Subject: [PATCH] #2419 Do not make OpmFlowDiagStat if result is fracture (DUAL) --- .../RimEclipseResultDefinition.cpp | 12 +++++------- .../ReservoirDataModel/RigEclipseCaseData.cpp | 14 ++++++++++++++ .../ReservoirDataModel/RigEclipseCaseData.h | 2 ++ .../RigFlowDiagSolverInterface.cpp | 8 +++++++- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp index 6ed05507c9..d9a062c9bd 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.cpp @@ -1113,13 +1113,11 @@ bool RimEclipseResultDefinition::isFlowDiagOrInjectionFlooding() const //-------------------------------------------------------------------------------------------------- bool RimEclipseResultDefinition::hasDualPorFractureResult() { - if ( m_eclipseCase - && m_eclipseCase->eclipseCaseData() - && m_eclipseCase->eclipseCaseData()->activeCellInfo(RiaDefines::FRACTURE_MODEL) - && m_eclipseCase->eclipseCaseData()->activeCellInfo(RiaDefines::FRACTURE_MODEL)->reservoirActiveCellCount() > 0 ) - { - return true; - } + if (m_eclipseCase + && m_eclipseCase->eclipseCaseData()) + { + return m_eclipseCase->eclipseCaseData()->hasFractureResults(); + } return false; } diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp index 690da01709..477edc830c 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.cpp @@ -563,6 +563,20 @@ void RigEclipseCaseData::setActiveCellInfo(RiaDefines::PorosityModelType porosit } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RigEclipseCaseData::hasFractureResults() const +{ + if (activeCellInfo(RiaDefines::FRACTURE_MODEL) + && activeCellInfo(RiaDefines::FRACTURE_MODEL)->reservoirActiveCellCount() > 0) + { + return true; + } + + return false; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h index 7d0a0ca330..0a2f0e83d9 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCaseData.h @@ -82,6 +82,8 @@ public: const RigActiveCellInfo* activeCellInfo(RiaDefines::PorosityModelType porosityModel) const; void setActiveCellInfo(RiaDefines::PorosityModelType porosityModel, RigActiveCellInfo* activeCellInfo); + bool hasFractureResults() const; + void setActiveFormationNames(RigFormationNames* activeFormationNames); RigFormationNames* activeFormationNames(); diff --git a/ApplicationCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp b/ApplicationCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp index a0d684c36e..7ffa197027 100644 --- a/ApplicationCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp +++ b/ApplicationCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp @@ -511,8 +511,14 @@ bool RigFlowDiagSolverInterface::ensureStaticDataObjectInstanceCreated() if (initFileName.empty()) return false; const RigEclipseCaseData* eclipseCaseData = m_eclipseCase->eclipseCaseData(); - RiaEclipseUnitTools::UnitSystem caseUnitSystem = eclipseCaseData ? eclipseCaseData->unitsType() : RiaEclipseUnitTools::UNITS_UNKNOWN; + if (eclipseCaseData->hasFractureResults()) + { + return false; + } + + RiaEclipseUnitTools::UnitSystem caseUnitSystem = eclipseCaseData ? eclipseCaseData->unitsType() : RiaEclipseUnitTools::UNITS_UNKNOWN; + m_opmFlowDiagStaticData = new RigOpmFlowDiagStaticData(gridFileName.toStdString(), initFileName, caseUnitSystem); }