Overview-WIEN2k, Forces Etc Blaha
Overview-WIEN2k, Forces Etc Blaha
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
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
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
RMT for sp (d) - elements 10-20 % smaller than for d (f) elements
Do not change RMT in a „series“ of calculations, RMT equal for same atoms
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
mesh was good if nothing changes and scf terminates after few (3) iterations
use even finer meshes for DOS, spectra, optics,…
Program execution:
Mailing-list:
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
Density of states
including partial DOS with l and m- character (eg. px , py , pz )
( .n 0 )
spin+orbital magnetic moments (spin-orbit / LDA+U)
Hyperfine parameters
hyperfine fields (contact + dipolar + orbital contribution)
Isomer shift
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
Spectroscopy
core level shifts
X-ray emission, absorption, electron-energy-loss (with core holes)
Spectroscopy
core level shifts
X-ray emission, absorption, electron-energy-loss (with core holes)
E cohes .
Ax B y E crystal
xE atom
A yE atom
B
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
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
You must break symmetry !!! (otherwise sgroup will restore your
original struct file)
replace (impurities, vacancies) or
displace (phonons) or
Work
function
EF
bulk
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”
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
/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
perform next scf cycle and loop until forces are below „tolf“
CONTROL FILES:
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.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
No restrictions to “special”
cases, general algorithm
has to work for insulators,
metals, semiconductors,
surfaces, defects, hybrids….
Few to no user adjustable
parameters
Energy Contours
( 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
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).
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).
WIEN2k + Phonon
Copyright by K.Parlinski
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:
Thermal displacements:
PHONON-I
PHONON
by K.Parlinski (Crakow)
Linux or MS-windows
to calculate Force-
constants with the help
of an ab initio program
with these Force-
constants phonons at
arbitrary k-points can be
obtained
http://wolf.ifj.edu.pl/phonon/
Phonons:
selects symmetry adapted atomic displacements (4 displacements in
cubic perovskites)
• 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