diff options
author | 2018-10-10 14:26:32 -0700 | |
---|---|---|
committer | 2018-10-10 14:26:32 -0700 | |
commit | 697abfc7922416e40550750917f0d69118424551 (patch) | |
tree | 7ec679d185c7ffb45401b0ea8fcbbf2f7d324e50 /Source/ParticleContainer.cpp | |
parent | 9b1f834310d1093dd85062bdd2a5d4a6bdacb230 (diff) | |
parent | 92c519146881697c90944d97b3051abc40adf296 (diff) | |
download | WarpX-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.cpp | 61 |
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()); + } } } } |