370 likes | 606 Views
DFT – Nuts & Bolts, Approximations [based on Chapter 3, Sholl & Steckel]. Periodicity Reciprocal space, band structures Bloch’s theorem Approximations k-point sampling Basis functions Pseudopotentials Exchange-correlation Geometry optimization.
E N D
DFT – Nuts & Bolts, Approximations[based on Chapter 3, Sholl & Steckel] • Periodicity • Reciprocal space, band structures • Bloch’s theorem • Approximations • k-point sampling • Basis functions • Pseudopotentials • Exchange-correlation • Geometry optimization
The Hohenberg-Kohn-Sham prescription for the total energy Guess ψi(r) for all the electrons Remember that ψi(r) is a 1-electron wave function No Solve! Is new ψi(r) close to old ψi(r) ? Periodicity in real space additional index, k Yes Calculate total energy
Periodicity Wigner-Seitz (WS) cell primitive unit cell {a1, a2, a3} Real-space lattice vectors, R = n1a1 + n2a2 + n3a3 FCC Wigner-Seitz (WS) cell • Periodicity in real space a reciprocal space lattice, Brillouin zones (BZ), etc. {b1, b2, b3} • Reciprocal-space lattice vectors, G = m1b1 + m2b2 + m3b3 • ai.bj = 2pdij FCC 1st Brillouin zone (BZ)
Band structures of FCC systems Carbon (diamond) Insulator Copper Metal Fermi energy Band gap Points in the first Brillouin zone http://www.bandstructure.jp/Table/simptab.html
Why the “band structure”?From one to many atoms (or nuclei) • A single isolated atom has 1s, 2s, 2p, etc., states or wave functions • In a solid made up of M atoms, these wave functions combine and interact with each other, resulting in wave functions of the entire solid • The x-axis of a band structure plot “labels” various (infinite number of) solid wave functions based on their “symmetry” • The total electronic charge density, and the total energy, involve integrals over all the “occupied” wave functions • Before we get to a solid, let us see how the picture changes progressively when we go from • one or more independent electrons “tied” to one nucleus one or more independent electrons “tied” to 2, 3, 4, … nuclei
From one to two nuclei • H + H H2 • The 1s orbitals of the two H atoms combine in a bonding and antibonding fashion to result in two “molecular orbitals” s*1s H H H2 antibonding 1s 1s s1s bonding
From one to two nuclei (contd.) • Likewise, each atomic orbital combine in a bonding and antibonding fashion • The “molecular orbital diagram” for O2 shows that it is paramagnetic (although it has even number of electrons)!!! one of the first triumphs of molecular quantum mechanics!
From one to many nuclei • We consider just one atomic orbital per atom for this conceptual discussion Molecular orbital (or wave function) # of nuclei Energy levels # of “nodes” 1 2 0 2 3 1 0
From one to many nuclei (contd.) Molecular orbital (or wave function) # of nuclei Energy levels # of “nodes” 3 2 4 1 0 The “k-points” within BZ label wave functions with various number/type of nodes “infinity”
N isolated atoms solid (periodic) 2p 2p 2p 2p • Each of the N (1s, 2s, etc.) states becomes a band containing N k-points ( N ∞) 2s 2s 2s 2s 1s 1s 1s 1s
Bloch’s theorem • Do the wave functions have the same symmetry as the underlying lattice? No! • The wave function can be written as a product of a periodic part and a phase factor [Bloch’s theorem] Periodic part. i.e., uik(r) = uik(r+R) R is any lattice vector • Note, however, that the charge density (a physical observable) does indeed reflect the periodicity of the lattice (as it should)!
The DFT Kohn-Sham equation (for periodic solids) Equation A Bloch’s theorem Equation B Note the 2 indices (i and k); Solve for each choice of k; k is a point in the 1st BZ
Approximations Approximation 1: finite number of k-points Approximation 2: representation of wave functions Approximation 3: pseudopotentials Approximation 4: exchange-correlation
Approximation 1: k-point sampling • Note that the wave function (and the 1-electron energy) of the solid has two indices • k labels the symmetry of the wave functions (i.e., its nodal structure) • i labels the spectrum of eigenfunctions (and eigenvalues) for a given k • The DFT Kohn-Sham equations have to be solved separately for each choice of k-point • Since k is a continuous variable, it is discretized, and integrals involving k are converted to summations (e.g., trapezoidal rule) Summation over a discrete set of points within the 1st Brillouin zone (BZ) Weight factor for each point within BZ
Approximation 1: k-point sampling • A popular way of discretizing Monkhorst-Pack method (all we need to do is specify 3 integers for the number of k-points along each of the 3 axes) • What if the system is not periodic, e.g., a molecule? Periodic unit cell can be made large, so that BZ collapses to a point! Hence, Kohn-Sham equation needs to be solved at just one point, k = 0 • Convergence with respect to the number of k-points • Progressively keep increasing the number of k-points till the total energy does not change appreciably
Approximations Approximation 1: finite number of k-points Approximation 2: representation of wave functions Approximation 3: pseudopotentials Approximation 4: exchange-correlation
Approximation 2: Representation of the wave functions as plane waves (basis functions) • We need to solve the following equation hKS • Since uik(r) is periodic, it can be expanded as a Fourier series in terms of the reciporcal lattice vectors G, up to a vector Gcut • Substituting this in the first equation, multiplying both sides of the equation on the left by exp(-iG’.r) and integrating yields Fourier transform of veff! • We thus have to solve a matrix eigenvalue problem
Approximation 2: Representation of the wave functions as plane waves (basis functions) • The hamiltonian matrix is a square matrix, with its size dependent on the choice of Gcut (larger Gcut, larger the number of plane waves, larger the matrix, and more accurate the result) • Setting up the h matrix involves performing Fourier transforms, which can be efficiently done using FFT algorithms • Efficient and standard numerical methods are also available to solve matrix eigenvalue problems • Convergence with respect to Gcut: progressively increase Gcut (or Ecut = ħ2Gcut2/2m) till total energy ceases to change appreciably (similar to k-point convergence) • Note: there are other ways to expand the wave functions too …
Approximations Approximation 1: finite number of k-points Approximation 2: representation of wave functions Approximation 3: pseudopotentials Approximation 4: exchange-correlation
Approximation 3: Pseudopotentials • Two important points • Only the valence electrons participate in chemical bonding, while the core electrons remain inert; hence, why do we need to explicitly consider the core electrons and add to the computational expense? • Valence electron wave functions (dashed lines) display a lot of wiggles in the core region, which increases the number of plane waves (i.e., Ecut) required; is there a way to get rid of the wiggles as all the (chemical) action is in the valence region? • Pseudopotentials help us “fool” the valence electrons into thinking that they are the only electrons of the system • Thus, we can get by with less number of electrons … • … and no wiggles in the core region (solid lines)!
Approximation 3: Pseudopotentials“Fooling the electrons” Pseudo atom Real atom 3s Real nucleus, -Ze2/r 3p Pseudo-core (real nucleus + core electrons)
Approximation 3: Pseudopotentials • Solve DFT Kohn-Sham equation for real atom contain all (core + valence) electrons • Replace actual valence electron wave functions (dashed lines) by pseudo valence electron wave functions (solid lines) beyond a cut-off radius • Invert Kohn-Sham equations, and determine the pseudo core potentials (i.e., pseudopotentials) that have the pseudo wave functions and correct 1-electron energies as the solutions
Approximation 3: Pseudopotentials The pseudopotentials are a replacement for the true –Ze2/r potentials We will have different pseudopotentials for electrons with different angular momenta (i.e., s, p, d, ... electrons will “see” a different pseudopotential) Generation of pseudo potentials is a one-time process for each element of the periodic table; subsequently, these pseudopotentials are used in all future calculations! Many flavors of pseudopotentials are available: e.g., norm-conserving, ultrasoft, projector augmented wave (PAW)
Approximations Approximation 1: finite number of k-points Approximation 2: representation of wave functions Approximation 3: pseudopotentials Approximation 4: exchange-correlation
Approximation 4: Exchange-correlation[the contention between chemists & physicists!] • The most “damaging” approximation of all – the root cause of all (or most) problems/deficiencies of DFT! • Remember: all the quantum many body effects (and our ignorance) are buried in Exc[n(r)] • DFT guaranties the existence of Exc[n(r)], but does not provide the actual functional form • We thus need to approximate it using known limiting cases (example: the uniform electron gas)
Approximation 4: Exchange-correlation[The local density approximation (LDA)] The exchange-correlation energy of a uniform electron gas was determined by Ceperley & Alder for a wide range of electron densities This was (and continues to be) used to treat electrons in solids as the charge density in most solids may be assumed to be “slowly” varying! This is the local density approximation (LDA) to XC, as the XC energy is assumed to depend “locally” on the electron density
Approximation 4: Exchange-correlation[Beyond LDA] • Several approaches available to go beyond the LDA, but none completely satisfactory! • The generalized gradient approximation (GGA) uses the local electron density and gradients of the electron density (reminiscent of Taylor series expansion of a function(al)) • Chemists (to whom chemical accuracy is important) have resorted to combining the GGA correlation functional with the Hartree-Fock exact exchange functional in varying parts in attempts to obtain results more accurate than GGA or LDA … • … but these are not exactly “first principles”, “ab initio”, or “parameter-free” any more! • Still, the traditional LDA and GGA levels of theory provide results and descriptions with acceptable levels of accuracy
Approximations Approximation 1: finite number of k-points Approximation 2: representation of wave functions Approximation 3: pseudopotentials Approximation 4: exchange-correlation
Closing the loop … • We now have a prescription for computing the total energy of a collection of electrons and nuclei, but • at chosen fixed positions of the nuclei RI, and • at fixed choices of unit cell (or “supercell”) lattice vectors {a1, a2, a3} • We still need to determine the correct configuration of nuclei & the correct size/shape of the supercell • This is simply a minimization problem! • Minimize E(a1,a2,a3,R1,R2,…,RM) with respect to each of the atomic positions {R1,R2,…,RM}, and each of the lattice vectors {a1,a2,a3} • Many algorithms are available for minimizing a function of many variables • Some use only function values • Some use function values and first derivatives • Some use function values, first and second derivatives • Typical DFT codes use the function value (energy) and first derivatives • The first derivative of the energy with respect to the atomic positions is related to the forces on each atom • The first derivative of the energy with respect to the supercell size/shape is related to the stresses
Forces • The force on each atom, FI = -E/RI • How do we calculate the forces? Finite differences? • Not necessarily! The Hellman-Feynman theorem allows us to do this analytically!
Stresses on the unit cell • Likewise the stresses can also be computed analytically, sab = [1/Vcell(2- dab)]E/eab • As finite differences are not used, computations of forces and stresses cost nothing (they are “by products” of the total energy calculation)
The DFT prescription for the total energy(including geometry optimization) Guess ψik(r) for all the electrons Self-consistent field (SCF) loop Solve! No Is new n(r) close to old n(r) ? Yes Geometry optimization loop Calculate total energy E(a1,a2,a3,R1,R2,…RM) = Eelec(n(r); {a1,a2,a3,R1,R2,…RM}) + Enucl Calculate forces on each atom, and stress in unit cell Move atoms; change unit cell shape/size No Are forces and stresses zero? Yes DONE!!!
Required input in typical DFT calculations • Initial guesses for the unit cell vectors (a1, a2, a3) and positions of all atoms (R1, R2, …, RM) • k-point mesh to “sample” the Brillouin zone • Pseudoptential for each atom type • Basis function information (e.g., plane wave cut-off energy, Ecut) • Level of theory (e.g., LDA, GGA, etc.) • Other details (e.g., type of optimization and algorithms, precision, whether spins have to be explicitly treated, etc.)
Popular DFT codes • VASP (http://cms.mpi.univie.ac.at/vasp/) - $$$ • CASTEP (http://www.castep.org/) - $$$ • SIESTA (http://www.icmab.es/siesta/) - Free • Abinit (http://www.abinit.org/) -Free • Quantum Espresso (http://www.quantum-espresso.org/) - Free • Gaussian (http://www.gaussian.com) - $$$ • DMol (http://accelrys.com/products/materials-studio/modules/dmol3.html) - $$$ • ADF (http://www.scm.com/) - $$$
Key Dates/Lectures • Sept 21 – Lecture: Solving simple example problems • Sept 28 – Demo • Oct 5 – Lecture: More example problems • Oct 12 – Demo • Oct 19 – Lecture • Oct 26 – Midterm Exam • Nov 2 – Lecture • Nov 9 – Lecture • Nov 16 – Guest Lectures • Dec 7 – In-class term paper presentations