E-mail: dyoung@asc.edu
Division of University Computing
x = f(x)Computational chemists should recognize this as exactly what a self consistent field (SCF) calculation is. In the SCF method, an initial set of orbitals is used to generate a new set of orbitals and the procedure is repeated until some convergence criteria is met.
The branch of mathematics called "chaos theory" which has been created and explored over the last decade is the study of equations and systems of equations of this type. To some extent the mathematicians are tacking new names onto behavior that computational chemists have been seeing for years, but they are also learning more about why these systems behave the way they do. It is hoped that, in time, the work being done by mathematicians will provide the insight necessary to create better SCF convergence methods.
The purpose of this document is two fold. First it attempts to make the connections between the field of chaos theory and SCF calculations. Second it gives suggestions on how to fix calculations with convergence problems.
It stands to reason that the total energy may follow any of these patterns during SCF iterations. We have encountered oscillating and random behavior in the convergence of open shell transition metal compounds but have never tried to determine if the random values were bounded or not.
Another way of changing the constants in an SCF calculation is to change the geometry a bit. Often pulling a bond length a bit shorter than expected is effective (say making the length 90% of the expected value). lengthening bond lengths a bit and avoiding eclipsed or gauche conformations are second and third best. Once you have a converged wave function move the geometry back where you want it and use the converged function as the initial guess.
Changing the initial value of variables is equivalent to using a different initial guess in an SCF calculation. The best initial guess is usually a converged SCF calculation for a different state of the same molecule or a slightly different geometry of the same molecule. This can be a very effective way to circumvent convergence problems. In the worst case it may be necessary to construct an initial guess by hand in order to ensure that the nodal properties of all of the orbitals are correct for the desired electronic state of the molecule. The construction of the virtual orbitals as well as the occupied orbitals can have a significant effect on convergence. Chaos theorists will try many starting points and color code a plot by which solution is obtained for each starting point, this is called fractal geometry (i.e. the famous Mandelbrot diagram).
There are quite a number of ways to effectively change the equation in an SCF calculation. These include switching computation methods, using level shifting and using forced convergence methods.
Switching between Hartree-Fock (HF), semiempirical, generalized valence bond (GVB), multi-configuration self consistent field (MCSCF), complete active space self consistent field (CASSCF) and Moller-Plesset calculations (MPn) will change the convergence properties. Configuration interaction (CI) and coupled cluster (CC) calculations usually start with an SCF calculation, thus will not circumvent problems with an SCF. In general higher levels of theory tend to be harder to converge. Ease of convergence as well as calculation speed are why lower level calculations are usually used to generate the initial guess for higher level calculations.
Oscillating convergence in an SCF calculation is usually an oscillation between wave functions that are close to different states or a mixing of states. Thus oscillating convergence can often be helped by level shifting, which artificially raises the energies of the virtual orbitals. Level shifting may or may not help in cases of random convergence.
Most programs will stop trying to converge a problem after a certain number of iterations. In a few rare cases the wave function will converge if given more than the default number of iterations.
Most SCF programs do not actually compute orbitals from the previous iteration orbitals in the way that is described in introductory descriptions of the SCF method. Most programs use a convergence excelleration method which is designed to reduce the number of iterations necessary to converge to a solution. The method of choice is usually Pulay's DIIS method (Direct Inversion of the Iterative Subspace). Some programs also give the user the capability to modify the DIIS method, such as putting in a dampening factor. These modifications can be useful for fixing convergence problems but they usually require a significant amount of experience to know how best to modify the procedure. Turning off the DIIS extrapolation can help a calculation converge, but usually requires more iterations.
Some programs contain alternative convergence methods that are designed to force even the most difficult problems to converge. These methods are often called direct covergence or quadratic convergence methods. While these methods almost always work, they often require a very large number of iterations and thus a very large amount of CPU time.
There is a very small discussion of handling convergence problems in
T. Clark "A Handbook of Computational Chemistry" Wiley-Interscience (1985)
A good introduction to chaos theory is
J. Gleick "Chaos: Making a New Science" Viking (1987)
A more mathematical treatment of chaos theory is
S. H. Strogatz "Nonlinear Dynamics and Chaos With Applications to Physics,
Biology, Chemistry and Engineering" Addison Wesley (1994)
If you have any suggestions for improvements or additions to this document, please contact me at
E-mail David Young at dyoung@asc.edu