This is an old revision of the document!
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.
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).
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
- spocitat Au_1D_chain, Au_bulk, Graphene BULK, SiBULK - vykreslit electorstatic potential
- 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.
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