diff options
author | 2021-07-20 20:59:28 -0700 | |
---|---|---|
committer | 2021-07-21 03:59:28 +0000 | |
commit | 30a7f5ef5a561f59c70d127b54c17b5bcd82ede8 (patch) | |
tree | 05f6bfda983aa6b1b5f6084bfdbc453abef3d565 /Source/Particles/MultiParticleContainer.H | |
parent | 4a1d30e003ebe4d91565f2be09dad2362cd99f6b (diff) | |
download | WarpX-30a7f5ef5a561f59c70d127b54c17b5bcd82ede8.tar.gz WarpX-30a7f5ef5a561f59c70d127b54c17b5bcd82ede8.tar.zst WarpX-30a7f5ef5a561f59c70d127b54c17b5bcd82ede8.zip |
Implements a periodically repeating plasma lenses (#2080)
* Implements a periodically repeating plasma lens
* Added documentation for plasma lenses
* Added m_n_lenses to avoid use of size in device code
* Change arrays to device arrays
* Put DeviceVectors in the MultiParticleContainer
* Update Source/Particles/MultiParticleContainer.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/Gather/GetExternalFields.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added CI test
* Updated CI test
* LGTM clean up
* Moved literal namespace inside the routine
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Source/Particles/MultiParticleContainer.H')
-rw-r--r-- | Source/Particles/MultiParticleContainer.H | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H index 5ee416add..b59aa4371 100644 --- a/Source/Particles/MultiParticleContainer.H +++ b/Source/Particles/MultiParticleContainer.H @@ -296,6 +296,14 @@ public: std::unique_ptr<amrex::Parser> m_Ey_particle_parser; std::unique_ptr<amrex::Parser> m_Ez_particle_parser; + amrex::Real m_repeated_plasma_lens_period; + amrex::Vector<amrex::Real> h_repeated_plasma_lens_starts; + amrex::Vector<amrex::Real> h_repeated_plasma_lens_lengths; + amrex::Vector<amrex::Real> h_repeated_plasma_lens_strengths; + amrex::Gpu::DeviceVector<amrex::Real> d_repeated_plasma_lens_starts; + amrex::Gpu::DeviceVector<amrex::Real> d_repeated_plasma_lens_lengths; + amrex::Gpu::DeviceVector<amrex::Real> d_repeated_plasma_lens_strengths; + #ifdef WARPX_QED /** * \brief Performs QED events (Breit-Wheeler process and photon emission) |