pwfn is a tiny library for parsing AIMPAC
format .wfn
files from quantum
chemistry programs and Molden2Aim
into a Python data structure. This can be used to do ML on electronic
wavefunctions.
This library does not do anything besides parsing! It is basically a single page pyparsing grammar. You'll need to do your own data processing from its outputs.
pwfn consists of a single string parser pwfn.loads(s)
,
import pwfn
with open("benzene.wfn", "r") as f:
wavefunction = pwfn.loads(f.read())
This returns a Wavefunction
container with the extracted data in its
attributes. All quantities are in Hartree units (unchanged from the .wfn
format).
pwfn is available from pip,
pip install pwfn
It depends on the excellent pyparsing library as well as numpy.
If you want a similarly minimalist library to parse formatted checkpoint files, consider my other library fchic. If you are looking for a full feature solution for wavefunction data analysis, consider using the excellent Multiwfn program or orbkit.
pwfn is free software provided under the MIT license.