aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r--Source/Particles/MultiParticleContainer.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp
index bde8d244e..4726cb4cf 100644
--- a/Source/Particles/MultiParticleContainer.cpp
+++ b/Source/Particles/MultiParticleContainer.cpp
@@ -40,8 +40,8 @@ MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core)
auto& pc = allcontainers[i];
if (pc->do_boosted_frame_diags){
map_species_lab_diags[nspecies_lab_frame_diags] = i;
- nspecies_lab_frame_diags += 1;
do_boosted_frame_diags = 1;
+ nspecies_lab_frame_diags += 1;
}
}
@@ -389,12 +389,16 @@ MultiParticleContainer
{
BL_PROFILE("MultiParticleContainer::GetLabFrameData");
+ std::cout<<"GetLabFrameData 1\n";
// Loop over particle species
- for (int i = 0; i < nspecies; ++i){
- WarpXParticleContainer* pc = allcontainers[i].get();
+ for (int i = 0; i < nspecies_lab_frame_diags; ++i){
+ int isp = map_species_lab_diags[i];
+std::cout<<"GetLabFrameData 2\n";
+ WarpXParticleContainer* pc = allcontainers[isp].get();
WarpXParticleContainer::DiagnosticParticles diagnostic_particles;
pc->GetParticleSlice(direction, z_old, z_new, t_boost, t_lab, dt, diagnostic_particles);
+std::cout<<"GetLabFrameData 3\n";
// Here, diagnostic_particles[lev][index] is a WarpXParticleContainer::DiagnosticParticleData
// where "lev" is the AMR level and "index" is a [grid index][tile index] pair.
@@ -404,13 +408,16 @@ MultiParticleContainer
// and Fills parts[species number i] with particle data from all grids and
// tiles in diagnostic_particles. parts contains particles from all
// AMR levels indistinctly.
+std::cout<<"GetLabFrameData 4\n";
for (auto it = diagnostic_particles[lev].begin(); it != diagnostic_particles[lev].end(); ++it){
// it->first is the [grid index][tile index] key
// it->second is the corresponding
// WarpXParticleContainer::DiagnosticParticleData value
+std::cout<<"GetLabFrameData 5\n";
parts[i].GetRealData(DiagIdx::w).insert( parts[i].GetRealData(DiagIdx::w ).end(),
it->second.GetRealData(DiagIdx::w ).begin(),
it->second.GetRealData(DiagIdx::w ).end());
+std::cout<<"GetLabFrameData 6\n";
parts[i].GetRealData(DiagIdx::x).insert( parts[i].GetRealData(DiagIdx::x ).end(),
it->second.GetRealData(DiagIdx::x ).begin(),