diff --git a/ApplicationLibCode/ProjectDataModel/RimEclipseCase.cpp b/ApplicationLibCode/ProjectDataModel/RimEclipseCase.cpp index 29de5647d4..0ff3046af0 100644 --- a/ApplicationLibCode/ProjectDataModel/RimEclipseCase.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimEclipseCase.cpp @@ -378,7 +378,12 @@ const RigVirtualPerforationTransmissibilities* RimEclipseCase::computeAndGetVirt { std::vector> allCompletionData; - for ( size_t i = 0; i < timeStepDates().size(); i++ ) + size_t maxIndexCount = 1; + if ( !timeStepDates().empty() ) + { + maxIndexCount = timeStepDates().size(); + } + for ( size_t i = 0; i < maxIndexCount; i++ ) { std::vector dynamicCompletionDataOneTimeStep = RicWellPathExportCompletionDataFeatureImpl::computeDynamicCompletionsForWellPath( w, this, i ); diff --git a/ApplicationLibCode/ReservoirDataModel/Completions/RigVirtualPerforationTransmissibilities.cpp b/ApplicationLibCode/ReservoirDataModel/Completions/RigVirtualPerforationTransmissibilities.cpp index 1d763339e0..f39685c2bb 100644 --- a/ApplicationLibCode/ReservoirDataModel/Completions/RigVirtualPerforationTransmissibilities.cpp +++ b/ApplicationLibCode/ReservoirDataModel/Completions/RigVirtualPerforationTransmissibilities.cpp @@ -102,20 +102,24 @@ const std::map>& RigVirtualPerforationTransmissibilities::multipleCompletionsPerEclipseCell( const RimWellPath* wellPath, size_t timeStepIndex ) const { - static std::map> dummy; - auto item = m_mapFromWellToCompletionData.find( wellPath ); if ( item != m_mapFromWellToCompletionData.end() ) { - size_t indexToUse = timeStepIndex; - if ( item->second.size() == 1 ) + const std::vector& completionData = item->second; + size_t tsIndexToUse = timeStepIndex; + if ( completionData.size() == 1 ) { - indexToUse = 0; + // Clamp to zero if we only have one time step (static case) + tsIndexToUse = 0; } - return item->second[indexToUse].multipleCompletionsPerEclipseCell(); + if ( tsIndexToUse < completionData.size() ) + { + return completionData[tsIndexToUse].multipleCompletionsPerEclipseCell(); + } } + static std::map> dummy; return dummy; }