aboutsummaryrefslogtreecommitdiff
path: root/Source/RigidInjectedParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Dave Grote <grote1@llnl.gov> 2018-06-18 11:40:57 -0700
committerGravatar Dave Grote <grote1@llnl.gov> 2018-06-18 11:43:12 -0700
commite1264d0e2bee83c0f525866f15f4a22c52b9fc80 (patch)
tree50d0a815fbfe716aa55bdaad61b7abdbe9a21463 /Source/RigidInjectedParticleContainer.cpp
parentf68ffc6e5853c785512bb881c55b4afd8248e846 (diff)
downloadWarpX-e1264d0e2bee83c0f525866f15f4a22c52b9fc80.tar.gz
WarpX-e1264d0e2bee83c0f525866f15f4a22c52b9fc80.tar.zst
WarpX-e1264d0e2bee83c0f525866f15f4a22c52b9fc80.zip
Fixed boost of Gaussian beam
RigidInjection now assumes that particles generated by AddParticles are already in the boosted frame.
Diffstat (limited to '')
-rw-r--r--Source/RigidInjectedParticleContainer.cpp49
1 files changed, 3 insertions, 46 deletions
diff --git a/Source/RigidInjectedParticleContainer.cpp b/Source/RigidInjectedParticleContainer.cpp
index 5f06e2a82..eb9d6ee4f 100644
--- a/Source/RigidInjectedParticleContainer.cpp
+++ b/Source/RigidInjectedParticleContainer.cpp
@@ -30,54 +30,11 @@ RigidInjectedParticleContainer::RigidInjectedParticleContainer (AmrCore* amr_cor
void RigidInjectedParticleContainer::InitData()
{
AddParticles(0); // Note - add on level 0
- Redistribute(); // We then redistribute
-}
-
-void
-RigidInjectedParticleContainer::AddParticles (int lev)
-{
- BL_PROFILE("RigidInjectedParticleContainer::AddParticles()");
-
- // This is the same as PhysicalParticleContainer::AddParticles except that after
- // the particles are loaded by the different methods, different operations are done.
- // Here, the particles are boosted and remapped as necessary.
-
- if (plasma_injector->add_single_particle) {
- AddNParticles(lev, 1,
- &(plasma_injector->single_particle_pos[0]),
- &(plasma_injector->single_particle_pos[1]),
- &(plasma_injector->single_particle_pos[2]),
- &(plasma_injector->single_particle_vel[0]),
- &(plasma_injector->single_particle_vel[1]),
- &(plasma_injector->single_particle_vel[2]),
- 1, &(plasma_injector->single_particle_weight), 0);
-
- return;
- }
-
- if (plasma_injector->gaussian_beam) {
- AddGaussianBeam(plasma_injector->x_m,
- plasma_injector->y_m,
- plasma_injector->z_m,
- plasma_injector->x_rms,
- plasma_injector->y_rms,
- plasma_injector->z_rms,
- plasma_injector->q_tot,
- plasma_injector->npart);
- // Particles are generated in the lab frame and need to be boosted
- BoostandRemapParticles();
+ // Particles added by AddParticles should already be in the boosted frame
+ RemapParticles();
- return;
- }
-
- if ( plasma_injector->doInjection() ) {
- AddPlasma( lev );
-
- // Particles are already in the boosted frame
- RemapParticles();
-
- }
+ Redistribute(); // We then redistribute
}
void