|
| template<int SubChunkSize, typename LocalParticle , typename ActiveParticle > |
| std::pair< std::bitset< SubChunkSize >, std::bitset< SubChunkSize > > | identifyInteractingParticlesFixedLocalParticle (const peano4::datamanagement::CellMarker &marker, LocalParticle *localParticle, ActiveParticle *firstActiveParticleInSubchunk, int thisSubchunkSize, UpdateParticlePairWithinCellPredicate< LocalParticle > particlePairPredicate) |
| | Identify interacting particles.
|
| |
| template<int SubChunkSize, typename LocalParticle , typename ActiveParticle > |
| std::pair< std::bitset< SubChunkSize >, std::bitset< SubChunkSize > > | identifyInteractingParticlesFixedActiveParticle (const peano4::datamanagement::CellMarker &marker, LocalParticle *firstLocalParticleInSubchunk, int thisSubchunkSize, ActiveParticle *activeParticle, UpdateParticlePairWithinCellPredicate< LocalParticle > particlePairPredicate) |
| | Counterpart to other operations, but this time we loop over the local particle and keep the active one fixed.
|
| |
template<int SubChunkSize, typename LocalParticle , typename ActiveParticle >
| std::pair< std::bitset< SubChunkSize >, std::bitset< SubChunkSize > > exaparty::kernels::internal::identifyInteractingParticlesFixedLocalParticle |
( |
const peano4::datamanagement::CellMarker & |
marker, |
|
|
LocalParticle * |
localParticle, |
|
|
ActiveParticle * |
firstActiveParticleInSubchunk, |
|
|
int |
thisSubchunkSize, |
|
|
UpdateParticlePairWithinCellPredicate< LocalParticle > |
particlePairPredicate |
|
) |
| |
Identify interacting particles.
In several situations, we have a continuous chunk of particles and want to identify which of these interact with each other due to the particlePairPredicate. Besides a boolset that identifies those that do interact, we also return a bitfield which identifies where we would have to identify multiscale interactions.