Damping may be the oldest SCF acceleration scheme which was proposed by Hartree in the early time of applying quantum mechanics to study atomic structures349. In this simple scheme, the density matrix (or Fock matrix) of the current SCF iteration is linearly mixed with the density matrix of the previous iteration to generate a damped density matrix as the input for the next SCF iteration:
where is the mixing factor with . During the SCF process, if density matrix changes drastically between consecutive iterations (usually this happens in the early stage of the SCF process), the total energy and occupied molecular orbitals are also strongly fluctuating, which may lead to slow SCF convergence or even divergence. In this scenario mixing the density (or Fock) matrix with its counterpart in the last iteration could reduce (damp) the energy and molecular orbital fluctuation and stabilize the SCF process. On the other hand, if the SCF process converges smoothly and quickly, apply damping would only slow down its convergence. Therefore damping is seldom applied solely in the full SCF process and often invoked only in the early stage of the SCF process and turned off later.
Density matrix damping is offered as an option (the DAMP algorithm) to handle difficult SCF cases in Q-Chem (RHF and UHF only). Damping is often combined with DIIS and GDM (the DP_DIIS and DP_GDM algorithms) in practical calculations. In order to invoke damping, the $rem variable SCF_ALGORITHM should be set to DAMP, DP_DIIS or DP_GDM. The other relevant $rem variables are as the following:
$molecule 1 2 O 1.9158048 -5.3106212 3.9451654 H 2.8858048 -5.3106212 3.9451654 H 1.5924750 -5.6945720 3.1151415 $end $rem BASIS = 3-21G METHOD = B3LYP SCF_ALGORITHM = DP_DIIS THRESH_DP_SWITCH = 3 MAX_DP_CYCLES = 20 NDAMP = 50 $end