aboutsummaryrefslogtreecommitdiff
path: root/Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> 2023-06-30 14:19:14 -0700
committerGravatar GitHub <noreply@github.com> 2023-06-30 14:19:14 -0700
commitedfe3ac1194c31bc29f79c7e14f3a81a5771bb05 (patch)
treeb3bd6ae757ad2cf2aa926fc9182b7bbeebb6a0b8 /Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp
parent1a55de802493eef4c515be0e198e4ddb23e5cda9 (diff)
downloadWarpX-edfe3ac1194c31bc29f79c7e14f3a81a5771bb05.tar.gz
WarpX-edfe3ac1194c31bc29f79c7e14f3a81a5771bb05.tar.zst
WarpX-edfe3ac1194c31bc29f79c7e14f3a81a5771bb05.zip
Allow `FieldProbe` in RZ geometry (#4057)
* allow `FieldProbe` in RZ geometry * hard code the FieldProbe number of outputs to 11 * add note in the docs about `raw_fields` only outputting the n=0 azimuthal mode
Diffstat (limited to 'Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp')
-rw-r--r--Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp18
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();
-
}