Computing Dipole Moment from CCSD(T)

There is. The changes you need to make to your output file are as follows:

Change the last line to _, wfn = psi4.gradient('CCSD(T)', molecule=ion_geom, return_wfn=True). Three important things have changed. One is that we have changed from a properties call to a gradient call. One is that we are now asking to return the wavefunction. The third is that we are now saving the wavefunction as a variable. The goal of all this is to get the correlated response density on a wavefunction object.

This is exactly what oeprop needs:

oeprop = psi4.core.OEProp(wfn)

Two words of warning.

  1. As developers, we strongly encourage you to use the built-in properties function instead of OEProp wherever possible. This is an exception. (OEProp does not check that the density matrix attached to the wavefunction means what you think it means. properties does.)
  2. If you are going to do this, you must use an up-to-date version of Psi4! If you use Psi4 1.3, this method will give you wrong results. I strongly encourage you to use the current stable release of Psi4 1.4. If you use a development version of Psi, it must have PR #1964, which dates to 7/20/2020.
1 Like