Dear Emilio:
* * I’m try*i*ng to using the *Hamilton(H)* and *Overlap(S)* matrices
stored in **.HSX* or **.TSHS* to get the transmission by NEGF, because I
need the *T(E)* in a integration just like the current calculation. Now I
have got the* **H* and *S* matrices in full form(both of them are
*no_u**×**(4*no_u)
*matrices, by using *no_u, numh, listh, H/S* in sparse form) from
**.HSX*successfully. But some questions bother me for a long time,
please help me:
1) Is there any different between the H/S matrix in **.HSX* and **.TSHS
*? Although I have checked the */.../siesta-3.1/Src/m_hsx.F *and *
m_ts_io.F90*, I’m still not sure that.
2) What does the function *cp_gf_vars *do in
*/.../siesta-3.1/Util/TBTrans/sethhm2.F
*line 327? I can’t find the source code like* cp_gf_vars.** anywhere.
Please offer me the source code of *cp_gf_vars.** if possible.
3) What does the integer* ix(maxnh)* in *
/.../siesta-3.1/Util/TBTrans/sethhm2.F* line 112 refer to? I find that the
integer* ix(maxnh)* plays a key role in defining *Hk, Sk, Hk2 *and *Sk2*.
4) Could you please introduce the procedure of getting *Hk, Sk, Hk2
and Sk2 *from the *H* and *S* in **.HSX* or **.TSHS* of one-dimensional
system just like SWCNT or GNR? I used to think that the *H/S *can be split
into *[Hk Hk2 O Hk2’]/[Sk Sk2 O Sk2’] *(both of them are *no_u**×**no_u*),
but it’s wrong.
Here is my system information:
System operation: RedHatEnterpriseAS
Siesta Version: siesta-3.1
Architecture : Ifort10.1.026+Mkl10.1.015+openmpi
Compiler flags: mpif90 -g -O2
Any help will be appreciated.
Best wish!
Shihua Tan