X

Search Results

Searching....

13.5 Nuclear–Electronic Orbital Method

13.5.3 Job Control for the NEO-SCF methods

(May 7, 2024)

13.5.3.1 General Keywords

The NEO method is a natural extension of the SCF method and it inherits most of its functionalities. Thus, the keywords that are used in the SCF Job Control are used in the NEO-SCF methods with a few additional keywords. The NEO-SCF methods require definition of the nuclear basis sets (see Examples for more information). Refer to Ref.  271 Culpitt T. et al.
J. Chem. Phys.
(2019), 150, pp. 201101.
Link
for selection of the protonic basis sets. Only pure (spherical) Gaussian basis sets are currently available. The following three $rem variables must be specified in order to run NEO-SCF calculations:

NEO

NEO
       Enable a NEO-SCF calculation.
TYPE:
       BOOLEAN
DEFAULT:
       FALSE
OPTIONS:
       TRUE Enable a NEO-SCF calculation. FALSE Disable a NEO-SCF calculation.
RECOMMENDATION:
       Set to TRUE if desired.

METHOD

METHOD
       Specifies the exchange-correlation functional.
TYPE:
       STRING
DEFAULT:
       No default
OPTIONS:
       NAME Use METHOD = NAME, where NAME is one of the following: HF for Hartree-Fock theory; one of the DFT methods listed in Section 5.3.5.;
RECOMMENDATION:
       In general, consult the literature to guide your selection. Our recommendations for DFT are indicated in bold in Section 5.3.5.

BASIS

BASIS
       Specifies the electronic basis sets to be used.
TYPE:
       STRING
DEFAULT:
       No default basis set
OPTIONS:
       General, Gen User defined ($basis keyword required). Symbol Use standard basis sets as per Chapter 8. Mixed Use a mixture of basis sets (see Chapter 8).
RECOMMENDATION:
       Consult literature and reviews to aid your selection.

In addition, the following $rem variables, that appear in the conventional SCF calculations can be used to customize the NEO-SCF calculation:

SCF_CONVERGENCE

SCF_CONVERGENCE
       NEO-SCF is considered converged when the electronic wave function error is less that 10-SCF_CONVERGENCE. Adjust the value of THRESH at the same time. (Starting with Q-Chem 3.0, the DIIS error is measured by the maximum error rather than the RMS error as in earlier versions.)
TYPE:
       INTEGER
DEFAULT:
       5 For single point energy calculations. 8 For geometry optimizations.
OPTIONS:
       User-defined
RECOMMENDATION:
       None.

NEO_N_SCF_CONVERGENCE

NEO_N_SCF_CONVERGENCE
       NEO-SCF is considered converged when the nuclear wave function error is less that 10-NEO_N_SCF_CONVERGENCE.
TYPE:
       INTEGER
DEFAULT:
       7
OPTIONS:
       User-defined
RECOMMENDATION:
       None.

UNRESTRICTED

UNRESTRICTED
       Controls the use of restricted or unrestricted orbitals.
TYPE:
       LOGICAL
DEFAULT:
       FALSE Closed-shell systems. TRUE Open-shell systems.
OPTIONS:
       FALSE Constrain the spatial part of the alpha and beta orbitals to be the same. TRUE Do not Constrain the spatial part of the alpha and beta orbitals.
RECOMMENDATION:
       The ROHF method is not available. Note that for unrestricted calculations on systems with an even number of electrons it is usually necessary to break α/β symmetry in the initial guess, by using SCF_GUESS_MIX or providing $occupied information (see Section 4.4 on initial guesses).

MAX_SCF_CYCLES

MAX_SCF_CYCLES
       Controls the maximum number of SCF iterations permitted.
TYPE:
       INTEGER
DEFAULT:
       50
OPTIONS:
       n n>0 User-selected.
RECOMMENDATION:
       Increase for slowly converging systems such as those containing transition metals.

SCF_ALGORITHM

SCF_ALGORITHM
       Algorithm used for converging the SCF.
TYPE:
       STRING
DEFAULT:
       DIIS Pulay DIIS.
OPTIONS:
       DIIS Pulay DIIS. DM Direct minimizer. DIIS_DM Uses DIIS initially, switching to direct minimizer for later iterations (See THRESH_DIIS_SWITCH, MAX_DIIS_CYCLES). DIIS_GDM Use DIIS and then later switch to geometric direct minimization (See THRESH_DIIS_SWITCH, MAX_DIIS_CYCLES). GDM Geometric Direct Minimization. RCA Relaxed constraint algorithm RCA_DIIS Use RCA initially, switching to DIIS for later iterations (see THRESH_RCA_SWITCH and MAX_RCA_CYCLES described later in this chapter) ROOTHAAN Roothaan repeated diagonalization.
RECOMMENDATION:
       In the NEO methods, the GDM procedure is recommended.

JOBTYPE

JOBTYPE
       Specifies the calculation.
TYPE:
       STRING
DEFAULT:
       Default is single-point, which should be changed to one of the following options.
OPTIONS:
       OPT Equilibrium structure optimization. TS Transition structure optimization is currently not available in NEO. RPATH Intrinsic reaction path following is currently not available in NEO.
RECOMMENDATION:
       Application-dependent. Always use POINT_GROUP_SYMMETRY = FALSE with geometry optimization.

XC_GRID

XC_GRID
       Specifies the type of grid to use for DFT calculations.
TYPE:
       INTEGER
DEFAULT:
       Functional-dependent; see Table 5.3.
OPTIONS:
       0 Use SG-0 for H, C, N, and O; SG-1 for all other atoms. n Use SG-n for all atoms, n=1,2, or 3 XY A string of two six-digit integers X and Y, where X is the number of radial points and Y is the number of angular points where possible numbers of Lebedev angular points, which must be an allowed value from Table 5.2 in Section 5.5. -XY Similar format for Gauss-Legendre grids, with the six-digit integer X corresponding to the number of radial points and the six-digit integer Y providing the number of Gauss-Legendre angular points, Y=2N2.
RECOMMENDATION:
       Use the default unless numerical integration problems arise. Larger grids may be required for optimization and frequency calculations.

13.5.3.2 Additional Keywords

Additional NEO specific $rem variables can be used to customize the NEO-SCF calculation:

NEO_E_CONV

NEO_E_CONV
       Energy convergence criteria in the NEO-SCF calculations so that the difference in energy between electronic and protonic iterations is less than 10-NEO_E_CONV.
TYPE:
       INTEGER
DEFAULT:
       8
OPTIONS:
       User-defined
RECOMMENDATION:
       Tighter criteria for geometry optimization are recommended.

NEO_BASIS_LIN_DEP_THRESH

NEO_BASIS_LIN_DEP_THRESH
       This keyword is used to set the liner dependency threshold for nuclear basis sets. It is defined as 10-NEO_BASIS_LIN_DEP_THRESH.
TYPE:
       DOUBLE
DEFAULT:
       5.0
OPTIONS:
       User-defined
RECOMMENDATION:
       No recommendation.

NEO_PURECART

NEO_PURECART
       This keyword is used to specify Cartesian or spherical Gaussians for nuclear basis functions.
TYPE:
       INTEGER
DEFAULT:
       2222
OPTIONS:
       User-defined
RECOMMENDATION:
       The default value corresponds to the use of Cartesian Gaussians for all angular momentum classes. The value NEO_PURECART = 1111 would use spherical Gaussians instead, similar to the use of PURECART.

NEO_ISOTOPE

NEO_ISOTOPE
       Enable calculations of different types of isotopes. Only one type of isotope is allowed at present.
TYPE:
       INTEGER
DEFAULT:
       1 Default is the proton isotope.
OPTIONS:
       1 This NEO calculation is using proton isotope. 2 This NEO calculation is using deuterium isotope. 3 This NEO calculation is using tritium isotope.
RECOMMENDATION:
       Refer to the NEO literature for the best performance on the isotope effects calculations.

NEO_VPP

NEO_VPP
       This keyword is used to control whether to remove J-K terms from the nuclear Fock matrix and the corresponding kernel terms for NEO excited state methods. Note that the purpose for the removal of these terms in the case of one quantum proton is to save on computational cost.
TYPE:
       LOGICAL/INTEGER
DEFAULT:
       TRUE
OPTIONS:
       TRUE (or 1) Enable this option (include nuclear J-K terms). FALSE (or 0) Disable this option (remove nuclear J-K terms).
RECOMMENDATION:
       Set NEO_VPP = 0 only in the case of one quantum hydrogen.

NEO_EPC

NEO_EPC
       Specifies the electron-proton correlation functional.
TYPE:
       STRING
DEFAULT:
       No default
OPTIONS:
       NAME Use NEO_EPC = NAME, where NAME can be either epc172 or epc19.
RECOMMENDATION:
       Consult the NEO literature to guide your selection.

NEO_SCFV

NEO_SCFV
       Enable a NEO-SCFV calculation
TYPE:
       INTEGER
DEFAULT:
       0 No NEO-SCFV calculation.
OPTIONS:
       1 Enable a NEO-SCFV calculation. 0 Disable a NEO-SCFV calculation.
RECOMMENDATION:
       None.

NEO_MSDFT

NEO_MSDFT
       Enable a NEO-MSDFT calculation
TYPE:
       INTEGER
DEFAULT:
       0 No NEO-MSDFT calculation.
OPTIONS:
       1 Enable a NEO-MSDFT calculation. 0 Disable a NEO-MSDFT calculation.
RECOMMENDATION:
       See Section 13.5.2.3 for details on customizing a NEO-MSDFT calculation.

CNEO

CNEO
       Enable a CNEO calculation
TYPE:
       INTEGER
DEFAULT:
       0 No CNEO calculation.
OPTIONS:
       1 Enable a CNEO calculation. 0 Disable a CNEO calculation.
RECOMMENDATION:
       Use currently only for a single NEO center.

13.5.3.3 Dispersion-corrected NEO-DFT

Most of the available DFT-D3 empirical dispersion methods for modeling non-covalent interactions introduced in Section 5.7.2 have been extended to NEO-DFT, RT-NEO-TDDFT with fixed classical nuclei, and RT-NEO-TDDFT with moving classical nuclei. Note that the extended D3 model, D4, is currently unsupported but can be made available in a future release. NEO-DFT-D3 is available in Q-Chem (including both energies and analytic gradients) and can be requested via the $rem variable DFT_D, which is discussed below:

DFT_D

DFT_D
       Controls the empirical dispersion correction to be added.
TYPE:
       LOGICAL
DEFAULT:
       None
OPTIONS:
       FALSE (or 0) Do not apply the DFT-D3 scheme D3_ZERO DFT-D3(0) dispersion correction from Grimme et al. 450 Grimme S. et al.
J. Chem. Phys.
(2010), 132, pp. 154104.
Link
D3_BJ DFT-D3(BJ) dispersion correction from Grimme et al. 452 Grimme S., Ehrlich S., Goerigk L.
J. Comput. Chem.
(2011), 32, pp. 1456.
Link
D3_CSO DFT-D3(CSO) dispersion correction from Schröder et al. 1136 Schröder H., Creon A., Schwabe T.
J. Chem. Theory Comput.
(2015), 11, pp. 3163.
Link
D3_ZEROM DFT-D3M(0) dispersion correction from Smith et al. 1190 Smith D. G. et al.
J. Phys. Chem. Lett.
(2016), 7, pp. 2197.
Link
D3_BJM DFT-D3M(BJ) dispersion correction from Smith et al. 1190 Smith D. G. et al.
J. Phys. Chem. Lett.
(2016), 7, pp. 2197.
Link
D3_OP DFT-D3(op) dispersion correction from Witte et al. 1378 Witte J. et al.
J. Chem. Theory Comput.
(2017), 13, pp. 2043.
Link
D3 Automatically select the “best” available D3 dispersion correction

RECOMMENDATION:
       None

Two caveats are worth pointing out: First, note that the functional form of the D3 empirical dispersion potential, EdispD3(RAB), is a sum over all pairwise atomic contributions. For convenience, our implementation of the D3 correction uses the positions of the quantum proton(s) basis function center positions for computing the interatomic distances RAB. 770 Li T. E., Hammes-Schiffer S.
J. Chem. Phys.
(2023), 158, pp. 114118.
Link
Second, the D3 dispersion potentials have been parameterized for classical nuclei represented as point charges.

13.5.3.4 Usage of Pseudopotentials with NEO Methods

Q-Chem’s Effective Core Potential (ECP) package has been integrated with the NEO method to enable the description of relativistic and core electronic effects for systems in which some of the atoms may bear pseudopotentials. This is done by adding an additional one-electron potential contribution, which serves to model the effects of the core electrons, into the electronic Fock or analagous Kohn-Sham matrix (also see Section 8.10). In both the electronic and protonic Fock or analogous Kohn-Sham matrices, the one-electron term corresponding to the interaction of electrons or quantum protons with the classical nucleus with an ECP utilizes the effective nuclear charge shielded by the core electrons. 771 Li T. E., Paenurk E., Hammes-Schiffer S.
J. Phys. Chem. Lett.
(2024), 15, pp. 751.
Link
NEO analytic gradient calculations with ECPs and RT-NEO-TDDFT dynamics simulations with ECPs are also supported. The following $rem variable controls which ECP is used:

ECP

ECP
       Defines the effective core potential and associated basis set to be used
TYPE:
       STRING
DEFAULT:
       No ECP
OPTIONS:
       General, Gen User defined. ($ecp keyword required) Symbol Use standard ECPs discussed above.
RECOMMENDATION:
       ECPs are recommended for first row transition metals and heavier elements. Also consult Section 8.10 for more details.

13.5.3.5 Keywords for Simultaneous NEO-SCF

The NEO-SCF iteration procedure performed in the above section (see Section 13.5.3.1) solves the electronic and quantum nuclear Roothaan/Kohn-Sham equations in alternating fashion until convergence towards the variational solution is reached. This approach can become computationally expensive, especially when many SCF iterations are required to achieve self-consistency. To accelerate this procedure, those equations may instead be solved simultaneously at every step of the NEO-SCF iteration procedure. At the moment, we support the simultaneous implementation of the Direct Inversion in the Iterative Subspace (DIIS) algorithm. 791 Liu A. et al.
J. Phys. Chem. A
(2022), 126, pp. 7033.
Link
Through extrapolation/interpolation, the simultaneous DIIS algorithm constructs an improved electronic and protonic Fock matrix at every kth step given a shared set of DIIS coefficients cj and the previous Fock matrices:

𝐅ke=j=1k-1cj𝐅je    and    𝐅kp=j=1k-1cj𝐅jp (13.78)

This is different from the traditional stepwise/alternating NEO-SCF approach, wherein only either 𝐅ke or 𝐅kp is computed at each step. The following $rem variables permit some customization of the simultaneous DIIS iterations:

NEO_SIMULTANEOUS_SCF

NEO_SIMULTANEOUS_SCF
       Enables simultaneous optimization algorithm.
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       TRUE FALSE
RECOMMENDATION:
       None.

Note:  SCF_ALGORITHM = DIIS should also be set if NEO_SIMULTANEOUS_SCF = TRUE.

NEO_STEPWISE_SCF_STEPS

NEO_STEPWISE_SCF_STEPS
       Specifies the number of NEO-SCF stepwise/alternating macro-iterations to perform before switching to simultaneous algorithm.
TYPE:
       INTEGER
DEFAULT:
       1
OPTIONS:
       User-defined
RECOMMENDATION:
       The rate of convergence of the NEO-SCF procedure is dependent on the initial guess for the electronic and protonic orbitals. For especially difficult systems, we recommend performing at least one round of stepwise optimization before beginning simultaneous.

DIIS_SUBSPACE_SIZE

DIIS_SUBSPACE_SIZE
       Controls the size of the DIIS subspace during the SCF.
TYPE:
       INTEGER
DEFAULT:
       10
OPTIONS:
       User-defined
RECOMMENDATION:
       None.

DIIS_ERR_RMS

DIIS_ERR_RMS
       Changes the DIIS convergence metric from the maximum to the RMS error.
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       TRUE FALSE
RECOMMENDATION:
       Use the default, the maximum error provides a more reliable criterion.

13.5.3.6 Keywords for NEO Excited-State Methods

The following additional $rem variables can be used to customize the NEO excited states methods calculation to obtain excitation energies:

CIS_N_ROOTS

CIS_N_ROOTS
       Sets the number of NEO excited state roots to find by Davidson or display the number of roots obtained by direct diagonalization.
TYPE:
       INTEGER
DEFAULT:
       0 Do not look for any excited states.
OPTIONS:
       n n>0 Looks for n NEO excited states.
RECOMMENDATION:
       None

RPA

RPA
       Do a NEO-TDDFT or NEO-TDHF calculation.
TYPE:
       LOGICAL
DEFAULT:
       FALSE
OPTIONS:
       FALSE Do a NEO-TDA or NEO-CIS calculation. TRUE Do a NEO-TDDFT or NEO-TDHF calculation.
RECOMMENDATION:
       Consult the NEO literature to guide your selection.

DIRECT_DIAG

DIRECT_DIAG
       Perform direct diagonalization to obtain all the NEO excitation energies.
TYPE:
       INTEGER
DEFAULT:
       0 Use Davidson algorithm.
OPTIONS:
       1 Do the direct diagonalization. 0 Use Davidson algorithm.
RECOMMENDATION:
       Only use this option when Davidson solutions are not stable.

CIS_STATE_DERIV

CIS_STATE_DERIV
       This keyword is used to specify for which NEO excited state the gradient or geometry optimization is needed.
TYPE:
       INTEGER
DEFAULT:
       No default.
OPTIONS:
       n n>0 Looks to calculate gradient or conduct geometry optimization for the nth NEO excited state.
RECOMMENDATION:
       Consult the keyword NEO_SET_ESTATE if gradient is desired for a vibronic excited state with dominant electronic character.

NEO_SET_ESTATE

NEO_SET_ESTATE
       This keyword is used to specify for which vibronic excited state with dominant electronic character the gradient or geometry optimization is needed.
TYPE:
       INTEGER
DEFAULT:
       No default.
OPTIONS:
       n n>0 Looks to calculate gradient or conduct geometry optimization for the nth NEO vibronic excited state with dominant electronic character.
RECOMMENDATION:
       Make sure enough roots are requested by the CIS_N_ROOTS keyword because the vibronic excited states with dominant protonic character usually come before.

NEO_SET_OPT

NEO_SET_OPT
       Enable a NEO excited state geometry optimization.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       1 Enable a NEO excited state geometry optimization. 0 Disable a NEO excited state geometry optimization.
RECOMMENDATION:
       Need to use with CIS_STATE_DERIV. Consult the keyword NEO_SET_ESTATE if geometry optimization is desired for a vibronic excited state with dominant electronic character.

NEO_ZVEC_LINEAR

NEO_ZVEC_LINEAR
       Use linear solver for Z-vector equations for NEO excited state gradient.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       1 Use linear solver 0 Use iterative conjugate gradient solver
RECOMMENDATION:
       Use the default iterative conjugate gradient solver because it is more memory efficient.

NEO_ZVEC_CG_MAXITER

NEO_ZVEC_CG_MAXITER
       Controls the maximum number of iterative gradient solver iterations permitted.
TYPE:
       INTEGER
DEFAULT:
       300
OPTIONS:
       n Use n>0 iterations.
RECOMMENDATION:
       None.

NEO_ZVEC_CG_CONV

NEO_ZVEC_CG_CONV
       The convergence threshold (10-NEO_ZVEC_CG_CONV) for the iterative gradient solver for NEO Z-vector equations.
TYPE:
       INTEGER
DEFAULT:
       8
OPTIONS:
       n Use n>0 iterations.
RECOMMENDATION:
       None.

SET_SUBSPACE

SET_SUBSPACE
       Specify the number of protonic guess vectors for NEO-TDDFT
TYPE:
       INTEGER
DEFAULT:
       Number of states desired (as set by CIS_N_ROOTS) if the number is smaller than the size of the protonic subspace (number of protonic occupied orbitals × number of protonic virtual orbitals) or the size of the protonic subspace
OPTIONS:
       n Use n>0 vectors.
RECOMMENDATION:
       None.

The following $rem variable must be specified in order to run NEO-CC calculations:

NEO_RICCSD

NEO_RICCSD
       Enable a NEO-RICCSD calculation.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       1 Enable this option. 0 Disable this option.
RECOMMENDATION:
       Both electronic and protonic auxiliary basis sets must be specified.

The following additional $rem variables can be used to customize the NEO-RICCSD calculation:

NEO_CCSD_MAX_CYCLES

NEO_CCSD_MAX_CYCLES
       Controls the maximum number of CC iterations permitted.
TYPE:
       INTEGER
DEFAULT:
       5000
OPTIONS:
       n Set the maximum number of iterations to n>0.
RECOMMENDATION:
       None

NEO_CCSD_CONVERGENCE

NEO_CCSD_CONVERGENCE
       NEO-RICCSD is considered converged when the energy error is less than 10-NEO_CCSD_CONVERGENCE.
TYPE:
       INTEGER
DEFAULT:
       8
OPTIONS:
       User-defined
RECOMMENDATION:
       None

NEO_RIMP2

NEO_RIMP2
       Enable a NEO-MP2 or NEO-OOMP2 calculation.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       2 Perform a NEO-OOMP2 calclulation. 1 Perform a NEO-MP2 calculation. 0 Disable this option.
RECOMMENDATION:
       Both electronic and protonic auxiliary basis sets must be specified.

SCS

SCS
       Set the type of spin-component scaling.
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       1 Turns on spin-component scaling with SCS (css=0.33, cos=1.2). 2 Turns on spin-component scaling with SOS (css=0.0, cos=1.2 for MP2, cos=1.3 for OOMP2). 3 arbitrary SCS (set with SSS_FACTOR and SOS_FACTOR). 0 no spin-component scaling.
RECOMMENDATION:
       NONE

SSS_FACTOR

SSS_FACTOR
       Controls the strength of the same-spin component of the MP2 electron-electron correlation energy.
TYPE:
       INTEGER
DEFAULT:
       1000000
OPTIONS:
       n Corresponding to css=n/106.
RECOMMENDATION:
       NONE

SOS_FACTOR

SOS_FACTOR
       Controls the strength of the opposite-spin component of the MP2 electron-electron correlation energy.
TYPE:
       INTEGER
DEFAULT:
       1000000
OPTIONS:
       n Corresponding to cos=n/106.
RECOMMENDATION:
       NONE

EP_FACTOR

EP_FACTOR
       Controls the strength of the electron-proton component of the NEO-MP2 correlation energy.
TYPE:
       INTEGER
DEFAULT:
       1000000
OPTIONS:
       n Corresponding to cep=n/106.
RECOMMENDATION:
       NONE