Table of contents
Details
The SCF
section handles the SCF parameters for the optimization of the reference wave functions specified in QM.REFERENCE
. The SCF
section is optional, and the default parameters are often sufficient. However, as SCF optimizations can often be nontrivial, it may be the case that these parameters must be adjusted for the optimization.
Keywords
Keyword  Type  Description  Default 

NEO 
Boolean  Whether or not Nuclearelectronic Orbital method is included  FALSE 
GUESS 
String  Initial guess for reference wave function  SAD 
PROT_GUESS 
String  Initial guess for nuclear wave function (only valid for NEO methods)  CORE 
FIELD 
Multiline string  Static external field specification in which to perform optimization  None 
ALG 
String  Algorithm for SCF procedure (e.g. NR, Conventional, Skip)  CONVENTIONAL 
ENETOL 
Double precision float  Convergence tolerance for the change in total energy  10^{10} 
DENTOL 
Double precision float  Convergence tolerance for the rootmeansquared change in the one particle density matrix  10^{8} 
FDCTOL 
Double precision float  Convergence tolerance for Max(Gradient)  10^{8} 
MAXITER 
Integer  Maximum number of SCF iterations  128 
INCFOCK 
Boolean  Whether or not to perform an incremental Fock build throughout the SCF for improved screening 
TRUE if ERI formation is DIRECT ; FALSE otherwise 
NINCFOCK 
Integer  Number of SCF iterations after which to start the incremental Fock build  20 
EXTRAP 
Boolean  Whether to do extrapolation of Fock matrix with DIIS and damping  TRUE 
DIIS 
Boolean  Whether to use direct inversion of the iterative subspace extrapolation  TRUE 
DIISALG 
String  Algorithm for DIIS (e.g. CDIIS, EDIIS or CEDIIS)  CEDIIS 
SWITCH 
Double precision float  Tolerance of Max(Gradient) to switch from EDIIS to CDIIS in CEDIIS  0.05 
NKEEP 
Integer  Number of previous iterations to track for DIIS/SOSCF  10 
DAMP 
Boolean  Whether to damp Fock matrix changes  TRUE 
DAMPPARAM 
Double precision float  Damping parameter  0.7 
DAMPERROR 
Double precision float  Energy difference after which to turn off Fock damping  10^{3} 
PRINTMOS 
Integer  Control printing of MO information after SCF procedure  0 
SWAPMO 
Multiline string  Swap ordering of MOs for SCF.GUESS=READMO

None 
NRAPPROX 
String  Which algorithm to approximate the Hessian (e.g. FULL, BFGS, SR1, GradDescent)  BFGS 
NRTRUST 
Double precision float  Maximum displacement along search direction  0.1 
NRLEVELSHIFT 
Double precision float  Amount to add to the diagonal Hessian  0.0 
NEO
Keyword
The The NEO
keyword assigns whether or not the nuclearelectronic orbital approach is used to describe quantum nuclei. By default this is set to false. Note that for a NEO SCF call to be valid, the molecule must have specified quantum nuclei and the QM/PROTQM sections are populated with the nuclear reference. A nuclear basis must also be defined in the PBasis
section.
GUESS
and PROTGUESS
Keywords
The The GUESS
and PROTGUESS
keywords define the method for producing the initial oneparticle reduced density matrix (1PDM) in the SCF procedure for an electronic and protonic reference (if NEO = True
). Currently there are 5 options, with support for reading in Gaussian fchk
files:

CORE
: Use the 1PDM from the core Hamiltonian 
SAD
: Use the Superposition of Atomic Densities method 
READMO
: Read MO coefficients from ChronusQ restart file (specified withb
) or old restart file (specified withz
). 
READDEN
: Read 1PDM from ChronusQ restart file (specified withb
), old restart file (specified withz
), or scratch file (specified withs
). If restarting from 1PDM of different size or type, uses
to avoid errors with overwriting datasets of different size or type. 
FCHKMO
: Read MO coefficients from ChronusQ scratch file (specified withs
), where the scratch file should be an fchk file from the Gaussian software package. This functionality will only reproduce the Gaussian energy if the underlying basis representation is the same (e.g., orthogonalization, primitive deletion, etc.). The following are Gaussian IOps that may be useful: 3/60=1, 3/32=2.
SWAPMO
Keyword
The The SWAPMO
keyword is an optional keyword to be used in conjunction with SCF.GUESS=READMO
. It swaps the ordering of MOs, which can be useful when trying to converge to a specific state. Below is a basic example that swaps the ordering of MOs 2 and 3.
[SCF]
guess=readmo
swapmo:
2 3
Note that the swaps are applied sequentially. That means that the following example will result in the original orbital ordering.
[SCF]
guess=readmo
swapmo:
2 3
2 3
For the unrestricted case, the beta MOs can also be swapped. Below is an example that swaps two sets of alpha MOs (denoted A) and one set of beta MOs (denoted B). If no indication of spin is used, alpha (denoted A) will be assumed.
[SCF]
guess=readmo
swapmo:
2 3 A
4 5 A
2 3 B
Note that for fourcomponent calculations, the MO is ordered such that the first half of MOs are negativeenergy, and the second half are normal electronic MOs. Thus, if one wants to swap between electronic MOs, an offset of total number of negativeenergy MOs should be added.
FIELD
Keyword
The The FIELD
keyword specifies the static external field to be applied to the molecule. Currently, only electric or magnetic fields in the dipole approximation are supported. The format of the FIELD
keyword is:
FIELD = FieldType Ix Iy Iz
where FieldType is one of ELECTRIC
or MAGNETIC
, and Ix
/Iy
/Iz
are the intensities of the applied field in each cartesian direction in a.u.
ALG
Keyword
The The ALG
keyword specifies the algorithm used for the SCF procedure. Currently CONVENTIONAL
firstorder optimization is the default. Secondorder methods like NewtonRaphson will be implemented in the near future. Additionally, SKIP
skips the SCF cycles completely. This can be useful for analyzing the quality of an SCF guess or for saving time when a postSCF treatment is desired.
INCFOCK
and NINCFOCK
Keywords
The The INCFOCK
keyword is a boolean that turns on the incremental Fock build algorithm. In short, and incremental Fock build uses the difference density between the current and last SCF step to screen which electronrepulsion integrals aren't necessary to compute for certain Fock matrix elements from the coulomb and exchange matrices, speeding up the Fock build timing.
NINCFOCK
then controls which SCF step the incremental Fock build procedure starts. The default is set to 20
since smaller density differences offer the greatest speedup.
PRINTMOS
Keyword
The The PRINTMOS
Keyword controls the printing of MO information, which may include MO coefficients and the analysis of the angular momentum components of each MOs. This value could be
PRINTMOS 
print MO coefficient  Analysis of Angular Moment  Group Same Element of Atoms  Sum over Alpha and Beta 

0 

1 

2 

3 

4 

5 

6 

7 

8 

9 
Extrapolation Keywords
Currently, ChronusQ uses the direct inversion of the iterative subspace, also known as CDIIS,^{1} along with energy DIIS (EDIIS)^{2} and the combination of both (CEDIIS),^{2} to perform extrapolations of future Fock matrices in the SCF procedure. The commutator used is [\mathbf{F}, \mathbf{P}]
where \mathbf{F}
is the Fock matrix and \mathbf{P}
is the 1PDM.
DIIS
and NKEEP
Keywords
The The DIIS
keyword is just a boolean that tells ChronusQ wether or not to perform DIIS. The NKEEP
keyword is an integer that decides how many previous Fock matrices are used for the extrapolation. The NKEEP
keyword is also used in the approximate NewtonRaphson SCF algorithms using quasiNewton updates (e.g. BFGS and SR1).^{3}[]^{4}
DAMP
, DAMPPARAM
, and DAMPERROR
Keywords
The Fock damping is when the Fock matrix of the previous iteration is mixed in to the current step to damp large oscillations in energy.

DAMP
is the boolean for choosing to do damping, by default it isTRUE
. 
DAMPARAM
is a floating point value between 0 and 1 that represents the fraction of the previous Fock matrix to average into the current step for damping. By default the value is0.7
meaning that 70% of the previous Fock matrix is mixed in. 
DAMPERROR
is the energy tolerance at which damping is turned off. Since damping is most useful for early steps in the SCF when there can be large changes in the energy and density. By default the damping error threshold is set to0.001
Hartree.
Example
For example, let's say we want to specify that during the SCF procedure in a ChronusQ job, we will use 12 Fock matrices for extrapolation, keep damping on until the energy change is less than 10^{5}
, and only mix in 50% of the previous Fock matrix for damping. Then, the [SCF]
section will look like the following:
[SCF]
nkeep = 12
damperror = 1e5
dampparam = 0.5
References

Pulay, P. (1982). Improved SCF convergence acceleration. Journal of Computational Chemistry, 3(4), 556560.
↩ 
Kudin, K. N.; Scuseria, G. E.; Cancès, E. (2002). A BlackBox SelfConsistent Field Convergence Algorithm: One Step Closer. J. Chem. Phys. 116 (19), 8255–8261.
↩ ^{2}↩ 
Chaban, G.; Schmidt, M. W.; Gordon, M. S. (1997). Approximate Second Order Method for Orbital Optimization of SCF and MCSCF Wavefunctions. Theor. Chem. Acc. 97 (14), 88–95.
↩ 
Neese, F. (2000). Approximate SecondOrder SCF Convergence for Spin Unrestricted Wavefunctions. Chem. Phys. Lett. 2000, 325 (13), 93–98.
↩