aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles')
-rw-r--r--Source/Particles/MultiParticleContainer.H4
-rw-r--r--Source/Particles/MultiParticleContainer.cpp24
-rw-r--r--Source/Particles/WarpXParticleContainer.H1
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.