9 #ifndef WARPX_LaserParticleContainer_H_ 10 #define WARPX_LaserParticleContainer_H_ 59 virtual void ReadHeader (std::istream& is)
final;
61 virtual void WriteHeader (std::ostream& os)
const final;
63 virtual void Evolve (
int lev,
72 bool skip_deposition=
false)
final;
74 virtual void PushP (
int lev, amrex::Real dt,
93 const amrex::Real dt);
105 amrex::Real
m_e_max = std::numeric_limits<amrex::Real>::quiet_NaN();
106 amrex::Real
m_wavelength = std::numeric_limits<amrex::Real>::quiet_NaN();
116 amrex::Real
m_weight = std::numeric_limits<amrex::Real>::quiet_NaN();
117 amrex::Real
m_mobility = std::numeric_limits<amrex::Real>::quiet_NaN();
126 void ComputeSpacing (
int lev, amrex::Real& Sx, amrex::Real& Sy)
const;
amrex::Vector< amrex::Real > m_p_X
Normal of the plane of the antenna.
Definition: LaserParticleContainer.H:103
void update_laser_particle(WarpXParIter &pti, const int np, amrex::ParticleReal *AMREX_RESTRICT const puxp, amrex::ParticleReal *AMREX_RESTRICT const puyp, amrex::ParticleReal *AMREX_RESTRICT const puzp, amrex::ParticleReal const *AMREX_RESTRICT const pwp, amrex::Real const *AMREX_RESTRICT const amplitude, const amrex::Real dt)
Definition: LaserParticleContainer.cpp:823
DtType
Definition: WarpXDtType.H:10
amrex::Real m_Z0_lab
Definition: LaserParticleContainer.H:108
static constexpr int NStructReal
amrex::Vector< amrex::Real > m_nvec
Coordinates of one of the point of the antenna.
Definition: LaserParticleContainer.H:102
amrex::Real m_e_max
Definition: LaserParticleContainer.H:105
virtual void Evolve(int lev, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, amrex::MultiFab &jx, amrex::MultiFab &jy, amrex::MultiFab &jz, amrex::MultiFab *, amrex::MultiFab *, amrex::MultiFab *, amrex::MultiFab *rho, amrex::MultiFab *crho, const amrex::MultiFab *, const amrex::MultiFab *, const amrex::MultiFab *, const amrex::MultiFab *, const amrex::MultiFab *, const amrex::MultiFab *, amrex::Real t, amrex::Real dt, DtType a_dt_type=DtType::Full, bool skip_deposition=false) final
Definition: LaserParticleContainer.cpp:534
amrex::Real m_wavelength
Definition: LaserParticleContainer.H:106
virtual void PostRestart() final
Definition: LaserParticleContainer.cpp:680
int dt
Definition: Stencil.py:468
void calculate_laser_plane_coordinates(const WarpXParIter &pti, const int np, amrex::Real *AMREX_RESTRICT const pplane_Xp, amrex::Real *AMREX_RESTRICT const pplane_Yp)
Definition: LaserParticleContainer.cpp:766
long m_min_particles_per_mode
Definition: LaserParticleContainer.H:110
amrex::Real m_mobility
Definition: LaserParticleContainer.H:117
static constexpr int NArrayInt
void ContinuousInjection(const amrex::RealBox &injection_box) override
Definition: LaserParticleContainer.cpp:259
void ComputeSpacing(int lev, amrex::Real &Sx, amrex::Real &Sy) const
Definition: LaserParticleContainer.cpp:691
LaserParticleContainer(amrex::AmrCore *amr_core, int ispecies, const std::string &name)
Definition: LaserParticleContainer.cpp:82
amrex::Real m_weight
Definition: LaserParticleContainer.H:116
virtual ~LaserParticleContainer()
Definition: LaserParticleContainer.H:45
Definition: LaserParticleContainer.H:40
virtual void ReadHeader(std::istream &is) final
Definition: ParticleIO.cpp:45
void ComputeWeightMobility(amrex::Real Sx, amrex::Real Sy)
Definition: LaserParticleContainer.cpp:726
static constexpr int NArrayReal
amrex::Vector< amrex::Real > m_p_Y
Definition: LaserParticleContainer.H:113
amrex::Vector< amrex::Real > m_position
Definition: LaserParticleContainer.H:101
amrex::Vector< amrex::Real > m_u_Y
Definition: LaserParticleContainer.H:115
amrex::Vector< amrex::Real > m_u_X
Definition: LaserParticleContainer.H:114
string name
Definition: Stencil.py:485
virtual void InitData() final
Definition: LaserParticleContainer.cpp:334
static constexpr int NStructInt
amrex::Vector< amrex::Real > m_updated_position
Definition: LaserParticleContainer.H:124
bool m_enabled
Definition: LaserParticleContainer.H:139
amrex::RealBox m_laser_injection_box
Definition: LaserParticleContainer.H:121
std::unique_ptr< WarpXLaserProfiles::ILaserProfile > m_up_laser_profile
Definition: LaserParticleContainer.H:136
virtual void DefaultInitializeRuntimeAttributes(amrex::ParticleTile< NStructReal, NStructInt, NArrayReal, NArrayInt, amrex::PinnedArenaAllocator > &, const int, const int, const amrex::RandomEngine &) override final
Method to initialize runtime attributes. Does nothing for LaserParticleContainer. ...
Definition: LaserParticleContainer.H:52
virtual void WriteHeader(std::ostream &os) const final
Definition: ParticleIO.cpp:57
Definition: WarpXParticleContainer.H:49
virtual void PushP(int lev, amrex::Real dt, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &, const amrex::MultiFab &) final
Definition: LaserParticleContainer.cpp:751
void UpdateContinuousInjectionPosition(amrex::Real dt) override
Definition: LaserParticleContainer.cpp:305
std::string m_laser_name
Definition: LaserParticleContainer.H:97
Definition: WarpXParticleContainer.H:101