0% found this document useful (0 votes)
144 views32 pages

Tutorial PWSCF Ex

The document provides instructions for using the Quantum ESPRESSO software package to perform density functional theory calculations. It describes how to run self-consistent calculations on silicon, calculate band structures and charge densities, and investigate convergence with respect to kinetic energy cutoffs, k-point sampling, and smearing for metals. Examples are given for calculations on silicon, aluminum, and nickel.

Uploaded by

daffa11
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)
144 views32 pages

Tutorial PWSCF Ex

The document provides instructions for using the Quantum ESPRESSO software package to perform density functional theory calculations. It describes how to run self-consistent calculations on silicon, calculate band structures and charge densities, and investigate convergence with respect to kinetic energy cutoffs, k-point sampling, and smearing for metals. Examples are given for calculations on silicon, aluminum, and nickel.

Uploaded by

daffa11
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/ 32

Quantum-ESPRESSO

PWSCF: first steps


What can I learn in this lecture ?
What can I learn in this lecture ?

How to run PWscf (pw.x) in self-consistent mode for Silicon

How to get the band structure of Silicon along the main


symmetry directions

How to draw charge density map of Silicon in a given plane

How to deal with metals ( Aluminum )

How to deal with spin polarized systems ( Nickel )

What are the basic convergence parameters to have under control


What can I learn in this lecture ?

How to run PWscf (pw.x) in self-consistent mode for Silicon

How to get the band structure of Silicon along the main


symmetry directions

How to draw charge density map of Silicon in a given plane

How to deal with metals ( Aluminum )

How to deal with spin polarized systems ( Nickel )

What are the basic convergence parameters to have under control

Download example file examples pwscf ex.tgz and unpack it.

This will create a sub-directory named examples pwscf ex containing


several files.
Move to examples pwscf ex and check its content

prompt> cd examples_pwscf_ex

prompt> ls
al.g.12 al.m-p.12 al.m-v.12 al.scf.in run_si_eos si.pp_rho.
al.g.16 al.m-p.16 al.m-v.16 bands.in si.etot_vs_ecut si.scf.in
al.g.6 al.m-p.6 al.m-v.6 k-point-path si.etot_vs_nks
al.g.8 al.m-p.8 al.m-v.8 ni.scf.in si.plotrho.in
Self-consistent calculation for Silicon in the diamond structure

Edit input file si.scf.in

Notice that it is an scf calculation (default value)

Write the appropriate values for outdir and pseudo dir

outdir = ’temporary directory for large files’


example: /scratch/"my_name"/espresso
pseudo_dir = ’directory where pp-files are kept’
example: "espresso_dir"/pseudo

Check that these directories exist, have read/write permission and that
pseudo dir contains pseudopotential file Si.vbc.UPF for Silicon
How the crystal structure is defined ?

Diamond Structure ZincBlend Structure

check in the input file

How the Bravais lattice is selected ?


How many and which parameters are needed to completely
define Bravais lattice geometry ?
How many atoms in the unit cell ?
How many different atomic species ?
Which ones ?
Where the atoms are located in the unit cell ?
Brillouin zone sampling

BZ sampling is performed using 2 Chadi-Cohen special points for the


fcc lattice.

For an introduction to special points techniques see for instance


A. Baldereschi, Phys. Rev. B 7, 5212 (1973).
D.J. Chadi e M.L. Cohen, Phys. Rev. B 8, 5747 (1973).
H.J. Monkhorst e J.D. Pack, Phys. Rev. B 13, 5188 (1976).

check in the input file how k-points are provided manually

k-points are given (default) in cartesian coordinates


in unit of 2pi/celldm(1)
k-point weights need not add-up to 1,
they are normalized later
run pw.x code
prompt> espresso_dir/bin/pw.x < si.scf.in > si.scf.out

look at outdir and its content


prompt> ls /scratch/my_name/espresso
silicon.save silicon.wfc

examine output file and look how convergence proceeds


prompt> grep -e ’total energy’ -e estimate si.scf.out
total energy = -15.78885161 ryd
estimated scf accuracy < 0.06378063 ryd
total energy = -15.79407709 ryd
estimated scf accuracy < 0.00231243 ryd
total energy = -15.79448017 ryd
estimated scf accuracy < 0.00006733 ryd
total energy = -15.79449452 ryd
estimated scf accuracy < 0.00000619 ryd
! total energy = -15.79449556 ryd
estimated scf accuracy < 0.00000006 ryd
Bands at high-symmetry points in silicon:

Copy file si.scf.in to si.nscf.in


Edit file si.nscf.in and set it for a non-self-consistent band calculation in
three high symmetry points:
Γ = (0,0,0), X=(1,0,0) 2π a and L=(1/2,1/2,1/2) 2π
a

define calculation=’bands’ in CONTROL namelist


define nbnd=8 (4 valence + 4 conduction) in SYSTEM namelist
define the three k-points in the K_POINTS card
K_POINTS
3
0.0 0.0 0.0 1
1.0 0.0 0.0 2 WEIGHTS ARE MEANINGLESS IN NSCF CALCS
0.5 0.5 0.5 3

DO NOT MODIFY outdir or prefix,


DO NOT REMOVE files from scratch area
Bands at high-symmetry points in silicon:

run pw.x code


prompt> espresso_dir/bin/pw.x < si.nscf.in > si.nscf.out

look at the output

how many iteration have been performed ?


which potential is used in the diagonalization ?
which wfcs are used as initial guess ?
is the charge density and/or the total energy computed ?
Band structure calculation for silicon:

Copy file si.nscf.in to si.bands.in


Edit file si.bands.in and modify the k-point list so as to perform a path
in the BZ along Λ, ∆ and Σ directions as defined by in file k-point-path
run pw.x code
prompt> espresso_dir/bin/pw.x < si.bands.in > si.bands.out

Now collect band results for plotting:


edit file bands.in in order to define the proper value for outdir and then
run bands.x
prompt> espresso_dir/bin/bands.x < bands.in > bands.out

verify the content of file bands.out and bands.dat, notice the value of
the valence band maximum at Γ and then run plotband.x interactively
prompt> espresso_dir/bin/plotband.x
Band structure calculation for silicon:

prompt> espresso_dir/bin/plotband.x
input file > bands.dat
Reading 8 bands at 36 k-points
Range: -5.6680 16.4950eV Emin, Emax > -6.0 10.0
high-symmetry point: 0.5000 0.5000 0.5000
high-symmetry point: 0.0000 0.0000 0.0000
high-symmetry point: 0.0000 0.0000 1.0000
high-symmetry point: 0.0000 1.0000 1.0000
high-symmetry point: 0.0000 0.0000 0.0000
output file (xmgr) > si.bands.xmgr
bands in xmgr format written to file si.bands.xmgr
output file (ps) > si.bands.ps
Efermi > 6.337
deltaE, reference E (for tics) 1.0, 6.337
bands in PostScript format written to file si.bands.ps
Band structure calculation for silicon:

prompt> ghostview si.bands.ps


Charge density plot for silicon in the [1-10] plane:

Edit file si.pp rho.in to properly define outdir and then run the
postprocessing code (pp.x) to extract the charge density (plotnum=0)

prompt> espresso_dir/bin/pp.x < si.pp_rho.in


prompt> espresso_dir/bin/pp.x < si.pp_rho.in
Program POST-PROC v.3.1 starts ...
Today is 26May2006 at 20:17:44

nbndx = 8 nbnd = 8 natomwfc = 8 npwx = 200


nelec = 8.00 nkb = 8 ngl = 43

Calling punch_plot, plot_num = 0


Writing data to file sicharge
Reading header from file sicharge
Reading data from file sicharge

Writing data to be plotted to file si.rho.dat


Min, Max, imaginary charge: 0.002838 0.093121 0.000000
Plot Type: 2D contour Output format: plotrho.x
Charge density plot for silicon in the [1-10] plane:

run plotrho.x produce the plot


prompt> espresso_dir/bin/plotrho.x
input file > si.rho.dat
r0 : 0.0000 0.0000 0.0000
tau1 : 1.0000 1.0000 0.0000
tau2 : 0.0000 0.0000 1.0000
read 2 atomic positions
output file > si.rho.ps
Read 56 * 40 grid
Logarithmic scale (y/n)? > n
Bounds: 0.002839 0.093110
min, max, # of levels > 0 0.09 6
Charge density plot for silicon in the [1-10] plane:

prompt> ghostview si.rho.ps


Convergence w.r.t. kinetic energy cutoff:

Clean outdir;

Change value of ecutwfc in si.scf.in input file to 16, 20, 24 Ry ;

Run pw.x again and again and complete the data in si etot vs ecut ;

Plot the data in si etot vs ecut and notice the monotonic convergence.

Convergence w.r.t to cutoff is a property of the pseudopotential


-15.64
"si.etot_vs_ecut"
-15.66
-15.68

-15.7
-15.72

-15.74
-15.76
-15.78

-15.8
-15.82

-15.84
-15.86
5 10 15 20 25 30 35 40
Convergence w.r.t. k-points:

Clean outdir;

Edit si.scf.in and set back ecutwfc to 12 Ryd ;

Change k-points using automatic grid with nk=2,4,6


K_POINTS automatic
2 2 2 1 1 1

Run pw.x and complete entries in file si etot vs nks ;

Convergence is not necessarily monotonic ;


There is no variational principle w.r.t. k-points number
-15.794
"si.etot_vs_nks" u 1:3

-15.796

-15.798

-15.8

-15.802

-15.804

-15.806

-15.808
2 3 4 5 6 7 8
A metallic example: Aluminum

Clean outdir;

Edit file al.scf.in and define outdir and pseudo dir;

Notice the use of variables occupations, smearing, degauss;

Run pw.x
prompt> espresso_dir/bin/pw.x < al.scf.in > al.scf.out

Notice in output file that nbnd is automatically set to a value larger


than nelec/2 and that Efermi is computed.
Convergence with respect to degauss/smearing ...

Edit file al.scf.in and vary variables smearing


[gaussian (g), marzari-vanderbilt (m-v), methfessel-paxton (m-p)]
and degauss [0.06, 0.07, 0.08, 0.09, 0.10]
in order to complete entries of al.g.6, al.m-v.6, al.m-p.6 files

Plot the content of al.g.6, al.g.8, al.g.12, al.g.16, and similarly for m-v
and m-p

Notice that for metals convergence is SLOW

It can be improved by using m-v or m-p.


-4.183
"al.g.16"
"al.g.12"
"al.g.8"
"al.g.6"
-4.184

-4.185

-4.186

-4.187

-4.188

-4.189

-4.19
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
-4.182
"al.g.16"
"al.g.12"
-4.183 "al.g.8"
"al.g.6"
"al.m-v.16"
-4.184 "al.m-v.12"
"al.m-v.8"
-4.185 "al.m-v.6"

-4.186

-4.187

-4.188

-4.189

-4.19
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
-4.182
"al.g.16"
"al.g.12"
-4.183 "al.g.8"
"al.g.6"
"al.m-v.16"
-4.184 "al.m-v.12"
"al.m-v.8"
-4.185 "al.m-v.6"
"al.m-p.16"
"al.m-p.12"
-4.186 "al.m-p.8"
"al.m-p.6"
-4.187

-4.188

-4.189

-4.19
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
A magnetic example: Nickel

Clean outdir;

Edit file ni.scf.in and define outdir and pseudo dir;

Notice use of variables nspin and starting magnetization.

Notice that this is a metallic calculation.

Nickel pseudopotential is US-PP: ecutrho > 4×ecutwfc

Run pw.x
prompt> espresso_dir/bin/pw.x < ni.scf.in > ni.scf.out

Notice that the number of k-points is doubled w.r.t non-magnetic case

Notice different number of calls and timing of cft3 and cft3s routines.
Why it is convenient to introduce a different cutoff for wfcs and rho ?
Equation of State: Silicon

edit run si eos and define variables espresso dir, pseudo dir and outdir.

prompt> sh run_si_eos

Notice how file si.etot vs alat is created at the end of script file

Plot content of si.etot vs alat


prompt> gnuplot
gnuplot> plot "si.etot_vs_alat" w l
-15.832
"si.etot_vs_alat"
-15.834

-15.836

-15.838

-15.84

-15.842

-15.844

-15.846

-15.848
9.8 9.9 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7
HOMEWORK

Modify the script and change cutoff, k-points and so on.

Verify that Energy vs alat curves are shifted down rather uniformly with
increasing cutoff and are not strongly dependend on k-points.

Structural properties and energy differences converge faster that total


energies.

Compute the equation of state of Ni.


THE END

You might also like