Table of Contents
![]() | Development note |
---|---|
Changes to this chapter were last made on 16 January 2005. |
In this section, a brief overview of the formal foundations of density-functional theory will be given [56] [58][59][60][2][3] [Leach,p.127]. The seminal work on DFT appeared in two key papers in 1964 and 1965. In the first paper, it was proved by Hohenberg and Kohn (HK) [56] that for a N-particle system all of the electronic ground state properties are determined by the electron density , and that if is the true ground state density, then the total energy functional, , is a minimum. To prove the Hohenberg-Kohn theorems, we will start by considering the same Hamiltonian as in Eq. (5.3), rewritten as
where the kinetic energy and electron-electron repulsion energy operators are
and v(r) is an arbitrary external potential that is often assumed simply to be the electron-nucleus attraction energy, in which case Eq. (6.1) would be the same as Eq. (5.3). The total energy, written as a functional of the normalized N-electron wavefunction, , is given by
where we have used the fact that
and
To show that v(r) is also an unique functional of , we first assume that the opposite is true―that two different external potentials v(r) and v'(r) can have the same electron distribution ―and then show that this leads to a contradiction. The first part of the Hamiltonian, , is system independent and universally valid. It is the external potential v(r) which defines the difference between Hamiltonians. Thus, two different external potentials, v(r) and v'(r), correspond to two different Hamiltonians, wavefunctions, and ground state energies, , and , respectively. If we let serve as a trial wavefunction for the Hamiltonian , then the Rayleigh-Ritz minimal principle for the ground state,
tells us that
We can repeat the derivation of Eq. (6.7) with the primed and unprimed quantities interchanged to obtain
By adding Eqs. (5.15) and (5.16) we find the following contradiction
Thus, the ground state density uniquely determines the external potential v(r), to within a trivial additive constant. Since v(r) fixes the Hamiltonian , it follows that the full N-particle ground state wavefunction, and all other properties determined by , are implicitly determined by the ground state density .
For the second HK theorem (the HK variational principle) it was shown that if is the true ground state density then the total energy functional is a minimum. In other words, the HK variational principle states that
where and are the exact ground state density and energy, respectively, and the equality holds if . To prove this, HK defined for a given external potential, v(r), the following energy functional
Equation (6.11) is justified by the first HK theorem, which established that , and E are unique functionals of . The functionals F[ρ] and are defined by the following equations [Parr, p.56]
where is the kinetic energy of a noninteracting system of electrons, and the classical part of is given by
The exchange-correlation functional is defined to include the nonclassical part of , as well as the difference between and the true kinetic energy . The functionals in the last line of Eq. (6.12) will be important for our discussion of the Kohn-Sham theory.
The functional F[ρ] in Eq. (6.12) is defined by the constrained-search for the minimum value of over all antisymmetric wavefunctions that yield the correct input density. This definition of the energy functional, together with the variational principle with respect to [Eq. (6.6)], are sufficient to prove the second HK theorem as follows
This is a condensed version of the proof originally given by Levy [73][74] and Lieb [75]. It has a slightly broader range of validity than the one first put forth by HK [56]. Those interested in a more thorough discussion should read the reviews by Parr and Wang [2], Kohn [60], and Koch and Holthausen [3].
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
One year and three days after Hohenberg and Kohn presented their groundbreaking work setting the formal foundations of density-functional theory, Kohn and Sham (KS) provided a practical procedure to use DFT in calculations of electronic structure [58]. The derivation of the Kohn-Sham orbital equations and the self-consistent field (SCF) energy minimization procedure is similar to the derivation of the Hartree-Fock equations in Section 5.2. As in the Hartree-Fock case we can express the N-electron wavefunction in terms of of orthonormal one-electron spin states, , where we use to distinguish the Kohn-Sham spin-orbitals from the Hartree-Fock orbitals [e.g., Eq. (3.36) and Eq. (3.41)]. can also be represented by a normalized N-orbital Slater determinant
For the general case of an arbitrary number of spin-orbitals, the kinetic energy functional of a system of noninteracting electrons [Eq. (6.12)] can be written in terms of the one-electron spin-orbitals as
The Kohn-Sham orbitals can be written in a form similar to the spin-orbitals defined in Eq. (2.37)
where for the last term in Eq. (6.17) we have used the perhaps too subtle notation that without a spin label of some sort (i.e., x or σ) , refers only to the spatial part of the spin-orbital (this notation may be changed later if it is found to result in confusion). The spin-orbitals in Eq. (6.17) are related to the orbitals written in the Slater determinant [Eq. (6.15)] as follows
The total density and the density of spin-up electrons and spin-down electrons are related by
In this general case, the number of one-electron spin-orbitals may be arbitrary, but there are restrictions on the values of their occupation numbers: the Pauli exclusion principle requires that and the occupation numbers are related to the total number of electrons, N, by
For simplicity, we will consider here the special case that there are N occupied orbitals with , and for the rest. The kinetic energy functional is then given by
and the density is
The variational approach to the energy eigenvalue problem is analogous to the derivation of the Hartree-Fock equations. Thus, the stationary condition
leads to the Euler-Lagrange equation
with the constraint being the orthonormality of the Kohn-Sham spin-orbitals
and the Lagrange multipliers, , form a Hermitian matrix, [Szabo, p.118; Leach, p. 52]. E[ρ] is defined in Eq. (6.11), and F[ρ] is defined in Eq. (6.12), the last line of which, we repeat here for clarity [98][Parr, p.172],
In Eq. (6.26), we have explicitly shown the spin labels, and one must keep in mind that KS spin-orbitals themselves are functionals of the density, i.e., , as was established by the first HK theorem.
To evaluate the Euler-Lagrange equation [Eq. (6.24)], we will use the chain rule for functional derivatives. If, for example, we consider some arbitrary functional F[y], where itself is a functional of the function w(r), then we can evaluate the functional derivative with respect to y(r) by using
Equation (6.27) will be valid if w(r) is a function of y(r). It can also be obtained from the chain rule by using [Parr, p.250]
and
If the preceding discussion was a bit confusing, then we can illustrate with an example, which happens to be the case were interested in. In other words, let and , then Eq. (6.27) gives us
We can use Eq. (6.30) to evaluate the various contributions to the Euler-Lagrange equation from Eqs. (6.11) and (6.12). Starting with the system dependent term containing the external potential, we find
From the system independent functional, , we have a contribution from the kinetic energy , which is given by
and the contribution from the classical Coulomb energy, , is
Finally, the contribution from exchange-correlation functional is given by
where we have defined the exchange-correlation potential as
and, as before [i.e., Eq. (5.33)], the contribution from the constraint is
Collecting the terms together gives us the Kohn-Sham orbital equations
where the Kohn-Sham operator is defined as
and the definition of the effective potential is
A unitary transformation (i.e. ) allows us to diagonalize the matrix of Lagrange multipliers and write the Kohn-Sham equations in their canonical form
The Kohn-Sham orbital energies can be obtained from the expectation value of the single-particle Hamiltonian operator
To understand the relationship between the Kohn-Sham orbital energies and the total energy we note that the sum of the orbital energies gives us
By comparing Eq. (6.42) with Eqs. (6.11) and (6.12), it can be seen that in a calculation of the total energy we need to correct for the overcounting of the classical Coulomb energy, , and the additional contribution from the exchange-correlation potential . The total energy [Eq. (6.11)] is then related to the orbital energies by
or for closed-shell restricted spin-orbitals we have
which is the form used in our first example program, freeMQM-1.cpp.
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
One method of solving the Kohn-Sham equations is to expand the spatial part of the orbitals using a complete set of basis functions { }
where the function represents a member of the basis. Substituting the expansion for the orbitals into the Kohn-Sham equations will lead to a matrix representation, analogous to the Pople-Nesbet equations,
where labels the spin-up electrons and labels the spin-down electrons.
Equations (6.46) and (6.47) represent the unrestricted Kohn-Sham (UKS) matrix formalism, analogous to the Pople-Nesbet equations. As before, in the case of our Hartree-Fock examples, we will consider closed shell systems and solve the Kohn-Sham equivalent of the Roothaan-Hall equations in the restricted Kohn-Sham (RKS) matrix formalism
where F is the Fock matrix (or Kohn-Sham matrix), C is the matrix of molecular orbital coefficients, S is the overlap matrix, and is the diagonal matrix of orbital energies. In the UKS formalism, the Fock matrix becomes
and in the RKS formalism it can be written as
where the exchange-correlation part of the Fock matrix in the RKS formalism, , is equal to exchange-correlation part of the Fock matrix in the UKS formalism, , with
The exchange-correlation contribution to the Fock matrix is related to the exchange-correlation potential by
where is obtained from the functional derivative of the exchange-correlation energy functional
In the local-density approximation (LDA) or the generalized gradient approximation (GGA), a general expression for the exchange-correlation energy functional can be written as
where , , and . Applying the functional derivative from Eq. (5.28), together with the chain rule,
leads to
At this point, we can use Eq. (6.55) together with Green's Theorem in the following form
to calculate the Fock matrix Eq. (6.51), where n is an unit normal vector outward pointing from the surface S. Then, with the following substitutions
we can obtain the following expression [84][86]
where the surface integral contributes nothing when integrated over all space. Equation (6.58) has a form which readily lends itself to numerical integration; it is used by the integration routines to calculate the exchange-correlation (XC) functional contribution to the Fock matrix, which has the variable name FMatrix[I][J] in freeMQM-1.cpp.
To perform a density-functional calculation we will need to make a couple changes to the procedure used previously for the Hartree-Fock method. The first change that needs to be made is to replace the exchange contribution to the Hartree-Fock equations, , with a contribution from the density functional. The second change is that the exchange-correlation energy must be calculated during each iteration of the SCF procedure and added to the total energy. As pointed out before in Eq. (6.43), it is also necessary to subtract the additional contribution from the exchange-correlation potential , to calculate the total energy. With these changes, the rest of the SCF procedure used in the Hartree-Fock method will be the same.
For a Hartree-Fock calculation, the Fock matrix is calculated by the function CalcFockMatrix, which is called from inside the self-consistent loop of the example program freeMQM-1.cpp. In our DFT calculation, CalcFockMatrix still calculates
but the contribution to the Fock matrix from the density-functional, , is calculated by xyz_Integrate, or by R_Integrate in cases of spherical symmetry, and then added to F. Both the exchange-correlation (XC) functional, , and the XC contribution to the Fock matrix, , are calculated within the integration routines, xyz_Integrate and R_Integrate, which in turn make function calls to routines in functionals.cpp. The program file functionals.cpp contains formulas for various exchange and correlation functionals and their derivatives[50]. By default, the program freeMQM-1.cpp uses the functional BLYP, but there are several other choices, and functionals.cpp can easily be altered to include other functionals. BLYP uses the Becke exchange functional B88 [87] and the LYP [96] correlation functional.
In general, it can be seen from the form of the function that the values of , must be passed to functionals.cpp to receive back the value of the function f and its derivatives. For spherically symmetric problems, such as the ground state of the helium atom, the values of , are calculated by the function R_Integrate, and in all other cases they are calculated by xyz_Integrate. These values are then passed to the program file functionals.cpp for each set of spatial coordinates, where the variables in the program are defined as follows:
The routines in functionals.cpp return the values of the function f and the derivatives,
from which we can construct the functional derivative and the exchange-correlation part of the Fock matrix [Eq. (6.58)]. Further simplifications can be made if we assume that we are dealing with a closed shell system, in which case the densities of spin-up and spin-down electrons
are both equal to where
is the total electron density. This simplification allows us to drop the spin labels and write the total density as a sum over doubly occupied spatial orbitals
As before in the Hartree-Fock problem, the spatial part of the Kohn-Sham orbitals can be written as a sum over our K Gaussian basis functions [Eq. (5.45)]
When applied to density-functional theory (DFT) this is referred to as the restricted Kohn-Sham (RKS) model, as opposed to the unrestricted Kohn-Sham (UKS) formalism, which we might discuss in more detail in a future revision of this document. The file functionals.cpp contains formulas for both the RKS and UKS version of the functionals and their derivatives.
In the closed-shell RKS formalism the gradient of the total electron density is given by
and is equal to the linear superposition of the gradients of the basis functions
To include in the integration routines, R_Integrate and xyz_Integrate, we will need to take the gradients of the Gaussian basis functions by hand and add the necessary code to the program. If we recall that the basis sets are constructed from contracted Gaussian functions (CGF) [1]
and, as before, are the primitive Gaussian functions, then the gradient of the spatial part of the Kohn-Sham orbitals in terms of primitive Gaussians can be written as
Further simplifications can be made for both the helium atom and H2, since they have a single ground-state orbital occupied by one spin-up electron and one spin-down electron. Therefore the total electron density is simply , and the gradient of the total charge density is . In the integration routines, R_Integrate and xyz_Integrate, the C/C++ code representation of these these quantities are In the RKS approach to the helium atom and H2, the values of gaa, gbb, gab, are equal to g/4, where
As before [i.e., Eq. (5.66)], the most general form of the primitive Gaussian functions [113] [114][Szabo, p. 181;Levine,p.462], , we will consider are described by
It follows that the gradient of the primitive Gaussian functions in the spherically symmetric case is simply given by
In the more general non-spherically symmetric case we will need to evaluate
where the partial derivatives of the Gaussian primitive functions take the more general form
with similar expressions for the partial derivatives with respect to y and z.
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
The integration methods used by the functions R_Integrate and xyz_Integrate are summarized in [85]. The function R_Integrate uses the Euler-Maclaurin quadrature formula of the form
where is the number of radial points and the radial weights and radial coordinates are given by
and
respectively. R is referred to as the "atomic radius" [85] and takes the value of 1.0 for the hydrogen atom and 0.5882 for He.
The 3-dimensional quadrature formulas have the following form
where for simplicity, the radial and angular integrations are considered separately. The angular integrations are performed using the using the method of Gauss quadratures on a sphere developed by Lebedev (see Refs. [105] to [111]), and as before the radial integrations use the Euler-Maclaurin formula [85]. The Euler-Maclaurin-Lebedev (EML) atomic grid is sometimes referred to simply as [85] as opposed an alternative grid by Murray, Handy and Laming (MHL), which involves three separate integrations and has been referred to as , but is not discussed further here. The function xyz_Integrate implements the Lebedev quadratures by making function calls to Lebedev-Laikov.cpp, which returns the atomic grid coordinates and weights using the method of Gauss quadratures on a sphere [105]. The original source code for the quadrature formulas (written in C) was made available by Laikov [105] and has been translated into Fortran and can be downloaded at http://www.ccl.net/cca/software/SOURCES/FORTRAN/Lebedev-Laikov-Grids/. Lebedev-Laikov.cpp includes routines to produce Lebedev angular grids from 6-point grids to 5810-point grids. Although thirty-two of these routines are available in Lebedev-Laikov.cpp, currently freeMQM-1.cpp only uses the "standard" grid (50,194).
The quadrature formulas for the sphere Lebedev and Laikov presented in Ref. [105] are valid for all polynomials xkylzm, where . The grid parameters listed should give a relative accuracy on the order of , which is limited by the number of significant digits used in the grid parameters and by computer accuracy. The integrals we are interested in, however, involve several Gaussian functions that will not all be centered at a single atom in the case of polyatomic molecules. The Gaussians can be Taylor expanded to arbitrary order and if the function cannot be approximated by an expansion that is spherically symmetric beyond a finite order then the Lebedev quadrature formula will break down unless an alternative method can be employed to ensure that the integrand satisfies .
Becke developed a multicenter integration scheme for polyatomic molecules, which we can apply to EML quadratures [88]. In this approach the integral over the polyatomic system is split into individual atomic centered integrals as follows
where the atomic centered integrals IA can be solved numerically using the EML integration formulas. If the original molecular integral is
then the IA can be written as
where
The problem reduces to finding the weight functions that are unity near the nucleus A, but vanish near all other nuclei in a well-behaved manner. For the integrals to accurately reproduce Eq. (6.84) and give physically meaningful results
so that
Following the initial proposal of Becke [88] the weight functions are constructed from "cell functions" as follows
The "cell functions" are constructed to be unity inside a cell surrounding a given atom and decay rapidly outside the cell; Becke expanded as a product of step functions s(μ)
where is the elliptical coordinate
and rA and rC are the distances to nuclei A and C, respectively. RAC is the internuclear distance between nuclei A and C. Becke proposed [88] a smoothly varying analog to the step function
and found that the simplest possible function that could satisfy the necessary constraints was
where
This does not give a sufficiently rapid cutoff required of the step function; however, three iterations of the function p(μ) has been found to give excellent results [88]
This atomic-centered grid method was one of the first implemented for density-functional theory. Improved descendants are no doubt still used in modern ab initio software packages [Koch,p.107;Treutler and Ahlrichs, 1995][101]. In upcoming sections we will discuss recent developments and alternative methods.
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
Much time and effort has been spent trying to obtain exchange-correlation functionals which will give accurate results. Many useful review articles and Internet resources describe some of the most popular functionals. Mark Casida has a relatively exhaustive and up-to-date tabulated listing of most of the density functionals with links to further information. Earlier work includes that of Johnson et al. [86], which provides a discussion of some of the important "2nd generation" functionals, including the Becke (B88) exchange functional [87], the Vosko, Wilkin, and Nusair (VWN) correlation functional [72], and the Lee, Yang and Parr (LYP) correlation functional [96]. This article also includes an appendix with the relevant functional derivatives. The CLRC Quantum Chemistry Group density-functional Repository [50] has a nice summary of many of the functionals used in research and makes available the Fortran source code that calculates the values of functionals and the necessary derivatives. If one is interested in evaluating other functional derivatives, the book by Parr and Yang [86] includes an appendix on how to perform functional derivatives and the article by Jemmer and Knowles [102] describes a Mathematica program that calculates functional derivatives and gives the Becke88 functional and LYP functional as examples. The program can be obtained online at http://www.tc.bham.ac.uk/~peterk/papers/fderiv/ .
Currently the default functional used by freeMQM-1.cpp is BLYP, which consists of the Becke88 (B88) exchange functional and the LYP correlation functional. Just as an example, the function that contributes to the B88 exchange functional can be written as
where
is the Slater local-density approximation (LDA) exchange contribution and the Becke gradient correction is
The relevant derivatives of are given by [86][50]
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
The function xyz_Integrate only works with atoms and diatomic molecules at the moment, which is just a special case of the procedure outlined by Becke. Currently the step function s(μ) is calculated with the function StepS.
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
From the self-consistent-field (SCF) method we obtain the Kohn-Sham (KS) orbitals, electron density, total ground state energy ( ), Kohn-Sham orbital energies ( ), kinetic energy Hartree energy electron-nucleus attraction energy ( ), exchange energy ( ), correlation energy ( ), and the exchange-correlation energy ( ). Gill reported [85] a total energy of E = -2.897845 a.u. for the helium atom using BLYP/6-31G* and the "standard-grid", which is consistent with the results shown in Table 2. Note in Table 2 that the largest discrepancy between the results of the density-functional calculation and experiment are the Kohn-Sham orbital energies (e.g. ). The negative of the highest occupied Kohn-Sham orbital energy ( ) should be exactly equal to the ionization energy, but as can be seen from Table 2 the calculated values are very inaccurate. The reason for the large discrepancy is that the exchange-correlation potential , calculated from most of standard functionals, is a poor approximation to the exact exchange-correlation potential [104][174] [216][178][224] [Koch,p.88]. Furthermore, additional errors can be introduced in the linear combination of atomic orbitals (LCAO) method if the basis functions are not very accurate approximations to the exact atomic orbitals, as in the case of Gaussian-type orbitals (GTOs), or if too small of a basis is used in the expansion of the orbitals [185][216].
Table 6.1. Density-functional theory results for the helium atom. The energy values are in atomic units (hartrees). , are the total ground state energy, highest occupied Kohn-Sham orbital energy, kinetic energy, Hartree energy, electron-nucleus attraction energy, exchange energy, correlation energy, and the exchange-correlation energy, respectively. The basis used was 6-31G* and the program required approximately 1 second to complete the calculation [c].
[b] Experimental results from the NIST Atomic Spectra Database (ASD). [c] Computed using freeMQM-1 on a PII 266 MHz with 224 RAM (with ~ 50% of the resources available). ______________________________________________________________________________________________________________________ |
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
Our first example of density-functional theory applied to a molecular system is again the hydrogen molecule. Gill reported [85] a total energy of E = -1.165182 a.u. for H2 using BLYP/6-31G* and the "standard-grid". Note again in Table 3 the large discrepancy between the the Kohn-Sham orbital energy (e.g. ) and the experimental value due to the deficiencies in the approximate exchange-correlation potential [104][174] [216][178][224][Koch,p.88].
Table 6.2. Density-functional results for the hydrogen molecule. The energy values are in atomic units (hartrees). , are the total ground state energy, highest occupied Kohn-Sham orbital energy, kinetic energy, Hartree energy, electron-nucleus attraction energy, exchange energy, correlation energy, and the exchange-correlation energy, respectively. For the basis 6-31G* the program required approximately 3 minutes and 20 seconds to complete the calculation and the basis 6-31G** required an additional two minutes[c].
[a] The experimental value of the bond distance can be found on page 201 of Szabo and the experimental value of is on page 194. [c] Computed using freeMQM-1 on a PII 266 MHz with 224 RAM (with ~ 50% of the resources available). __________________________________________________________________________________________________________________________________________ |
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]
Having two integration functions is redundant. The function R_Integrate could be eliminated and be made a special case of xyz_Integrate.
Only LD0194 is currently used in xyz_Integrate, but all the sets of quadrature weights and coordinates described by Lebedev and Laikov in Ref. [105] are available in Lebedev-Laikov.cpp. The function xyz_Integrate could easily be generalized to enable it to access all the functions in Lebedev-Laikov.cpp.
Currently the weight functions wA(r) are only calculated for diatomic molecules.
[Back to Table of Contents] [Top of Chapter 6] [scienceelearning.org]