diff options
author | 2019-05-07 09:33:38 -0700 | |
---|---|---|
committer | 2019-05-07 09:33:38 -0700 | |
commit | 4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78 (patch) | |
tree | fd173453823f9267e32301bcbec5942baf8bfb0a /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 8c6ee069762bc1e17556fa5c76172c8b418ad0c8 (diff) | |
parent | 6bdafd570c25fde71d2ce93ecea6fbd803f8cf2c (diff) | |
download | WarpX-4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78.tar.gz WarpX-4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78.tar.zst WarpX-4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78.zip |
Merge pull request #125 from ECP-WarpX/inject_laser_refac
consistent continuous injection for PhysicalParticle and LaserParticle
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 17e6d98d9..c28aacd28 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -24,7 +24,8 @@ NumParticlesToAdd(const Box& overlap_box, const RealBox& overlap_realbox, for (IntVect iv = overlap_box.smallEnd(); iv <= overlap_box.bigEnd(); overlap_box.next(iv)) { int fac; - if (injected) { + // if (injected) { + if (do_continuous_injection) { #if ( AMREX_SPACEDIM == 3 ) Real x = overlap_corner[0] + (iv[0] + 0.5)*dx[0]; Real y = overlap_corner[1] + (iv[1] + 0.5)*dx[1]; @@ -81,6 +82,7 @@ PhysicalParticleContainer::PhysicalParticleContainer (AmrCore* amr_core, int isp pp.query("do_backward_propagation", do_backward_propagation); pp.query("do_splitting", do_splitting); pp.query("split_type", split_type); + pp.query("do_continuous_injection", do_continuous_injection); } PhysicalParticleContainer::PhysicalParticleContainer (AmrCore* amr_core) @@ -361,7 +363,9 @@ PhysicalParticleContainer::AddPlasmaCPU (int lev, RealBox part_realbox) for (IntVect iv = overlap_box.smallEnd(); iv <= overlap_box.bigEnd(); overlap_box.next(iv)) { int fac; - if (injected) { + // if (injected) { + if (do_continuous_injection) { + Print()<<"in AddPlasmaCPU if do_continuous_injection"<<std::endl; #if ( AMREX_SPACEDIM == 3 ) Real x = overlap_corner[0] + (iv[0] + 0.5)*dx[0]; Real y = overlap_corner[1] + (iv[1] + 0.5)*dx[1]; @@ -602,7 +606,8 @@ PhysicalParticleContainer::AddPlasmaGPU (int lev, RealBox part_realbox) for (IntVect iv = overlap_box.smallEnd(); iv <= overlap_box.bigEnd(); overlap_box.next(iv)) { int fac; - if (injected) { + // if (injected) { + if (do_continuous_injection) { #if ( AMREX_SPACEDIM == 3 ) Real x = overlap_corner[0] + (iv[0] + 0.5)*dx[0]; Real y = overlap_corner[1] + (iv[1] + 0.5)*dx[1]; @@ -2004,3 +2009,11 @@ int PhysicalParticleContainer::GetRefineFac(const Real x, const Real y, const Re return ref_fac; } + +void +PhysicalParticleContainer::ContinuousInjection(Real dt, const RealBox& prob_domain) +{ + const int lev=0; + Print()<<"in PhysicalParticleContainer::ContinuousInjection"<<std::endl; + AddPlasma(lev, prob_domain); +} |