WarpX
|
#include <LaserProfiles.H>
Public Member Functions | |
void | init (const amrex::ParmParse &ppl, CommonLaserParameters params) final |
void | update (amrex::Real) final |
void | fill_amplitude (int np, amrex::Real const *AMREX_RESTRICT Xp, amrex::Real const *AMREX_RESTRICT Yp, amrex::Real t, amrex::Real *AMREX_RESTRICT amplitude) const final |
![]() | |
ILaserProfile ()=default | |
virtual | ~ILaserProfile ()=default |
ILaserProfile (ILaserProfile const &)=default | |
ILaserProfile & | operator= (ILaserProfile const &)=default |
ILaserProfile (ILaserProfile &&)=default | |
ILaserProfile & | operator= (ILaserProfile &&)=default |
Private Attributes | |
struct { | |
std::string field_function | |
} | m_params |
amrex::Parser | m_parser |
Laser profile defined by the used with an analytical expression
|
finalvirtual |
Fill Electric Field Amplitude for each particle of the antenna.
Xp, Yp and amplitude must be arrays with the same length
[in] | np | number of antenna particles |
[in] | Xp | X coordinate of the particles of the antenna |
[in] | Yp | Y coordinate of the particles of the antenna |
[in] | t | time (seconds) |
[out] | amplitude | of the electric field (V/m) |
Implements WarpXLaserProfiles::ILaserProfile.
|
finalvirtual |
Initialize Laser Profile
Reads the section of the inputfile relative to the laser beam (e.g. laser_name.profile_t_peak, laser_name.profile_duration...) and the "my_constants" section. It also receives some common laser profile parameters. It uses these data to initialize the member variables of the laser profile class.
[in] | ppl | should be amrex::ParmParse(laser_name) |
[in] | params | common laser profile parameters |
Implements WarpXLaserProfiles::ILaserProfile.
|
inlinefinalvirtual |
Update Laser Profile
Some laser profiles might need to perform an "update" operation per time step.
[in] | t | Current physical time in the simulation (seconds) |
Implements WarpXLaserProfiles::ILaserProfile.
std::string WarpXLaserProfiles::FieldFunctionLaserProfile::field_function |
struct { ... } WarpXLaserProfiles::FieldFunctionLaserProfile::m_params |
|
private |