8 #ifndef WARPX_RigidInjectedParticleContainer_H_ 9 #define WARPX_RigidInjectedParticleContainer_H_ 17 #include <AMReX_REAL.H> 18 #include <AMReX_Vector.H> 20 #include <AMReX_BaseFwd.H> 21 #include <AMReX_AmrCoreFwd.H> 50 const std::string&
name);
57 virtual void Evolve (
int lev,
58 const amrex::MultiFab& Ex,
59 const amrex::MultiFab& Ey,
60 const amrex::MultiFab& Ez,
61 const amrex::MultiFab& Bx,
62 const amrex::MultiFab& By,
63 const amrex::MultiFab& Bz,
71 amrex::MultiFab* crho,
72 const amrex::MultiFab* cEx,
73 const amrex::MultiFab* cEy,
74 const amrex::MultiFab* cEz,
75 const amrex::MultiFab* cBx,
76 const amrex::MultiFab* cBy,
77 const amrex::MultiFab* cBz,
81 bool skip_deposition=
false )
override;
84 amrex::FArrayBox
const * exfab,
85 amrex::FArrayBox
const * eyfab,
86 amrex::FArrayBox
const * ezfab,
87 amrex::FArrayBox
const * bxfab,
88 amrex::FArrayBox
const * byfab,
89 amrex::FArrayBox
const * bzfab,
90 const amrex::IntVect ngE,
const int ,
92 const long np_to_push,
93 int lev,
int gather_lev,
97 virtual void PushP (
int lev, amrex::Real dt,
98 const amrex::MultiFab& Ex,
99 const amrex::MultiFab& Ey,
100 const amrex::MultiFab& Ez,
101 const amrex::MultiFab& Bx,
102 const amrex::MultiFab& By,
103 const amrex::MultiFab& Bz)
override;
105 virtual void ReadHeader (std::istream& is)
override;
107 virtual void WriteHeader (std::ostream& os)
const override;
bool done_injecting_lev
Definition: RigidInjectedParticleContainer.H:122
DtType
Definition: WarpXDtType.H:10
RigidInjectedParticleContainer(amrex::AmrCore *amr_core, int ispecies, const std::string &name)
Definition: RigidInjectedParticleContainer.cpp:59
amrex::Real zinject_plane_lev_previous
Definition: RigidInjectedParticleContainer.H:121
Functor that scales E and B by a factor before pushing the particles. This is used for rigid injectio...
Definition: ScaleFields.H:13
Definition: PhysicalParticleContainer.H:44
Definition: RigidInjectedParticleContainer.H:44
virtual void WriteHeader(std::ostream &os) const override
Definition: ParticleIO.cpp:89
virtual void Evolve(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, amrex::MultiFab &jx, amrex::MultiFab &jy, amrex::MultiFab &jz, amrex::MultiFab *cjx, amrex::MultiFab *cjy, amrex::MultiFab *cjz, amrex::MultiFab *rho, amrex::MultiFab *crho, const amrex::MultiFab *cEx, const amrex::MultiFab *cEy, const amrex::MultiFab *cEz, const amrex::MultiFab *cBx, const amrex::MultiFab *cBy, const amrex::MultiFab *cBz, amrex::Real t, amrex::Real dt, DtType a_dt_type=DtType::Full, bool skip_deposition=false) override
Evolve is the central function PhysicalParticleContainer that advances plasma particles for a time dt...
Definition: RigidInjectedParticleContainer.cpp:264
amrex::Real zinject_plane_lev
Definition: RigidInjectedParticleContainer.H:120
amrex::Vector< amrex::Real > zinject_plane_levels
Definition: RigidInjectedParticleContainer.H:117
bool rigid_advance
Definition: RigidInjectedParticleContainer.H:113
virtual void InitData() override
Definition: RigidInjectedParticleContainer.cpp:71
amrex::Real vzbeam_ave_boosted
Definition: RigidInjectedParticleContainer.H:115
virtual ~RigidInjectedParticleContainer()
Definition: RigidInjectedParticleContainer.H:51
virtual void RemapParticles()
Definition: RigidInjectedParticleContainer.cpp:84
name
Definition: run_automated.py:204
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 amrex::IntVect ngE, const int, const long offset, const long np_to_push, int lev, int gather_lev, amrex::Real dt, ScaleFields scaleFields, DtType a_dt_type=DtType::Full) override
Definition: RigidInjectedParticleContainer.cpp:153
virtual void PushP(int lev, amrex::Real dt, const amrex::MultiFab &Ex, const amrex::MultiFab &Ey, const amrex::MultiFab &Ez, const amrex::MultiFab &Bx, const amrex::MultiFab &By, const amrex::MultiFab &Bz) override
Definition: RigidInjectedParticleContainer.cpp:302
amrex::Real zinject_plane
Definition: RigidInjectedParticleContainer.H:112
Definition: WarpXParticleContainer.H:58
virtual void ReadHeader(std::istream &is) override
Definition: ParticleIO.cpp:65