|
laserfields
Fortran95 library to describe time-dependent laser pulses
|
Datatype describing a single laserfield, should usually be created through make_laserfield routine. More...
Public Attributes | |
| character(len=30) | form = '' |
| The shape of the envelope, can be 'gaussianF', 'gaussianI', 'sin2', 'sin_exp', 'linear', 'linear2', 'readin'. | |
| character(len=200) | datafile = '' |
| Only for form=='readin': file to read numerical data from. | |
| logical | is_vecpot = .false. |
| If .true., describe the vector potential A(t) with the given envelope - E(t) will contain derivative terms. This is often useful to make sure that A(-infty) = A(infty), a requirement for propagating fields. | |
| real(dp) | intensity_wcm2 = 0.d0 |
| peak intensity in W/cm2 | |
| real(dp) | lambda_nm = 0.d0 |
| carrier wavelength in nm | |
| real(dp) | peak_time_as = 0.d0 |
| peak time of envelope in as | |
| real(dp) | duration_as = 0.d0 |
| duration in as - depending on the value of form, this has different meanings! | |
| real(dp) | rampon_as = 0.d0 |
| Only relevant for form linear and linear2: duration of rampon/rampoff at beginning and end of pulse, in as. | |
| real(dp) | phase_pi = 0.d0 |
| Carrier-envelope phase (CEP), in multiples of π. phase_pi=0 corresponds to a pulse with sin(w (t-tpeak)) oscillation. | |
| real(dp) | form_exponent = 1.d0 |
| Only relevant for form sin_exp: exponent of envelope. | |
| real(dp) | linear_chirp_rate_w0as = 0.d0 |
| linear temporal chirp rate, in units of omega_0/as | |
| real(dp) | e0 = 0.d0 |
| Derived: peak electric field strength in a.u. | |
| real(dp) | omega = 0.d0 |
| Derived: carrier angular frequency in a.u. | |
| real(dp) | tx = 0.d0 |
| Derived: carrier period in a.u. | |
| real(dp) | peak_time = 0.d0 |
| Derived: peak time of envelope in a.u. | |
| real(dp) | duration = 0.d0 |
| Derived: duration in a.u. | |
| real(dp) | rampon = 0.d0 |
| Derived: rampon/rampoff in a.u. | |
| real(dp), dimension(:), allocatable | tt |
| Numerical arrays to save the fields for interpolation for read-in fields. also used for numerical integration of E(t) to obtain A(t) and Z(t) for is_vecpot=.false. and numerical integration of A(t) to obtain Z(t) for is_vecpot=.true. | |
| real(dp), dimension(:), allocatable | ee |
| real(dp), dimension(:), allocatable | aa |
| real(dp), dimension(:), allocatable | zz |
Datatype describing a single laserfield, should usually be created through make_laserfield routine.
Definition at line 13 of file laserfields_module.f90.
| character(len=30) laserfields_module::laserfield::form = '' |
The shape of the envelope, can be 'gaussianF', 'gaussianI', 'sin2', 'sin_exp', 'linear', 'linear2', 'readin'.
Definition at line 22 of file laserfields_module.f90.
| character(len=200) laserfields_module::laserfield::datafile = '' |
Only for form=='readin': file to read numerical data from.
Definition at line 24 of file laserfields_module.f90.
| logical laserfields_module::laserfield::is_vecpot = .false. |
If .true., describe the vector potential A(t) with the given envelope - E(t) will contain derivative terms. This is often useful to make sure that A(-infty) = A(infty), a requirement for propagating fields.
Definition at line 27 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::intensity_wcm2 = 0.d0 |
peak intensity in W/cm2
Definition at line 30 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::lambda_nm = 0.d0 |
carrier wavelength in nm
Definition at line 32 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::peak_time_as = 0.d0 |
peak time of envelope in as
Definition at line 34 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::duration_as = 0.d0 |
duration in as - depending on the value of form, this has different meanings!
Definition at line 42 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::rampon_as = 0.d0 |
Only relevant for form linear and linear2: duration of rampon/rampoff at beginning and end of pulse, in as.
Definition at line 44 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::phase_pi = 0.d0 |
Carrier-envelope phase (CEP), in multiples of π.
phase_pi=0 corresponds to a pulse with sin(w (t-tpeak)) oscillation.
Definition at line 46 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::form_exponent = 1.d0 |
Only relevant for form sin_exp: exponent of envelope.
Definition at line 48 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::linear_chirp_rate_w0as = 0.d0 |
linear temporal chirp rate, in units of omega_0/as
ω(t) = ω0 (1 + linear_chirp_rate_w0 (t-tpeak)) e.g. for a value of 1.d-3, the frequency will change by ω over 1000 as. Since the carrier wave should not have negative frequencies, you must take care that the chirp is not too large.
Definition at line 54 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::e0 = 0.d0 |
Derived: peak electric field strength in a.u.
Definition at line 58 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::omega = 0.d0 |
Derived: carrier angular frequency in a.u.
Definition at line 60 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::tx = 0.d0 |
Derived: carrier period in a.u.
Definition at line 62 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::peak_time = 0.d0 |
Derived: peak time of envelope in a.u.
Definition at line 64 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::duration = 0.d0 |
Derived: duration in a.u.
Definition at line 66 of file laserfields_module.f90.
| real(dp) laserfields_module::laserfield::rampon = 0.d0 |
Derived: rampon/rampoff in a.u.
Definition at line 68 of file laserfields_module.f90.
| real(dp), dimension(:), allocatable laserfields_module::laserfield::tt |
Numerical arrays to save the fields for interpolation for read-in fields. also used for numerical integration of E(t) to obtain A(t) and Z(t) for is_vecpot=.false. and numerical integration of A(t) to obtain Z(t) for is_vecpot=.true.
Definition at line 73 of file laserfields_module.f90.
| real(dp), dimension(:), allocatable laserfields_module::laserfield::ee |
Definition at line 73 of file laserfields_module.f90.
| real(dp), dimension(:), allocatable laserfields_module::laserfield::aa |
Definition at line 73 of file laserfields_module.f90.
| real(dp), dimension(:), allocatable laserfields_module::laserfield::zz |
Definition at line 73 of file laserfields_module.f90.