I’ve just started fiddling about with various SAPT methods again and SAPT-DFT is now a lot more mature than when I last used SAPT and so I’m giving that a go, too. I have a slight query on how to calculate GRAC shifts for the monomers. I think I’ve got it sussed but the documentation is a little confusing on how to calculate values for sapt_dft_grac_shift_a and sapt_dft_grac_shift_b, and so a clarification here may also help others.
The SAPT manual page quotes
“For SAPT(DFT), the user will need to manually specify the GRAC shift of both monomers, defined by the difference of ionization potential (IP) and Kohn-Sham HOMO energy. The ionization potential data for many common molecules is available in NIST Chemistry Webbook. Alternatively, one can estimate the ionization potential of molecule by computing the energy difference between the molecule as given, and the molecule after one electron has been removed (e.g., the energy difference between a neutral molecule and its cation).”
So… IP is simply E_neutral - E_cation (using UHF reference and the same functional and basis set as for the SAPT-DFT parts).
The KS HOMO is simply the energy of the HOMO for the neutral…which will generally be negative.
Taking the manual page literally, then GRAC_shift = IE - HOMO_energy.
However, I think it should be GRAC_shift = IE - (-(HOMO_energy)) (or simply IE + HOMO_energy).
I.e., the GRAC shift is the difference between the calculated IE and that calculated as simply the negative of the HOMO energy (Koopman’s theorem, etc.).
Testing this with water (taken from the example on the SAPT manual page, using PBE0 / aug-cc-pVDZ), I get.
IE = -75.89631165931122 - (-76.35991109343904) = 0.4635994341278149 Ha
HOMO of the neutral form is at -0.333046 Ha
Using GRAC_shift = 0.463599 - (-(-0.333046)) = 0.13055
Matching the values on the manual page of 0.1307
Am I on the right track here?