aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Luca <luca@localhost.localdomain> 2019-09-24 20:11:13 +0200
committerGravatar Luca <luca@localhost.localdomain> 2019-09-24 20:11:13 +0200
commit389d96a9225dfeb03d351e6726b7b52c72476626 (patch)
tree7c90ff498600fcb5ee558e9753ef0057bf662c49 /Source/Particles/PhysicalParticleContainer.cpp
parent0bca4d45d5a7f02bbd59299ab2f14733046430bb (diff)
downloadWarpX-389d96a9225dfeb03d351e6726b7b52c72476626.tar.gz
WarpX-389d96a9225dfeb03d351e6726b7b52c72476626.tar.zst
WarpX-389d96a9225dfeb03d351e6726b7b52c72476626.zip
bugfix
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp8
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");
};