#include <LaserProfiles.H>
|
| void | init (const amrex::ParmParse &ppl, const amrex::ParmParse &ppc, CommonLaserParameters params) override final |
| |
| void | update (amrex::Real) override final |
| |
| void | fill_amplitude (const int np, amrex::Real const *AMREX_RESTRICT const Xp, amrex::Real const *AMREX_RESTRICT const Yp, amrex::Real t, amrex::Real *AMREX_RESTRICT const amplitude) const override final |
| |
| virtual | ~ILaserProfile () |
| |
◆ fill_amplitude()
| void WarpXLaserProfiles::GaussianLaserProfile::fill_amplitude |
( |
const int |
np, |
|
|
amrex::Real const *AMREX_RESTRICT const |
Xp, |
|
|
amrex::Real const *AMREX_RESTRICT const |
Yp, |
|
|
amrex::Real |
t, |
|
|
amrex::Real *AMREX_RESTRICT const |
amplitude |
|
) |
| const |
|
finaloverridevirtual |
Fill Electric Field Amplitude for each particle of the antenna.
Xp, Yp and amplitude must be arrays with the same length
- Parameters
-
| [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.
◆ init()
| void WarpXLaserProfiles::GaussianLaserProfile::init |
( |
const amrex::ParmParse & |
ppl, |
|
|
const amrex::ParmParse & |
ppc, |
|
|
CommonLaserParameters |
params |
|
) |
| |
|
finaloverridevirtual |
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.
- Parameters
-
| [in] | ppl | should be amrex::ParmParse(laser_name) |
| [in] | ppc | should be amrex::ParmParse("my_constants") |
| [in] | params | common laser profile parameters |
Implements WarpXLaserProfiles::ILaserProfile.
◆ update()
| void WarpXLaserProfiles::GaussianLaserProfile::update |
( |
amrex::Real |
t | ) |
|
|
inlinefinaloverridevirtual |
Update Laser Profile
Some laser profiles might need to perform an "update" operation per time step.
- Parameters
-
| [in] | t | Current physical time in the simulation (seconds) |
Implements WarpXLaserProfiles::ILaserProfile.
◆ beta
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::beta = 0 |
◆ duration
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::duration = std::numeric_limits<amrex::Real>::quiet_NaN() |
◆ focal_distance
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::focal_distance = std::numeric_limits<amrex::Real>::quiet_NaN() |
◆ m_common_params
◆ m_params
| struct { ... } WarpXLaserProfiles::GaussianLaserProfile::m_params |
◆ phi2
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::phi2 = 0 |
◆ stc_direction
| amrex::Vector<amrex::Real> WarpXLaserProfiles::GaussianLaserProfile::stc_direction |
◆ t_peak
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::t_peak = std::numeric_limits<amrex::Real>::quiet_NaN() |
◆ theta_stc
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::theta_stc |
Direction of the spatio-temporal couplings.
◆ waist
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::waist = std::numeric_limits<amrex::Real>::quiet_NaN() |
◆ zeta
| amrex::Real WarpXLaserProfiles::GaussianLaserProfile::zeta = 0 |
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Laser/LaserProfiles.H
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Laser/LaserProfilesImpl/LaserProfileGaussian.cpp