laserfields
Fortran95 library to describe time-dependent laser pulses
Loading...
Searching...
No Matches
laserfields.f90
Go to the documentation of this file.
1! Copyright (c) 2012, Johannes Feist
2! licensed under the MIT open source license, see LICENSE file
3
5 ! this is a trick for making use with intel fortran easier:
6 ! we explicitly list the variables/functions we want to import, which
7 ! causes the generated laserfields.mod file to contain the definitions themselves and
8 ! not to depend on laserfields_module.mod and laserfields_paramfilehandling.mod
9 ! in addition, this gives us the opportunity not to export all functions in these
10 ! modules for "external" use
11 use nrtype, ONLY : dp, dpc
12 use laserfields_module, only : &
22end module laserfields
Return the fourier transform . if called with a type(laserfield) argument, gets for just that one fi...
Return the positive-frequency part of the vector potential A^(+)(t). if called with a type(laserfield...
Return the vector potential A(t). if called with a type(laserfield) argument, gets A(t) for just that...
Return the fourier transform E(ω) as a string that can be used as a function in gnuplot....
Return the fourier transform . if called with a type(laserfield) argument, gets for just that one fi...
Return the positive-frequency part of the electric field E^(+)(t). if called with a type(laserfield) ...
Return the electric field E(t). if called with a type(laserfield) argument, gets E(t) for just that o...
Return the free-space displacement Z(t) of an electron. if called with a type(laserfield) argument,...
Make a new type(laserfield), either from parameters or reading from a datafile.
read laserfield parameters and put into global all_laser_fields array
write parameters of all laserfields in global all_laser_fields array
real(dp) function lf_get_endtime(lf)
subroutine write_laserfields(unit, timestep)
real(dp) function laserfield_int(lf, n_photon)
integer n_laserfields
Number of laserfields in the global array all_laserfields.
subroutine add_laserfield(lf)
add a type(laserfield) to the global list all_laserfields
real(dp) function cs_factor(lf, n_photon)
real(dp) function laserfields_endtime()
character(1000) function lf_envelope_fourier_string(lf, omegastr)
logical function lf_can_get_fourier(lf)
logical function laserfields_can_get_fourier()
type(laserfield), dimension(100) all_laserfields
Global array saving the laserfields read from parameter files and added with add_laserfield.
subroutine lf_get_omega(lf, zeit, omega, env)
real(dp) function laserfields_smallest_tx()
real(dp) function lf_get_starttime(lf)
real(dp) function laserfield_teff(lf, n_photon)
complex(dpc) function lf_envelope_fourier(lf, omega)
real(dp) function laserfields_largest_possible_dt(zeit, endzeit, global)
This function gives the maximum timestep that resolves the current oscillation well....
real(dp) function tdcs_factor(lf, n_photon)
real(dp) function laserfields_starttime()
subroutine lf_get_envelope(lf, zeit, env, envpr)
integer, parameter dpc
Definition nrtype.f90:7
integer, parameter dp
Definition nrtype.f90:6
Datatype describing a single laserfield, should usually be created through make_laserfield routine.