I’m new to PSI4 and quantum chemistry in general. I was wondering if anyone could help me figure out what functions I can use to calculate the following molecular descriptors using the Python API: dipole moment, chemical potential (μ), hardness (η), and electrophilicity index (ω).
I’ve also calculated the HOMO and LOMO energies for a sample molecule (benzene) by extracting them from the wave function. Would I be able to calculate the descriptors mentioned above by using the wavefunction?
The dipole moment and some other simple properties can be returned by the properties method. Not sure if there is a longer list of the properties it will output, but some are listed here.
The others are more complicated/expensive computationally.
Thermodynamic properties (i.e., chemical potential/Gibbs energy) are calculated by the frequency method via statistical mechanics.
Chemical hardness is not well defined, but if you want to use Koopmans’s theorem, you should be aware that HOMO/LUMO energies are not very accurate by DFT. It would be better to calcluate the difference in the electron affinity and ionization potential by taking half the difference of the anionic and cationic version of your molecule.
Many properties can be calculated by Multiwfn (free). You could get python to call it after you have your wavefunction; get bash to call it after your psi4 job is done; or do it manually. You will need to output a molden file with the wavefunction to read into Multiwfn.