diff options
author | 2018-06-18 11:40:57 -0700 | |
---|---|---|
committer | 2018-06-18 11:43:12 -0700 | |
commit | e1264d0e2bee83c0f525866f15f4a22c52b9fc80 (patch) | |
tree | 50d0a815fbfe716aa55bdaad61b7abdbe9a21463 /Source/RigidInjectedParticleContainer.cpp | |
parent | f68ffc6e5853c785512bb881c55b4afd8248e846 (diff) | |
download | WarpX-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.cpp | 49 |
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 |