7.10 Coupled-Cluster Excited-State and Open-Shell Methods

7.10.12 Single-Precision Arithmetic in EOM-CC Calculations

(June 30, 2021)

Similar to ground-state CCSD calculations described in Section 6.17, single precision can be used in EOM-CC and EOM-MP2 calculations. 873 Pokhilko P., Epifanovsky E., Krylov A. I.
J. Chem. Theory Comput.
(2018), 14, pp. 4088.
Link
Currently, the following variants of EOM are supported: EE, SF,IP, EA; both in standard and RI/CD implementations, for energies and properties evaluation. If you wish to use single-precision version of EOM, please first read Section 6.17 for basic setup of single-precision coupled-cluster calculation. Here we describe only additional EOM-specific keywords.

Precision selection is controlled by the EOM_SINGLE_PREC keyword: 0 corresponds to double-precision calculation and 1 corresponds to single-precision calculation. EOM-specific convergence criteria are controlled by the same keywords as in the double precision, but the same rule as for CCSD applies: too tight thresholds may cause issues with convergence. The default Davidson threshold 10-5 works well for most cases. 873 Pokhilko P., Epifanovsky E., Krylov A. I.
J. Chem. Theory Comput.
(2018), 14, pp. 4088.
Link

The keyword CC_SP_DM controls calculation of intermediates, density matrices, and S2 for EOM calculations in the same manner as for CCSD, which is described in Section 6.17.

Calculations of analytical gradients require solving amplitude-response equations, which can be done on single precision as well; this is activated by EOM_ARESP_SINGLE_PREC = 1.

EOM_SINGLE_PREC
       Precision selection for EOM-CC/MP2 calculations. Available in CCMAN2 only.
TYPE:
       INTEGER
DEFAULT:
       0 double-precision calculation
OPTIONS:
       1 single-precision calculation 2 single-precision calculation is followed by double-precision clean-up iterations
RECOMMENDATION:
       Do not set too tight convergence criteria when use single precision

EOM_ARESP_SINGLE_PREC
       Precision selection for amplitude response EOM equations. Available in CCMAN2 only.
TYPE:
       INTEGER
DEFAULT:
       0 double-precision calculation
OPTIONS:
       1 single-precision calculation
RECOMMENDATION:
       NONE

Example 7.52  A job evaluating EOM-EA-CCSD energies for formaldehyde anion using single-precision execution combined with CD

$comment
   Formaldehyde anion, single-precision calculation
$end

$molecule
   0 1
   C
   H  1  1.127888
   H  1  1.127888  2  100.546614
$end

$rem
   BASIS                 = cc-pvdz
   METHOD                = ccsd
   CHOLESKY_TOL          = 3
   EA_STATES             = [1,0,0,0]
   CC_REF_PROP           = 1   Compute properties of the CCSD reference
   !SP keywords
   CC_SINGLE_PREC        = 1
   CC_SP_T_CONV          = 4
   CC_SP_E_CONV          = 6
   CC_ERASE_DP_INTEGRALS = 0 ! set 1 to save disk space
   CC_SP_DM              = 1
   !EOM-specific keyword
   EOM_SINGLE_PREC       = 1
$end

View output

Example 7.53  Geometry optimization of a triplet excited state of uracil-water complex in single-precision setup

$molecule
   0 1
   N     0.034130    -.986909    0.000000
   N    -1.173397     .981920    0.000000
   C    -1.218805    -.408164    0.000000
   C    -0.007302    1.702153    0.000000
   C     1.196200    1.107045    0.000000
   C     1.289085    -.345905    0.000000
   O     2.310232    -.996874    0.000000
   O    -2.257041   -1.026495    0.000000
   H     0.049329   -1.997961    0.000000
   H    -2.070598    1.437050    0.000000
   H    -0.125651    2.776484    0.000000
   H     2.111671    1.674079    0.000000
   O     1.747914   -1.338382   -3.040233
   H     2.180817   -1.817552   -2.333676
   H     0.813180   -1.472188   -2.883392
$end

$rem
   JOB_TYPE              = opt
   METHOD                = ccsd
   BASIS                 = cc-pvdz
   CC_STATE_TO_OPT       = [1,1]
   MEM_TOTAL             = 30000
   EE_TRIPLETS           = [1]
   CC_SP_T_CONV          = 4
   CC_SP_E_CONV          = 6
   CC_SINGLE_PREC        = 1
   EOM_SINGLE_PREC       = 1
   CC_SP_DM              = 1
   CC_EOM_PROP           = 1
   EOM_ARESP_SINGLE_PREC = 1
$end

View output