diff options
author | 2019-05-07 11:48:48 -0700 | |
---|---|---|
committer | 2019-05-07 11:48:48 -0700 | |
commit | ddb2585a55edcedd0ca613f4288f34d71edda8b2 (patch) | |
tree | bf10af450087431ea4678559acd8ca944a7a3a8a /Source/Particles/MultiParticleContainer.cpp | |
parent | 4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78 (diff) | |
download | WarpX-ddb2585a55edcedd0ca613f4288f34d71edda8b2.tar.gz WarpX-ddb2585a55edcedd0ca613f4288f34d71edda8b2.tar.zst WarpX-ddb2585a55edcedd0ca613f4288f34d71edda8b2.zip |
continuous injection working + comments
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 9810a168f..a5f695c69 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -416,45 +416,33 @@ MultiParticleContainer } /* \brief Continuous injection for particles initially outside of the domain. - * \param dt: timestep (so far, this only works without MR) - * \param prob_domain: current boundaries of the full domain. + * \param injection_box: Domain where new particles should be injected. * Loop over all WarpXParticleContainer in MultiParticleContainer and * calls virtual function ContinuousInjection. */ void -MultiParticleContainer::ContinuousInjection(Real dt, const RealBox& prob_domain) const +MultiParticleContainer::ContinuousInjection(const RealBox& injection_box) 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->ContinuousInjection(dt, prob_domain); + if (pc->do_continuous_injection){ + pc->ContinuousInjection(injection_box); } } } +/* \brief Update position of continuous injection parameters. + * \param dt: simulation time step (level 0) + * All classes inherited from WarpXParticleContainer do not have + * a position to update (PhysicalParticleContainer does not do anything). + */ 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; + if (pc->do_continuous_injection){ 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); - } - */ } |