aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.H')
-rw-r--r--Source/Particles/PhysicalParticleContainer.H61
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 ();