Skip to main content

Python library for describing time-dependent laserfields by Johannes Feist.

Project description

laserfields

laserfields is a library to describe the time-dependent electric fields of a laser pulse. It implements the same pulse shapes and most of the features of the laserfields library written in Fortran. Please see the documentation of that library for the parameter meanings, conventions used, etc. In particular, the "main" function make_laserfield(**kwargs...) accepts the same parameters as the Fortran library parameter files as keyword arguments, and returns an instance of a subtype of the base class LaserField depending on the parameters. E.g., to create a Gaussian pulse with a duration (defined as the FWHM of the intensity) of 6 fs, a wavelength of 800 nm, a peak intensity of 1e14 W/cm^2, and with the peak at time t=7fs, one should call

lf = make_laserfield(form="gaussianI", is_vecpot=true, lambda_nm=800,
                      intensity_Wcm2=1e16, duration_as=6000, peak_time_as=7000)

Given a LaserField instance lf, the functions lf.E(t), lf.E_fourier(ω), lf.A(t), and lf.A_fourier(ω) can be used to obtain, respectively, the electric field as a function of time, its Fourier transform (implemented for most pulse shapes), the vector potential as a function of time, and its Fourier transform. Calling the instance as a function, lf(t) returns the electric field, i.e., is equivalent to lf.E(t). The notebooks in the examples folder show some ways to use the library, including how to define a set of fields through a YAML configuration file.

The "effective" duration of the pulse for n-photon processes can be obtained as lf.Teff(n_photon), which is the integral over the pulse intensity envelope to the n-th power (i.e., electric field envelope to the (2n)th power) over the pulse, see, e.g., https://doi.org/10.1103/PhysRevA.77.043420 (Eq. 14).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

laserfields-0.4.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

laserfields-0.4.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file laserfields-0.4.0.tar.gz.

File metadata

  • Download URL: laserfields-0.4.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for laserfields-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b3f30b6e5ca86176b94d5e594342502feccfc06ffef54bf4798b837096973bd5
MD5 54a2fd1808202653f1bcc7f9561bbb35
BLAKE2b-256 d7ae64fbe3c9c3e321a29ed9508565473d7370b02fe9368a5c4fd79af630bb2c

See more details on using hashes here.

File details

Details for the file laserfields-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for laserfields-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95310cc1d207e6af579b3e62a4caeba12b55d2a7baaeee1eaece7daf2851bb6c
MD5 c775f08909159e3ca0adf8dd7f79d98e
BLAKE2b-256 8c121cb7f0a347cc63eee3a0261b60939d6e0bcf245e3f774f6599da1e15cb8e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page