aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar L. Diana Amorim <LDianaAmorim@lbl.gov> 2020-06-10 22:18:17 -0700
committerGravatar GitHub <noreply@github.com> 2020-06-10 22:18:17 -0700
commit7e02060ebed8a58ebb0828eca03a824f809267fc (patch)
tree72039d68a966ed2708559dd584d9dc0aa8889139 /Source/Particles/PhysicalParticleContainer.cpp
parent9db8a0f5a787ec3568f967f576b56ab77d2256db (diff)
downloadWarpX-7e02060ebed8a58ebb0828eca03a824f809267fc.tar.gz
WarpX-7e02060ebed8a58ebb0828eca03a824f809267fc.tar.zst
WarpX-7e02060ebed8a58ebb0828eca03a824f809267fc.zip
[Mini] Z Offset to loaded openPMD particles (#1070)
* Added description of singleparticle particle injection style * Revert "Added description of singleparticle particle injection style" This reverts commit f02d842c935311458024da6e661950742de24f63. * Added use_q_shift and q_shift variables * Removed use_q_shift * Added description of q_shift to the Docs * Replaced q_shift by z_shift as suggested by @ax3l * Added recommendation to PWFA example * z_shift should be optional (used query instead of get) * Fix compile problem Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to '')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 094a8e556..e138f39a4 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -294,7 +294,8 @@ PhysicalParticleContainer::AddGaussianBeam (
}
void
-PhysicalParticleContainer::AddPlasmaFromFile(ParticleReal q_tot)
+PhysicalParticleContainer::AddPlasmaFromFile(ParticleReal q_tot,
+ ParticleReal z_shift)
{
// Declare temporary vectors on the CPU
Gpu::HostVector<ParticleReal> particle_x;
@@ -359,7 +360,7 @@ PhysicalParticleContainer::AddPlasmaFromFile(ParticleReal q_tot)
for (auto i = decltype(npart){0}; i<npart; ++i){
ParticleReal const x = ptr_x.get()[i]*position_unit_x;
- ParticleReal const z = ptr_z.get()[i]*position_unit_z;
+ ParticleReal const z = ptr_z.get()[i]*position_unit_z+z_shift;
# ifndef WARPX_DIM_3D
ParticleReal const y = 0.0_prt;
# else
@@ -453,7 +454,8 @@ PhysicalParticleContainer::AddParticles (int lev)
}
if (plasma_injector->external_file) {
- AddPlasmaFromFile(plasma_injector->q_tot);
+ AddPlasmaFromFile(plasma_injector->q_tot,
+ plasma_injector->z_shift);
return;
}