diff options
author | 2021-02-25 14:36:25 -0800 | |
---|---|---|
committer | 2021-02-25 14:36:25 -0800 | |
commit | 6e4affcb49e8d067f29c34afdce3ad494e3290b2 (patch) | |
tree | 3e2e79cdc1be43020b618a73803df4bbbc819016 /Source/Particles/PhysicalParticleContainer.cpp | |
parent | cefec517b2c0fdfc955ac86cff12a6f42964276c (diff) | |
download | WarpX-6e4affcb49e8d067f29c34afdce3ad494e3290b2.tar.gz WarpX-6e4affcb49e8d067f29c34afdce3ad494e3290b2.tar.zst WarpX-6e4affcb49e8d067f29c34afdce3ad494e3290b2.zip |
Add multiple particles source (#1718)
* Added multiple particles injection source
* Added documentation for MultipleParticles
Diffstat (limited to '')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 34d32dd18..9825462ea 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -483,6 +483,18 @@ PhysicalParticleContainer::AddParticles (int lev) return; } + if (plasma_injector->add_multiple_particles) { + AddNParticles(lev, plasma_injector->multiple_particles_pos_x.size(), + plasma_injector->multiple_particles_pos_x.dataPtr(), + plasma_injector->multiple_particles_pos_y.dataPtr(), + plasma_injector->multiple_particles_pos_z.dataPtr(), + plasma_injector->multiple_particles_vel_x.dataPtr(), + plasma_injector->multiple_particles_vel_y.dataPtr(), + plasma_injector->multiple_particles_vel_z.dataPtr(), + 1, plasma_injector->multiple_particles_weight.dataPtr(), 0); + return; + } + if (plasma_injector->gaussian_beam) { AddGaussianBeam(plasma_injector->x_m, plasma_injector->y_m, |