9 #ifndef WARPX_LaserParticleContainer_H_
10 #define WARPX_LaserParticleContainer_H_
78 void PushP (
int lev, amrex::Real
dt,
89 amrex::Real * AMREX_RESTRICT pplane_Xp,
90 amrex::Real * AMREX_RESTRICT pplane_Yp);
93 amrex::ParticleReal * AMREX_RESTRICT puyp,
94 amrex::ParticleReal * AMREX_RESTRICT puzp,
95 amrex::ParticleReal const * AMREX_RESTRICT pwp,
96 amrex::Real const * AMREX_RESTRICT amplitude,
DtType
Definition: WarpXDtType.H:11
PushType
Definition: WarpXPushType.H:12
Definition: LaserParticleContainer.H:43
amrex::Real m_e_max
Definition: LaserParticleContainer.H:109
amrex::Vector< amrex::Real > m_u_X
Definition: LaserParticleContainer.H:118
void ComputeSpacing(int lev, amrex::Real &Sx, amrex::Real &Sy) const
Definition: LaserParticleContainer.cpp:714
~LaserParticleContainer() override=default
void WriteHeader(std::ostream &os) const final
Definition: ParticleIO.cpp:60
amrex::Real m_wavelength
Definition: LaserParticleContainer.H:110
void ReadHeader(std::istream &is) final
Definition: ParticleIO.cpp:48
amrex::RealBox m_laser_injection_box
Definition: LaserParticleContainer.H:125
LaserParticleContainer(amrex::AmrCore *amr_core, int ispecies, const std::string &name)
Definition: LaserParticleContainer.cpp:82
amrex::Vector< amrex::Real > m_position
Definition: LaserParticleContainer.H:105
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:774
void ContinuousInjection(const amrex::RealBox &injection_box) override
Definition: LaserParticleContainer.cpp:281
long m_min_particles_per_mode
Definition: LaserParticleContainer.H:114
amrex::Real m_weight
Definition: LaserParticleContainer.H:120
amrex::Real m_Z0_lab
Definition: LaserParticleContainer.H:112
amrex::Real m_mobility
Definition: LaserParticleContainer.H:121
std::unique_ptr< WarpXLaserProfiles::ILaserProfile > m_up_laser_profile
Definition: LaserParticleContainer.H:144
amrex::Vector< amrex::Real > m_p_Y
Definition: LaserParticleContainer.H:117
void ComputeWeightMobility(amrex::Real Sx, amrex::Real Sy)
Definition: LaserParticleContainer.cpp:749
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, PushType push_type=PushType::Explicit) final
Definition: LaserParticleContainer.cpp:557
void InitData() final
Definition: LaserParticleContainer.cpp:352
amrex::Vector< amrex::Real > m_updated_position
Definition: LaserParticleContainer.H:128
LaserParticleContainer(LaserParticleContainer const &)=delete
void UpdateAntennaPosition(amrex::Real dt) override
Update antenna position for continuous injection of lasers in a boosted frame.
Definition: LaserParticleContainer.cpp:323
void calculate_laser_plane_coordinates(const WarpXParIter &pti, int np, amrex::Real *AMREX_RESTRICT pplane_Xp, amrex::Real *AMREX_RESTRICT pplane_Yp)
Definition: LaserParticleContainer.cpp:789
LaserParticleContainer(LaserParticleContainer &&)=default
std::string m_laser_name
Definition: LaserParticleContainer.H:101
void DefaultInitializeRuntimeAttributes(typename ContainerLike< amrex::PinnedArenaAllocator >::ParticleTileType &, int, int) final
Method to initialize runtime attributes. Does nothing for LaserParticleContainer.
Definition: LaserParticleContainer.H:58
amrex::Vector< amrex::Real > m_u_Y
Definition: LaserParticleContainer.H:119
void PostRestart() final
Definition: LaserParticleContainer.cpp:703
void update_laser_particle(WarpXParIter &pti, int np, amrex::ParticleReal *AMREX_RESTRICT puxp, amrex::ParticleReal *AMREX_RESTRICT puyp, amrex::ParticleReal *AMREX_RESTRICT puzp, amrex::ParticleReal const *AMREX_RESTRICT pwp, amrex::Real const *AMREX_RESTRICT amplitude, amrex::Real dt)
Definition: LaserParticleContainer.cpp:846
bool m_enabled
Definition: LaserParticleContainer.H:147
amrex::Vector< amrex::Real > m_p_X
Normal of the plane of the antenna.
Definition: LaserParticleContainer.H:107
amrex::Vector< amrex::Real > m_nvec
Coordinates of one of the point of the antenna.
Definition: LaserParticleContainer.H:106
LaserParticleContainer & operator=(LaserParticleContainer const &)=delete
Definition: WarpXParticleContainer.H:53
Definition: WarpXParticleContainer.H:111
Definition: LaserProfiles.H:27
name
Definition: run_automated.py:229
float dt
Definition: stencil.py:442