1
title: TranSiesta details
3
This part of the documentation details the TranSiesta implementation.
5
TranSiesta is a solution method that calculates the (non) equilibrium density
6
by using open boundary conditions.
8
Currently TranSiesta does not implement non-collinear, nor spin-orbit calculations.
10
TranSiesta calculates the density matrix using the following procedure:
12
1. Setup all parameters that are to be used in the TranSiesta calculation.
13
This is mainly the electrode Hamiltonian and self-energy calculations.
14
The self-energies require the coupling along the semi-infinite direction
15
to only couple to nearest neighbours, see [[m_ts_init:ts_init]].
16
2. Calculate an initial guess of the Hamiltonian and Fermi-level using
17
any regular Siesta method, see [[compute_dm]].
18
3. When solving the Hartree potential it is vital that the boundary is
19
"fixed" such that the potential is kept constant where the electrode
20
are fixed. This is because the open boundary couples to a constant
21
potential, the electrodes.
22
This boundary is chosen as the electrode that has the largest cross
23
section along the semi-infinite direction, see [[m_ts_hartree:ts_hratree_fix]].
24
4. Start the Green function method. In the
25
TranSiesta SCF the electrode self-energies are taken from the TSGF*
26
files and used to calculate the device Green function, see [[m_transiesta:transiesta]].
27
5. Mix the Hamiltonian or density matrix as in regular Siesta calculations.
28
6. Repeat step 3, 4 and 5.
30
Currently, the TranSiesta implemention can calculate the Green function
31
using 3 different methods:
33
1. The full Green function [[m_ts_fullg:ts_fullg]]/[[m_ts_fullk:ts_fullk]]
34
2. MUMPS library for sparse inversion [[m_ts_mumpsg:ts_mumpsg]]/[[m_ts_mumpsk:ts_mumpsk]]
35
3. Block tri diagonal inversion [[m_ts_trig:ts_trig]]/[[m_ts_trik:ts_trik]]
37
By far, the block tri diagonal inversion is the fastest and least memory