aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar David Grote <grote1@llnl.gov> 2021-02-25 14:36:25 -0800
committerGravatar GitHub <noreply@github.com> 2021-02-25 14:36:25 -0800
commit6e4affcb49e8d067f29c34afdce3ad494e3290b2 (patch)
tree3e2e79cdc1be43020b618a73803df4bbbc819016 /Source/Particles/PhysicalParticleContainer.cpp
parentcefec517b2c0fdfc955ac86cff12a6f42964276c (diff)
downloadWarpX-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.cpp12
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,