A Python 3 script for (hassle-free) plotting of absorption spectra from ORCA output files with peak dectection and annotation. It combines the stick spectrum with the convoluted spectrum (gaussian line shape). The script supports energy (wave number, cm-1) and wavelength (λ, nm) plots. The full spectrum or parts of the spectrum can be plotted.
re
numpy
matplotlib
scipy
Start the script with:
python3 orca-uv.py filename
it will save the plot as PNG bitmap:
filename-abs.png
filename
, required: filename-s
, optional: shows thematplotlib
window-n
, optional: do not save the spectrum-e
, optional: export the line spectrum in a csv-like fashion; filename of the export is input filename + "-mod.dat"-pwn
, optional: plot the wave numer (energy, cm-1) spectrum-wnm
N
, optional: line width of the gaussian for the nm scale (default isN = 20
)-wwn
N
, optional: line width of the gaussian for the cm-1 scale (default isN = 1000
)-x0
N
, optional: start spectrum at N nm or N cm-1 (x0 => 0
)-x1
N
, optional: end spectrum at N nm or N cm-1 (x1 => 0
)
There are numerous ways to configure the spectrum in the script:
Check # plot config section - configure here
in the script.
You can even configure the script to plot of the single gaussian functions.
The delimiter for the line spectrum export can be changed by changing the value of export_delim =
.
Colors, line thickness, line styles, level of peak detection and more can be changed in the code directly.
The PNG file will be replaced everytime you start the script with the same output file. If you want to keep the file, you have to rename it. The data are taken from the section "ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS".