Local projected density of state using SIESTA/TranSIESTA

Dear SIESTA/TranSIESTA users,

I am trying to reproduce the results of a paper based on Magnetic Tunneling Junctions. The link to the paper is as follows:


The authors have used the NANODCAL package for NEGF calculations. I am curious about the Fig.3 of this paper. Is it possible to plot the local density of states (as a function of energy and length) in TranSIESTA? Any kind of help is appreciated.

Also in one of the other papers, based on the same package (Spin-filter induced large magnetoresistance in 2D van der Waals magnetic tunnel junctions - Nanoscale (RSC Publishing)), they have shown k resolved local DOS. I know that the k-resolved transmission spectrum is possible in TranSIESTA but does anyone have knowledge about k-resolved DOS also?

Thank you


  1. LDOS (E,r)
    I think you can extract it by SISL.
    Take a look at “sisl.io.tbtrans.tbtavncSileTBtrans”
    density_matrix (E, kavg=True, isc=None, geometry=None )

  2. DOS(k)
    After the TBTrans calculation, you will have the DOS(k):
    SystemLabel.DOS ##The k resolved density of states from the Green function.

Please remember that the TBTrans gives the k in crystal unit, so you should convert it to a cartesian unit to make the plot like in this Nanoscale paper. So it is better to use a uniform mesh in a large window of kx,ky=[0;2] in the crystal unit to ensure that you have the entire 2DBZ in cartesian.

Hope this helps you.
Best regards,
Dongzhe Li
CNRS, France

Dear Dongzhe Li,
Thank you for your answer. This solves my problem. I have a follow-up question.
We can convert the crystal to a cartesian just by multiplying it with the lattice parameter. Right? So, now we can define a B.Z by ‘pi/a.’ (I think)
When it comes to TranSIESTA, we deal with rectangular (orthorhombic structures), but in Nanoscale paper, they have shown it in hexagonal form. Yes, their material is hexagonal, but TBTrans is dealing with orthorhombic structure. Like how can we conclude it? Also, we can use the crystal units of ‘K’ and ‘M’ high symmetry points to plot what the fig in Nanoscale looks like for the hexagonal system. Right?

Also, by defining large window, you mean something like this?:

path 30
from 0. 0. 0.
to 2.0 2.0 0.

Thank you

Dear Shubham,

Concerning the hexagon plot, you can generate a uniform mesh in a large window of kx,ky=[0;2] in the crystal unit, then you can use them in TBtrans calculations to get the conductance.

%block TBT.k
list … ## number of k
… ## explicit k points
%endblock TBT.k

After that, you can plot the conductance in the cart unit with kx’=kxb1_x+kyb2_x et ky’=kxb1_y+kyb2_y.

In the end, you can take only the 2DBZ part (hexagon plot).

Best regards,
Dongzhe Li

Dear Dongzhe Li,

Thank you for the answer.
So, while choosing the 2DBZ(hexagonal), I have to choose it by looking at the plot. Like looking for the hexagonal region in the large window or you think we can have some coordinates already in our mind and just look for that.

If the latter one is true, then do you think we can just look for points like gamma, M, and K (whose coordinates we know in crystal unit and we need not convert to cartesian).
This is probably my last question. THankyou for the help. Much appreciated.

Dear Shubham,
If you plot it, you see already the repeat in the figure, it is easy to cut it by hand, try it out.
Since you know already the coordinate of \Gamma, M, and L, it is also straightforward to cut it exactly.

1 Like

Got it. I will try that.
Thank you.