aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Source/Particles/MultiParticleContainer.cpp23
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
{