# sisl.io.tbtrans.phtsencSilePHtrans

class sisl.io.tbtrans.phtsencSilePHtrans(filename, mode='r', lvl=0, access=1, *args, **kwargs)

PHtrans file object

Methods

 Return the closest energy index corresponding to the energy E a2p(atoms) Return the pivoting orbital indices (0-based) for the atoms, possibly on an electrode a_down(elec[, bulk]) Down-folding atomic indices for a given electrode a_elec(elec) Electrode atomic indices for the full geometry (sorted) bloch(elec) Bloch-expansion coefficients for an electrode btd([elec]) Block-sizes for the BTD method in the device/electrode region Return the chemical potential associated with the electrode elec dir_file([filename, filename_base]) File of the current Sile Electron bath temperature [Kelvin] eta([elec]) The imaginary part used when calculating the self-energies in eV (or for the device info([elec]) Information about the self-energy file available for extracting in this file iter([group, dimension, variable, levels, root]) Iterator on all groups, variables and dimensions. kT(elec) Electron bath temperature [eV] Return the index of the k-point that is closests to the queried k-point (in reduced coordinates) mu(elec) Return the chemical potential associated with the electrode elec n_btd([elec]) Number of blocks in the BTD partioning na_down(elec) Number of atoms in the downfolding region (without device downfolded region) no_down(elec) Number of orbitals in the downfolding region (plus device downfolded region) no_e(elec) Number of orbitals in the downfolded region of the electrode in the device o2p(orbitals[, elec]) Return the pivoting indices (0-based) for the orbitals, possibly on an electrode pivot([elec, in_device, sort]) Return the pivoting indices for a specific electrode (in the device region) or the device pivot_down(elec) Pivoting orbitals for the downfolding region of a given electrode read(*args, **kwargs) Generic read method which should be overloaded in child-classes read_geometry(*args, **kwargs) Returns Geometry object from this file Returns SuperCell object from this file scattering_matrix(elec, E[, k, sort]) Return the scattering matrix from the electrode elec self_energy(elec, E[, k, sort]) Return the self-energy from the electrode elec self_energy_average(elec, E[, sort]) Return the k-averaged average self-energy from the electrode elec write(*args, **kwargs) Generic write method which should be overloaded in child-classes E Sampled energy-points in file a_buf Atomic indices (0-based) of device atoms a_dev Atomic indices (0-based) of device atoms (sorted) base_file File of the current Sile cell Unit cell in file elecs List of electrodes file File of the current Sile geom The associated geometry from this file geometry The associated geometry from this file k Sampled k-points in file kpt Sampled k-points in file lasto Last orbital of corresponding atom nE Number of energy-points in file na Returns number of atoms in the cell na_b Number of atoms in the buffer region na_buffer Number of atoms in the buffer region na_d Number of atoms in the device region na_dev Number of atoms in the device region na_u Returns number of atoms in the cell ne Number of energy-points in file nk Number of k-points in file nkpt Number of k-points in file no Returns number of orbitals in the cell no_d Number of orbitals in the device region no_u Returns number of orbitals in the cell o_dev Orbital indices (0-based) of device orbitals (sorted) wk Weights of k-points in file wkpt Weights of k-points in file xa Atomic coordinates in file xyz Atomic coordinates in file
property E

Sampled energy-points in file

Eindex(E)

Return the closest energy index corresponding to the energy E

Parameters

E (float or int or str) – if int, return it-self, else return the energy index which is closests to the energy. For a str it will be parsed to a float and treated as such.

__init__(filename, mode='r', lvl=0, access=1, *args, **kwargs)
a2p(atoms)

Return the pivoting orbital indices (0-based) for the atoms, possibly on an electrode

This is equivalent to:

>>> p = self.o2p(self.geometry.a2o(atom, True))


Will warn if an atom requested is not in the device list of atoms.

Parameters

atoms (array_like or int) – atomic indices (0-based)

property a_buf

Atomic indices (0-based) of device atoms

property a_dev

Atomic indices (0-based) of device atoms (sorted)

a_down(elec, bulk=False)

Down-folding atomic indices for a given electrode

Parameters
• elec (str or int) – electrode to retrieve indices for

• bulk (bool, optional) – whether the returned indices are only in the pristine electrode, or the down-folding region (electrode + downfolding region, not in device)

a_elec(elec)

Electrode atomic indices for the full geometry (sorted)

Parameters

elec (str or int) – electrode to retrieve indices for

property base_file

File of the current Sile

bloch(elec)

Bloch-expansion coefficients for an electrode

Parameters

elec (str or int) – bloch expansions of electrode

btd(elec=None)

Block-sizes for the BTD method in the device/electrode region

Parameters

elec (str or int, optional) – the BTD block sizes for the device (if none), otherwise the downfolding BTD block sizes for the electrode

property cell

Unit cell in file

chemical_potential(elec)

Return the chemical potential associated with the electrode elec

close()
dir_file(filename=None, filename_base='')

File of the current Sile

property elecs

List of electrodes

electron_temperature(elec)

Electron bath temperature [Kelvin]

Parameters

elec (str or int) – electrode to extract the temperature from

kT

bath temperature in [eV]

eta(elec=None)

The imaginary part used when calculating the self-energies in eV (or for the device

Parameters

elec (str, int, optional) – electrode to extract the eta value from. If not specified (or None) the device region eta will be returned.

property file

File of the current Sile

property geom

The associated geometry from this file

property geometry

The associated geometry from this file

info(elec=None)

Information about the self-energy file available for extracting in this file

Parameters

elec (str or int) – the electrode to request information from

iter(group=True, dimension=True, variable=True, levels=- 1, root=None)

Iterator on all groups, variables and dimensions.

This iterator iterates through all groups, variables and dimensions in the Dataset

The generator sequence will _always_ be:

1. Group

2. Dimensions in group

3. Variables in group

As the dimensions are generated before the variables it is possible to copy groups, dimensions, and then variables such that one always ensures correct dependencies in the generation of a new SileCDF.

Parameters
• group (bool (True)) – whether the iterator yields Group instances

• dimension (bool (True)) – whether the iterator yields Dimension instances

• variable (bool (True)) – whether the iterator yields Variable instances

• levels (int (-1)) – number of levels to traverse, with respect to root variable, i.e. number of sub-groups this iterator will return.

• root (str (None)) – the base root to start iterating from.

Examples

Script for looping and checking each instance.

>>> for gv in self.iter():
...     if self.isGroup(gv):
...         # is group
...     elif self.isDimension(gv):
...         # is dimension
...     elif self.isVariable(gv):
...         # is variable

property k

Sampled k-points in file

kT(elec)

Electron bath temperature [eV]

Parameters

elec (str or int) – electrode to extract the temperature from

electron_temperature

bath temperature in [K]

kindex(k)

Return the index of the k-point that is closests to the queried k-point (in reduced coordinates)

Parameters

k (array_like of float or int) – the queried k-point in reduced coordinates $$]-0.5;0.5]$$. If int return it-self.

property kpt

Sampled k-points in file

property lasto

Last orbital of corresponding atom

mu(elec)

Return the chemical potential associated with the electrode elec

property nE

Number of energy-points in file

n_btd(elec=None)

Number of blocks in the BTD partioning

Parameters

elec (str or int, optional) – if None the number of blocks in the device region BTD matrix. Else the number of BTD blocks in the electrode down-folding.

property na

Returns number of atoms in the cell

property na_b

Number of atoms in the buffer region

property na_buffer

Number of atoms in the buffer region

property na_d

Number of atoms in the device region

property na_dev

Number of atoms in the device region

na_down(elec)

Number of atoms in the downfolding region (without device downfolded region)

Parameters

elec (str or int) – Number of downfolding atoms for electrode elec

property na_u

Returns number of atoms in the cell

property ne

Number of energy-points in file

property nk

Number of k-points in file

property nkpt

Number of k-points in file

property no

Returns number of orbitals in the cell

property no_d

Number of orbitals in the device region

no_down(elec)

Number of orbitals in the downfolding region (plus device downfolded region)

Parameters

elec (str or int) – Number of downfolding orbitals for electrode elec

no_e(elec)

Number of orbitals in the downfolded region of the electrode in the device

Parameters

elec (str or int) – Specify the electrode to query number of downfolded orbitals

property no_u

Returns number of orbitals in the cell

o2p(orbitals, elec=None)

Return the pivoting indices (0-based) for the orbitals, possibly on an electrode

Will warn if an orbital requested is not in the device list of orbitals.

Parameters
• orbitals (array_like or int) – orbital indices (0-based)

• elec (str or int or None, optional) – electrode to return pivoting indices of (if None it is the device pivoting indices).

property o_dev

Orbital indices (0-based) of device orbitals (sorted)

pivot

retrieve the device orbitals, non-sorted

pivot(elec=None, in_device=False, sort=False)

Return the pivoting indices for a specific electrode (in the device region) or the device

Parameters
• elec (str or int) – the corresponding electrode to return the pivoting indices from

• in_device (bool, optional) – If True the pivoting table will be translated to the device region orbitals. If sort is also true, this would correspond to the orbitals directly translated to the geometry self.geometry.sub(self.a_dev).

• sort (bool, optional) – Whether the returned indices are sorted. Mostly useful if you want to handle the device in a non-pivoted order.

Examples

>>> se = tbtncSileTBtrans(...)
>>> se.pivot()
[3, 4, 6, 5, 2]
>>> se.pivot(sort=True)
[2, 3, 4, 5, 6]
>>> se.pivot(0)
[2, 3]
>>> se.pivot(0, in_device=True)
[4, 0]
>>> se.pivot(0, in_device=True, sort=True)
[0, 1]
>>> se.pivot(0, sort=True)
[2, 3]


pivot_down

for the pivot table for electrodes down-folding regions

pivot_down(elec)

Pivoting orbitals for the downfolding region of a given electrode

Parameters

elec (str or int) – the corresponding electrode to get the pivoting indices for

plot

Handles all plotting possibilities for a class

Parameters

kwargs – keyword arguments will try and search for the attribute read_<> and call it with the remaining **kwargs as arguments.

Returns Geometry object from this file

Returns SuperCell object from this file

scattering_matrix(elec, E, k=0, sort=False)

Return the scattering matrix from the electrode elec

The scattering matrix is calculated as:

$\Gamma(E) = i [\Sigma(E) - \Sigma^\dagger(E)]$
Parameters
• elec (str or int) – the corresponding electrode to return the scattering matrix from

• E (float or int) – energy to retrieve the scattering matrix at, if a floating point the closest energy value will be found and returned, if an integer it will correspond to the exact index

• k (array_like or int) – k-point to retrieve, if an integer it is the k-index in the file

• sort (bool, optional) – if True the returned scattering matrix will be sorted according to the order of the orbitals in the non-pivoted geometry, otherwise the scattering matrix will be returned according to the pivoted orbitals in the device region.

self_energy(elec, E, k=0, sort=False)

Return the self-energy from the electrode elec

Parameters
• elec (str or int) – the corresponding electrode to return the self-energy from

• E (float or int) – energy to retrieve the self-energy at, if a floating point the closest energy value will be found and returned, if an integer it will correspond to the exact index

• k (array_like or int) – k-point to retrieve, if an integer it is the k-index in the file

• sort (bool, optional) – if True the returned self-energy will be sorted according to the order of the orbitals in the non-pivoted geometry, otherwise the self-energy will be returned according to the pivoted orbitals in the device region.

self_energy_average(elec, E, sort=False)

Return the k-averaged average self-energy from the electrode elec

Parameters
• elec (str or int) – the corresponding electrode to return the self-energy from

• E (float or int) – energy to retrieve the self-energy at, if a floating point the closest energy value will be found and returned, if an integer it will correspond to the exact index

• sort (bool, optional) – if True the returned self-energy will be sorted according to the order of the orbitals in the non-pivoted geometry, otherwise the self-energy will be returned according to the pivoted orbitals in the device region.

to_json()
property wk

Weights of k-points in file

property wkpt

Weights of k-points in file

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

Parameters

**kwargs – keyword arguments will try and search for the attribute write_ and call it with the remaining **kwargs as arguments.

property xa

Atomic coordinates in file

property xyz

Atomic coordinates in file