Upload
eleanore-ray
View
218
Download
2
Tags:
Embed Size (px)
Citation preview
Quantum-ESPRESSO:The SCF Loop and
Some Relevant Input Parameters
Sandro Scandolo ICTP
(most slides courtesy of Shobhana Narasimhan)
ASESMA-20102
www.quantum-espresso.org
ASESMA-20103
Quantum-ESPRESSO: the project
• Quantum ESPRESSO stands for opEn Source Package for Research in Electronic Structure, Simulation, and Optimization. It is freely available to researchers around the world under the terms of the GNU General Public License.
• Quantum ESPRESSO is an initiative of the DEMOCRITOS National Simulation Center (Trieste) and SISSA (Trieste), in collaboration with the CINECA National Supercomputing Center in Bologna, the Ecole Polytechnique Fédérale de Lausanne, Princeton University, the Massachusetts Institute of Technology, and Oxford University. Courses on modern electronic-structure theory with hands-on tutorials on the Quantum ESPRESSO codes are offered on a regular basis in developed as well as developing countries, in collaboration with the Abdus Salam International Centre for Theoretical Physics in Trieste.
ASESMA-20104
What can QE do (I)
• # Ground-state calculations:
• * Self-consistent total energies, forces, stresses;• * Electronic minimization with iterative diagonalization techniques, damped-dynamics, conjugate-gradients;• * Kohn-Sham orbitals;• * Gamma-point and k-point sampling, and a variety of broadening schemes (Fermi-Dirac, Gaussian, Methfessel-Paxton, and Marzari-Vanderbilt);• * Separable norm-conserving and ultrasoft (Vanderbilt) pseudo-potentials, PAW (Projector Augmented Waves);• * Several exchange-correlation functionals: from LDA to generalized-gradient corrections (PW91, PBE, B88-P86, BLYP) to meta-GGA, exact exchange
(HF) and hybrid functionals (PBE0, B3LYP, HSE);• * Hubbard U (LDA+U);• * Berry's phase polarization;• * Spin-orbit coupling and noncollinear magnetism;• * Maximally-localized Wannier functions using WANNIER90 code.
• # Structural Optimization:
• * GDIIS with quasi-Newton BFGS preconditioning;• * Damped dynamics;• * Ionic conjugate-gradients minimization;• * Projected velocity Verlet;• * Transition states and minimum energy paths:• o Born-Oppenheimer nudged elastic band;• o Born-Oppenheimer string dynamics;
• # Ab-initio molecular dynamics
• * Car-Parrinello Molecular Dynamics;• o Microcanonical (Verlet) dynamics;• o Isothermal (canonical) dynamics - Nosé-Hoover thermostats and chains;• o Isoenthalpic, variable cell dynamics (Parrinello-Rahman);• o Constrained dynamics;•
ASESMA-20105
What can QE do (II)
• * Born-Oppenheimer Molecular Dynamics;• o Microcanonical (Verlet) dynamics;• o Isothermal (canonical) dynamics - Anderson, Berendsen thermostats;• o Isoenthalpic, variable cell dynamics (Parrinello-Rahman);• o Constrained dynamics;• o Ensemble-DFT dynamics (for metals/fractional occupations);
• # Response properties (density-functional perturbation theory):
• * Phonon frequencies and eigenvectors at any wavevector;• * Full phonon dispersions; inter-atomic force constants in real space;• * Translational and rotational acoustic sum rules;• * Effective charges and dielectric tensors;• * Electron-phonon interactions;• * Third-order anharmonic phonon lifetimes;• * Infrared and (non-resonant) Raman cross-sections;• * EPR and NMR chemical shifts using the GIPAW method;
• # Spectroscopic properties:
• * K- and L1-edge X-ray Absorption Spectra (XAS)
• * Electronic excitations with Many-Body Perturbation Theory using YAMBO code.
• # Quantum Transport:
• * Ballistic Transport using PWCOND module.
• * Coherent Transport from Maximally Localized Wannier Functions using WanT code.
ASESMA-20106
QE platforms
Platforms:
Runs on almost every conceivable current architecture from large parallel machines (IBM SP and BlueGene, Cray XT, Altix, Nec SX) to workstations (HP, IBM, SUN, Intel, AMD) and single PCs running Linux, Windows, Mac OS-X, including clusters of 32-bit or 64-bit Intel or AMD processors with various connectivity (gigabit ethernet, myrinet, infiniband...). Fully exploits math libraries such as MKL for Intel CPUs, ACML for AMD CPUs, ESSL for IBM machines.
ASESMA-20107
How to thank the authors
ASESMA-20108
Useful information about input variables
ASESMA-20109
INPUT_PW.html
ASESMA-201010
The Kohn-Sham problem
Want to solve the Kohn-Sham equations:
Note that self-consistent solution necessary, as H depends on solution:
Convention:
)()()]([)]([)(2
1 2 rrrrr iiiXCHnuc nVnVV
H
Hrni )(}{
1 eme
ASESMA-201011
Self-consistent Iterative Solution
Vnuc known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vnuc(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
How to solve theKohn-Sham eqns.for a set of fixednuclear (ionic)positions.
ASESMA-201012
Plane Waves & Periodic Systems
• For a periodic system:
• The plane waves that appear in this expansion can be represented as a grid in k-space:
rGk
GGkk r
)(
,
1)( iec
where G = reciprocallattice vector
kx
ky • Only true for periodic systems that grid is discrete.
• In principle, still need infinite number of plane waves.
ASESMA-201013
Truncating the Plane Wave Expansion
• In practice, the contribution from higher Fourier components (large |k+G|) is small.
• So truncate the expansion at some value of |k+G|.
• Traditional to express this cut-off in energy units:
cutEm
2
|| 22 Gk
kx
E=Ecut
ky
Input parameter ecutwfc
Step 0: Defining the (periodic) system
Namelist ‘SYSTEM’
ASESMA-201015
How to Specify the System
• All periodic systems can be specified by a Bravais Lattice and an atomic basis.
+ =
ASESMA-201016
How to Specify the Bravais Lattice / Unit Cell
- Gives the type of Bravais lattice (SC, BCC, Hex, etc.)
Input parameter ibrav
Input parameters {celldm(i)}
- Give the lengths [& directions, if necessary] of the lattice vectors a1, a2, a3
• Note that one can choose a non-primitive unit cell
(e.g., 4 atom SC cell for FCC structure).
a1
a2
ASESMA-201017
Atoms Within Unit Cell – How many, where?
Input parameter nat
- Initial positions of atoms (may vary when “relax” done).-Can choose to give in units of lattice vectors (“crystal”) or in Cartesian units (“alat” or “bohr” or “angstrom”)
- Number of atoms in the unit cell
Input parameter ntyp
- Number of types of atoms
FIELD ATOMIC_POSITIONS
ASESMA-201018
Step 1: Obtaining Vnuc
Vnuc known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vnuc(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201019
Nuclear Potential
• Electrons experience a Coulomb potential due to the nuclei.
• This has a known and simple form:
• But this leads to computational problems!
r
ZVnuc
ASESMA-201020
Problem for Plane-Wave Basis
Core wavefunctions: sharply peaked near nucleus.
High Fourier components present
i.e., need large Ecut
Valence wavefunctions: lots of wiggles near nucleus.
ASESMA-201021
Solutions for Plane-Wave Basis
Core wavefunctions: sharply peaked near nucleus.
High Fourier components present
i.e., need large Ecut
Valence wavefunctions: lots of wiggles near nucleus.
Don’t solve for the core electrons!
Remove wiggles from valence electrons.
ASESMA-201022
Pseudopotentials for Quantum Espresso - 1
• Go to http://www.quantum-espresso.org; Click on “PSEUDO”
ASESMA-201023
Pseudopotentials for Quantum Espresso - 2
• Click on element for which pseudopotential wanted.
ASESMA-201024
Pseudopotentials for Quantum Espresso - 3
Pseudopotential’s name gives information about :
• type of exchange-correlation functional
• type of pseudopotential
• e.g.:
ASESMA-201025
Element & Vion info for Quantum Espresso
NOTE
• Should have same exchange-correlation functional for all pseudopentials.
• ecutwfc, ecutrho depend on type of pseudopotentials used (should test for system & property of interest).
ATOMIC_SPECIESBa 137.327 Ba.pbe-nsp-van.UPFTi 47.867 Ti.pbe-sp-van_ak.UPFO 15.999 O.pbe-van_ak.UPF
ASESMA-201026
Step 2: Initial Guess for n(r)
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201027
Initial Choice of n(r)
Various possible choices, e.g.,:
Superpositions of atomic densities.
Converged n(r) from a closely related calculation
(e.g., one where ionic positions slightly different).
Approximate n(r) , e.g., from solving problem in a smaller/different basis.
Random numbers.
Input parameter startingwfc
ASESMA-201028
Initial Choice of n(r)
ASESMA-201029
Step 3: VH & VXC
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201030
Exchange-Correlation Potential
• VXC EXC/n contains all the many-body information.• Known [numerically, from Quantum Monte Carlo ;
various analytical approximations] for homogeneous electron gas.
• Local Density Approximation:
Exc[n] = n(r) VxcHOM[n(r)] dr
-surprisingly successful!
• Generalized Gradient Approximation(s): Include terms involving gradients of n(r)
Replace
pz
pw91, pbe
(in name of pseudopotential)
(in name of pseudopotential)
ASESMA-201031
Step 4: Potential & Hamiltonian
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201032
Kohn-Sham equations in plane wave basis
• Eigenvalue equation is now:
• Matrix elements are:
• Ionic potential given by:
ASESMA-201033
Step 5: Diagonalization
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
Expensive!
ASESMA-201034
Exact Diagonalization is Expensive!
Have to diagonalize (find eigenvalues & eigenfunctions of) H k+G,k+G’
Typically, NPW > 100 x number of atoms in unit cell.
Expensive to store H matrix: NPW2 elements to be stored.
Expensive (CPU time) to diagonalize matrix exactly, ~ NPW
3 operations required.
Note, NPW >> Nb = number of bands required = Ne/2 or a little more (for metals).
So ok to determine just lowest few eigenvalues.
ASESMA-201035
Iterative Diagonalization
• Can recast diagonalization as a minimization problem.
• Then use well-established techniques for iterative minimization by searching in the space of solutions,
e.g., Conjugate Gradient.
• Another popular iterative diagonalization technique is the Davidson algorithm.
Input parameter diagonalization
Input parameter nbnd
-which algorithm used for iterative diagonalization
-how many eigenvalues computed
ASESMA-201036
Step 6: New Charge Density
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201037
0Brillouin Zone Sums
Many quantities (e.g., n, Etot) involve sums over k. In principle, need infinite number of k’s. In practice, sum over a finite number: BZ “Sampling”. Number needed depends on band structure. Typically need more k’s for metals. Need to test convergence wrt k-point sampling.
k
F
BZ
wPN
Pk
kk
k)(1
ASESMA-201038
0
nk1, nk2, nk3, k1, k2, k3
K_POINTS { tpiba | automatic | crystal | gamma }
Types of k-point meshes
Special Points: [Chadi & Cohen] Points designed to give quick convergence for particular
crystal structures. Monkhorst-Pack: Equally spaced mesh in reciprocal space. May be centred on origin [‘non-shifted’] or not [‘shifted’]
b1
1st BZb2
If ‘automatic’, use M-P mesh:
nk1=nk2=4
shift
ASESMA-201039
Step 7: Test for Convergence
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201040
How To Decide If Converged?
• Check for self-consistency. Could compare:
• New and old wavefunctions / charge densities.
• New and old total energies.
• Compare with energy estimated using Harris-Foulkes functional.
Input parameter conv_thr
Input parameter electron_maxstep
-Maximum number of scf steps performed
-Typically OK to use 1.e-08
ASESMA-201041
Step 8: Mixing
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
Can take a longtime to reachself-consistency!
ASESMA-201042
Mixing - 1
Iterations n of self-consistent cycle:
Successive approximations to density:
nin(n) nout(n) nin(n+1).
nout(n) fed directly as nin(n+1) ?? No, usually doesn’t converge.
Need to mix, take some combination of input and output densities (may include information from several previous iterations).
Goal is to achieve self consistency (nout = nin ) in as few iterations as possible.
ASESMA-201043
Mixing - 2
Simplest prescription = linear mixing:
nin(n+1) = nout(n) + (1-) nin(n).
There exist more sophisticated prescriptions (Broyden mixing, modified Broyden mixing of various kinds…)
Input parameter mixing_mode
Input parameter mixing_beta
-Typically use value between 0.1 & 0.7 (depends on type of system)
ASESMA-201044
Mixing - 3
ASESMA-201045
Output Quantities
Vion known/constructed
Initial guess n(r)
Calculate VH[n] & VXC[n]
Veff(r)= Vion(r) + VH (r) + VXC (r)
Hi(r) = [-1/22 + Veff(r)] i(r) = i i(r)
Calculate new n(r) = i|i(r)|2
Self-consistent?
Problem solved! Can now calculate energy, forces, etc.
Generate new n(r)
Yes
No
ASESMA-201046
Output Quantities
(Converged) Diagonalization i, i
Strictly speaking, only n(r) & Etot are “correct”.
* n
To get Etot: Sum over eigenvalues, correct for double-counting of Hartree & XC terms, add ion-ion interactions.
Very useful quantity! Can use to get structures, heats of formation, adsorption
energies, diffusion barriers, activation energies, elastic moduli, vibrational frequencies,…
ASESMA-201047
Geometry Optimization Using Etot
Simplest case: only have to vary one degree of freedom
- e.g., structure of diatomic molecule
- e.g., lattice constant of a cubic (SC, BCC, FCC) crystal Can just look for minimum in binding curve:
ASESMA-201048
Forces
Need for geometry optimization and molecular dynamics. Could get as finite differences of total energy - too expensive! Use force (Hellmann-Feynman) theorem:
- Want to calculate the force on ion I:
- Get three terms:
When is an eigenstate,
-Substitute this...
ASESMA-201049
Forces (contd.)
• The force is now given by
• Note that we can now calculate the force from a calculation at ONE configuration alone – huge savings in time.
• If the basis depends upon ionic positions (not true for plane waves), would have extra terms = Pulay forces.
• should be exact eigenstate, i.e., scf well-converged!
0
0
Input parameter tprnfor
ASESMA-201050
An Outer Loop: Ionic Relaxation
Forces =0?
Move
ions
Structure Optimized!
Inner SCF loopfor electroniciterations
Outer loopfor ioniciterations
ASESMA-201051
Geometry Optimization With Forces
• Especially useful for optimizing internal degrees of freedom, surface relaxation, etc.
• Choice of algorithms for ionic relaxation, e.g., steepest descent, BFGS.
0
calculation = ‘relax’
NAMELIST &IONS
Input parameter ion_dynamics
ASESMA-201052
Structure of the input file
ASESMA-201053
Input file: namelists
ASESMA-201054
Input file: namelists
ASESMA-201055
Input file: input_cards
ASESMA-201056
Input file: input_cards
ASESMA-201057
Input file: a simple example