diff options
author | 2020-06-10 22:18:17 -0700 | |
---|---|---|
committer | 2020-06-10 22:18:17 -0700 | |
commit | 7e02060ebed8a58ebb0828eca03a824f809267fc (patch) | |
tree | 72039d68a966ed2708559dd584d9dc0aa8889139 /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 9db8a0f5a787ec3568f967f576b56ab77d2256db (diff) | |
download | WarpX-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.cpp | 8 |
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; } |