http://server.ccl.net/cca/documents/dyoung/topics-framed/converge.shtml |
CCL converge.html | |
SCF Convergence and Chaos TheoryDavid YoungCytoclonal Pharmaceutics Inc.
What are Nonlinear SystemsThe term "nonlinear" is probably one of the most over used terms in mathematics. In the case of chaos theory, a nonlinear equation is one of the form
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.
What Nonlinear Systems DoIf one chooses a nonlinear equation, picks a starting value for the nonlinear variable then iterates there are several possible outcomes.
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.
How to Control Nonlinear BehaviorChanging the constants in a non-linear equation would be roughly equivalent to switching the basis set used for an SCF calculation. Since a particular basis set is often chosen for a desired accuracy and speed, this is not generally the most practical solution to a convergence problem. Plots of behavior vs constant values are the bifurcation diagrams which are found in many explanations of chaos theory.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.
What to Try FirstIf you have an SCF calculation that failed to converge, which of these tricks should you try first? Here are my suggestions with number one being the first thing I try and etc.
Further InformationThe manuals accompanying many software packages contain discussions of how to handle convergence difficulties.
There is a very small discussion of handling convergence problems in
A good introduction to chaos theory is
A more mathematical treatment of chaos theory is An expanded version of this article will be published in "Computational Chemistry: A Practical Guide for Applying Techniques to Real World Problems" by David Young, which will be available from John Wiley & Sons in the spring of 2001. |
[ CCL Home Page ]
[ topics ]
[ Raw Version of this page ]
Modified: Thu Jan 4 02:29:24 2001 GMT |
Page accessed 17107 times since Thu Jan 4 04:26:54 2001 GMT |