aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/RigidInjectedParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli@cea.fr> 2019-10-22 02:41:37 -0500
committerGravatar GitHub <noreply@github.com> 2019-10-22 02:41:37 -0500
commit4b816d568b298c83bcc272c78a95aa9b790c9e5c (patch)
tree04b237145fa21db8b4797cafa139bdd588c0f117 /Source/Particles/RigidInjectedParticleContainer.cpp
parent9ee0c52e47748619baa44abd04653a9b8bd15c54 (diff)
parent366f46aa9a4b9ea56f0846795aa3900b99791923 (diff)
downloadWarpX-4b816d568b298c83bcc272c78a95aa9b790c9e5c.tar.gz
WarpX-4b816d568b298c83bcc272c78a95aa9b790c9e5c.tar.zst
WarpX-4b816d568b298c83bcc272c78a95aa9b790c9e5c.zip
Merge branch 'dev' into classical_radiation_reaction
Diffstat (limited to 'Source/Particles/RigidInjectedParticleContainer.cpp')
-rw-r--r--Source/Particles/RigidInjectedParticleContainer.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/Particles/RigidInjectedParticleContainer.cpp b/Source/Particles/RigidInjectedParticleContainer.cpp
index 24d4ac24c..535ffec6f 100644
--- a/Source/Particles/RigidInjectedParticleContainer.cpp
+++ b/Source/Particles/RigidInjectedParticleContainer.cpp
@@ -14,6 +14,7 @@
#include <UpdateMomentumBoris.H>
#include <UpdateMomentumVay.H>
#include <UpdateMomentumBorisWithRadiationReaction.H>
+#include <UpdateMomentumHigueraCary.H>
using namespace amrex;
@@ -391,9 +392,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]);
@@ -463,6 +464,13 @@ RigidInjectedParticleContainer::PushP (int lev, Real dt,
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");
};