aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ParticleCreation/ElementaryProcess.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/ParticleCreation/ElementaryProcess.H')
-rw-r--r--Source/Particles/ParticleCreation/ElementaryProcess.H7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/Particles/ParticleCreation/ElementaryProcess.H b/Source/Particles/ParticleCreation/ElementaryProcess.H
index d6c1fdaa6..4c47b7f52 100644
--- a/Source/Particles/ParticleCreation/ElementaryProcess.H
+++ b/Source/Particles/ParticleCreation/ElementaryProcess.H
@@ -125,7 +125,7 @@ public:
// amrex::Vector<copyParticle> v_copy_functor(nproducts);
amrex::Vector<copyParticle> v_copy_functor;
amrex::Vector<int> v_pid_product(nproducts);
- amrex::Vector<WarpXParticleContainer::ParticleType*> v_particles_product(nproducts);
+ amrex::Gpu::ManagedDeviceVector<WarpXParticleContainer::ParticleType*> v_particles_product(nproducts);
for (int iproduct=0; iproduct<nproducts; iproduct++){
WarpXParticleContainer*& pc_product = v_pc_product[iproduct];
// Get product particle data
@@ -206,13 +206,14 @@ public:
amrex::Gpu::ManagedDeviceVector<int>& i_product,
int np_source,
const amrex::Vector<int> v_pid_product,
- const amrex::Vector<WarpXParticleContainer::ParticleType*> v_particles_product,
+ const amrex::Gpu::ManagedDeviceVector<WarpXParticleContainer::ParticleType*> v_particles_product,
WarpXParticleContainer::ParticleType* particles_source,
const amrex::Vector<copyParticle>& v_copy_functor,
amrex::GpuArray<int*,1> runtime_iattribs_source)
{
int const * const AMREX_RESTRICT p_is_flagged = is_flagged.dataPtr();
int const * const AMREX_RESTRICT p_i_product = i_product.dataPtr();
+ WarpXParticleContainer::ParticleType* const * const AMREX_RESTRICT p_particles_product = v_particles_product.dataPtr();
// Loop over all source particles. If is_flagged, copy particle data
// to corresponding product particle.
amrex::For(
@@ -237,7 +238,7 @@ public:
// Transform product particles. The loop over product
// species is done inside the function to allow for
// more flexibility.
- transformProductParticle<ProcessT>(ip, v_particles_product);
+ transformProductParticle<ProcessT>(ip, p_particles_product);
}
}
);