aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/RigidInjectedParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar RevathiJambunathan <revanathan@gmail.com> 2019-10-21 10:24:26 -0700
committerGravatar RevathiJambunathan <revanathan@gmail.com> 2019-10-21 10:24:26 -0700
commitee34b3e8cd231e5fa42cb841ec6ac16555e3a692 (patch)
treeff3d0cf3d9decf92890c131ad022a12caa60a4aa /Source/Particles/RigidInjectedParticleContainer.cpp
parentd9daf257e26d503ac5d1c7c1bf8aaff4877ff7aa (diff)
parent80f2d85117bf99c256d416a3a21fb4618e82fe8b (diff)
downloadWarpX-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.cpp14
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");
};