diff options
Diffstat (limited to 'Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp')
-rw-r--r-- | Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp b/Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp index 501bfc815..d928bd33f 100644 --- a/Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp @@ -114,6 +114,7 @@ FieldProbeParticleContainer::AddNParticles (int lev, amrex::ignore_unused(x, y); p.pos(0) = z[i]; #endif + // write position, cpu id, and particle id to particle pinned_tile.push_back(p); } @@ -121,6 +122,11 @@ FieldProbeParticleContainer::AddNParticles (int lev, // write Real attributes (SoA) to particle initialized zero DefineAndReturnParticleTile(0, 0, 0); + // for RZ write theta value +#ifdef WARPX_DIM_RZ + pinned_tile.push_back_real(FieldProbePIdx::theta, np, 0.0); +#endif + pinned_tile.push_back_real(FieldProbePIdx::Ex, np, 0.0); pinned_tile.push_back_real(FieldProbePIdx::Ey, np, 0.0); pinned_tile.push_back_real(FieldProbePIdx::Ez, np, 0.0); @@ -129,16 +135,16 @@ FieldProbeParticleContainer::AddNParticles (int lev, pinned_tile.push_back_real(FieldProbePIdx::Bz, np, 0.0); pinned_tile.push_back_real(FieldProbePIdx::S, np, 0.0); + auto old_np = particle_tile.numParticles(); + auto new_np = old_np + pinned_tile.numParticles(); + particle_tile.resize(new_np); + amrex::copyParticles( + particle_tile, pinned_tile, 0, old_np, pinned_tile.numParticles()); + /* * Redistributes particles to their appropriate tiles if the box * structure of the simulation changes to accomodate data more * efficiently. */ - auto old_np = particle_tile.numParticles(); - auto new_np = old_np + pinned_tile.numParticles(); - particle_tile.resize(new_np); - amrex::copyParticles( - particle_tile, pinned_tile, 0, old_np, pinned_tile.numParticles()); Redistribute(); - } |