diff options
author | 2019-09-24 20:11:13 +0200 | |
---|---|---|
committer | 2019-09-24 20:11:13 +0200 | |
commit | 389d96a9225dfeb03d351e6726b7b52c72476626 (patch) | |
tree | 7c90ff498600fcb5ee558e9753ef0057bf662c49 /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 0bca4d45d5a7f02bbd59299ab2f14733046430bb (diff) | |
download | WarpX-389d96a9225dfeb03d351e6726b7b52c72476626.tar.gz WarpX-389d96a9225dfeb03d351e6726b7b52c72476626.tar.zst WarpX-389d96a9225dfeb03d351e6726b7b52c72476626.zip |
bugfix
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 8d0c988b4..3d727af84 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -1567,6 +1567,7 @@ PhysicalParticleContainer::PushPX(WarpXParIter& pti, // Loop over the particles and update their momentum const Real q = this->charge; const Real m = this-> mass; + if (WarpX::particle_pusher_algo == ParticlePusherAlgo::Boris){ amrex::ParallelFor( pti.numParticles(), @@ -1701,6 +1702,13 @@ PhysicalParticleContainer::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::BorisRR) { + amrex::ParallelFor( pti.numParticles(), + [=] AMREX_GPU_DEVICE (long i) { + UpdateMomentumBorisWithRadiationReaction( ux[i], uy[i], uz[i], + Expp[i], Eypp[i], Ezpp[i], Bxpp[i], Bypp[i], Bzpp[i], q, m, dt); + } + ); } else { amrex::Abort("Unknown particle pusher"); }; |