aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-05-07 09:33:38 -0700
committerGravatar GitHub <noreply@github.com> 2019-05-07 09:33:38 -0700
commit4d14b8af45c9f3d8e4c774c7bd9e4cddfdecfe78 (patch)
treefd173453823f9267e32301bcbec5942baf8bfb0a /Source/Particles/MultiParticleContainer.cpp
parent8c6ee069762bc1e17556fa5c76172c8b418ad0c8 (diff)
parent6bdafd570c25fde71d2ce93ecea6fbd803f8cf2c (diff)
downloadWarpX-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.cpp28
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);
+ }
+ */
+}