Fit functions

Using Slater-type basis functions yields awkward multi-center integrals in the evaluation of the Coulomb potential. This is remedied by employing an auxiliary set of fit functions. Like the basis functions, the fit functions are Slater-type exponential functions centered on the atoms. The true density, a sum of products of basis functions, is then replaced (approximated) by a linear combination (not products!) of the fit functions. The combination coefficients are called the fit coefficients.

ρ (r) = ∑i ci fi(r)   (1.2.1)

The Poisson equation for the fit functions is easily solved, yielding the (approximate) Coulomb potential as an expansion in fit potential functions fic(r)

fic(r) = ∫ fi(r') /|r-r'| dr   (1.2.2)
VCoulomb (ρ (r)) ≈ ∑i ci fic(r)   (1.2.3)

In the SCF procedure the fit coefficients are computed by a least-squares minimization of

∫ (ρexact(r) - ρfit(r))2 dr = min   (1.2.4)

with the constraint that ρfit contain the correct number of electrons. ρexact is defined as the sum of occupied orbitals (squared and multiplied by the appropriate occupation number). The accuracy of the fit approximation is important and the fit set plays a role similar to the basis set: too few functions (or badly chosen function characteristics) yield inferior results and there is also such a thing as the fit set limit. The fit functions on an atom are consequently an integral part of the definition of the basic atom and they are included in the Create data files. Fortunately, the size of the fit set does not determine the computational effort in such a drastic way as the size of the basis set does. We have chosen therefore to use always fair (though not extreme) fit sets, with the purpose that the effect of fit-incompleteness should in all cases be small enough to be ignored compared with basis set effects, numerical integration errors and Density Functional deficiencies. This does of course depend somewhat on the computed molecule and the studied properties, so a general guarantee cannot be given and, as with basis set effects, one should always have an open eye for possible problems and check the pertaining information in the output file.

One of the most important properties of a molecule is its energy, or its bonding energy with respect to the constituent fragments. The fit incompleteness introduces two types of errors. The first is that, since the Coulomb potential is only approximated, the SCF solution itself, i.e. the set of self-consistent Molecular Orbitals and their energy eigenvalues may be slightly wrong, yielding an error in the charge density and hence in the energy. Since the energy is to first order stable with respect to changes in the mo coefficients this error in the energy can be assumed very small. The second type of error derives from the computation of the energy from the (self-consistent) charge density, via the Coulomb potential. Let

ρ ≡ ρexact(r) = ρfit(r) + δ(r)   (1.2.5)

and

Vfit(r) = ∫ ρfit(r') /|r-r'| dr   (1.2.6)

For the Coulomb energy of the charge density we have

2ECoul(r) = ∫∫ ρ(r) ρ(r') /|r-r'| drdr' = ∫ ρ(r) Vfit(r) dr + ∫∫ ρ(r) δ(r') /|r-r'| drdr' =
Vfit(r) [ρ(r)+δ(r)] dr + ∫∫ δ(r) δ(r') /|r-r'| drdr'   (1.2.7)

from which we see that the fit error is corrected to first order (by adding the fit deficiency δ(r) to the exact charge density when integrating against the fit potential) and that only a second order term remains that cannot be evaluated, the last term in the right-hand-side of (1.2.7).

A fair impression of the fit quality and the importance of the second order error term is obtained by checking

a) the size of the first order correction term ∫ Vfit(r) δ(r) dr and b) the norm of the deficiency function, ∫ δ2(r) dr. Both are printed in standard output, at the end of the output of the SCF procedure computational report. They are usually very small, which gives some confidence that the second order fit error can be ignored.

 

Copyright      Terms of Use      Privacy Policy
Search:
Home
About
News
Sitemap
Contact
Why ADF?
Brochure
Demos
Trial Version
How to buy
Downloads
FAQ
Newsletters
Documentation
Community