Skip to content

Simulate transient absorption spectroscopy (TAS) for crystals from first principles

License

Notifications You must be signed in to change notification settings

LucasGVerga/PyTASER

 
 

Repository files navigation

Documentation Status made-with-python License: MIT tests pypi black

PyTASER

PyTASER Docs

Official Documentation

PyTASER is a Python library for simulating differential absorption spectra in compounds using quantum chemical calculations, including transient (TAS) and differential (DAS) absorption spectroscopies. The goal of this library is to simulate spectra for comparison with and interpretation of experiments. The main features include:

  • Transient (TAS) and differential (DAS) absorption spectra for insulating and semiconducting crystals (using DFT or database calculations)
  • Plotting contributions from individual band-to-band transitions
  • TAS spectra for different conditions: temperature and carrier concentrations
  • Customisable plotting.
  • Capability to input calculated bandstructure and density of states inputs with support for the Materials Project

Installation

To install the module with pip (recommended):

pip install pytaser

To install directly from the git repository:

pip install git+https://github.com/WMD-group/PyTASER

To do a manual build and installation:

python3 setup.py build
python3 setup.py install

PyTASER is compatible with Python 3.9+ and relies on a number of open-source packages, specifically:

Developer’s installation (optional)

For development work, PyTASER can also be installed from a copy of the source directory:

Download PyTASER source code using the command:

git clone https://github.com/WMD-group/PyTASER

Navigate to root directory:

cd PyTASER

Install the code with the command:

pip install -e .

This command tries to obtain the required packages and their dependencies and install them automatically.

Visualisation

One approach is to use a Jupyter Notebook, as shown in the examples folder. Alternatively, you can set up a file in Python to run in the command line of the terminal:

python3 <filename.py>

If using your own, locally calculated data, please follow this workflow. Otherwise, use the MP-integrated workflow here.

Contributing

We appreciate any contributions in the form of a pull request. Please see the Contributing documentation for more details. Additional analysis/example spectra performed with PyTASER would be welcomed.

Please feel free to reach out to us via the Issue Tracker if there are any questions or suggestions.

Testing

Unit tests are in the tests directory and can be run from the top directory using pytest. Automatic testing is run on the master and develop branches using Github Actions.

Please run tests and add new tests for any new features whenever submitting pull requests.

Future Work

Future topics we plan to build on:

  • Incorporating finite-temperature effects (particularly for indirect band-to-band transitions)
  • Direct treatment of pump-probe time delay and relaxation kinetics
  • Incorporating spin-flip processes for spin-polarised systems
  • Description of defective crystals

Acknowledgements

The project has been developed by @savya10, @kavanase, @LucasGVerga and @youngwonwoo, under the supervision of @utf and @aronwalsh.

About

Simulate transient absorption spectroscopy (TAS) for crystals from first principles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%