aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2022-02-16 16:12:10 -0800
committerGravatar GitHub <noreply@github.com> 2022-02-16 16:12:10 -0800
commitcc429657fc4414539b4fb42da947b831e94448a4 (patch)
treec5f588f673642b3d66abedf6f3f49d884629a6f6 /Source/Particles/PhysicalParticleContainer.cpp
parent278f3cd3db8889219e468699a8475d664ac5f2d3 (diff)
downloadWarpX-cc429657fc4414539b4fb42da947b831e94448a4.tar.gz
WarpX-cc429657fc4414539b4fb42da947b831e94448a4.tar.zst
WarpX-cc429657fc4414539b4fb42da947b831e94448a4.zip
Provide `t_min` and `t_max` for flux injection (#2842)
* Implement injection orthogal to plane * Generalize momentum distribution for flux injection * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Revert "[pre-commit.ci] auto fixes from pre-commit.com hooks" This reverts commit b0cd1891771a4c49c14abb7cb9df7374cee4458c. * Revert "Generalize momentum distribution for flux injection" This reverts commit 0a22b1d8fa68a3a5705d8f4824f757b6dee497f0. * Rotate momentum initialization * Correct flux number when the direction is normal to plane * Update distribution of particles within a cell * Clean-up injection code * Add more documentation * Add more comments * Handle 1D case * Only do the rotation for Gaussian flux profile * Fix compilation error * Correct compilation for GPU * Start adding automated test * Correct sign of velocity * Update to add continuous injection * Finalize test * Correct processing of flux_normal_axis * Add checksum * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix bug * Update script * Implement maximum injection time * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add parameter tmin * Make parameter optional ; update documentation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 27d94a5f1..1ee12b769 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -2518,10 +2518,16 @@ PhysicalParticleContainer::ContinuousInjection (const RealBox& injection_box)
/* \brief Inject a flux of particles during the simulation
*/
void
-PhysicalParticleContainer::ContinuousFluxInjection (amrex::Real dt)
+PhysicalParticleContainer::ContinuousFluxInjection (amrex::Real t, amrex::Real dt)
{
- if (plasma_injector->surface_flux) {
- AddPlasmaFlux(dt);
+ if (plasma_injector->surface_flux){
+ // Check the optional parameters for start and stop of injection
+ if ( ((plasma_injector->flux_tmin<0) || (t>=plasma_injector->flux_tmin)) &&
+ ((plasma_injector->flux_tmax<0) || (t< plasma_injector->flux_tmax)) ){
+
+ AddPlasmaFlux(dt);
+
+ }
}
}