Pair correlation energies with set pair_energies_print true

Psi4 writes the pair correlation energies when ‘set pair_energies_print true’ is used.
Can you please let me know, how the pair correlation energies are actually defined and computed in Psi4 (for MP2 and CCSD)?

Next: pair correlation energies are written for singlet states. When I specify a triplet state, pair correlation energies are not written. Why? Can Psi4 give them, too?

Here is my example singlet input:
molecule mol {
0 1
He
}
set scf {
df_scf_guess false
scf_type out_of_core
guess core
}
set ccenergy {
cc_type conv
cachelevel=0
}
set pair_energies_print true
set basis_guess cc-pcvdz
set basis aug-cc-pcvqz
energy(‘ccsd’)

Here is my example triplet input:
molecule mol {
0 3
He
}

set reference rohf
set scf {
df_scf_guess false
scf_type out_of_core
guess core
}
set ccenergy {
cc_type conv
cachelevel=0
}
set pair_energies_print true
set basis_guess cc-pcvdz
set basis aug-cc-pcvqz
energy(‘ccsd’)

Hello Ludger,

I’m not familiar with pair correlation energies, but I did see the following pair of formulas commented in the source code:

E(IJ) = T2(IJ,AB) * (<ij|ab> - <ij|ba>)
E(Ij) = T2(Ij,Ab) * <ij|ab>

Pair energies are only calculated for an RHF reference wavefunction, which explains why triplet Helium doesn’t produce any output. While poking around the code, I noticed that if you add set spinadapt_energies true’ to your singlet input you’ll get singlet and triplet pair energies.

Here is the source code if you’re interested in seeing for yourself:

Best,
Zach

Hi Zach,
thanks a lot for your very helpful reply!
I still have to learn that the detailed documentation is in the source code.
Best regards,
Ludger

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.