Ab-initio simulace funkčních materiálů pro zelené technologie

NFPL220

doc. RNDr. Vojtěch Chlan, Ph.D.

RNDr. Jan Kuriplach, CSc.


přednáška:
  • pondělí 15:10 - 16:40 učebna T9
cvičení:
  • středa 14:50 - 16:20 učebna C126KFNT

  • 1. přednáška: Pásová struktura, translační symetrie, reciproká mřížka, vlnová funkce, elektronová struktura
  • 2. přednáška: Bornova-Oppenheimerova aproximace, Hartreeho-Fockova metoda, Teorie funkcionálu hustoty, Kohnovi-Shamovy rovnice, Metody výpočtu elektronové struktury, metoda LAPW

  • 3. přednáška: Rychlý úvod do HPC computing, linux,
    1. cvičení: cviceni0102_initWIEN2k.pdf WIEN2K: získání a sestavení vstupní struktury
    • diamantová struktura křemíku - získání:
      1. Použijeme CIF nalezený v Open Crystallography Database: 9008565.cif
      2. WIEN2k pro prostorovou grupu #227 (Fd-3m) podporuje setting 2 (ale CIF z OCD má setting 1)
      3. Před konverzí pomocí cif2struct je tedy potřeba změnit:
        název grupy z 'F d -3 m :1' na 'F d -3 m'
        souřadnice Si atomu ze 0.00000 0.00000 0.00000 na 0.12500 0.12500 0.12500
      4. Výsledný cif již lze zkonvergovat: cif2struct diamSi.cif diamSi.struct
      5. Je vhodné dát nějaký title na první řádek a zkontrolovat programem sgroup:
        x sgroup → diamSi.struct_sgroup
    • nástroj na zobrazování struktur se spoustou užitečných funkcí: VESTA

  • 2. cvičení: cviceni0102_initWIEN2k.pdf WIEN2K: inicializace výpočtu - technické parametry
    Použijeme interaktivní skript init_lapw, je toho hodně, ale vlastně skoro všechny naše vstupy budou "defaultní" hodnoty.
    1. setrmt se zeptá na procentuální zmenšení všech atomových koulí (RMT). 0 % znamená téměř dotýkající se koule.
      7 <ENTER>   (chceme trochu prostoru pro objemovou optimalizaci struktury, RMT Si by nově mělo být 2.05 a.u.)
    2. setrmt: Use old or new scheme (o/N)
      <ENTER>   (default, nové schéma nastavuje vhodné proporce mezi RMT různých prvků - zde se neuplatní)
    3. a <ENTER>   (přijmout změnu RMT vyrobenou programem setrmt)
    4. nn: specify nn-bondlength factor: (usually=2)
      2 <ENTER>   (default)
      V automaticky otevřeném diamSi.outputnn si můžeme zkontrolovat, že každý Si má 4 nejbližší Si sousedy ve vzdálenosti 2.35156 Å.
      Soubor diamSi.outputnn zavřeme (:q) a pokračujeme programem sgroup: c <ENTER>  
    5. sgroup: kontrola struktury a případné navržení nové. Zde sgroup navrhne pouze (zbytečné) prohození os, což není nutné přijmout.
      V automaticky otevřeném diamSi.outputsgroup si můžeme vše prohlédnout, např. že prostorová grupa je: 227 (F d -3 m) [origin choice 2].
      Soubor diamSi.outputsgroup zavřeme (:q) a pokračujeme programem symmetry: c <ENTER>  
      (Kdybychom navrženou změnu struktury chtěli přijmout, dáme volbu: e <ENTER>.)
    6. symmetry: kontrola struktury, pro každý atom nalezení bodové grupy a nastavení takového lokálního systému, aby byla použitá sférická báze (Ylm) co nejúspornější. V automaticky otevřeném diamSi.outputs si můžeme vše prohlédnout, např. že bodová grupa Si je -43m a lokální systém nebylo potřeba rotovat (LOCAL ROT MATRIX je jednotková matice).
      Soubor diamSi.outputs zavřeme (:q) a pokračujeme programem lstart: c <ENTER>  
    7. init_lapw nejprve spustí instgen, který pomůže s nastavením spinové konfigurace.
      My chceme Si uvažovat nemagnetický, takže: -nm <ENTER>  
    8. lstart: jako výměnně-korelační potenciál budeme používat GGA-PBE.
      13 <ENTER>   (default)
      Zvolíme hranici pro odlišení core a valence stavů:
      -6 <ENTER>   (default)
      V otevřeném diamSi.outputst si můžeme prohlédnout, jak lstart postupoval, a zavřít ho (:q). Rozdělení dopadlo pro -6 Ry takto:
        Atomic configuration for atom: Si    Z=  14.00
                E-up(Ry)      E-dn(Ry)   Occupancy   q/sphere  core-state
        1S    -131.253564   -131.253564  1.00  1.00    1.0000  T
        2S     -10.251641    -10.251641  1.00  1.00    0.9999  T
        2P*     -7.053686     -7.053686  1.00  1.00    0.9996  T
        2P      -7.006118     -7.006118  2.00  2.00    0.9996  T
        3S      -0.794415     -0.794415  1.00  1.00    0.5027  F
        3P*     -0.301274     -0.301274  0.50  0.50    0.3006  F
        3P      -0.298957     -0.298957  0.50  0.50    0.2979  F
      
      Náš Si bude mít 10 elektronů (1s, 2s, a 2p stavy) jako core, zbylé 4 elektrony budou uvažovány jako valenční.
      Tímto způsobem se nakonfigurovaly oba Si atomy ve struktuře, můžeme pokračovat: c <ENTER>  
      (Kdybychom něco v této konfiguraci chtěli změnit, zrestartujeme lstart volbou: e <ENTER>.)
    9. init_lapw otevře diamSi.in1, kde můžeme měnit parametry (budoucí) báze. Nejdůležitější je R-MT*K-MAX na druhém řádku.
      Ponecháme defaultní 7.0 a pokračujeme (:q)
    10. init_lapw otevře diamSi.in2, kde zvýšíme parametr GMAX na předposledním řádku z 12.0 na 14.0 a soubor uložíme (:wq!).
    11. kgen: jako počet k-bodů v celé Brillouinově zóně zvolíme: 200 <ENTER>.
      Otevře se soubor diamSi.klist, kde si můžeme zkontrolovat, že v ireducibilní části BZ tomu odpovídá 10 k-bodů.
      Soubor zavřeme (:q) a pokračujeme programem dstart: c <ENTER>  
    12. dstart provede superpozici atomových hustot obou Si (z lstart) a finální hustotu vyjádří už v bázi, která se bude ve výpočtu používat, tj. podle námi definovaných parametrů (RKmax,Gmax, atd.).
      Otevře se soubor diamSi.outputd, kde si můžeme leccos zkontrolovat. (:q)
    13. init_lapw vygeneruje zbývající vstupní soubory a zeptá se, zda chceme spinově polarizovaný výpočet.
      To pro nemagnetický Si nechceme: n <ENTER>  
    A tím je inicializace dokončena, výpočet (SCF) lze spustit.

  • 4. cvičení: cviceni04_WIEN2k_optimalizace.pdf WIEN2K: optimalizace struktury, DOS, bandstructure, struktura Si (diamantová vs. beta-Sn)

    Zístkání některých dalších vlastností, které nejsou přímo spočteny během SCF.
    (Obvykle použijeme finální, zoptimalizovanou strukturu.)
    Spočtení hustoty stavů (DOS)
    1. x kgen: použijeme hustší k-mesh, např. 10000 k-bodů v BZ
      To vygeneruje 256 k-bodů (21x21x21) v ireducibilní části BZ.
      (Srovn. s 10 k-body a dělením 5x5x5 postačujícími pro normální výpočet.)
    2. x lapw0: znovu vygenerujeme potenciál
    3. x lapw1: vyřešíme eigenproblém na novém, hustším k-meshi
    4. x lapw2 -qtl: spočítáme náboj (pro dané L a M) pro všechny atomy (uvnitř RMT).
      Výsledek se zapíše do diamSi.qtl.
    5. Vyrobíme vstupní soubor diamSi.int pro program tetra (např. úpravou SRC_templates/case.int):
    6.   Title
       -9.50 0.002 1.500 0.003  # EMIN, DE, EMAX, Gauss-broadening(>de)
        2    N   0.000          # NUMBER OF DOS-CASES below, G/L/B broadening (Ry)
          1    2   total        # atom, case=column in qtl-header, label
          1    3   total        # atom, case=column in qtl-header, label
       
      Čísla pro ojednotlivé orbitaly a suborbitaly zde odpovídají legendě v diamSi.qtl, která je v našem případě tot,0,1,2,D-eg,D-t2g,3.
      Takže řádky s volbami 2 a 3 v diamSi.int vykreslí pouze hustotu pro s a p stavy uvnitř atomové koule Si.
    7. x tetra: spočítáme DOS, výsledek je ve sloupcích v diamSi.dos (v Ry) a diamSi.dos1ev (v eV, Fermiho hladina = 0 eV).
      DOS si pak lze nakreslit ve vhodném progamu.

    Spočtení pásové struktury (bandstructure)
    1. Definujeme speciální body v k-prostoru, obvykle tak aby tvořily trajektorii procházející významné body symetrie.
      Pro diamantovou strukturu Si lze použít trajektorii W-L-Λ-Γ-Δ-X-Z-W-K v SRC_templates/fcc.klist nebo její část (případně jakkoliv upravit).
    2. Výslednou trajektorii uložíme do diamSi.klist_band .
    3. x lapw0: znovu vygenerujeme potenciál
    4. x lapw1 -band: vyřešíme eigenproblém na této trajektorii (k-path)
    5. x lapw2 -band: spočítáme energie pro body na naší trajektorii v k-prostoru.
      (Lze zkombinovat s -qtl volbou (viz DOS) pro zdůraznění orbitálního charakteru vykreslených pásů.)
    6. Vyrobíme vstupní soubor diamSi.insp pro program spaghetti (např. úpravou SRC_templates/case.insp):
    7. ### Figure configuration
       2.0   2.0                         # paper offset of plot
      14.0  21.0                         # xsize,ysize [cm]
       1.0   4                           # major ticks, minor ticks
       1.0   1                           # character height, font switch
       1.0   3    3                      # line width, line switch, color switch
      ### Data configuration
      -14.0  8.0  2                      # energy range, energy switch (1:Ry, 2:eV)
      1      0.3946231                   # Fermi switch,  Fermi-level (in Ry units)
      1   999                            # number of bands for heavier plotting   1,1
      0      1    0.2                    # jatom, jcol, size  of heavier plotting
      
    8. V diamSi.insp si lze nastavit vhodné rozměry a další vlastnosti výstupu
    9. x spaghetti: spočítáme pásovou strukturu, výsledek je postscriptový obrázek diamSi.spaghetti_ps :


  • 8. cvičení: xxxxx LiFePO4






Další studijní materiály:



    Základní příklady (tutorial)


    Modelování pokročilejších specifických příkladů
  • materiály pro absorpci a skladování vodíku
  • materiály pro baterie
  • materiál pro fotovoltaiku
  • porézní materiály pro skladování, separaci, a katalýzu plynů a jiných látek