aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/RigidInjectedParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli@cea.fr> 2019-09-30 13:46:39 +0200
committerGravatar Luca Fedeli <luca.fedeli@cea.fr> 2019-09-30 13:46:39 +0200
commit4c62803f740dc7f9eebe1861103096e73d0a1eaf (patch)
treeb6028bba31379d1453f29c9dd152acf9f75404d1 /Source/Particles/RigidInjectedParticleContainer.cpp
parent36175661fd27c812ac9dbdc605407a25108334cb (diff)
downloadWarpX-4c62803f740dc7f9eebe1861103096e73d0a1eaf.tar.gz
WarpX-4c62803f740dc7f9eebe1861103096e73d0a1eaf.tar.zst
WarpX-4c62803f740dc7f9eebe1861103096e73d0a1eaf.zip
Do radiation reaction is now a species property
Diffstat (limited to 'Source/Particles/RigidInjectedParticleContainer.cpp')
-rw-r--r--Source/Particles/RigidInjectedParticleContainer.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/Source/Particles/RigidInjectedParticleContainer.cpp b/Source/Particles/RigidInjectedParticleContainer.cpp
index a3ae5f4e8..24d4ac24c 100644
--- a/Source/Particles/RigidInjectedParticleContainer.cpp
+++ b/Source/Particles/RigidInjectedParticleContainer.cpp
@@ -430,25 +430,33 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt,
// 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(),
+
+ //Assumes that all consistency checks have been done at initialization
+ if(do_classical_radiation_reaction){
+ amrex::ParallelFor(
+ pti.numParticles(),
[=] AMREX_GPU_DEVICE (long i) {
- UpdateMomentumBoris( uxpp[i], uypp[i], uzpp[i],
- Expp[i], Eypp[i], Ezpp[i], Bxpp[i], Bypp[i], Bzpp[i], q, m, dt);
+ UpdateMomentumBorisWithRadiationReaction(
+ uxpp[i], uypp[i], uzpp[i],
+ Expp[i], Eypp[i], Ezpp[i],
+ Bxpp[i], Bypp[i], Bzpp[i],
+ q, m, dt);
}
);
- } else if (WarpX::particle_pusher_algo == ParticlePusherAlgo::Vay) {
+ } else if (WarpX::particle_pusher_algo == ParticlePusherAlgo::Boris){
amrex::ParallelFor( pti.numParticles(),
[=] AMREX_GPU_DEVICE (long i) {
- UpdateMomentumVay( uxpp[i], uypp[i], uzpp[i],
- Expp[i], Eypp[i], Ezpp[i], Bxpp[i], Bypp[i], Bzpp[i], q, m, dt);
+ UpdateMomentumBoris(
+ uxpp[i], uypp[i], uzpp[i],
+ 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(),
+ } else if (WarpX::particle_pusher_algo == ParticlePusherAlgo::Vay) {
+ amrex::ParallelFor( pti.numParticles(),
[=] AMREX_GPU_DEVICE (long i) {
- UpdateMomentumBorisWithRadiationReaction(
+ UpdateMomentumVay(
uxpp[i], uypp[i], uzpp[i],
Expp[i], Eypp[i], Ezpp[i],
Bxpp[i], Bypp[i], Bzpp[i],