diff options
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.H')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.H | 61 |
1 files changed, 23 insertions, 38 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H index afa7a3b85..5d8102d09 100644 --- a/Source/Particles/PhysicalParticleContainer.H +++ b/Source/Particles/PhysicalParticleContainer.H @@ -14,6 +14,7 @@ #include "WarpXParticleContainer.H" #include "Filter/NCIGodfreyFilter.H" #include "Particles/ElementaryProcess/Ionization.H" +#include "Particles/Gather/ScaleFields.H" #ifdef WARPX_QED # include "Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H" @@ -63,33 +64,6 @@ public: void InitIonizationModule (); - virtual void FieldGather (int lev, - const amrex::MultiFab& Ex, - const amrex::MultiFab& Ey, - const amrex::MultiFab& Ez, - const amrex::MultiFab& Bx, - const amrex::MultiFab& By, - const amrex::MultiFab& Bz) final; - - void FieldGather (WarpXParIter& pti, - RealVector& Exp, - RealVector& Eyp, - RealVector& Ezp, - RealVector& Bxp, - RealVector& Byp, - RealVector& Bzp, - amrex::FArrayBox const * exfab, - amrex::FArrayBox const * eyfab, - amrex::FArrayBox const * ezfab, - amrex::FArrayBox const * bxfab, - amrex::FArrayBox const * byfab, - amrex::FArrayBox const * bzfab, - const int ngE, const int e_is_nodal, - const long offset, - const long np_to_gather, - int lev, - int depos_lev); - /** * \brief Evolve is the central function PhysicalParticleContainer that * advances plasma particles for a time dt (typically one timestep). @@ -148,7 +122,19 @@ public: amrex::Real dt, DtType a_dt_type=DtType::Full) override; - virtual void PushPX (WarpXParIter& pti, amrex::Real dt, DtType a_dt_type=DtType::Full); + virtual void PushPX (WarpXParIter& pti, + amrex::FArrayBox const * exfab, + amrex::FArrayBox const * eyfab, + amrex::FArrayBox const * ezfab, + amrex::FArrayBox const * bxfab, + amrex::FArrayBox const * byfab, + amrex::FArrayBox const * bzfab, + const int ngE, const int /*e_is_nodal*/, + const long offset, + const long np_to_push, + int lev, int gather_lev, + amrex::Real dt, ScaleFields scaleFields, + DtType a_dt_type=DtType::Full); virtual void PushP (int lev, amrex::Real dt, const amrex::MultiFab& Ex, @@ -175,7 +161,15 @@ public: void SplitParticles (int lev); - IonizationFilterFunc getIonizationFunc (); + IonizationFilterFunc getIonizationFunc (const WarpXParIter& pti, + int lev, + int ngE, + const amrex::FArrayBox& Ex, + const amrex::FArrayBox& Ey, + const amrex::FArrayBox& Ez, + const amrex::FArrayBox& Bx, + const amrex::FArrayBox& By, + const amrex::FArrayBox& Bz); // Inject particles in Box 'part_box' virtual void AddParticles (int lev); @@ -304,15 +298,6 @@ public: (std::shared_ptr<QuantumSynchrotronEngine> ptr) override; //__________ - /** - * This function evolves the optical depth of the particles if QED effects - * are enabled. - * @param[in,out] pti particle iterator (optical depth will be modified) - * @param[in] dt temporal step - */ - virtual void EvolveOpticalDepth (WarpXParIter& pti, - amrex::Real dt); - PhotonEmissionFilterFunc getPhotonEmissionFilterFunc (); PairGenerationFilterFunc getPairGenerationFilterFunc (); |