diff options
Diffstat (limited to 'Source/Particles')
-rw-r--r-- | Source/Particles/MultiParticleContainer.H | 4 | ||||
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 24 | ||||
-rw-r--r-- | Source/Particles/WarpXParticleContainer.H | 1 |
3 files changed, 28 insertions, 1 deletions
diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H index c6bc6d768..f48daf9bb 100644 --- a/Source/Particles/MultiParticleContainer.H +++ b/Source/Particles/MultiParticleContainer.H @@ -172,7 +172,9 @@ public: void ContinuousInjection(amrex::Real dt, const amrex::RealBox& prob_domain) const; - + + void UpdateContinuousInjectionPosition(amrex::Real dt) const; + // // Parameters for the Cherenkov corrector in the FDTD solver. // Both stencils are calculated ar runtime. diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index 1ce0c5390..9810a168f 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -434,3 +434,27 @@ MultiParticleContainer::ContinuousInjection(Real dt, const RealBox& 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); + } + */ +} diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index 62f3570ad..51238907d 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -193,6 +193,7 @@ public: // RigidInjectedParticleContainer: not implemented. virtual void ContinuousInjection(amrex::Real dt, const amrex::RealBox& prob_domain) {} + virtual void UpdateContinuousInjectionPosition(amrex::Real dt) {} /// /// This returns the total charge for all the particles in this ParticleContainer. |