aboutsummaryrefslogtreecommitdiff
path: root/Source/ParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/ParticleContainer.cpp')
-rw-r--r--Source/ParticleContainer.cpp61
1 files changed, 32 insertions, 29 deletions
diff --git a/Source/ParticleContainer.cpp b/Source/ParticleContainer.cpp
index 66a5736ab..39119e960 100644
--- a/Source/ParticleContainer.cpp
+++ b/Source/ParticleContainer.cpp
@@ -340,36 +340,39 @@ MultiParticleContainer
WarpXParticleContainer* pc = allcontainers[i].get();
WarpXParticleContainer::DiagnosticParticles diagnostic_particles;
pc->GetParticleSlice(direction, z_old, z_new, t_boost, t_lab, dt, diagnostic_particles);
-
- for (auto it = diagnostic_particles.begin(); it != diagnostic_particles.end(); ++it)
- {
- parts[i].GetRealData(DiagIdx::w).insert( parts[i].GetRealData(DiagIdx::w ).end(),
- it->second.GetRealData(DiagIdx::w ).begin(),
- it->second.GetRealData(DiagIdx::w ).end());
-
- parts[i].GetRealData(DiagIdx::x).insert( parts[i].GetRealData(DiagIdx::x ).end(),
- it->second.GetRealData(DiagIdx::x ).begin(),
- it->second.GetRealData(DiagIdx::x ).end());
-
- parts[i].GetRealData(DiagIdx::y).insert( parts[i].GetRealData(DiagIdx::y ).end(),
- it->second.GetRealData(DiagIdx::y ).begin(),
- it->second.GetRealData(DiagIdx::y ).end());
-
- parts[i].GetRealData(DiagIdx::z).insert( parts[i].GetRealData(DiagIdx::z ).end(),
- it->second.GetRealData(DiagIdx::z ).begin(),
- it->second.GetRealData(DiagIdx::z ).end());
- parts[i].GetRealData(DiagIdx::ux).insert( parts[i].GetRealData(DiagIdx::ux).end(),
- it->second.GetRealData(DiagIdx::ux).begin(),
- it->second.GetRealData(DiagIdx::ux).end());
-
- parts[i].GetRealData(DiagIdx::uy).insert( parts[i].GetRealData(DiagIdx::uy).end(),
- it->second.GetRealData(DiagIdx::uy).begin(),
- it->second.GetRealData(DiagIdx::uy).end());
-
- parts[i].GetRealData(DiagIdx::uz).insert( parts[i].GetRealData(DiagIdx::uz).end(),
- it->second.GetRealData(DiagIdx::uz).begin(),
- it->second.GetRealData(DiagIdx::uz).end());
+ for (int lev = 0; lev <= pc->finestLevel(); ++lev)
+ {
+ for (auto it = diagnostic_particles[lev].begin(); it != diagnostic_particles[lev].end(); ++it)
+ {
+ parts[i].GetRealData(DiagIdx::w).insert( parts[i].GetRealData(DiagIdx::w ).end(),
+ it->second.GetRealData(DiagIdx::w ).begin(),
+ it->second.GetRealData(DiagIdx::w ).end());
+
+ parts[i].GetRealData(DiagIdx::x).insert( parts[i].GetRealData(DiagIdx::x ).end(),
+ it->second.GetRealData(DiagIdx::x ).begin(),
+ it->second.GetRealData(DiagIdx::x ).end());
+
+ parts[i].GetRealData(DiagIdx::y).insert( parts[i].GetRealData(DiagIdx::y ).end(),
+ it->second.GetRealData(DiagIdx::y ).begin(),
+ it->second.GetRealData(DiagIdx::y ).end());
+
+ parts[i].GetRealData(DiagIdx::z).insert( parts[i].GetRealData(DiagIdx::z ).end(),
+ it->second.GetRealData(DiagIdx::z ).begin(),
+ it->second.GetRealData(DiagIdx::z ).end());
+
+ parts[i].GetRealData(DiagIdx::ux).insert( parts[i].GetRealData(DiagIdx::ux).end(),
+ it->second.GetRealData(DiagIdx::ux).begin(),
+ it->second.GetRealData(DiagIdx::ux).end());
+
+ parts[i].GetRealData(DiagIdx::uy).insert( parts[i].GetRealData(DiagIdx::uy).end(),
+ it->second.GetRealData(DiagIdx::uy).begin(),
+ it->second.GetRealData(DiagIdx::uy).end());
+
+ parts[i].GetRealData(DiagIdx::uz).insert( parts[i].GetRealData(DiagIdx::uz).end(),
+ it->second.GetRealData(DiagIdx::uz).begin(),
+ it->second.GetRealData(DiagIdx::uz).end());
+ }
}
}
}