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/MultiParticleContainer.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/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index a74a8bb2e..9810a168f 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -424,11 +424,37 @@ MultiParticleContainer void MultiParticleContainer::ContinuousInjection(Real dt, const RealBox& prob_domain) const { - for (int i=nspecies; i<nspecies+nlasers; i++){ + for (int i=0; i<nspecies+nlasers; i++){ auto& pc = allcontainers[i]; + Print()<<"i "<<i<<" pc->do_continuous_injection "<<pc->do_continuous_injection<<std::endl; if (pc->do_continuous_injection) { + Print()<<"i "<<i<<" pc->do_continuous_injection "<<pc->do_continuous_injection<<std::endl; pc->ContinuousInjection(dt, prob_domain); } } } + +void +MultiParticleContainer::UpdateContinuousInjectionPosition(Real dt) const +{ + for (int i=0; i<nspecies+nlasers; i++){ + auto& pc = allcontainers[i]; + Print()<<"i "<<i<<" pc->do_continuous_injection "<<pc->do_continuous_injection<<std::endl; + if (pc->do_continuous_injection) + { + Print()<<"i "<<i<<" pc->do_continuous_injection "<<pc->do_continuous_injection<<std::endl; + pc->UpdateContinuousInjectionPosition(dt); + } + } + /* + for (int i=nspecies; i<nspecies+nlasers; i++){ + // WarpXParticleContainer& pc = allcontainers[i]; + WarpXParticleContainer& pc = GetParticleContainer(i); + auto& lpc = dynamic_cast<LaserParticleContainer&>(pc); + // auto& pc = allcontainers[i]; + // auto& lpc = dynamic_cast<LaserParticleContainer&>(pc); + lpc.UpdateContinuousInjectionPosition(dt); + } + */ +} |