Octopus
lasers.F90 File Reference

Go to the source code of this file.

Modules

module  lasers_oct_m
 

Data Types

type  lasers_oct_m::laser_t
 
interface  lasers_oct_m::lasers_t
 

Functions/Subroutines

class(lasers_t) function, pointer lasers_oct_m::lasers_constructor (namespace)
 
subroutine, public lasers_oct_m::lasers_parse_external_fields (this)
 
subroutine, public lasers_oct_m::lasers_generate_potentials (this, mesh, space, latt)
 
subroutine, public lasers_oct_m::lasers_check_symmetries (this, kpoints)
 
subroutine lasers_oct_m::lasers_finalize (this)
 
subroutine lasers_oct_m::lasers_deallocate (this)
 
real(real64) function, public lasers_oct_m::laser_carrier_frequency (laser)
 
subroutine lasers_oct_m::lasers_init_interaction_as_partner (partner, interaction)
 
subroutine lasers_oct_m::lasers_update_quantity (this, iq)
 
subroutine lasers_oct_m::lasers_copy_quantities_to_interaction (partner, interaction)
 
integer pure elemental function, public lasers_oct_m::laser_kind (laser)
 
complex(real64) function, dimension(3), public lasers_oct_m::laser_polarization (laser)
 
logical function, public lasers_oct_m::lasers_with_nondipole_field (lasers)
 Check if a nondipole SFA correction should be computed for the given laser. More...
 
subroutine, public lasers_oct_m::lasers_set_nondipole_parameters (this, ndfield, nd_integration_time)
 Set parameters for nondipole SFA calculation. More...
 
subroutine, public lasers_oct_m::laser_get_f (laser, ff)
 
subroutine, public lasers_oct_m::laser_set_f (laser, ff)
 
subroutine, public lasers_oct_m::laser_get_phi (laser, phi)
 
subroutine, public lasers_oct_m::laser_set_phi (laser, phi)
 
subroutine, public lasers_oct_m::laser_set_empty_phi (laser)
 
subroutine, public lasers_oct_m::laser_set_f_value (laser, ii, xx)
 
subroutine, public lasers_oct_m::laser_set_frequency (laser, omega)
 
subroutine, public lasers_oct_m::laser_set_polarization (laser, pol)
 
subroutine, public lasers_oct_m::laser_to_numerical_all (laser, dt, max_iter, omegamax)
 The td functions that describe the laser field are transformed to a "numerical" representation (i.e. time grid, values at this time grid). More...
 
subroutine, public lasers_oct_m::laser_to_numerical (laser, dt, max_iter, omegamax)
 The td functions that describe the laser field are transformed to a "numerical" representation (i.e. time grid, values at this time grid). More...
 
subroutine, public lasers_oct_m::laser_write_info (lasers, namespace, dt, max_iter, iunit)
 
subroutine, public lasers_oct_m::laser_potential (laser, mesh, pot, time)
 
subroutine, public lasers_oct_m::laser_vector_potential (laser, mesh, aa, time)
 
subroutine, public lasers_oct_m::laser_field (laser, field, time)
 Retrieves the value of either the electric or the magnetic field. If the laser is given by a scalar potential, the field should be a function of space (the gradient of the scalar potential times the temporal dependence), but in that case the subroutine just returns the temporal function. More...
 
subroutine, public lasers_oct_m::lasers_nondipole_laser_field_step (this, field, time)
 Retrieves the NDSFA vector_potential correction. The nondipole field is obtained for consecutive timesteps and adds onto field at the previous timestep (for increased speed). The algorithm finds the accumulated A^M from oldtime to time, and add to the input A^M. The Nondipole field is obtained for an electron of q=-abs(e) =-1 a.u. and m = 1 a.u from f$A^{(M)} = \frac{q}{mc} \int dt \sum_i \sum_j A^{(0)}_i \cdot E^{(0)}_j \widehat{r}_j. More...
 
subroutine, public lasers_oct_m::laser_electric_field (laser, field, time, dt)
 Returns a vector with the electric field, no matter whether the laser is described directly as an electric field, or with a vector potential in the velocity gauge. More...
 
subroutine, public lasers_oct_m::load_lasers (partners, namespace)
 

Variables

integer, parameter, public lasers_oct_m::e_field_none = 0
 
integer, parameter, public lasers_oct_m::e_field_electric = 1
 
integer, parameter, public lasers_oct_m::e_field_magnetic = 2
 
integer, parameter, public lasers_oct_m::e_field_vector_potential = 3
 
integer, parameter, public lasers_oct_m::e_field_scalar_potential = 4