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 konverguje (pri vysoke teplote tempfe=1000) a dava “nejakou” vodivost. Ale vysledny potencial (fftpot.xsf) nevypada vubec smysluplne - je symetricky.

To Do

Problemy

  • Hlavni problem ze potencial pro nenulovy VBias nekonverguje k smysluplnemu reseni (asymetricky prohnute rampe), ale k necemu kde jsou LEADy +/- symetricky posunute oproti scattenring regionu. :-(
  • Smeagol z nejakeho duvodu nezintegruje spravne hustotu stavu leadu. To se pokousi resit workarround v kspace_NET_KS.f90 v sekci CORRECTION TO EDGE, ale nejsem si jisty jetli by to tak melo byt, asi ne.
  • 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.
  • 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. ale funguje to nejak spatne asi, nechapu zatim proc, ale nevypada to ze by uz jednou zkonvergovany vypocet konvergoval vyrazne rychleji.
  • “tempfe” ovlivnuje “Tf” ktera se pouziva v negfk.F a selfenergy.F/CHARGEBIAS_EQ, prenasobi se kB=6.33363D-6 [Ry/K]
  • Delta resp Sigma (proste imaginarni cast, rozsireni peaku stavu) se nastavuje podle teploty - zavisi na tempfe
  • 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?????

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.1354633154.txt.gz · Last modified: 2012/12/04 15:59 (external edit)