transport.rst 3.66 KB
Newer Older
jensj's avatar
jensj committed
1
.. module:: ase.transport
2 3 4 5 6 7
   :synopsis: Electron transport

==================
Electron transport
==================

jensj's avatar
jensj committed
8 9
The :mod:`ase.transport` module of ASE assumes the generic setup of the system
in question sketched below:
10 11 12 13 14 15 16 17 18 19

. . . |setup| . . .

.. |setup| image:: transport_setup.png
   :align: middle

There is a central region (blue atoms plus the molecule) connected to
two semi-infinite leads constructed by infinitely repeated *principal
layers* (red atoms). The entire structure may be periodic in the
transverse direction, which can be effectively sampled using
20
**k**-points (yellowish atoms).
21 22 23 24 25 26 27 28 29 30 31 32 33

The system is described by a Hamiltonian matrix which must be
represented in terms of a localized basis set such that each element
of the Hamiltonian can be ascribed to either the left, central, or
right region, *or* the coupling between these.

The Hamiltonian can thus be decomposed as:

.. math::

    H = \begin{pmatrix}
      \ddots      & V_L         &             &             &     \\
      V_L^\dagger & H_L         & V_L         &             &     \\
jensj's avatar
jensj committed
34 35 36
                  & V_L^\dagger & H_C         & V_R         &     \\
                  &             & V_R^\dagger & H_R         & V_R \\
                  &             &             & V_R^\dagger & \ddots
37 38 39 40
    \end{pmatrix}

where `H_{L/R}` describes the left/right principal layer, and `H_C`
the central region. `V_{L/R}` is the coupling between principal
carstenr's avatar
carstenr committed
41
layers, *and* from the principal layers into the central region.  The
42 43 44
central region must contain at least one principal layer on each side,
and more if the potential has not converged to its bulk value at this
size. The central region is assumed to be big enough that there is no
carstenr's avatar
carstenr committed
45 46
direct coupling between the two leads. The principal layer must be so
big that there is only coupling between nearest neighbor layers.
47 48

Having defined `H_{L/R}`, `V_{L/R}`, and `H_C`, the elastic
49
transmission function can be determined using the Non-equilibrium
carstenr's avatar
carstenr committed
50
Green Function (NEGF) method.  This is achieved by the class:
51 52 53 54
:class:`~ase.transport.calculators.TransportCalculator` (in
ase.transport.calculators) which makes no requirement on the origin of
these five matrices.

Mikkel Strange's avatar
Mikkel Strange committed
55
.. autoclass:: TransportCalculator
carstenr's avatar
carstenr committed
56 57 58



Mikkel Strange's avatar
Mikkel Strange committed
59
..    .. class:: ase.transport.calculators.TransportCalculator(energies, h, h1, h2, s=None, s1=None, s2=None, align_bf=False)
carstenr's avatar
carstenr committed
60

Mikkel Strange's avatar
Mikkel Strange committed
61 62
      Determine transport properties of device sandwiched between
      semi-infinite leads using non-equillibrium Green function methods.
carstenr's avatar
carstenr committed
63

Mikkel Strange's avatar
Mikkel Strange committed
64 65
      energies is the energy grid on which the transport properties should
      be determined.
carstenr's avatar
carstenr committed
66

Mikkel Strange's avatar
Mikkel Strange committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80
      h1 (h2) is a matrix representation of the Hamiltonian of two
      principal layers of the left (right) lead, and the coupling between
      such layers.

      h is a matrix representation of the Hamiltonian of the scattering
      region. This must include at least on lead principal layer on each
      side. The coupling in (out) of the scattering region is assumed to
      be identical to the coupling between left (right) principal layers.

      s, s1, and s2 are the overlap matrices corresponding to h, h1, and
      h2. Default is the identity operator.

      If align_bf is True, the onsite elements of the Hamiltonians will be
      shifted to a common fermi level.
carstenr's avatar
carstenr committed
81 82 83 84 85 86


This module is stand-alone in the sense that it makes no requirement
on the origin of these five matrices. They can be model Hamiltonians
or derived from different kinds of electronic structure codes.

Jens Jørgen Mortensen's avatar
Jens Jørgen Mortensen committed
87 88
For an example of how to use the :mod:`ase.transport` module, see section 9.2
in the ASE-paper:
carstenr's avatar
carstenr committed
89

Jens Jørgen Mortensen's avatar
Jens Jørgen Mortensen committed
90 91 92 93
  J. Phys. Condens. Matter:
  `The Atomic Simulation Environment | A Python library for working with
  atoms <https://doi.org/10.1088/1361-648X/aa680e>`__
  (7 June 2017).