Confirmation for how CBS is computed


I would like to verify how a complete basis set limit is computed. In my input I have the following line:

energy(cbs, corl_wfn='mp2', corl_basis='aug-cc-pv[tq]z', scf_basis='aug-cc-pv[dtq]z', corl_scheme=corl_xtpl_helgaker_2, scf_scheme=scf_xtpl_helgaker_3)

At the end of the run, the log file includes these lines:

==> Stages <==
scf hf / aug-cc-pv[dtq]z 1 -193.21347417 scf_xtpl_helgaker_3
corl mp2 / aug-cc-pv[tq]z 1 -194.08699951 corl_xtpl_helgaker_2
corl hf / aug-cc-pv[tq]z -1 -193.21831488 corl_xtpl_helgaker_2

It is clear that the scf limit, obtained from the use of three basis sets, was computed using Helgaker’s exponential equation (scf_xtpl_helgaker_3).

Now here is my desire for confirmation - for the correlation energy, was the Helgaker’s power equation (data from two basis sets, i.e. corl_xtpl_helgaker_2) used for computing both the MP2 total energy (-194.08699951) and the HF total energy (193.21831488)? The reason I ask is because there is another exponential extrapolation option in the manual for computing the scf component using the data from two basis sets, which is scf_xtpl_helgaker_2.

Another small question. The final extrapolated correlation energy reported to be:

==> CBS <==
corl mp2 / aug-cc-pv[tq]z -0.86868463 corl_xtpl_helgaker_2

In Psi4, is this final computed value obtained by taking the difference in the above total energies in the ==> Stages <== section, or was the correlation energy here directly extrapolated (corl_xtpl_helgaker_2) using the reported Correlation Energy found in each of the individual basis set calculations?

Thanks in advance,

Thanks for the careful question.

You’re quite right that an entity labeled ... hf / aug-cc-pv[tq]z ... corl_xtpl_helgaker_2 makes no sense in its own right. It’s purely computed as the analog of the mp2 quantity so as to extract the mp2 – hf correlation energy. (The function used to work in correlation energies directly, which is more natural for CBS, but switched to this way when the cbs() procedure started supporting gradients, as a “CCSD correlation gradient” isn’t natural for derivatives coding.)

The final computed value is from the ==> Stages <== section with “Energy” figures multiplied by “Wt” (weight) figures and summed. It should be completely equivalent to the figure extractable from the ==> Components <== section and to the figure extractable from the individual calcs.

Please let me know if any of this doesn’t make sense or if you notice anything suspicious.

Hello Lori,

Thanks for the answer, which answer/closes my post.

However, I can provide a little bit more feedback, which might be helpful for future folks who are curious about this. I took the time to manually confirm the line hf / aug-cc-pv[tq]z ... corl_xtpl_helgaker_2 (i.e. the use of corl_xtpl_helgaker_2 equation). For 8 different conformations of propan-2-ol, I was able to reproduce the values shown in the ==> CBS <== section. So nothing suspicious.

As a quick test and to satisfy my curiosity - I went ahead and implemented scf_xtpl_helgaker_2 in place of corl_xtpl_helgaker_2. Doing so changed the resulting absolute CBS values slightly, while the relative energies only differed by 0.007 kcal/mol or less (via AVnZ n=D,T,Q basis set sequence) and 0.002 kcal/mol or less (via AVnZ n=T,Q,5 basis set sequence).

Bests regards,