NEGF
- class hubbard.NEGF(Hdev, elec_SE, elec_idx, CC=None, V=0, **kwargs)[source]
Bases:
object
This class creates the open quantum system object for a N-terminal device
For the Non-equilibrium case \(V\neq 0\) the current implementation only can deal with a 2-terminal device
- Parameters
Hdev (HubbardHamiltonian) –
hubbard.HubbardHamiltonian
object of the deviceelec_SE (list of sisl.SelfEnergy or tuple of (HubbardHamiltonian, str)) – list of (already converged)
hubbard.HubbardHamiltonian
objects for the electrodes plus the semi-infinite direction for the respective electrode. Alternatively one may directly passsisl.SelfEnergy
instanceselec_idx (array_like) – list of atomic positions that each electrode occupies in the device geometry
CC (str, optional) – name of the file containing the energy contour in the complex plane to integrate the density matrix
V (float, optional) – applied bias between the two electrodes
Examples
>>> NEGF(Hdev, [sisl.SelfEnergy(), (H, '+A')])
See also
sisl.physics.RecursiveSI
sisl routines to create semi-infinite object (obtain self-energy, etc.)
Notes
This class has to be generalized to non-orthogonal basis
Methods
DOS
(H, E[, spin, eta])Obtains the density of states (DOS) from the Green's function of the device
Delta
(HC, Ef, ik[, spin])Finds the non-equilibrium integrals to correct the left and right equilibrium integrals
PDOS
(H, E[, spin, eta])Obtains the projected density of states (PDOS) onto the atomic sites from the Green's function of the device
__init__
(Hdev, elec_SE, elec_idx[, CC, V])Initialize NEGF class
calc_n_open
(H, q[, qtol])Method to compute the spin densities from the non-equilibrium Green's function
- DOS(H, E, spin=[0, 1], eta=0.01)[source]
Obtains the density of states (DOS) from the Green’s function of the device
\[\mathrm{DOS}_\sigma = -\frac{1}{\pi}\Im\lbrace\mathrm{Tr}[G^{\sigma}]\rbrace\]- Parameters
H (HubbardHamiltonian) –
hubbard.HubbardHamiltonian
object of the systemE (array_like) – energy grid to obtan the DOS
spin (int, array_like, optional) – spin index. If
spin=[0,1]
(default) it sums the DOS corresponding to both spin indiceseta (float, optional) – smearing parameter (complex term in the Green’s function)
- Returns
DOS
- Return type
- Delta(HC, Ef, ik, spin=0)[source]
Finds the non-equilibrium integrals to correct the left and right equilibrium integrals
- Parameters
HC (numpy.ndarray) – Hamiltonian of the central region in its matrix form
Ef (float) – Potential of the device
ik (int) – k-point index
spin (int) – spin index (0=up, 1=dn)
- Returns
Delta
weight
- PDOS(H, E, spin=(0, 1), eta=0.01)[source]
Obtains the projected density of states (PDOS) onto the atomic sites from the Green’s function of the device
\[\mathrm{PDOS}_{i\sigma} = -\frac{1}{\pi} \Im\lbrace G^{\sigma}_{ii}\rbrace\]Where \(i\) represents the atomic site position
- Parameters
H (HubbardHamiltonian) –
hubbard.HubbardHamiltonian
object of the systemE (array_like) – energy grid to obtan the PDOS
spin (int, array_like, optional) – spin index. If
spin=[0,1]
(default) it sums the PDOS corresponding to both spin indiceseta (float, optional) – smearing parameter (complex term in the Green’s function)
- Returns
PDOS
- Return type
- calc_n_open(H, q, qtol=1e-05)[source]
Method to compute the spin densities from the non-equilibrium Green’s function
- Parameters
H (HubbardHamiltonian) –
hubbard.HubbardHamiltonian
of the object that is being iteratedq (float) – charge associated to the up and down spin-components
qtol (float, optional) – tolerance to which the charge is going to be converged in the internal loop that finds the potential of the device (i.e. that makes the device neutrally charged)
- Returns
ni (numpy.ndarray) – spin densities
Etot (float) – total energy