Welcome to PyTASER’s 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
Capability to input calculated bandstructures and density of states inputs with support for https://materialsproject.org.
TAS is a powerful pump-probe tool to characterise the excited states of materials, while DAS can be used to represent how changes in a system affects its ground-state optical absorption spectra. These techniques can be used to understand microscopic processes in photochemical and electrochemical transformations, including phenomena such as electron trapping and carrier recombination.
The drawback is that TAS spectra are difficult to interpret, especially for crystals where the specific valence and conduction band structure can give rise to complex features. Our goal here is to predict TAS features from first-principles starting from the most simple models of static excitations through to the kinetics of relaxation of the excited state back to the ground state.
To install the module with
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
Developer’s installation (optional)#
For development work,
PyTASER can also be installed from a copy of the source directory:
PyTASER source code using the command:
git clone https://github.com/WMD-group/PyTASER
Navigate to root directory:
Install the code with the command:
pip install -e .
This command tries to obtain the required packages and their dependencies and install them automatically.
PyTASER is currently compatible with
Python 3.9+ and relies on a number of open-source python packages, specifically:
The preferred method is to generate a
Jupyter Notebook, as shown in the examples folder.
Alternatively, you can setup a
Python file to run it in the command line of the terminal:
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.
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 topics we plan to build on:
Incorporating finite-temperature effects (particularly for indirect bandgaps)
Direct treatment of pump-probe time delay and relaxation kinetics
Incorporating spin-flip processes for spin-polarised systems
Description of defective crystals
Developed by Savyasanchi Aggarwal, Seán Kavanagh, Lucas Verga, Youngwon Woo and Alex Ganose. Aron Walsh designed and led the project. Thanks to group members for their support, especially Anahita Manchala and Liam Harnett-Caulfield.