User Tools

Site Tools


smeagol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
smeagol [2012/12/04 15:59]
smeagol [2012/12/04 15:59]
prokop
Line 1: Line 1:
 +====== 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.txt ยท Last modified: 2012/12/04 15:59 (external edit)