What sort of RI techniques are safe to use with different types of SCF?

I am interested in running RSCF, USCF, ROSCF, and ROKS calculations on large molecules. What of the different RI approximations (RI_J, RI_K, PARI_K, OCC_RI_K) are safe to use for these types of SCFs with QChem?

RI-J + occ-RI-K with large MEM_TOTAL is recommended when large basis set (higher than TZ) is used. You can test some systems to see if it works for you. RI-K and PARI-K is not recommended.

Roger on the requirements (TZ or beyond, large memory) to make RI useful. That aside, I am concerned about whether RI is implemented for ROSCF and ROKS calculations. For example, just as a test system and not expecting improvements in timing:

$comment
  Plain old RSCF.
$end

$molecule
  0   1
  Fe
  C   1   rFeC_Short
  C   1   rFeC_Short 2  a_CC_Short
  C   1   rFeC_Long  3  a_CC_LS    2 d_CL_Fe_CS_CS
  C   1   rFeC_Long  2  a_CC_LS    3 d_CL_Fe_CS_CS
  O   1   rFeO_Short 2  a_CO_Short 4 d_OS_Fe_CS_CL
  O   1   rFeO_Short 3  a_CO_Short 5 d_OS_Fe_CS_CL
  O   1   rFeO_Long  4  a_CO_Long  2 d_OL_Fe_CL_CS
  O   1   rFeO_Long  5  a_CO_Long  3 d_OL_Fe_CL_CS

  rFeC_Short    =    1.78765
  rFeO_Short    =    2.92720
  rFeC_Long     =    1.84212
  rFeO_Long     =    2.97961
  a_CC_Short    =  122.24979
  a_CC_Long     =  164.91464
  a_CC_LS       =   93.63430
  a_CO_Short    =  119.08885
  a_CO_Long     =  163.37067
  d_CL_Fe_CS_CS =   96.61375
  d_OL_Fe_CL_CS =  118.66525
  d_OS_Fe_CS_CL =   96.61375
$end

$rem
  METHOD               WB97M-V
  BASIS                def2-SVP
  AUX_BASIS            RIJK-def2-SVP
  RI_J                 TRUE
  occ_RI_K             TRUE
  SYMMETRY             FALSE
  SYM_IGNORE           TRUE
  SCF_ALGORITHM        GDM
  MAX_SCF_CYCLES       200
  MEM_STATIC           500
  THRESH               14
$end

@@@

$comment
 ROSCF calculation on the triplet state.
$end

$molecule
  0   3
  Fe
  C   1   rFeC_Short
  C   1   rFeC_Short 2  a_CC_Short
  C   1   rFeC_Long  3  a_CC_LS    2 d_CL_Fe_CS_CS
  C   1   rFeC_Long  2  a_CC_LS    3 d_CL_Fe_CS_CS
  O   1   rFeO_Short 2  a_CO_Short 4 d_OS_Fe_CS_CL
  O   1   rFeO_Short 3  a_CO_Short 5 d_OS_Fe_CS_CL
  O   1   rFeO_Long  4  a_CO_Long  2 d_OL_Fe_CL_CS
  O   1   rFeO_Long  5  a_CO_Long  3 d_OL_Fe_CL_CS

  rFeC_Short    =    1.78765
  rFeO_Short    =    2.92720
  rFeC_Long     =    1.84212
  rFeO_Long     =    2.97961
  a_CC_Short    =  122.24979
  a_CC_Long     =  164.91464
  a_CC_LS       =   93.63430
  a_CO_Short    =  119.08885
  a_CO_Long     =  163.37067
  d_CL_Fe_CS_CS =   96.61375
  d_OL_Fe_CL_CS =  118.66525
  d_OS_Fe_CS_CL =   96.61375
$end

$rem
  UNRESTRICTED         FALSE
  METHOD               WB97M-V
  BASIS                def2-SVP
  AUX_BASIS            RIJK-def2-SVP
  RI_J                 TRUE
  occ_RI_K             TRUE
  SYMMETRY             FALSE
  SYM_IGNORE           TRUE
  SCF_GUESS            READ
  SCF_ALGORITHM        GDM
  MAX_SCF_CYCLES       200
  MEM_STATIC           500
  THRESH               14
$end

The energy differences between the RSCF and the ROSCF solution seem to be consistent with and without RI but I want to thread with caution, as there is no mention in the manual with regards to which types of SCF are supported for RI and the agreement could be fortuitous in this case.

Both calculations trigger RI-J + occ-RI-K. You can check if you can find out print out like β€œThe virtual molecular orbitals are not correct because of occ-RI-K.” in the output. Because the virtual orbitals computed by occ-RI-K is not correct, there should be related messages printed and the virtual orbital energies are missing in the output, when occ-RI-K is used for SCF.

1 Like