ccCA reference energy calculation correction


Click here for full thread
Clicked A Few Times
The CBS extrapolation uses single precision constants which should be coerced to double precision ones, as per suggestion from Edoapra.

Without this change, the error is in 10s of microHartrees for small molecules and grows larger with increasing heavy atom count.

A patch file for the 27746 release (from Fedora 24) appears below.

--- src/ccca/ccca_utils.F.orig  2017-09-11 18:44:59.917105436 -0500
+++ src/ccca/ccca_utils.F       2017-09-11 18:49:41.625143653 -0500
@@ -674,17 +674,17 @@
       E_Q = E_Q - HF_Q
 c
 c     fit function: E(n) = E(inf) + B*exp(-1.63*n)
-      ErefHF=-0.243672155849*HF_T+1.243672155849*HF_Q
+      ErefHF=-0.243672155849d0*HF_T+1.243672155849d0*HF_Q
 c
 c     fit function: E(lmax) = E(inf) + B/(lmax)^3
-      ErefS3=ErefHF-0.729729729730*E_T+1.729729729730*E_Q
+      ErefS3=ErefHF-0.729729729730d0*E_T+1.729729729730d0*E_Q
 c
 c     fit function: E(lmax) = E(inf) + B/(lmax+1/2)^4
-      ErefS4=ErefHF-0.577163461538*E_T+1.577163461540*E_Q
+      ErefS4=ErefHF-0.577163461538d0*E_T+1.577163461540d0*E_Q
 c
 c     fit function: E(n) = E(inf) + B*exp(-(n-1)) + C*exp(-(n-1)**2)
-      ErefP=ErefHF+0.034867106002*E_D-0.711622433526*E_T
-     $      +1.676755327520*E_Q
+      ErefP=ErefHF+0.034867106002d0*E_D-0.711622433526d0*E_T
+     $      +1.676755327520d0*E_Q
       ErefPS3=(ErefP+ErefS3)*0.5
       DKcorr=DK-mp2vtz
       CVcorr=CV-E_T-HF_T