aboutsummaryrefslogtreecommitdiff
path: root/Source/ParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2018-10-10 14:26:32 -0700
committerGravatar GitHub <noreply@github.com> 2018-10-10 14:26:32 -0700
commit697abfc7922416e40550750917f0d69118424551 (patch)
tree7ec679d185c7ffb45401b0ea8fcbbf2f7d324e50 /Source/ParticleContainer.cpp
parent9b1f834310d1093dd85062bdd2a5d4a6bdacb230 (diff)
parent92c519146881697c90944d97b3051abc40adf296 (diff)
downloadWarpX-697abfc7922416e40550750917f0d69118424551.tar.gz
WarpX-697abfc7922416e40550750917f0d69118424551.tar.zst
WarpX-697abfc7922416e40550750917f0d69118424551.zip
Merge pull request #6 from RemiLehe/boosted_diag_multilevel
extend the boosted frame diagnostics to multiple levels of refinement.
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());
+ }
}
}
}