Download presentation
Presentation is loading. Please wait.
Published byDamian Friedrich Modified over 5 years ago
1
物質科学のための計算数理 II Numerical Analysis for Material Science II
11th: Density Functional Theory (4) Dec. 21 (Fri) Lecturer: Mitsuaki Kawamura (河村光晶)
2
Schedule (This semester W1, W2)
Sep. 28 (Fri) Guidance Y Oct (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 (Fri) Exact diagonalization Y Nov (Fri) Molecular dynamics O (1st report problem will be announced.) Nov. 30 (Fri) Density functional theory K Dec (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 (Fri) (2nd)Report problem K ※ Lecturers: Y … Yamaji, K … Kawamura, O… Ohgoe
3
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 (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 (Fri) (2nd) Report problem, Question time
4
Today’s Schedule Total energy Hartree term Exchange correlation term
Brillouin-zone integration Basics Smearing method Tetrahedron method and its improvement Fermi surface plot
5
Total energy functional for DFT
𝐸 𝑡𝑜𝑡 =𝐸 𝜌 𝑅, 𝑅 ′ 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅 𝑅 ′ 𝛿 𝝉 𝝉 ′ 𝝉+𝑹− 𝝉 ′ − 𝑹 ′ 𝐸 𝜌 = 𝑑 3 𝑟𝜌 𝒓 𝑣 𝒓 + 𝐸 𝑢𝑛𝑖𝑣 𝜌 𝐸 𝑢𝑛𝑖𝑣 𝜌 = 𝑇 𝐾𝑆 𝜌 𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝜌(𝒓)𝜌( 𝒓 ′ ) 𝒓− 𝒓 ′ + 𝐸 𝑋𝐶 𝜌 𝑇 𝐾𝑆 𝜌 = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑑 3 𝑟 𝜑 𝑛𝒌 ∗ 𝑟 − 𝛁 𝜑 𝑛𝒌 𝑟 𝜑 𝑛𝒌 𝒓 = 1 𝑁 𝐶 𝑒 𝑖𝒌⋅𝒓 𝑢 𝑛𝒌 (𝒓) 𝑢 𝑛𝒌 𝒓 = 𝐺 𝑢 𝑛𝒌 𝑮 𝑒 𝑖𝑮⋅𝒓 𝑉 𝑢𝑐 = 𝑁 𝑐 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝑛 𝑮 𝒌+𝑮 𝑢 𝑛𝒌 𝑮 2 Local density approximation 𝐸 𝑋𝐶 𝜌 = 𝑑 3 𝑟𝜌 𝑟 𝜀 𝑋𝐶 𝜌 𝑟 = 𝑁 𝑐 𝑢𝑐 𝑑 3 𝑟𝑟𝜌 𝑟 𝜀 𝑋𝐶 𝜌 𝑟
6
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 : Hartree energy : rho*V : Ewald eta [Bohr^-1] : Ewald grid (G) : Ewald grid (R) : Eward energy : XC energy : Total energy : $ bash vol.sh
7
Hartree and atomic potential energy.F90
𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝜌(𝒓)𝜌( 𝒓 ′ ) 𝒓− 𝒓 ′ = 1 2 𝑮, 𝑮 ′ 𝜌 𝑮 𝜌 𝑮 ′ 𝑑 3 𝑟 𝑑 3 𝑟 ′ 𝑒 𝑖𝑮⋅𝒓 𝑒 𝑖 𝑮 ′ ⋅ 𝒓 ′ 𝒓− 𝒓 ′ = 1 2 𝑮, 𝑮 ′ 𝜌 𝑮 𝜌 𝑮 ′ 𝑑 3 𝑟 ′ 𝑒 𝑖 𝑮+ 𝑮 ′ ⋅ 𝒓 ′ 𝑑 3 𝑟 𝑒 𝑖𝑮⋅ 𝒓− 𝒓 ′ 𝒓− 𝒓 ′ = 𝑁 𝑐 𝑉 𝑢𝑐 2 𝑮 𝜌 𝑮 𝜌 −𝑮 4𝜋 𝑮 𝟐 = 𝑁 𝑐 𝑉 𝑢𝑐 2 𝑮 𝜌 𝑮 𝜋 𝑮 𝟐 lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Atomic potential term 𝑑 3 𝑟𝜌 𝒓 𝑣 𝒓 = 𝑮, 𝑮 ′ 𝜌 𝑮 𝑣 𝑮 ′ 𝑑 3 𝑟 𝑒 𝑖𝑮⋅𝒓 𝑒 𝑖 𝑮 ′ ⋅ 𝒓 ′ = 𝑁 𝑐 𝑉 𝑢𝑐 𝑮, 𝑮 ′ 𝜌 𝑮 𝑣 −𝑮 − lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Compensating divergent term
8
Ion-ion Coulomb repulsion
1 2 𝑅, 𝑅 ′ 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅 𝑅 ′ 𝛿 𝝉 𝝉 ′ 𝝉+𝑹− 𝝉 ′ − 𝑹 ′ = 𝑁 𝑐 2 𝑅 𝑁 𝑐 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 𝑑 3 𝑟 𝑒 −𝑖𝑮⋅𝒓 𝒓 𝑅 𝑁 𝑐 1 𝒓+𝑹 = 𝐺 𝑒 𝑖𝑮⋅𝒓 𝑢𝑐 𝑑 3 𝑟 ′ 𝑉 𝑢𝑐 𝑒 −𝑖𝑮⋅ 𝒓 ′ 𝑅 𝑁 𝑐 𝒓 ′ +𝑹 = 𝐺 𝑒 𝑖𝑮⋅𝒓 4𝜋 𝑉 𝑢𝑐 𝑮 2 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝐺 𝑒 𝑖𝑮⋅ 𝝉− 𝝉 ′ 4𝜋 𝑉 𝑢𝑐 𝑮 2 − 𝑅 𝑁 𝑐 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 𝑅 1 𝑹 𝐺 𝑒 𝑖𝑮⋅𝒓 𝑮 2 lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2 Slow decay in sum
9
Ewald's method (1) 1 𝒓+𝑹 = 2 𝜋 0 ∞ 𝑑𝑥 𝑒 − 𝒓+𝑹 2 𝑥 2
1 𝒓+𝑹 = 2 𝜋 0 ∞ 𝑑𝑥 𝑒 − 𝒓+𝑹 2 𝑥 2 𝑹 𝑁 𝑐 𝑒 − 𝒓+𝑹 2 𝑥 2 = 𝑮 𝑒 𝑖𝑮⋅𝒓 𝑢𝑐 𝑑 3 𝑟 ′ 𝑉 𝑢𝑐 𝑒 −𝑖𝑮⋅ 𝒓 ′ 𝑹 𝑁 𝑐 𝑒 − 𝒓 ′ +𝑹 2 𝑥 2 = 𝑮 𝑒 𝑖𝑮⋅𝒓 𝜋 𝑒 − 𝑮 𝑥 𝑉 𝑢𝑐 𝑥 3 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝝉− 𝝉 ′ +𝑹 = 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 𝜋 𝜂 ∞ 𝑑𝑥 𝑒 − 𝝉− 𝝉 ′ +𝑹 2 𝑥 2 − 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 0 ∞ 𝑑𝑥 + 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑮 𝑒 𝑖𝑮⋅ 𝝉− 𝝉 ′ 2𝜋 𝑉 𝑢𝑐 0 𝜂 𝑑𝑥 𝑥 3 𝑒 − 𝑮 𝑥 2 2𝑒 − 𝑮 𝜂 𝑮 2 cos 𝑮⋅ 𝝉− 𝝉 ′
10
Ewald's method (2) Complementary error function
= 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑠 𝑍 𝝉 𝑍 𝝉 ′ 𝑅 𝑁 𝑐 1− 𝛿 𝑅𝟎 𝛿 𝝉 𝝉 ′ 𝜋 𝜂 ∞ 𝑑𝑥 𝑒 − 𝝉− 𝝉 ′ +𝑹 2 𝑥 2 − 𝑁 𝑐 2 𝝉 𝑁 𝑍 𝝉 𝜋 0 𝜂 𝑑𝑥 − 𝑁 𝑐 𝝉 𝑁 𝜂 𝑍 𝝉 2 𝜋 erfc 𝝉− 𝝉 ′ +𝑹 𝜂 𝝉− 𝝉 ′ +𝑹 + 𝑁 𝑐 2 𝝉, 𝝉 ′ 𝑁 𝑍 𝝉 𝑍 𝝉 ′ 𝑮≠𝟎 cos 𝑮⋅ 𝝉− 𝝉 ′ 𝜋𝑒 − 𝑮 𝜂 𝑉 𝑢𝑐 𝑮 − 𝑁 𝑐 2 𝜋 𝑁 2 𝑉 𝑢𝑐 𝜂 lim 𝑮→0 𝑁 𝑐 𝑉 𝑢𝑐 2 4𝜋 𝑮 𝟐 𝑁 𝑉 𝑢𝑐 2
11
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
12
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 𝜃 𝜀 𝐹 − 𝜀 𝑛𝑘
13
𝒌-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).
14
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.
15
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
16
Interpolation method libtetrabz_occ_main@libtetrabz/libtetrabz_occ_mod
Interpolation method 𝜀 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 ≤𝜀, ⋯
17
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
18
Optimized tetrahedron method
M. Kawamura et al., Phys. Rev. B 89, (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
19
Library of tetrahedron method
LibTetraBZ MPI + OpenMP (Thread safe) Fortran/C/C++ 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝛿 𝜀 𝐹 − 𝜀 𝑛𝒌 𝛿 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝑋 𝑛 𝑛 ′ 𝒌 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝛿 𝜀− 𝜀 𝑛𝒌 𝑋 𝑛𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝐹 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝑋 𝑛 𝑛 ′ 𝒌 𝑛 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀− 𝜀 𝑛𝒌 𝑋 𝑛𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝐹 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 𝑋 𝑛 𝑛 ′ 𝒌 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝛿 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 +𝜔 𝑋 𝑛 𝑛 ′ 𝒌 (𝜔) 𝑛, 𝑛 ′ 𝐵𝑍 𝑑 3 𝑘 𝑉 𝐵𝑍 𝜃 𝜀 𝐹 − 𝜀 𝑛 ′ 𝒌 ′ 𝜃 𝜀 𝐹 − 𝜀 𝑛𝒌 𝜀 𝑛 ′ 𝒌 ′ − 𝜀 𝑛𝒌 +𝑖𝜔 𝑋 𝑛 𝑛 ′ 𝒌 (𝜔)
20
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 𝑘 𝑧
21
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
22
Iso surface with tetrahedron method
FermiSurfer Input file format
23
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 > diff
24
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.