artachobristolsiestatut09-2

48
1 Basic introduction to SIESTA Emilio Artacho Emilio Artacho Department of Earth Sciences University of Cambridge

Upload: rasool-faraji

Post on 17-Dec-2015

5 views

Category:

Documents


0 download

DESCRIPTION

Siestas

TRANSCRIPT

  • 1Basic introduction to SIESTA

    Emilio ArtachoEmilio Artacho

    Department of Earth SciencesUniversity of Cambridge

  • The methodLinear-scaling DFT based onNAOs (Numerical Atomic Orbitals)

    P. Ordejon, E. Artacho & J. M. Soler , Phys. Rev. B 53, R10441 (1996)J. M.Soler et al, J. Phys.: Condens. Matter 14, 2745 (2002)

    Born-Oppenheimer (relaxations, mol.dynamics)DFT (LDA, GGA)Pseudopotentials (norm conserving,factorised)Numerical atomic orbitals as basis (finite range)Numerical evaluation of matrix elements (3Dgrid)

    Implemented in the SIESTA program

  • Siesta resources (I) Web page: http://www.uam.es/siesta Pseudos and basis database Tutorials Mailing list User guide and reference manual Mailing list archives (Wiki)

  • 4Siesta resources (2)

    Andrei Postnikov Siesta utils page:http://www.home.uni-osnabrueck.de/apostnik/download.html

    Lev Kantorovich Siesta utils page:http://www.cmmp.ucl.ac.uk/~lev/codes/lev00/index.html

  • Siesta software package: Src: Sources of the Siesta code. Src/Sys: makefiles for the compilation Obj: default directory where compilation goes Tests: A collection of tests. Docs: Documentation and user conditions: Users Guide (siesta.tex) Pseudo: ATOM program to generate and test pseudos. Examples: fdf and pseudos input files for simple systems. Tutorials: Tutorials for basis and pseudo generation. Utils: Programs or scripts to analyze the results.

  • To run Siesta you need:1.- Access to the executable file2.- An input file: written in ascii (plain text) using:Flexible Data Format (FDF) (A. Garca and J. M. Soler)3.- A pseudopotential file for each kind of element inthe input file. Two different formats:Unformatted binary (.vps)Formatted ASCII (.psf) (more transportable and easy to look at)

  • Running siesta

    Main input file: name.fdf Contents:

    Physical data of the systemVariables to control the aproximations

    Format: Flexible Data Format (FDF)

    Siesta has no windows, it is run from a UNIX terminalor from a MSDOS console.

  • FDF (I)Data can be given in any orderData can be omitted in favor of default valuesSyntax: data label followed by its valueCharacter string: SystemLabel h2oInteger: NumberOfAtoms 3Real: PAO.SplitNorm 0.15Logical: SpinPolarized .false.Physical magnitudes LatticeConstant 5.43 Ang

  • FDF (II) Labels are case insensitive and characters -_. are ignored

    LatticeConstant is equivalent to lattice_constant Text following # are comments Logical values: T , .true. , yes, F , .false. , no

    By default logicals are true: DM.UseSaveDM Character strings, NOT in apostrophes Complex data structures: blocks

    %block label%endblock label

  • FDF (III) Physical magnitudes: followed by its units. Many physical units are recognized for each magnitude

    (Length: m, cm, nm, Ang, bohr) Automatic conversion to the ones internally required. You may include other FDF files or redirect the search toanother file, so for example in the main fdf its possible:AtomicCoordinatesFormat < system_xyz.fdfAtomicCoordinatesAndAtomicSpecies < system_xyz.fdf

  • Basic input variables

    1.- General system descriptors2.- Structural and geometrical variables3.- Functional and solution mehod (Order-N/diagonalization)4.- Convergence of the results5.- Self-consistency6.- Basis set generation related variables7.- Molecular dynamics8.- Electron transport (TranSIESTA)

  • General system descriptor: output

    SystemName: descriptive name of the systemSystemName Si bulk, diamond structure

    SystemLabel: nickname of the system to name output filesSystemLabel bulkSi(After a successful run, you should have files like

    bulkSi.DM : Density matrixbulkSi.XV: Final positions and velocities...)

  • Structural and geometrical variables

    NumberOfAtoms: number of atoms in the simulationNumberOfAtoms 2

    NumberOfSpecies: number of different atomic speciesNumberOfSpecies 1

    ChemicalSpeciesLabel: specify the different chemical species%block ChemicalSpeciesLabel

    1 14 Si BLOCK%endblock ChemicalSpeciesLabel

    ALL THESE VARIABLES ARE MANDATORY

  • Geometry: Lattice Vectors

    LatticeConstant: real length to define the scale of the lattice vectorsLatticeConstant 5.43 Ang

    LatticeParameters: Crystallographic way%block LatticeParameters

    1.0 1.0 1.0 60. 60. 60.%endblock LatticeParameters

    LatticeVectors: read as a matrix, each vector on a line%block LatticeVectors 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0%endblock LatticeVectors

    PBC: Atoms in the unit cell always areperiodically repeated throughout space

    along the lattice vectors

    Surfaces

  • Atomic CoordinatesAtomicCoordinatesFormat:

    Bohr: cartesian coordinates, in bohrsAng: cartesian coordinates, in AngstromsScaledCartesian: cartesian coor scaled by lattice constantFractional: referred to the lattice vectors

    AtomicCoordinatesFormat Fractional

    AtomicCoordinatesAndAtomicSpecies:

    %block AtomicCoordinatesAndAtomicSpecies0.00 0.00 0.00 10.25 0.25 0.25 1

    %endblock AtomicCoordinatesAndAtomicSpecies

  • FunctionalDFT

    XC.Functional LDA GGA

    XC.authors PW92CAPZ

    PBE

    DFT Density Functional TheoryLDA Local Density ApproximationGGA Generalized Gradient ApproximationVDW van der Waals

    CA Ceperley-AlderPZ Perdew-ZungerPW92 Perdew-Wang-92PBE Perdew-Burke-ErnzerhofDRSLL Dion et al (VdW)

    SpinPolarized

  • 17

    Not perfect, but a pragmatic possibility, still fromfirst-principles and within KS-DFT

    Efficient implementation (Roman & Soler PRL 09)

    Benzene sandwich

  • Solution method

    Hamiltonian (H), Overlap (S) matrices

    1: Compute H, S (Order N ):

    2: SolutionMethoddiagon Order-N

    0: Start from the atomic coordinates and the unit cell

    Executiontime

  • k-samplingMany magnitudes require integration of Bloch functions over Brillouin zone (BZ)

    !r r ( ) = d

    r k n

    r k ( )

    BZ

    "i

    # $ ir k ( )

    2

    In practice: integral sum over a finite uniform gridEssential for:

    Real space Reciprocal spaceSmall periodic systems Metals Magnetic systems

    Good description of the Blochstates at the Fermi level

    Even in same insulators:Perovskite oxides

  • k-sampling

    kgrid_cutoff (1):kgrid_cutoff 10.0 Ang

    kgrid_Monkhorst_Pack (2):%block kgrid_Monkhorst_Pack 4 0 0 0.5 0 4 0 0.5 0 0 4 0.5%endblock kgrid_Monkhorst_Pack

    Special set of k-points: Accurate results for a small # k-points:

    1 Moreno and Soler, PRB 45, 13891 (1992).2 Monkhorst and Pack, PRB 13, 5188 (1997)

  • Selfconsistency (SCF)Initial guess:

    !

    r r ( ) = !atom

    r r ( )"

    !r r ( ) = !,"##"

    ,"

    $

    Properties: Total energy, Charge density Forces

    MaxSCFIterationsTolerance

    Yes

    No

    ?

  • 22

    Hard confining potentialsHard confining potentials

    FireballsO. F. Sankey & D. J. Niklewski,Phys. Rev. B 40, 3979 (1989)

    BUT:A different cut-off radius foreach orbital

    A single parameter

    Energy shift

    Convergence vs Energy shift ofBond lengths Bond energies

    E. Artacho et al. Phys. Stat. Solidi (b) 215, 809 (1999)

  • 23

    Soft confining potentialsSoft confining potentials

    1 3 5 7 r (a.u.)

    1 3 5 7 r (a.u.)

    Better basis, variationally, & other results Removes the discontinuity in the derivative J. Junquera, O. Paz, D. Sanchez-Portal & E. Artacho, Phys. Rev. B, 64, 235111 (2001) E. Anglada, J. M. Soler, J. Junquera & E. Artacho, Phys. Rev. B 66, 205101 (2002)

  • 24

    Multiple-zetaMultiple-zeta

    E. Artacho et al. , Phys. Stat. Solidi (b) 215, 809 (1999).

  • 25

    PolarizationPolarization

    E. Artacho et al. , Phys. Stat. Solidi (b) 215, 809 (1999).

  • Basis set: Main controlsExplicit control within block PAO.Basis%block PAO.BasisSr 5 1.64000n=4 0 1 E 150. 6.0 6.5n=5 0 2 E 150. 6.5 7.0 5.5n=4 1 1 E 150 5.6 6.75n=5 1 1 E 4.6 1.2 4.n=4 2 1 E 145. 6.0 6.6%EndBlock PAO.Basis

    Otherwise, automatic:PAO.BasisSize DZP // PAO.EnergyShift 50 meV etc

    Rules of thumb in Artacho et al, JPCM 2008

  • How to run SiestaTo run the serial version, from a unix/terminal:

    Basic run, output in the screen:% siesta < Fe.fdf

    Output redirected to a file:% siesta < Fe.fdf > Fe.out

    Screen and file output: % siesta < Fe.fdf | tee Fe.out

    (assuming the siesta binary is in your PATH)

  • Output: the header

  • Output: dumping the input file

  • Output: processing the input

  • Output: coordinates and k-sampling

  • Output: First MD step

  • Output: Self-consistency

  • Output: Eigenvalues, forces, stress

  • Output: Total energy

  • Output: timer (real and cpu times)

  • Saving and reading information (I)

    Some information is stored by Siesta to restart simulations from: Density matrix: DM.UseSaveDM Localized wave functions (Order-N): ON.UseSaveLWF Atomic positions and velocities: MD.UseSaveXV Conjugate gradient history (minimizations): MD.UseSaveCGAll of them are logical variables

    EXTREMELY USEFUL TO SAVE A LOT OF TIME!

  • Saving and reading information (II)Information needed as input for various post-processing

    programs, for example, to visualize: Total charge density: SaveRho Deformation charge density: SaveDeltaRho Electrostatic potential: SaveElectrostaticPotential Total potential: SaveTotalPotential Local density of states: LocalDensityOfStates Charge density contours: WriteDenchar Atomic coordinates: WriteCoorXmol and WriteCoorCerius

    All of them are logical variables

  • Analyzing the electronic structure (I)Band structure along the high symetry lines of the BZ

    BandLineScale: scale of the k vectors in BandLinesBandLineScale pi/a

    BandLines: lines were band energies are calculated.

    %block BandLines 1 1.000 1.000 1.000 L 20 0.000 0.000 0.000 \Gamma 25 2.000 0.000 0.000 X 30 2.000 2.000 2.000 \Gamma%endblock BandLines

  • Analyzing the electronic structure (II)Density of states: total and projected on the atomic orbitals

    ProjectedDensityOfStates:%block ProjectedDensityOfStates -20.00 10.00 0.200 500 eV%endblock ProjectedDensityOfStates

  • Analyzing the electronic structure (III)Population analysis: Mulliken prescription - Charge associated to basis orbital or atom

    - Careful, badly defined, arbitrary and very dependent on the basis functions

    WriteMullikenPop

    WriteMullikenPop 0 = None 1 = Atomic and orbitals charges 2 = 1 + atomic overlap pop. 3 = 2 + orbital overlap pop.

    Others (Voronoi, Hirschfeld, Maier)

  • Tools (I)Various post-processing programs and utilities:- Phonons:

    Finite differences: VIBRA (P. Ordejn)Linear response: LINRES ( J. M. Pruneda et al.)

    - Interface with Phonon program (Parlinsky)

    -Visualisation of CHARGE DENSITY and POTENTIALS-3D: PLRHO (J. M. Soler)-2D: CONTOUR (E. Artacho)-2D: DENCHAR (J. Junquera)-3D: sies2xsf (Xcrysden) (A. Postnikov)-3D: grid2cube (Gaussian) (P. Ordejn)-3D: rho2grd (Materials Studio) (O. Paz)

  • Tools (II)-TRANSPORT PROPERTIES:

    TRANSIESTA (M. Brandbydge et al.)-PSEUDOPOTENTIAL and BASIS information:

    PyAtom (A. Garca)-ATOMIC COORDINATES:

    Sies2arc (J. Gale)-DOS, PDOS, Bands:

    PlotUtils (O. Paz)- Others (STM etc)

  • 44

    Some things we have not covered

    PolarisationPolarisation Optical propertiesOptical properties Variety of GGAsVariety of GGAs Z-matrixZ-matrix Tuning performance, output Tuning performance, output and parallelisationand parallelisation Alternative basis sets Alternative basis sets (Ghosts, (Ghosts, BesselsBessels, user provided, , user provided, variational variational ))

  • 45

    Releases

    2.0 2.0 STABLE (2.0.2 STABLE (2.0.2 .).) 3.0 3.0 beta (present versionbeta (present version )) DevelopmentDevelopment

  • 46

    3.0

    Several minor modificationsSeveral minor modifications DFT-D andDFT-D and similar molecular mechanicssimilar molecular mechanics COOP, COHP COOP, COHP Virtual crystal approximationVirtual crystal approximation Wu-Cohen GGA, Wu-Cohen GGA, PBEsolPBEsol Scripting and Siesta as a serverScripting and Siesta as a server Fire quench (optimiser)Fire quench (optimiser) 2 x faster 2 x faster diagondiagon

  • 47

    3.0 and beyond Improved parallelisationImproved parallelisation FilteringFilteringTransiestaTransiesta LDA+U, pseudo-SICLDA+U, pseudo-SIC Spin-OrbitSpin-Orbit TD-DFTTD-DFT VdW LangrethVdW Langreths s functionalfunctional Divide and conquerDivide and conquer & LNV O(N) solvers& LNV O(N) solvers Multigrid Multigrid Poisson solver; mixed BCPoisson solver; mixed BC (and a very substantial(and a very substantial internal reshape)internal reshape)

  • 48

    Back home Get academic licence (free): gives youGet academic licence (free): gives you IDID &&passwordpassword Compile: lets of shared experience for differentCompile: lets of shared experience for differentplatforms in mailingplatforms in mailing list and its archivelist and its archive Architecture dependent file: arch.makeArchitecture dependent file: arch.make Try with Try with ./configure./configure firstfirst