I have tried to run some calculations on transiesta/tbtrans with a non-zero voltage. I started with a zero voltage calculation and copied the .TSDE file to run a calculation with V=0.25. However, I still receive the error: You have to calculate the 0 V and re-use the TSDE from that calculation. So, should the calculations be executed like this:

  1. electrode to produce the TSHS for the bulk electrode (siesta --electrode).
  2. Use the TSHS electrode file to calculate the 0V TSDE+TSHS scattering region with transiesta (siesta executable).
  3. Use the TSHS and TSDE scattering region files (and the electrode TSHS) to compute the 'final' properties at non-zero voltage (only tbtrans executable).

Lastly, even if the tbtrans calculation finishes without errors, no 0_Normal_exit file is produced?


  • 1
    $\begingroup$ I changed the title, @Laura, please advice if you think the new title is not correct. $\endgroup$
    – nickpapior
    Commented Nov 28, 2022 at 12:09

1 Answer 1


You got it a bit wrong.


This program (a sub-module in Siesta) self-consistently solves the NEGF equations to calculate the system at a finite bias. Upon self-consistency, the Siesta program will write out the Hamiltonian under the effect of the bias as given in the input file.
This effectively means that for each bias-point one needs to self-consistently solve the NEGF equations to obtain the true electronic structure for a given bias point.

Since the electrodes are in equilibrium (even under finite bias) one can use the same electrode Hamiltonian for all bias points, by definition!


This program can calculate elastic transport by inputting the electronic structure of the electrodes (still under equilibrium) and the device region for a given bias point. If the electronic structure for the device region is solved for a given bias $V$, then TBtrans can only correctly calculate the transport for that same bias $V$, if you give TBtrans any $V'\neq V$ your calculation will be wrong.

What TBtrans can provide is a way to interpolate the electronic structure of several bias-points (several TSHS files calculated with TranSiesta for different bias points) and thus give an estimate of the true transport characteristics for a bias point where the electronic structure has not been explicitly calculated. This interpolation should of course be done with care and before-hand knowledge of the electronic structure should give you details about adequate interpolation ranges. Say for one system you can interpolate in a range of 0.5 V, whereas for another system, you can only interpolate in a range of 0.25 V.

TBtrans does not create the 0_NORMAL_EXIT file.

The procedure

  1. Calculate the electrode electronic structure
  2. Calculate the 0 bias case using TranSiesta
  3. Calculate any non-bias cases using TranSiesta and by using the closests bias point previously calculated using TranSiesta (copy that TSDE file). Be sure to set the flag: DM.UseSaveDM T in your input.
  4. Finally, calculate the transmission for the bias points done in steps 2 and 3
  • 1
    $\begingroup$ Dear Nick, thanks for the answer! I continued receiving the error even by following your step-by-step explanation. However, I noticed that my error was due to the fact that one should explicitly include the DM.UseSaveDM to true in the transiesta fdf file. Thanks again $\endgroup$
    – Laura
    Commented Nov 29, 2022 at 8:29
  • $\begingroup$ @Laura that is true. I have amended the answer with your comment. $\endgroup$
    – nickpapior
    Commented Dec 7, 2022 at 12:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .