sisl.io.tbtrans.phtsencSilePHtrans

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

Bases: tbtsencSileTBtrans

PHtrans file object

Methods

Eindex(E)

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)

base_directory([relative_to])

Retrieve the base directory of the file, relative to the path relative_to

bloch(elec)

Bloch-expansion coefficients for an electrode

broadening_matrix(elec, E[, k, sort])

Return the broadening matrix from the electrode elec

btd([elec])

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

chemical_potential(elec)

Return the chemical potential associated with the electrode elec

close()

dir_file([filename, filename_base])

File of the current Sile

electron_temperature(elec)

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]

kindex(k)

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

read_lattice()

Returns Lattice object from this file

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

Same as geometry, but deprecated

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)

Just to pass away the args and 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

base_directory(relative_to='.')

Retrieve the base directory of the file, relative to the path relative_to

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

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

Return the broadening matrix from the electrode elec

The broadening matrix is calculated as:

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

  • E (float or int) – energy to retrieve the broadening 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 broadening matrix will be sorted according to the order of the orbitals in the non-pivoted geometry, otherwise the broadening matrix will be returned according to the pivoted orbitals in the device region.

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

See also

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

Same as geometry, but deprecated

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

See also

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)

See also

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]

See also

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

read(*args, **kwargs)

Generic read method which should be overloaded in child-classes

Parameters:

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

read_geometry(*args, **kwargs)

Returns Geometry object from this file

read_lattice()

Returns Lattice object from this file

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.

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