User Tools

Site Tools


smeagol

This is an old revision of the document!


Equilibriom Kpoins

melo by to fungovat, skousel jsem 1D H chain, H111 bulk, a Si100 bulk, vsude to fungovalo pro vice k-bodu.

Chyba vznikala pri jednom k-bodu, protoze se v tom pripade pouzivala na inverovani GF lapack subrutina pro symetricke matice Predelal sem to aby se vzdy pouzivala subrutina pro obecne matice

Voltage se aplykuje v diag_k_NET_eq.f90 na diagonalu hamiltonianu.

DEV NOTES

v Smeagolu neni zadne jine misto (if statement) ktere by zalezelo na poctu k-bodu. Nepouziva se tam ani nikde jinde symetricky solver (krome invert.f ktera se ale podle vseho nepouziva vubec).

Nonequlibrim Khon-Sham

Aktualne to vypada ze to konverguje alespon pro H-Chain pri nulovem napeti

nefungje pro non-zero VBias. Musis se poresit nejak jinak. Melo by se nastavovat VBias vstupujici do smeaglu, nikoli ho umele pricitat k hamiltonianu jako se to deje v Fir2smeagol_eq v diag_k_NET_eq.f90

To Do

  • spocitat Au_1D_chain, Au_bulk, Graphene BULK, SiBULK
  • vykreslit electorstatic potential
  • podivat se na Delta, sigma (imaginarni cast)…. jsou dve, kde je ktera, zjistit jejich vliv na konvergenci, a na “spike” v proudu

Problemy

  • Au1D nekonverguje pro vyzsi napeti (> 0.2 eV), prodlouzeni screening regionu nepomaha. Normalne KS-SCF taky konverguje blbe, ale pomuze zvysit tempfe=1000. to ale ve smeaglu nejde.
  • zda se mi ze to nenacita/neuklada sprave denmat.dat. protoze kdyz spustim smeagol znovu, jen s trochu pozmenenym napetim, tak je dost velika sigma=1E-1. ⇒ Podivat se jak se nacita a uklada s denmat.
  • Je lepsi pouzivat fermi level ze smeagol-SCF nez z LEADu. S Ef z LEADu to nekonverguje vubec. Mozna by si mel smeagol urcit fermi-level sam pomoci integrace?????
  • FIXME denmat se ve smeaglu nacita/uklada spatne, :-( kdyz spustim 2x beh programu (1x uz zkonvergovany) je stejne v prvnim kromu sigma=1E-1

Kosmeticke vady

  • Jednotkova konvecne je chaoticka, nektere veci se konvertuji do Hratree untis uvnitr smeagol (HL0,HR0 unvitr negf() ) jine uvnitr fireball (V_bias)
  • celkove je kod chaoticky - rozstrkany po ruznych subrutinach fireballu a podadresarich (GRID, LOOPS, MODULES, SOLVESH_DIAG, UTILS, SM_INTERFACE, SM_NETRANSPORT )

FAQ

  • denmat.dat se nacita. Vypise to “Read denmat.dat”. deje se to v initbasics.f90 → initdenmat.f90
  • “tempfe” ovlivnuje “Tf” ktera se pouziva v negfk.F a selfenergy.F/CHARGEBIAS_EQ, prenasobi se kB=6.33363D-6 [Ry/K]
  • denmat se ve smeaglu nacita/uklada spatne

Zmene soubory od puvodniho fireballu

New files:

/SM_INTERFACE/read_LRE.f90		read electrode rho, H, S matrices for each k (if ismeagol = 1)      
/UTIL/writeout_H2Sm.f90		write out electrode rho, H, S matrices (if iwrtHSrho = 1) from "bulk" calculation for "smeagol" calculation
/SOLVESH_DIAG/kspace_NET.f90           solve in each k-point using smeagol
/SOLVESH_DIAG/diag_k_NET.f90 		allcocate and read ELECTRODE files, call read_LRE, call kspace_NET
/SOLVESH_DIAG/get_Sp12k.f90		get S matrix^(1/2) for lowdin transform from smeagol density 
/LOOPS/main_loop_NET.f90		just call scf_loop_NET
/LOOPS/scf_loop_NET.f90		
/MODULES/smeagol.f90			definition of all smeagol global variables

Modified files:

/MODULES/options.f90			integer ismeagol	
/MODULES/outputs.f90			integer iwrtHSrho  
/INITIALIZERS/initbasics.f90		call readbias, allocate_bias (if ismeagol = 1)
/LOOPS/main_loop.f90			
/READFILES/readparam.f90		
/UTIL/postscf.f90 	
smeagol.1354618163.txt.gz · Last modified: 2012/12/04 11:49 (external edit)