diff options
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.H')
-rw-r--r-- | Source/Particles/WarpXParticleContainer.H | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index ffeead6f1..6e0d3f4f9 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -13,6 +13,7 @@ #include "WarpXParticleContainer_fwd.H" #include "Evolve/WarpXDtType.H" +#include "Initialization/PlasmaInjector.H" #include "Particles/ParticleBoundaries.H" #include "SpeciesPhysicalProperties.H" @@ -121,6 +122,12 @@ public: virtual void InitIonizationModule () {} + /* + * \brief Virtual function that returns a pointer to the plasma injector, + * for derived classes that define one (PhysicalParticleContainer). + */ + virtual PlasmaInjector* GetPlasmaInjector () { return nullptr; } + /** * Evolve is the central WarpXParticleContainer function that advances * particles for a time dt (typically one timestep). It is a pure virtual @@ -241,10 +248,13 @@ public: virtual void ContinuousInjection(const amrex::RealBox& /*injection_box*/) {} // Update optional sub-class-specific injection location. virtual void UpdateContinuousInjectionPosition(amrex::Real /*dt*/) {} + bool doContinuousInjection() const {return do_continuous_injection;} // Inject a continuous flux of particles from a defined plane virtual void ContinuousFluxInjection(amrex::Real /*t*/, amrex::Real /*dt*/) {} + int getSpeciesId() const {return species_id;} + /// /// This returns the total charge for all the particles in this ParticleContainer. /// This is needed when solving Poisson's equation with periodic boundary conditions. @@ -306,6 +316,9 @@ public: int self_fields_max_iters = 200; int self_fields_verbosity = 2; + //! Current injection position + amrex::Real m_current_injection_position; + // split along diagonals (0) or axes (1) int split_type = 0; |