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 non-trivial, it may be the case that these parameters must be adjusted for the
optimization.
Keywords
Keyword | Type | Description | Default |
---|---|---|---|
GUESS |
String | Initial guess for reference wave function | SAD |
FIELD |
Multiline string | Static external field specification in which to perform optimization | None |
ALG |
String | Algorithm for SCF procedure | CONVENTIONAL |
ENETOL |
Double precision float | Convergence tolerance for the change in total energy | 10^{-10} |
DENTOL |
Double precision float | Convergence tolerance for the root-mean-squared change in the one particle density matrix | 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 (CDIIS specifically) | TRUE |
NKEEP |
Integer | Number of previous iterations to track for DIIS | 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 |
Boolean | Whether or not to print MO coefficients after SCF procedure | FALSE |
GUESS
Keyword
The The GUESS
keyword defines the method for producing the initial one-particle reduced density matrix (1PDM) in the SCF procedure. 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 with-b
) or old restart file (specified with-z
). -
READDEN
: Read 1PDM from ChronusQ restart file (specified with-b
) or old restart file (specified with-z
). -
FCHKMO
: Read MO coefficients from ChronusQ scratch file (specified with-s
), where the scratch file should be an fchk file from the Gaussian software package. ChronusQ does not match the default underlying basis representation in Gaussian (e.g., orthogonalization, primitive deletion, etc.) and the recommended Gaussian IOp per basis set is given below.- For Dunning correlation-consistant basis sets (e.g., cc-pVDZ): IOp(3/60=-1)
FIELD
Keyword
The
ALG
Keyword
The The ALG
keyword specifies the algorithm used for the SCF procedure. Currently CONVENTIONAL
first-order optimization is the default. Second-order methods like Newton-Raphson 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 post-SCF 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 electron-repulsion 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 speed-up.
Extrapolation Keywords
Currently, ChronusQ uses the commutator direct inversion of the iterative subspace, also known as CDIIS to perform extrapolations of future Fock matrices in the SCF procedure.1 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 CDIIS. The NKEEP
keyword is an integer that decides how many previous Fock matrices are used for the extrapolation.
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 = 1e-5
dampparam = 0.5
References
-
Pulay, P. (1982). Improved SCF convergence acceleration. Journal of Computational Chemistry, 3(4), 556-560.
↩