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

Responder a