Skip to content

Active particle efficiency

This change improves the performance of GetActivePartilces(). The previous implementation stored the particles in a std::vector. If there are multiple blocks on a rank, the blockId for each particle needs to be checked to determine if it can be taken from the list. This can be expensive if there are multiple blocks and many particles. This change stores the active particles in a std::unordered_map where the key is the blockID and the value is a vector of particles. Particles in a block are now stored together and no searching is required.

Merge request reports