物質科学のための計算数理 II Numerical Analysis for Material Science II 11th: Density Functional Theory (4) Dec. 21 (Fri) Lecturer: Mitsuaki Kawamura (河村光晶)
Schedule (This semester W1, W2) Sep. 28 (Fri) Guidance Y Oct. 5 (Fri) Monte Carlo method O Oct. 12 (Fri) Monte Carlo method O Oct. 19 (Fri) Monte Carlo method O Oct. 26 (Fri) Exact diagonalization Y Nov. 2 (Fri) Exact diagonalization Y Nov. 9 (Fri) Molecular dynamics O (1st report problem will be announced.) Nov. 30 (Fri) Density functional theory K Dec. 7 (Fri) Density functional theory K Dec. 14 (Fri) Density functional theory K Dec. 21 (Fri) Density functional theory K Dec. 25 (Tue) Density functional theory K (遠隔講義室) Jan. 11 (Fri) (2nd)Report problem K ※ Lecturers: Y … Yamaji, K … Kawamura, O… Ohgoe
Schedule in this section (DFT) Nov. 30 (Fri) Standard DFT code First-principles calculation and Density functional theory (Lecture) One-body Schrödinger eq. for periodic system and Bloch theorem (L) Numerical solution of Kohn-Sham (one-body Schrödinger) eq. (L) Hands-on DFT code (Tutorial) Version control system : Git (T) Dec. 7 (Fri) Kohn-Sham eq. Plane-wave basis and Pseudopotentials (L) Iterative eigenvalue solution method (L & T) Dec. 14 (Fri) Self-Consistent loop Hartree potential (Poisson eq.), Atomic potential, XC potential Update (Broyden's method) Visualization of grid data (T) Dec. 21 (Fri) Total Energy Total energy Brillouin-zone integral (Tetrahedron method) Coulomb potential for periodic point charge (Ewald sum) Dec. 25 (Tue) Advanced subjects for productive calculation (遠隔講義室) Generalized gradient correction Non-local pseudopotentials (Norm-conserving, ultrasoft, PAW) Procedure Jan. 11 (Fri) (2nd) Report problem, Question time
Today’s Schedule Total energy Hartree term Exchange correlation term Brillouin-zone integration Basics Smearing method Tetrahedron method and its improvement Fermi surface plot
Total energy functional for DFT 𝐸 𝑡𝑜𝑡 =𝐸 𝜌 + 1 2 𝑅, 𝑅 ′ 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅 𝑅 ′ 𝛿 𝝉 𝝉 ′ 𝝉+𝑹− 𝝉 ′ − 𝑹 ′ 𝐸 𝜌 = 𝑑 3 𝑟𝜌 𝒓 𝑣 𝒓 + 𝐸 𝑢𝑛𝑖𝑣 𝜌 𝐸 𝑢𝑛𝑖𝑣 𝜌 = 𝑇 𝐾𝑆 𝜌 + 1 2 𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝜌(𝒓)𝜌( 𝒓 ′ ) 𝒓− 𝒓 ′ + 𝐸 𝑋𝐶 𝜌 𝑇 𝐾𝑆 𝜌 = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑑 3 𝑟 𝜑 𝑛𝒌 ∗ 𝑟 − 𝛁 2 2 𝜑 𝑛𝒌 𝑟 𝜑 𝑛𝒌 𝒓 = 1 𝑁 𝐶 𝑒 𝑖𝒌⋅𝒓 𝑢 𝑛𝒌 (𝒓) 𝑢 𝑛𝒌 𝒓 = 𝐺 𝑢 𝑛𝒌 𝑮 𝑒 𝑖𝑮⋅𝒓 𝑉 𝑢𝑐 = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑮 𝒌+𝑮 2 2 𝑢 𝑛𝒌 𝑮 2 Local density approximation 𝐸 𝑋𝐶 𝜌 = 𝑑 3 𝑟𝜌 𝑟 𝜀 𝑋𝐶 𝜌 𝑟 = 𝑁 𝑐 𝑢𝑐 𝑑 3 𝑟𝑟𝜌 𝑟 𝜀 𝑋𝐶 𝜌 𝑟
Tutorial for total energy $ cd ~/pwdft/ $ git checkout master $ git pull $ make clean; make $ cd sample/Al/ $ ../../src/pwdft.x < scf.in Energy per u.c. [eV] Kinetic energy : 22.571740309226847 Hartree energy : 0.10954359264556501 rho*V : 14.630190122503379 Ewald eta [Bohr^-1] : 1.4221682587100493 Ewald grid (G) : 25 25 25 Ewald grid (R) : 2 2 2 Eward energy : -73.366857049902464 XC energy : -21.802851254893593 Total energy : -57.858234280420255 $ bash vol.sh
Hartree and atomic potential energy.F90 1 2 𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝜌(𝒓)𝜌( 𝒓 ′ ) 𝒓− 𝒓 ′ = 1 2 𝑮, 𝑮 ′ 𝜌 𝑮 𝜌 𝑮 ′ 𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝑒 𝑖𝑮⋅𝒓 𝑒 𝑖 𝑮 ′ ⋅ 𝒓 ′ 𝒓− 𝒓 ′ = 1 2 𝑮, 𝑮 ′ 𝜌 𝑮 𝜌 𝑮 ′ 𝑑 3 𝑟 ′ 𝑒 𝑖 𝑮+ 𝑮 ′ ⋅ 𝒓 ′ 𝑑 3 𝑟 𝑒 𝑖𝑮⋅ 𝒓− 𝒓 ′ 𝒓− 𝒓 ′ = 𝑁 𝑐 𝑉 𝑢𝑐 2 𝑮 𝜌 𝑮 𝜌 −𝑮 4𝜋 𝑮 𝟐 = 𝑁 𝑐 𝑉 𝑢𝑐 2 𝑮 𝜌 𝑮 2 4𝜋 𝑮 𝟐 lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Atomic potential term 𝑑 3 𝑟𝜌 𝒓 𝑣 𝒓 = 𝑮, 𝑮 ′ 𝜌 𝑮 𝑣 𝑮 ′ 𝑑 3 𝑟 𝑒 𝑖𝑮⋅𝒓 𝑒 𝑖 𝑮 ′ ⋅ 𝒓 ′ = 𝑁 𝑐 𝑉 𝑢𝑐 𝑮, 𝑮 ′ 𝜌 𝑮 𝑣 −𝑮 − lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Compensating divergent term
Ion-ion Coulomb repulsion 1 2 𝑅, 𝑅 ′ 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅 𝑅 ′ 𝛿 𝝉 𝝉 ′ 𝝉+𝑹− 𝝉 ′ − 𝑹 ′ = 𝑁 𝑐 2 𝑅 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 𝑑 3 𝑟 𝑒 −𝑖𝑮⋅𝒓 𝒓 𝑅 𝑁 𝑐 1 𝒓+𝑹 = 𝐺 𝑒 𝑖𝑮⋅𝒓 𝑢𝑐 𝑑 3 𝑟 ′ 𝑉 𝑢𝑐 𝑒 −𝑖𝑮⋅ 𝒓 ′ 𝑅 𝑁 𝑐 1 𝒓 ′ +𝑹 = 𝐺 𝑒 𝑖𝑮⋅𝒓 4𝜋 𝑉 𝑢𝑐 𝑮 2 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝐺 𝑒 𝑖𝑮⋅ 𝝉− 𝝉 ′ 4𝜋 𝑉 𝑢𝑐 𝑮 2 − 𝑅 𝑁 𝑐 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 𝑅 1 𝑹 𝐺 𝑒 𝑖𝑮⋅𝒓 𝑮 2 lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Slow decay in sum
Ewald's method (1) 1 𝒓+𝑹 = 2 𝜋 0 ∞ 𝑑𝑥 𝑒 − 𝒓+𝑹 2 𝑥 2 1 𝒓+𝑹 = 2 𝜋 0 ∞ 𝑑𝑥 𝑒 − 𝒓+𝑹 2 𝑥 2 𝑹 𝑁 𝑐 𝑒 − 𝒓+𝑹 2 𝑥 2 = 𝑮 𝑒 𝑖𝑮⋅𝒓 𝑢𝑐 𝑑 3 𝑟 ′ 𝑉 𝑢𝑐 𝑒 −𝑖𝑮⋅ 𝒓 ′ 𝑹 𝑁 𝑐 𝑒 − 𝒓 ′ +𝑹 2 𝑥 2 = 𝑮 𝑒 𝑖𝑮⋅𝒓 𝜋 3 2 𝑒 − 𝑮 2 4 𝑥 2 𝑉 𝑢𝑐 𝑥 3 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 2 𝜋 𝜂 ∞ 𝑑𝑥 𝑒 − 𝝉− 𝝉 ′ +𝑹 2 𝑥 2 − 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 0 ∞ 𝑑𝑥 + 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑮 𝑒 𝑖𝑮⋅ 𝝉− 𝝉 ′ 2𝜋 𝑉 𝑢𝑐 0 𝜂 𝑑𝑥 𝑥 3 𝑒 − 𝑮 2 4 𝑥 2 2𝑒 − 𝑮 2 4 𝜂 2 𝑮 2 cos 𝑮⋅ 𝝉− 𝝉 ′
Ewald's method (2) Complementary error function = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑠 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 2 𝜋 𝜂 ∞ 𝑑𝑥 𝑒 − 𝝉− 𝝉 ′ +𝑹 2 𝑥 2 − 𝑁 𝑐 2 𝝉 𝑁 𝑍 𝝉 2 2 𝜋 0 𝜂 𝑑𝑥 − 𝑁 𝑐 𝝉 𝑁 𝜂 𝑍 𝝉 2 𝜋 erfc 𝝉− 𝝉 ′ +𝑹 𝜂 𝝉− 𝝉 ′ +𝑹 + 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑮≠𝟎 cos 𝑮⋅ 𝝉− 𝝉 ′ 4𝜋𝑒 − 𝑮 2 4 𝜂 2 𝑉 𝑢𝑐 𝑮 2 − 𝑁 𝑐 2 𝜋 𝑁 2 𝑉 𝑢𝑐 𝜂 2 + lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2
Optimize lattice constant ($ bash vol.sh) $ grep "Total energy" scf*.out | \ sed -e 's/scf//g' -e 's/.out://g' > ene.dat $ gnuplot gnuplot> set xlabel "Lattice constant [Ang]" gnuplot> set ylabel "Total energy [eV]" gnuplot> plot "ene.dat" u 1:5 w lp
Brillouin-zone integration 𝜌 𝑟 = 𝒌 𝑛 𝜑 𝑛𝒌 𝑟 2 𝜃 𝜀 𝐹 − 𝜀 𝑛𝑘 Born-von Karman's boundary condition : 𝜑 𝑛𝒌 𝑟+𝐿 = 𝜑 𝑛𝒌 𝑟 :𝐿→∞ 2𝜋 𝐿 3 = 2𝜋 3 𝑁 𝑐 𝑉 𝑢𝑐 The size of each state in the reciprocal space : 𝒌 ⋯ = 𝐵𝑍 𝑑 3 𝑘 2𝜋 3 /( 𝑁 𝑐 𝑉 𝑢𝑐 ) ⋯ = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 ⋯ 2𝜋 3 𝑉 𝑢𝑐 ≡ 𝑉 𝐵𝑍 = 𝒃 1 × 𝒃 2 ⋅ 𝒃 3 𝑉 𝑢𝑐 = 𝒂 1 × 𝒂 2 ⋅ 𝒂 3 𝜌 𝑟 = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝜑 𝑛𝒌 𝑟 2 𝜃 𝜀 𝐹 − 𝜀 𝑛𝑘 = 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑢 𝑛𝒌 𝑟 2 𝜃 𝜀 𝐹 − 𝜀 𝑛𝑘
𝒌-integration with 𝜃 𝜀 𝑘 or 𝛿 𝜀 𝑘 Charge density Density of states 𝜌 𝑟 = 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑢 𝑛𝒌 𝑟 2 𝜃 𝜀 𝐹 − 𝜀 𝑛𝑘 𝐷 𝜀 = 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝛿 𝜀− 𝜀 𝑛𝑘 𝑁 𝒌 Using 𝜃( 𝜀 𝐹 − 𝜀 𝑛𝑘 ) as is Too many k points are required. Broadening M. Methfessel, A. T. Paxton, Phys. Rev. B 40, 3616 (1989). Replace 𝜃( 𝜀 𝐹 − 𝜀 𝑛𝑘 ) with a smeared function such as the error function. Tetrahedron O. Jepsen and O. K. Andersen, Solid State Commun. 9, 1763 (1971).
Why we need to reduce 𝑘-points? E.g. 1 DFT calculation of crystals with plane wave and pseudopotencial. 𝑣 𝐾𝑆 𝒓 𝑢 𝑛𝒌 𝒓 (for all orbitals) O 𝑁 𝒌 × 𝑁 𝑏 × 𝑁 𝑃𝑊 log 𝑁 𝑃𝑊 Subspace diagonalization O 𝑁 𝒌 × 𝑁 𝑏 3 Update 𝑢 𝑛𝒌 𝑮 O 𝑁 𝒌 × 𝑁 𝑏 2 × 𝑁 𝑃𝑊 E.g. 2 Hartree-Fock, hybrid DFT, TC, GW 𝑣 𝐹𝑜𝑐𝑘 𝑢 𝑛𝒌 𝒓 (for all orbitals) O 𝑁 𝒌 2 × 𝑁 𝑏 2 × 𝑁 𝑃𝑊 log 𝑁 𝑃𝑊 ※ 𝑁 𝑏 ~ The number of electrons The reduction of k-points without loss of accuracy is the best way for efficient calculation.
Broadening method We can calculate only on discrete k-points. 𝜀 𝒌 Replace 𝛿(𝑥) with smeared function such as (Hermite) Gaussian. 𝛿 𝑥 = 𝑛=0 ∞ −1 𝑛 𝑛!4 𝑛 𝜋 𝐻 2𝑛 𝑥 𝜎 𝑒 − 𝑥 2 / 𝜎 2 M. Methfessel and A. T. Paxton, Phys. Rev. B 40, 3616 (1989). This method becomes worse when smeared function not cover all energy range. 𝜎 𝒌 True band structure
Interpolation method libtetrabz_occ_main@libtetrabz/libtetrabz_occ_mod Interpolation method libtetrabz_occ_main@libtetrabz/libtetrabz_occ_mod.F90 𝜀 1 O. Jepsen and O. K. Andersen, Solid State Commun. 9, 1763 (1971) 𝜀 4 𝑉 𝑇 𝑉 𝑇 = 𝑉 𝐵𝑍 6 𝑁 𝑘 𝜀 2 𝜀 3 When we use linear interpolation, the next is satisfied. If 𝜀 1 ≤𝜀≤ 𝜀 2 ≤ 𝜀 3 ≤ 𝜀 4 , 𝑇 𝜃 𝜀− 𝜀 𝑘 = 𝑉 𝜀 𝑘 ≤𝜀 ≈ 𝑉 𝑇 𝜀− 𝜀 1 𝜀 2 − 𝜀 1 𝜀− 𝜀 1 𝜀 3 − 𝜀 1 𝜀− 𝜀 1 𝜀 4 − 𝜀 1 𝑇 𝛿 𝜀− 𝜀 𝑘 = 𝜕 𝜕𝜀 𝑇 𝜃 𝜀− 𝜀 𝑘 These expressions are not applicable for higher order (2nd , 3rd ・・・) interpolation ! If 𝜀 1 ≤ 𝜀 2 ≤𝜀≤ 𝜀 3 ≤ 𝜀 4 , ⋯ If 𝜀 1 ≤ 𝜀 2 ≤ 𝜀 3 ≤𝜀≤ 𝜀 4 , ⋯ If 𝜀 1 ≤ 𝜀 2 ≤ 𝜀 3 ≤ 𝜀 4 ≤𝜀, ⋯
Systematic error in tetrahedron method (Traditional) tetrahedron method linearly interpolate the function of k (such as wave function, KS energy, etc. ). T T If the sign of curvature of these function is always negative, we overestimete. Not Interpolating But Fitting
Optimized tetrahedron method M. Kawamura et al., Phys. Rev. B 89, 094515 (2014). Optimized tetrahedron method Conventional tetrahedron method T T 𝒌 𝒌 Higher order interpolation of 𝜀 𝑘 , etc. Fit this function into a linear function in the tetrahedron Tetrahedron method with fitted linear function Linear interpolation of 𝜀 𝑘 , etc. Tetrahedron method with interpolated linear function
Library of tetrahedron method LibTetraBZ http://libtetrabz.osdn.jp/ MPI + OpenMP (Thread safe) Fortran/C/C++ 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝛿 𝜀 𝐹 − 𝜀 𝑛𝒌 𝛿 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝑋 𝑛 𝑛 ′ 𝒌 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝛿 𝜀− 𝜀 𝑛𝒌 𝑋 𝑛𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝐹 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝑋 𝑛 𝑛 ′ 𝒌 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀− 𝜀 𝑛𝒌 𝑋 𝑛𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝐹 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 𝑋 𝑛 𝑛 ′ 𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝛿 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 +𝜔 𝑋 𝑛 𝑛 ′ 𝒌 (𝜔) 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 +𝑖𝜔 𝑋 𝑛 𝑛 ′ 𝒌 (𝜔)
LibTetraBZ 𝜀 𝑘 =− cos 𝑘 𝑥 − cos 𝑘 𝑦 − cos 𝑘 𝑧 $ cd ~/ $ git clone git://git.osdn.net/gitroot/libtetrabz/libtetrabz.git $ cd libtetrabz $ touch Makefile.in aclocal.m4 configure $ ./configure; make $ cd example $ ./dos.x Which tetrahedron method ?(1 = Linear, 2 = Optimized): 2⏎ k-point mesh ?: 10⏎ $ gnuplot gnuplot> set xlabel "Energy" gnuplot> set ylabel "DOS" gnuplot> plot "dos.dat" w l 𝜀 𝑘 =− cos 𝑘 𝑥 − cos 𝑘 𝑦 − cos 𝑘 𝑧
Fermi energy with bisection method libtetrabz_fermieng@libtetrabz/src/libtetrabz_occ_mod.F90 𝑁= 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝜀 𝑢𝑝 = max { 𝜀 𝑛𝑘 } 𝜀 𝑙𝑜𝑤 = min { 𝜀 𝑛𝑘 } do iteration 𝜀 𝐹 = 𝜀 𝑢𝑝 + 𝜀 𝑙𝑜𝑤 /2 𝑁 = 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 if 𝑁 <𝑁 is small → Finish else if 𝑁 <𝑁 𝜀 𝑙𝑜𝑤 = 𝜀 𝐹 else if 𝑁 >𝑁 𝜀 𝑢𝑝 = 𝜀 𝐹 end if end do iteration
Iso surface with tetrahedron method FermiSurfer Input file format http://fermisurfer.osdn.jp/en/_build/html/fermisf_input_en.html
Report problem 3 (1) Modify dos.F90 or dos_c.c to compute DOS with Gaussian broadening method. 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝛿 𝜀− 𝜀 𝒌 ≈ 1 𝑁 𝑘 𝑘 𝑁 𝑘 1 𝜎 𝜋 𝑒 − 𝜀− 𝜀 𝒌 𝜎 2 Plot DOS at each 𝑁 𝑘 and 𝜎, then compare with tetrahedron methods (Linear and optimized) Note: Replace call libtetrabz_fermieng(ltetra,bvec,nb,nge,eig,ngw,wght,ef,nelec) to ef = 0.0d0 (2) Output 𝜀 𝒌 and 𝛁 𝒌 𝜀 𝒌 in the FermiSurfer format (vf.frmsf). Modified code should be submitted as a diff file generated by $ cd ~/libtetrabz/ $ git add example $ git commit $ git show > 12212018.diff
Today's summary Total energy Hartree, atomic, XC, kinetic, Ewald energy Coulomb repulsion of periodically aligned ions is computed efficiently with Ewald's method. Brillouin zone integration Tetrahedron method Optimized tetrahedron method Library Fermi surface