CCSD/CCSD(T) Energies


we recently started to use PSI4 and are currently comparing results obtained with PSI4 with those obtained previously with other codes. While HF and DFT energies are usually identical within rounding errors, we realized that particularly CCSD and CCSD(T) energies deviated significantly.

One representative example is a simple CCSD/aug-cc-pvdz calculation of formaldehyde.

PSI4 reports the following energies:
HF energy -113.883953367912937
CCSD energy -114.236799942023211

A calculation with Gaussian09 results in the following values:
HF energy -113.8839534
CCSD energy -114.2319093

The psi4-Input looks like this:

memory 19 GB

molecule Test {
O 0.56196800 -1.26939800 0.00000000
C -0.24897300 -2.17498200 0.00000000
H -1.32371700 -1.96880100 0.00000000
H 0.12189300 -3.20325700 0.00000000

set basis aug-cc-pvdz

Do you have any suggestions on why these values deviate so much and how to overcome this problem?

Thank you very much for any suggestions.

Best wishes,


Just add

set freeze_core true

to your input file, and the PSI4 and G09 energies will match. Gaussian freezes core orbitals by default, whereas PSI4 does not.

Also, this calculation really doesn’t need so much memory. Even 1.0 GB is plenty in this case, as the integrals are only 100 MB or so.


Thanks for the quick reply. I am aware of the large memory (we forgot to adjust our default number for these smaller calculations).

For larger calculations, you may also want to use:

set cachelevel 0

This will avoid memory fragmentation problems in the CC codes for large cases where the internal cache just gets in the way.


If your CC correlation energy matches another program, but the CC total energy doesn’t, you may want to try set scf_type pk or some other non-density-fitting algorithm. Psi4 runs DF-HF by default, which isn’t too sensible for high-scaling methods that require full 2-electron integrals anyway.