From 80074a19c67a17a9b8169dc64004322bbd0c31b5 Mon Sep 17 00:00:00 2001 From: Andrew Myers Date: Tue, 28 Jan 2020 13:24:49 -0800 Subject: switch deposition, gather, and pushers to use the get / set position functor --- Source/Particles/PhotonParticleContainer.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'Source/Particles/PhotonParticleContainer.cpp') diff --git a/Source/Particles/PhotonParticleContainer.cpp b/Source/Particles/PhotonParticleContainer.cpp index a4d738f93..86cc206a7 100644 --- a/Source/Particles/PhotonParticleContainer.cpp +++ b/Source/Particles/PhotonParticleContainer.cpp @@ -14,7 +14,7 @@ // Import low-level single-particle kernels #include - +#include using namespace amrex; @@ -72,14 +72,19 @@ PhotonParticleContainer::PushPX(WarpXParIter& pti, Real dt, DtType a_dt_type) if (WarpX::do_back_transformed_diagnostics && do_back_transformed_diagnostics) { - copy_attribs(pti, pstruct); + copy_attribs(pti); } + const auto get_position = GetPosition(pti); + auto set_position = SetPosition(pti); + amrex::ParallelFor( pti.numParticles(), [=] AMREX_GPU_DEVICE (long i) { - - UpdatePositionPhoton( pstruct[i], ux[i], uy[i], uz[i], dt ); + Real x, y, z; + get_position(i, x, y, z); + UpdatePositionPhoton( x, y, z, ux[i], uy[i], uz[i], dt ); + set_position(i, x, y, z); } ); } -- cgit v1.2.3