diff options
author | 2019-10-21 10:24:26 -0700 | |
---|---|---|
committer | 2019-10-21 10:24:26 -0700 | |
commit | ee34b3e8cd231e5fa42cb841ec6ac16555e3a692 (patch) | |
tree | ff3d0cf3d9decf92890c131ad022a12caa60a4aa /Source/Particles/RigidInjectedParticleContainer.cpp | |
parent | d9daf257e26d503ac5d1c7c1bf8aaff4877ff7aa (diff) | |
parent | 80f2d85117bf99c256d416a3a21fb4618e82fe8b (diff) | |
download | WarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.tar.gz WarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.tar.zst WarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.zip |
Merge branch 'dev' of https://github.com/ECP-WarpX/WarpX into SliceInLabFrameForBoostedSim
Diffstat (limited to 'Source/Particles/RigidInjectedParticleContainer.cpp')
-rw-r--r-- | Source/Particles/RigidInjectedParticleContainer.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/Particles/RigidInjectedParticleContainer.cpp b/Source/Particles/RigidInjectedParticleContainer.cpp index 891ade76d..2ef833151 100644 --- a/Source/Particles/RigidInjectedParticleContainer.cpp +++ b/Source/Particles/RigidInjectedParticleContainer.cpp @@ -13,6 +13,7 @@ #include <WarpXAlgorithmSelection.H> #include <UpdateMomentumBoris.H> #include <UpdateMomentumVay.H> +#include <UpdateMomentumHigueraCary.H> using namespace amrex; @@ -390,9 +391,9 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt, const FArrayBox& byfab = By[pti]; const FArrayBox& bzfab = Bz[pti]; - Exp.assign(np,0.0); - Eyp.assign(np,0.0); - Ezp.assign(np,0.0); + Exp.assign(np,WarpX::E_external[0]); + Eyp.assign(np,WarpX::E_external[1]); + Ezp.assign(np,WarpX::E_external[2]); Bxp.assign(np,WarpX::B_external[0]); Byp.assign(np,WarpX::B_external[1]); Bzp.assign(np,WarpX::B_external[2]); @@ -443,6 +444,13 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt, Expp[i], Eypp[i], Ezpp[i], Bxpp[i], Bypp[i], Bzpp[i], q, m, dt); } ); + } else if (WarpX::particle_pusher_algo == ParticlePusherAlgo::HigueraCary) { + amrex::ParallelFor( pti.numParticles(), + [=] AMREX_GPU_DEVICE (long i) { + UpdateMomentumHigueraCary( uxpp[i], uypp[i], uzpp[i], + Expp[i], Eypp[i], Ezpp[i], Bxpp[i], Bypp[i], Bzpp[i], q, m, dt); + } + ); } else { amrex::Abort("Unknown particle pusher"); }; |