Add activeCellReservoirIndices

All global reservoir cell indices for active cells can now be accessed from RigActiveCellInfo. This can make the extraction of data much easier and faster.
This commit is contained in:
Magne Sjaastad 2023-11-29 09:08:03 +01:00
parent 7cdeea51c3
commit 69cb8b6df7
2 changed files with 21 additions and 3 deletions

View File

@ -81,6 +81,14 @@ void RigActiveCellInfo::setCellResultIndex( size_t reservoirCellIndex, size_t re
m_cellIndexToResultIndex[reservoirCellIndex] = reservoirCellResultIndex;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<size_t> RigActiveCellInfo::activeReservoirCellIndices() const
{
return m_activeCellIndices;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -110,6 +118,14 @@ void RigActiveCellInfo::computeDerivedData()
{
m_reservoirActiveCellCount += m_perGridActiveCellInfo[i].activeCellCount();
}
for ( size_t i = 0; i < m_cellIndexToResultIndex.size(); i++ )
{
if ( m_cellIndexToResultIndex[i] != cvf::UNDEFINED_SIZE_T )
{
m_activeCellIndices.push_back( i );
}
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -38,6 +38,7 @@ public:
bool isActive( size_t reservoirCellIndex ) const;
size_t cellResultIndex( size_t reservoirCellIndex ) const;
void setCellResultIndex( size_t reservoirCellIndex, size_t globalResultCellIndex );
std::vector<size_t> activeReservoirCellIndices() const;
void setGridCount( size_t gridCount );
void setGridActiveCellCounts( size_t gridIndex, size_t activeCellCount );
@ -71,6 +72,7 @@ private:
std::vector<GridActiveCellCounts> m_perGridActiveCellInfo;
std::vector<size_t> m_cellIndexToResultIndex;
std::vector<size_t> m_activeCellIndices;
size_t m_reservoirActiveCellCount;