Skip to content

Fortran95 library to describe time-dependent laser pulses

License

Notifications You must be signed in to change notification settings

jfeist/laserfields

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

laserfields

laserfields is a library to describe the time-dependent electric fields of a laser pulse. It is written in Fortran 95 and licensed under the MIT License (see LICENSE file). The main author is Johannes Feist (johannes.feist@gmail.com), with some contributions by Stefan Nagele and Renate Pazourek. If you publish work using it, please reference the web page, https://github.com/jfeist/laserfields.

laserfields also includes a Fortran interface (using Fortran C bindings) to the Faddeeva Package by Steven G. Johnson, available from http://jdj.mit.edu/wiki/index.php/Faddeeva_Package.

Installation

To compile the library, simply run make from the main directory. If your compiler is not gfortran, edit the Makefile. You should only have to modify FC, FCFLAGS, and MODLOCFLAG. For Intel fortran (ifort), you can compile with make USEIFORT=yes. After the compilation has finished, the lib folder should contain two files: liblaserfields.a and laserfields.mod. To use the library in your program, add the flag -I${LASERFIELDS_DIRECTORY}/lib to your compilation step, and -L${LASERFIELDS_DIRECTORY}/lib -llaserfields to the linking.

To also compile the provided programs, do make progs.

make test (requires a recent version of gnuplot) produces test/laserfields_tests.pdf, which shows some sample fields and their Fourier transform.

Documentation

Sample input files are in test, while programs contains small programs using the library. For new users, programs/test_laserfields.f90 is probably a good starting point to see how to use the library.

Two short notes are provided: one discusses the units of the Fourier transformed fields, while the other discusses the analytical Fourier transforms of chirped pulses.

In addition, documentation of the source code (autogenerated with doxygen) can be found at https://jfeist.github.io/laserfields. Rewriting the comments in the source code to make this more useful is an ongoing task.

About

Fortran95 library to describe time-dependent laser pulses

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published