diff options
Diffstat (limited to '')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 6bf153a01..2b6b95827 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -316,18 +316,25 @@ void MultiParticleContainer::Redistribute () { for (auto& pc : allcontainers) { - pc->RedistributeCPU(); + if ( (pc->NumRuntimeRealComps()>0) || (pc->NumRuntimeIntComps()>0) ) { + pc->RedistributeCPU(); + } else { + pc->Redistribute(); + } } -} -void -MultiParticleContainer::RedistributeLocal (const int num_ghost) -{ - for (auto& pc : allcontainers) { - pc->RedistributeCPU(0, 0, 0, num_ghost); + void + MultiParticleContainer::RedistributeLocal (const int num_ghost) + { + for (auto& pc : allcontainers) { + if ( (pc->NumRuntimeRealComps()>0) || (pc->NumRuntimeIntComps()>0) ) { + pc->RedistributeCPU(0, 0, 0, num_ghost); + } else { + pc->Redistribute(0, 0, 0, num_ghost); + } + } } } - Vector<long> MultiParticleContainer::NumberOfParticlesInGrid (int lev) const { |