mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 20:30:46 -06:00
#3686 Completion Export : Use map based on size_t instead of RigCompletionDataGridCell
Using RigCompletionDataGridCell as key in a map causes cells with identical local IJK to be treated as same global cell. Use reservoir grid cell index (size_t) as key to be able to handle cells correctly.
This commit is contained in:
1 parent
1121abbfac
commit
4117e266ed
9 files changed
+62
-43
No files matched your search
+6
-7
@@ -32,15 +32,15 @@ void CompletionDataFrame::setCompletionData(const std::vector<RigCompletionData>
|
||||
{
|
||||
for (auto& completion : completions)
|
||||
{
|
||||
auto it = m_multipleCompletionsPerEclipseCell.find(completion.completionDataGridCell());
|
||||
auto it = m_multipleCompletionsPerEclipseCell.find(completion.completionDataGridCell().globalCellIndex());
|
||||
if (it != m_multipleCompletionsPerEclipseCell.end())
|
||||
{
|
||||
it->second.push_back(completion);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_multipleCompletionsPerEclipseCell.insert(std::pair<RigCompletionDataGridCell, std::vector<RigCompletionData>>(
|
||||
completion.completionDataGridCell(), std::vector<RigCompletionData>{completion}));
|
||||
m_multipleCompletionsPerEclipseCell.insert(std::pair<size_t, std::vector<RigCompletionData>>(
|
||||
completion.completionDataGridCell().globalCellIndex(), std::vector<RigCompletionData>{completion}));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,8 +48,7 @@ void CompletionDataFrame::setCompletionData(const std::vector<RigCompletionData>
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::map<RigCompletionDataGridCell, std::vector<RigCompletionData>>&
|
||||
CompletionDataFrame::multipleCompletionsPerEclipseCell() const
|
||||
const std::map<size_t, std::vector<RigCompletionData>>& CompletionDataFrame::multipleCompletionsPerEclipseCell() const
|
||||
{
|
||||
return m_multipleCompletionsPerEclipseCell;
|
||||
}
|
||||
@@ -94,11 +93,11 @@ void RigVirtualPerforationTransmissibilities::setCompletionDataForWellPath(
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::map<RigCompletionDataGridCell, std::vector<RigCompletionData>>&
|
||||
const std::map<size_t, std::vector<RigCompletionData>>&
|
||||
RigVirtualPerforationTransmissibilities::multipleCompletionsPerEclipseCell(const RimWellPath* wellPath,
|
||||
size_t timeStepIndex) const
|
||||
{
|
||||
static std::map<RigCompletionDataGridCell, std::vector<RigCompletionData>> dummy;
|
||||
static std::map<size_t, std::vector<RigCompletionData>> dummy;
|
||||
|
||||
auto item = m_mapFromWellToCompletionData.find(wellPath);
|
||||
if (item != m_mapFromWellToCompletionData.end())
|
||||
|
||||
Reference in new issue
Block a user