Phonopy-Spectroscopy is a project to add the capability to simulate vibrational spectra to the Phonopy code.[1]
The software package consists of a Python module, spectroscopy
, along with a set of command-line scripts for working with output from Phonopy and VASP.
-
Calculate infrared (IR) intensities from Phonopy or VASP calculations.
-
Calculate Raman-activity tensors and scalar-averaged intensities within the far-from-resonance approximation.
-
Prepare peak tables including assigning modes to irreducible representations (Phonopy interface).
-
Output customisable simulated spectra with support for multiple unit systems and simulated instrumental broadening.
-
Include first-principles mode linewidths from Phono3py[2] calculations (Phonopy interface).
The code depends on the NumPy
[3] and PyYAML
[4] packages, and the Phonopy interface additionally requires the Phonopy
Python library[1] and the H5py package.[5]
All four packages are available from PyPI (via pip
) and on the Anaconda platform (conda
).
Please see the documentation of the codes for instructions on how to install them on your system.
This code does not currently ship with a setup.py
script.
After cloning or downloading and unpacking the repository, add it to your PYTHONPATH
so that the command-line scripts can locate spectroscopy
, e.g.:
export PYTHONPATH=${PYTHONPATH}:/Volumes/Data/Repositories/Phonopy-Spectroscopy/lib
The command-line scripts are in the Scripts directory.
For convenience, you may wish to add this folder to your PATH
variable, e.g.:
export PATH=${PATH}:/Volumes/Data/Repositories/Phonopy-Spectroscopy/scripts
You will also need to make the scripts executable:
chmod +x scripts/*
For a description of the command-line arguments the scripts accept, call them with the -h
option, e.g.:
phonopy-ir -h
-
Benzene derivatives: Simulated IR spectra of isolated molecules using the Phonopy interface, compared to reference gas-phase spectra from the NIST database
-
α-SiO2: Detailed simulation of the IR and Raman spectra of α-SiO2 (quartz) using the Phonopy interface, including first-principles linewidths calculated using Phono3py, compared to spectra from the RRUFF database
We haven't written a standalone paper on this code yet, but it is based on the formulae collected in:
J. M. Skelton, L. A. Burton, A. J. Jackson, F. Oba, S. C. Parker and A. Walsh, "Lattice dynamics of the tin sulphides SnS2, SnS and Sn2S3: vibrational spectra and thermal transport", Physical Chemistry Chemical Physics 19, 12452 (2017), DOI: 10.1039/C7CP01680H (this paper is open access)
If you use Phonopy-Spectroscopy in your work, please consider citing this paper and/or including a link to this GitHub repository when you publish your results.