diff options
author | 2020-05-25 11:47:03 -0700 | |
---|---|---|
committer | 2020-05-25 11:47:03 -0700 | |
commit | d9d9721d80ff2f6ceda3c1a6e32e9ab31b7f81c6 (patch) | |
tree | e9ad07be8e464344930ab0bdef5e8cb45c89ea4e /Source/Particles/WarpXParticleContainer.H | |
parent | 0b411e8768bd7704d1d22bccf24a853e1918b581 (diff) | |
download | WarpX-d9d9721d80ff2f6ceda3c1a6e32e9ab31b7f81c6.tar.gz WarpX-d9d9721d80ff2f6ceda3c1a6e32e9ab31b7f81c6.tar.zst WarpX-d9d9721d80ff2f6ceda3c1a6e32e9ab31b7f81c6.zip |
Merge particle push (#1036)
* add functor for doing the tmp particles copy for the back-transformed diagnosti
* merge the particle push options into one kernel
* EOL
* fix assertion
* allow this functor to be constructed even it we aren't doing the back transformed diagnostics
* EOL
* init this val to 0.0
* put the push type selection in a device function so it can be reused
* EOL
* add docstring for the pusher selector function
* EOL
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.H')
-rw-r--r-- | Source/Particles/WarpXParticleContainer.H | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index 477e70ce9..8bc4491d7 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -407,10 +407,14 @@ protected: amrex::Vector<amrex::FArrayBox> local_jy; amrex::Vector<amrex::FArrayBox> local_jz; +public: using DataContainer = amrex::Gpu::ManagedDeviceVector<amrex::ParticleReal>; using PairIndex = std::pair<int, int>; + using TmpParticleTile = std::array<DataContainer, TmpIdx::nattribs>; + using TmpParticles = amrex::Vector<std::map<PairIndex, TmpParticleTile> >; - amrex::Vector<std::map<PairIndex, std::array<DataContainer, TmpIdx::nattribs> > > tmp_particle_data; +protected: + TmpParticles tmp_particle_data; /** * When using runtime components, AMReX requires to touch all tiles |