0% found this document useful (0 votes)
43 views54 pages

Overview-WIEN2k, Forces Etc Blaha

Uploaded by

Amran Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views54 pages

Overview-WIEN2k, Forces Etc Blaha

Uploaded by

Amran Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

WIEN2k software package

An Augmented Plane Wave Plus Local


Orbital
Program for Calculating Crystal Properties

Peter Blaha
Karlheinz Schwarz
Georg Madsen
Dieter Kvasnicka
Joachim Luitz
Robert Laskowski
Fabien Tran
Laurence Marks
November 2001
WIEN97: ~500 users Vienna, AUSTRIA
WIEN2k: ~3000 users Vienna University of Technology

http://www.wien2k.at
General remarks on WIEN2k

 WIEN2k consists of many independent F90 programs, which


are linked together via C-shell scripts.
 Each „case“ runs in his own directory ./case
 The „master input“ is called case.struct
 Initialize a calculation: init_lapw
 Run scf-cycle: run_lapw (runsp_lapw)
 You can run WIEN2k using any www-browser and the w2web

interface, but also at the command line in an xterm.


 Input/output/scf files have endings as the corresponding

programs:
 case.output1…lapw1; case.in2…lapw2; case.scf0…lapw0
 Inputs are generated using STRUCTGEN(w2web) and
init_lapw
w2web: the web-based GUI of WIEN2k

 Based on www
 WIEN2k can be managed remotely

via w2web
 Important steps:
 start w2web on all your hosts

 login to the desired host (ssh)


 w2web (at first startup you will be
asked for username/password,
port-number, (master-)hostname.
creates ~/.w2web directory)
 use your browser and connect to
the (master) host:portnumber
 firefox http://fp98.zserv:10000
 create a new session on the
desired host (or select an old one)
w2web GUI (graphical user interface)
 Structure generator
 spacegroup selection
 import cif or xyz file
 step by step initialization
 symmetry detection
 automatic input generation
 SCF calculations
 Magnetism (spin-polarization)
 Spin-orbit coupling
 Forces (automatic geometry
optimization)
 Guided Tasks
 Energy band structure
 DOS
 Electron density
 X-ray spectra
 Optics
Spacegroup P42/mnm

Structure given by:


spacegroup
lattice parameter
positions of atoms
(basis)

Rutile TiO2:
P42/mnm (136)
a=8.68, c=5.59 bohr
Ti: (0,0,0)
O: (0.304,0.304,0)
Structure generator
 Specify:
 Number of nonequivalent atoms
 lattice type (P, F, B, H, CXY, CXZ, CYZ) or spacegroup symbol

 if existing, you must use a SG-setting with inversion symmetry:


 Si: ±(1/8,1/8,1/8), not (0,0,0)+(1/4,1/4,1/4)!
 lattice parameters a,b,c (in Å or bohr)
 name of atoms (Si) and fractional coordinates (position)

 as numbers (0.123); fractions (1/3); simple expressions (x-1/2,…)


 in fcc (bcc) specify just one atom, not the others in (1/2,1/2,0; …)
 „save structure “
 updates automatically Z, r0, equivalent positions

 „set RMT and continue“: (specify proper “reduction” of NN-distances)


 non-overlapping „as large as possible“ (saves time, may require L
vns=6(8))

 RMT for sp (d) - elements 10-20 % smaller than for d (f) elements

 largest spheres not more than 50 % larger than smallest sphere

 Exception: H in C-H or O-H bonds: RMT~0.6 bohr (RKMAX~3-4)

 Do not change RMT in a „series“ of calculations, RMT equal for same atoms

 „save structure – save+cleanup“


Program structure of WIEN2k
 init_lapw
 step-by-step or batch initialization

 symmetry detection (F, I, C-


centering, inversion)
 input generation with
recommended defaults
 quality (and computing time)
depends on k-mesh and R.Kmax
(determines #PW)
 run_lapw
 scf-cycle

 optional with SO and/or LDA+U

 different convergence criteria


(energy, charge, forces)
 save_lapw tic_gga_100k_rk7_vol0
 cp case.struct and clmsum files,

 mv case.scf file

 rm case.broyd* files
RKMAX
 The convergence criterion in APW is the product of RMT.Kmax

  K
KMAX
cKn eiKn r
n

 http://www.wien2k.at/reg_user/faq/rkmax.html
 medium quality convergence for smallest atom:
Rkmax Element
3.0 H
 basis set scales with RKmax3 4.5 Li
5.0 Be, B, Si
 cputime scales with NPW3 5.5 C, P
6.0 N, S
6.5 O, Cl, Na, K, Rb, Cs, Mg, Ca, Sr, Ba, Al
7.0 F
 increasing Rkmax by 10 % 7.5 Sc-Cr, Ga-Br, Y-Mo
doubles cputime 8.0 Mn-Zn, Ru-Cd, In-I, La, Ce, Hf-Re
8.5 Os-At, Pr-Lu, Ac-Lr

START with SMALL Rkmax (relaxation), increase/test later


BZ integration, “FERMI”-methods

 Replace the “integral” of the BZ by a finite summation on a


mesh of “k-points” En  E F
 ( r )    k*,n  k ,n d 3k   wk ,n  k* k
n k ,n
 weights wk,n depend on k and bandindex n (occupation)
 for full “bands” the weight is given by “symmetry”
 w()=1, w(x)=2, w()=4, w(k)=8
  X
shifted “Monkhorst-Pack” mesh K
 for partially filled bands (metals) one must find the
Fermi-energy (integration up to NE) and determine
the weights for each state Ek,n
 linear tetrahedron method (TETRA, eval=999)
 linear tetrahedron method + “Bloechl” corrections (TETRA)
 “broadening methods”
 gauss-broadening (GAUSS 0.002)
 temperature broadening (TEMP/TEMPS 0.002)
 broadening useful to damp scf oszillations, but dangerous (magnetic moment)
k-mesh generation

 x kgen (generates k-mesh and reduces to irreducible wedge using symmetry)


 automatically “adds inversion”
 time inversion holds and E(k) = E(-k)
 except in magnetic spin-orbit calculations (x –so kgen; uses case.ksym
file)
 x –fbz kgen (generates „full mesh“ in BZ)
 always “shift” the mesh for scf-cycle
 gaps often at  ! (might not be in your mesh)
 small unit cells and metals require large k-mesh (1000-100000)
 large unit cells and insulators need only 1-10 k-points

 use at first a fairly coarse mesh for scf/relaxations

 continue later with finer mesh

 mesh was good if nothing changes and scf terminates after few (3) iterations
 use even finer meshes for DOS, spectra, optics,…
Program execution:

 All programs are executed via the „master“ shell-script x_lapw


x lapw2 –up –orb
 This generates a „def“ file: lapw2.def
5,'tin.in2c', 'old', 'formatted'
6,'tin.output2up', 'unknown','formatted'
8,'tin.clmvalup', 'unknown','formatted'
10,'./tin.vectorup','unknown','unformatted'
 and executes: lapw2c lapw2.def
 All WIEN2k-shell scripts have long and short names:

 x_lapw; runsp_lapw, runfsm_lapw  x; runsp; runfsm


 All scripts have a „help“ switch „-h“, which explains flags and
options (without actually execution)
x –h x lapw1 -h
scf-cycle

 run_lapw [options] (for nonmagnetic cases)


 -ec 0.0001 convergence of total energy (Ry)
 -cc 0.0001 convergence of charge distance (e-)
 -fc 1.0 convergence of forces (mRy/bohr)
 -it (-it1,-it2 , -noHinv) iterative diagonalization (large speedup)
 -p parallel calculation (needs .machines file)
 -so add spin-orbit (only after „init_so“)
 Spacegroups without inversion use automatically lapw1c, lapw2c (case.in1c,in2c)
 case.scf: master output file, contains history of the scf-cycle
 most information is stored with some „labels“ (grep :label case.scf)
 :ENE :DIS :FER :GAP :CTO001 :NTO001 :QTL001
 :FOR002: 2.ATOM 19.470 0.000 0.000 19.470
 :FGL002: 2.ATOM 13.767 13.767 0.000 total forces
 :LAT :VOL :POSxxx
Getting help

 *_lapw –h „help switch“ of all WIEN2k-scripts


 help_lapw:
 opens usersguide.pdf; Use ^f keyword to search for an item („index“)
 html-version of the UG: ($WIENROOT/SRC_usersguide/usersguide.html)
 http://www.wien2k.at/reg_user
 FAQ page with answers to common questions
 Update information: When you think the program has an error, please
check newest version
 Textbook section: DFT and the family of LAPW methods by S.Cottenier

 Mailing-list:

 subscribe to the list (always use the same email)


 full text search of the „digest“ (your questions may have been answered
before)
 posting questions: Provide sufficient information, locate your problem
(case.dayfile, *.error, case.scf, case.outputX).
 „My calculation crashed. Please help.“ This will most likely not be answered.
most common problems
 „QTL-B“ value too large - STOP (or :WARN): “ghostbands”
 identify for which eigenvalue, atom and ℓ it happens, check EF
(case.scf2, case.output2)
 identify the corresponding linearization energies in case.scf1

 change the corresponding linearization energy in case.in1

 compare and check with :EPL and :EPH lines in case.scf2


 default E-parameters are adapted automatically but may need changes for
 surfaces, molecules (negative EF) or heavy elements (EF often larger than 1.0)
 add a local orbital (or adjust its energy)
 if QTL-B occurs for an atom with large RMT, reduce RMT
 this may happen for larger RKMAX („numerical linear dependency“)

 scf-cycle diverges (grep :DIS case.scf):


 check structure (most likely a wrong structure caused divergence);
 check E-parameters (see above), check :NEC01 (correct number of e-)

 rm *.broyd* case.scf; x dstart


case.in1 set El to EF-0.2 Ry

 WFFIL EF=0.634 (WFPRI, SUPWF)


 7.00 10 4 (R-MT*K-MAX; MAX L IN WF, V-NMT
 0.30 5 0 global E-param with N other, napw
 0 0.30 0.000 CONT 1 Es
 0 -3.72 0.005 STOP 1 Es-LO with search
 1 -2.07 0.010 CONT 1 Ep with search
 1 0.30 0.000 CONT 1 Ep-LO
 2 0.30 0.010 CONT 1 0/1…LAPW/APW+lo
 K-VECTORS FROM UNIT:4 -7.0 1.5 16 emin/emax; nband

  K
KMAX
cKn eiKn r
n

 Kn  l
l max
Almul ( El , r )Ylm

H nNS,m   l VLM
NS
l'
HDLOs: case.in1

Cd-4d Ed=1.0

Ed=-1.0

Cd
case.klist, case.in2
 GAMMA 0 0 0 40 1.0 IX, IY, IZ, IDIV, WEIGHT
 1 0 0 40 6.0
 ...
 X 40 0 0 40 3.0
 END

case.in2:
 TOT (TOT,FOR,QTL,EFG,FERMI)
 -9.0 16.0 0.50 0.05 EMIN, NE, ESEPARMIN, ESEPAR0
 TETRA 0.000 (GAUSS,ROOT,TEMP,TETRA,ALL eval)
 0 0 4 0 4 4 6 0 6 4
 0 0 4 0 4 4 6 0 6 4
 14. GMAX(for small H set it to 20-24)
 FILE FILE/NOFILE write recprlist

GMAX
 ( r )    LM ( r )YLM ( rˆ)  (r)   G
 e iGr

LM G
Properties with WIEN2k - I

 Energy bands
 classification of irreducible representations

 ´character-plot´ (emphasize a certain band-character)

 Density of states
 including partial DOS with l and m- character (eg. px , py , pz )

 Electron density, potential


 total-, valence-, difference-, spin-densities,  of selected states

 1-D, 2D- and 3D-plots (Xcrysden)

 X-ray structure factors

 Bader´s atom-in-molecule analysis, critical-points, atomic basins and charges

(  .n  0 )
 spin+orbital magnetic moments (spin-orbit / LDA+U)

 Hyperfine parameters
 hyperfine fields (contact + dipolar + orbital contribution)

 Isomer shift

 Electric field gradients


partial charges “qtl” + DOS


partial charges:
 local rotation matrix: z Ti (TiO2)
 transfers z (y) into highest symmetry y
 reduces terms in LM series  1/ 2
x
1/ 2 0
 
 “chemical” interpretation  1/ 2 1/ 2 0
  
 0 0 1 
 px is different from py

 see case.struct and case.outputs

 x qtl (instead of x lapw2 -qtl)


 f-orbitals
 qtls for different coordinate system (eg.“octahedral” in TiO2)

 relativistic basis (p1/2-p3/2 or d3/2-d5/2 splitting in so calculation)

 for angular dependend TELNES (ISPLIT 88, 99)


Properties with WIEN2k - II

 Total energy and forces


 optimization of internal coordinates, (MD, BROYDEN)
 cell parameter only via Etot (no stress tensor)

 elastic constants for cubic, hexagonal, and tetragonal cells

 Phonons via supercells

 interface to PHONON (K.Parlinski) – bands, DOS, thermodynamics, neutrons


 interface to PHONOPY (A. Togo)
 http://www.wien2k.at/reg_user/unsupported

 Spectroscopy
 core level shifts
 X-ray emission, absorption, electron-energy-loss (with core holes)

 core-valence/conduction bands including matrix elements and angular dep.


 optical properties (dielectric function in RPA approximation, JDOS
including momentum matrix elements and Kramers-Kronig)
 fermi surface: 2D, 3D (using XcrysDen)
Fermi surfaces

 xcrysden --wien_fermisurface tin.struct


 choose a good k-mesh (eg. 10000 points)
 plot the FS for all bands which cross EF and compare to band structure

 for 2D plots there is also a WIEN2k-tool „fsgen“ (see UG)


 SKEAF (www.wien2k.at/reg_users/unsupported): quantum oszillations
Properties with WIEN2k - II

 Total energy and forces


 optimization of internal coordinates, (MD, BROYDEN)
 cell parameter only via Etot (no stress tensor)

 elastic constants for cubic, hexagonal, and tetragonal cells

 Phonons via supercells

 interface to PHONON (K.Parlinski) – bands, DOS, thermodynamics, neutrons


 interface to PHONOPY (A. Togo)
 http://www.wien2k.at/reg_user/unsupported

 Spectroscopy
 core level shifts
 X-ray emission, absorption, electron-energy-loss (with core holes)

 core-valence/conduction bands including matrix elements and angular dep.


 optical properties (dielectric function in RPA approximation, JDOS
including momentum matrix elements and Kramers-Kronig)
 fermi surface: 2D, 3D (using XcrysDen)
Cohesive energy

E cohes .
Ax B y E crystal
 xE atom
A  yE atom
B

 Ecrystal: scalar-relativistic valence (or approx. SO)

 Eatom : LSTART: fully-relativistic inconsistent


description
 for heavier elements (2nd row):
supercell with one atom in a ~30 bohr distorted FCC box
(identical RMT, equivalent RKmax, 1 k-point,
spinpolarized)
Structural optimizations:

 Lattice parameters, volume, c/a ratio only via total energies:


 x optimize: creates a series of “struct” files + script “optimize.job”
 select volume or c/a, …
 select number of cases and desired changes in volume (in % of V0)
 edit optimize.job
 adapt to your need: change / uncomment various lines, eg.:
 select different convergence parameters, parallelization, more iterations (-i 40)
 modify “save_lapw” line (with more specific names)
 replace “run_lapw” by “runsp_lapw” or add options (-min –fc 1 –orb)
 execute optimize.job
 plot (analyse) the results

 combinations of volume and c/a are possible: 2Doptimize


 “x optimize” always uses case_initial.struct (if present)
 do a “volume” optimization to create case_vol_xx.struct files
 copy the respective case_vol_xx.struct file to case_initial.struct
 x optimize with “c/a” for this particular volume and proceed as above.
Symmetry:

 WIEN „preserves“ symmetry:


 c/a optimization of „cubic“ TiC:
 change c lattice parameter in TiC.struct (tetragonal distortion, #sym.op=0)
 init_lapw
change c back to cubic
c/a

 x optimize …
 „Jahn-Teller“ distortion:
 when you start with a perfect octahedra, you will never get any distortion
 start with slightly distorted positions
Supercells (impurities, vacancies, alloys)

2x2x2 = 8 atoms

(0,0,0) P 8 atoms (0,0,0) (.5,0,0) (.5,.5,0) (.5,.5,.5)


(0,.5,0) (.5,0,.5)
(0,0,.5) (0,.5,.5)
B 4 atoms yes yes no no
F 2 atoms yes no no yes

4x4x4 supercells: P (64), B (32), F (16) atoms

2 x 2 supercells (1  2 atoms)
Supercells

 Program „supercell“:
 start with „small“ struct file
 specify number of repetitions in x,y,z (only integers, e.g. 2x2x1)

 specify P, B or F lattice

 add „vacuum“ for surface slabs (only (001) indexed surfaces)

 shift all atoms in cell

 You must break symmetry !!! (otherwise sgroup will restore your
original struct file)
 replace (impurities, vacancies) or
 displace (phonons) or

 label at least 1 atom (core-holes, specific magnetic order; change


“Fe” to “Fe1”; this tells the symmetry-programs that Fe1 is NOT a Fe
atom!!)
 „supercell“ works only along unit-cell axes!!!
Structeditor (by R.Laskowski)

 requires octave (matlab) and xcrysden (visualization)


 allows complex operations on struct-files
Surfaces

 2D-slabs with finite number of layers with „vacuum“ in 3rd


dimension
bcc (001) 7 layers:
(0 0 6z) (.5 .5 +/-3z) with lattice parameters:
(.5 .5 5z) (0 0 +/-2z) a, a, c=(3a+15-20bohr vacuum)
a
(0 0 4z) shift to (.5 .5 +/-z)
a (.5 .5 3z)  (0 0 0) z= a/2c
a (0 0 2z) inversion
(.5 .5 z)
(0 0 0)
2a
bcc (110): a +/-2z

orthorhombic CXY-lattice: a, 2a, c +/-z


(0 0 0) z=a/ 2a c
(0 .5 +/-z)
z=0
(0 0 +/-2z)
Work function
potential supercell
Surface
Vacuum

Work
function
EF

bulk

WF= :VZERO - :FER (check convergence with vacuum)


Total energies and atomic forces
(Yu et al.; Kohler et al.)
3    
 Total Energy: U [ ]  1
2  d r  ( r )Ves (
2
r ) 1   es (r )
Z V
 Electrostatic energy
  
 Kinetic energy T [  ]  ini i   d 3r  ( r )Veff ( r )
 XC-energy
  
E xc [  ]   d 3r  ( r ) xc ( r )
   dEtot   
 Force on atom  F    FHF  Fcore  Fval
dR
1es
 Hellmann-Feynman-force FHF  Z  lim m ( r ) rY1m ( rˆ)
 V1
r 0 r
 Pulay corrections m  1 

 Core


Fcore     core ( r )Veff ( r ) dr
 Valence


of matrix elements over all

expensive, contains a summation Fval

 Veff ( r )  val ( r ) dr   n  c ( K )c ( K ) 
i
K ,K 
*
i i
 k ,i
occupied states
( K 2
  i )  K*  ( r )K ( r ) dS  i ( K  K ) K  H   i K 

Optimization of internal parameters using “forces”

 Forces only for “free” structural parameters:


 NaCl: (0,0,0), (0.5,0.5,0.5) : all positions fixed by symmetry
 TiO2: Ti (0,0,0), O (u,u,0): one free parameter (u,x,y,z)

 Forces are only calculated when using “-fc”:


 run_lapw –fc 1.0 (mRy/bohr)
 grep :fgl002 case.scf
 200. partial
 -130. partial
 140. partial
 135 partial only FHF + Fcore
 120 partial
 122 partial forces converging
 121 partial  changes “TOT” to “FOR” in case.in2
 -12.3 total FHF + Fcore + Fval, only this last number is correct

 Forces are useful for


 structural optimization (of internal parameters)
 phonons
Structure optimization (atomic positions)

Atomic Positions Minimize


Energy Traditional way:
(new atomic
Density positions)
 Inner loop:
obtain fixed-
Potential
point for given
Solve eigenvectors atom positions
values

 Outer loop:
New Density optimize atomic
positions
Mix Density

No
Forces
Converged? Yes Small No
Traditional algorithm:
 Calculate SCF mapping, time T0
 Broyden expansion for fixed-point problem, self-consistent
density, NSCF iterations
 BFGS is most common for optimizing the atomic positions

(Energy), NBFGS
 Time scales as NSCF*NBFGS*T0

each step is a full


Energy
scf calculation
Contours
producing
accurate forces

L.D.Marks: J. Chem. Theory Comput,


DOI: 10.1021/ct4001685
Structural optimization of internal parameters using “PORT”

 /home/pblaha/tio2> min_lapw [-p -it -sp] [-j “run -fc 1 -p -it”] [-NI]
 performs scf-cycle for fixed positions

 get forces and move atoms along forces (building an approximate Hessian) and

writing a new case.struct file


 extrapolate density (case.clmsum)

 perform next scf cycle and loop until forces are below „tolf“

 CONTROL FILES:

 .minstop stop after next structure change


 tio2.inM (generated automatically by “pairhess” at first call of min_lapw)
 PORT 2.0 #(NEW1, NOSE, MOLD, tolf (a4,f5.2))
 0.0 1.0 1.0 1.0 # Atom1 (0 will constrain a coordinate)
 1.0 1.0 1.0 1.0 # Atom2 (NEW1: 1,2,3:delta_i, 4:eta (1=MOLD, damping))
 monitor minimization in file case.scf_mini
 contains last iteration of each geometry step

 each step N is saved as case_N.scf (overwritten with next min_lapw !)

 grep :ENE case.scf_mini


 grep :FGLxxx case.scf_mini (:POSxxx)
Optimization of atomic posistions (E-minimization via forces)

• damped Newton mechanics scheme (NEW1: with variable step)


• quite efficient quasi-Newton (PORT) scheme
• minimizes E (using forces as gradients and construct approx. Hessian)
• If minimizations gets stuck or oscillates: (because E and Fi are inconsistent):
• touch .minstop; min –nohess (or rm case.tmpM .min_hess)
• improve scf-convergence (-ec), Rkmax, k-mesh, …
• change to NEW1 scheme

W impurity in Bi (2x2x2 supercell: Bi15W)


60
for01
-679412.44
for04x
40

Energy
for04z
-679412.46 for06x
forces (mRy/a0)

20 for06z
Energy (Ry)

-679412.48

0
-679412.50

-20

Forces
-679412.52

-679412.54 -40

0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14

0.04 tim e step tim e step


8

0.02 6

4
EFG
EFG (10 V/m )
2

Positions
0.00
position

2
21

0
-0.02
pos01
pos04x -2

-0.04 pos04z
pos06 -4
exp.
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14

tim e step tim e step


Alternative method: Fused Loop

 Treat the density and


atomic positions all at
the same time.

 No restrictions to “special”
cases, general algorithm
has to work for insulators,
metals, semiconductors,
surfaces, defects, hybrids….
 Few to no user adjustable
parameters

L.D. Marks, J. Chem. Theory Comput, DOI: 10.1021/ct4001685


Fused Loop
Residual Contours

Energy Contours

each step is a single


scf cycle producing Born-
only approximate Oppenheimer
Zero-Force
forces Surface
Surface
J. Chem. Theory Comput, DOI:
10.1021/ct4001685
Broyden Fixed-Point Methods

( y k  Bk s k ) s kT ( sk  H k yk ) skT
Bk 1  Bk  H k 1  H k 
s kT s k skT yk
C.G. Broyden, A Class of Methods for Solving
Nonlinear Simultaneous Equations,
( sk  H k yk ) ykT Mathematics of Computation, 19 (1965)
H k 1  H k  577-593.
ykT yk

L.D.Marks: J. Chem. Theory Comput, DOI: 10.1021/ct4001685


Comparison of the 2 methods
Larger Problems:
52 atoms, MgO (111)+H2O 108 atoms AlFe

J. Ciston, A. Subramanian, L.D. Marks, PRB, 79 (2009) 085421.

J. Chem. Theory Lyudmila V. Dobysheva (2011)


Comput, DOI:
10.1021/ct4001685
Structural optimization of internal parameters using “MSR1a”

 run_lapw –min -fc 1.0 -cc 0.001 -ec 0.0001 [-it -noHinv -p ]
 modifies case.inm and sets „MSR1a“

 This runs ONE big scf-calculations optimizing the density and the positions
(forces towards zero) simultaneously (may need hundreds of iterations).

 Monitor: :ENE and :FR (av. and max forces, movements)

 it continues until all :FR quantities are below „tolf“ (case.inM) and switches
then automatically to MSR1 for a final charge optimization (with fixed
positions).

 quite efficient, recommended method, still under development by


L.Marks (Northwestern Univ).
Calculations of Phonons: The Direct Method

WIEN2k + Phonon
Copyright by K.Parlinski

alternatively use A.Togo`s PHONOPY code


http://wolf.ifj.edu.pl/phonon/ (see www.wien2k.at/unsupported)
n,m: cells
: atoms
Supercell dynamical matrix. Exact wave vectors.

Conventional dynamical matrix:

Supercell dynamical matrix:

These two matrices are equal if

• interaction range is confined to interior of supercell (supercell is big enough)


• wave vector is commensurate with the supercell and fulfils the condition
(independent of interaction range):
At wave vectors ks the phonon frequencies are “exact”,
provided the supercell contains the complete list of
neighbors.
Wave vectors ks are commensurate with the supercell size.
Exact wave vectors
2x2x2 3x3x3
1x1x1

Exact: 
Exact:  X, M, R
Exact:  X  M 
Phonon dispersions + density of states
GeO2 P4_2/mnm
Frequency

Wave vector
Total + Germanium Total + Oxygen

 
Thermodynamic functions of phonon vibrations

Internal energy:

Free energy:

Entropy:

Heat capacity Cv:

Thermal displacements:
PHONON-I

 PHONON
 by K.Parlinski (Crakow)

 Linux or MS-windows

 uses a „direct“ method

to calculate Force-
constants with the help
of an ab initio program
 with these Force-

constants phonons at
arbitrary k-points can be
obtained

 Define your spacegroup


 Define all atoms

http://wolf.ifj.edu.pl/phonon/
Phonons:
 selects symmetry adapted atomic displacements (4 displacements in
cubic perovskites)

(Displacement pattern for cubic perovskite)


 select a supercell: (eg. 2x2x2 atom P-type cell)
 calculate all forces for these displacements with high accuracy(WIEN2k)

  force constants between all atoms in the supercell


  dynamical matrix for arbitrary q-vectors

  phonon-dispersion (“bandstructure”) using PHONON (K.Parlinski)


PHONON-II

 Define an interaction range


(supercell)
 create displacement file

 transfer case.d45 to Unix

 Calculate forces for all


required displacements
 init_phonon_lapw

 for each displacement a


case_XX.struct file is
generated in an extra
directory
 runs nn and lets you
define RMT values like:
 1.85 1-16

• init_lapw: either without symmetry (and then copies this setup to all case_XX)
or with symmetry (must run init_lapw for all case_XX) (Do NOT use SGROUP)
• run_phonon: run_lapw –fc 0.1 –i 40 for each case_XX
PHONON-III

 analyze_phonon_lapw
 reads the forces of the scf runs

 generates „Hellman-Feynman“ file

case.dat and a „symmetrized HF-


file case.dsy (when you have
displacements in both directions)
 check quality of forces:
 sum Fx should be small (0)
 abs(Fx) should be similar for +/-
displacements
 transfer case.dat (dsy) to Windows
 Import HF files to PHONON
 Calculate force constants
 Calculate phonons, analyze
phonons eigenmodes,
thermodynamic functions
Applications:
 phonon frequencies (compare with IR, raman, neutrons)
 identify dynamically unstable structures, describe phase
transitions, find more stable (low T) phases.
 free energies at T>0; quasiharmonic approximation

Pyrochlore structure of Y2Nb2O7: strong phonon instabilities 


phase transition

You might also like