Parameters for calculating transChannel¶
A transChannel is an incoming Bloch state in the lead of the device. For a given energy, there may be a number of transChannels that may traverse the device scattering region. Parameters here are for calculating the transChannels.
calculation.transChannel.whatDirection¶
key word |
: |
calculation.transChannel.whatDirection |
possible values |
: |
1, 2, or 3 |
default value |
: |
3 |
description |
: |
used for bulk system, to define the transmission |
direction. |
||
To perform transmission calculation on a perfect |
||
bulk system, or to analyze transmission channels |
||
inside a lead, it is necessary to choose one and only |
||
one of the three central cell vectors as the lead |
||
direction (i.e. transmission direction); the transverse |
||
plane is spanned by the other two directions. |
||
an example |
: |
calculation.transChannel.whatDirection = 3 |
calculation.transChannel.isAveraged¶
key word |
: |
calculation.transChannel.isAveraged |
possible values |
: |
0, 1, 2 |
default value |
: |
1 |
description |
: |
If 0, the calculated transmission coefficient is |
expressed as a function of both energy and transverse |
||
k-vector (i.e. obtain transmission hot spot). |
||
If 1, in addition, a k-space average is |
||
performed on the transmission coefficient, and the |
||
averaged coefficient is a function of energy only. If 2, |
||
only the averaged transmission coefficient are kept, |
||
just for saving disk storage. |
||
an example |
: |
calculation.transChannel.isAveraged = 2 |
calculation.transChannel.kSpaceGridNumber¶
key word |
: |
calculation.transChannel.kSpaceGridNumber |
possible values |
: |
3\(\times\)1 integer array |
default value |
: |
the value of calculation.k_spacegrids.number which was |
used in the Hamiltonian calculation, or [1 1 1] if an |
||
user provided Hamiltonian is used. |
||
description |
: |
the small k-space grid number in each direction which, |
together with kSpaceGridShift, are used to produce the |
||
parameter kSpacePoints. |
||
an example |
: |
calculation.transChannel.kSpaceGridNumber = [10 10 10] |
calculation.transChannel.kSpaceGridShift¶
key word |
: |
calculation.transChannel.kSpaceGridShift |
possible values |
: |
3\(\times\)1 or 1\(\times\)3 array, [s\(_1\), s\(_2\), s\(_3\)], with each s\(_i\) a |
double number between 0 and 1. |
||
default value |
: |
if the transChannel.kSpaceGridNumber is given, or if an |
user provided Hamiltonian is used, the default value is [0 |
||
0 0], otherwise the default value is the value of |
||
calculation.k_spacegrids.shift which was used in the |
||
Hamiltonian calculation. |
||
description |
: |
k-space grid point shift. While all s\(_i\) are set to be 0, |
the Gamma point is always among the k-space grid points |
||
being generated; otherwise, the k-space grid points will |
||
be shifted s\(_1\), s\(_2\), and s\(_3\) grid lengths along their |
||
grid vector directions, respectively. |
||
an example |
: |
calculation.transChannel.kSpaceGridShift = [1/2 1/2 1/2] |
calculation.transChannel.kSpacePoints¶
key word |
: |
calculation.transChannel.kSpacePoints |
possible values |
: |
3\(\times\)n double array |
default value |
: |
defined in the k-point file if the file is given by |
the parameter transChannel.kPointFile, or produced by |
||
the parameters transChannel.kSpaceGridNumber and |
||
transChannel.kSpaceGridShift |
||
description |
: |
the fractional coordinates of n transverse wave vectors |
at which the number of transmission channels will be |
||
calculated. |
||
an example |
: |
calculation.transChannel.kSpacePoints = [0 0 0] |
calculation.transChannel.kPointWeights¶
key word |
: |
calculation.transChannel.kPointWeights |
possible values |
: |
1\(\times\)n double array |
default value |
: |
defined in the k-point file if the corresponding |
parameter transChannel.kSpacePoints is using the |
||
k-values in the same file. Otherwise, equally weighted. |
||
description |
: |
the weights of the k-space points in the k-space |
integration. |
||
an example |
: |
calculation.transChannel.kPointWeights = [1/2 1/3 1/6] |
calculation.transChannel.kPointFile¶
key word |
: |
calculation.transChannel.kPointFile |
possible values |
: |
a file name |
default value |
: |
no default value |
description |
: |
the name of a file which contains the coordinates of |
k-space points and their corresponding weights. |
||
A k-point file with n k-points has (n+1) lines: one line |
||
of headers and n lines of values of the n k-points. |
||
The headers are: |
||
number : sequential number of the k-point |
||
k1, k2, k3 : fractional coordinates of the k-point |
||
divisor : used to modify k1, k2, and k3 so that the |
||
real fractional coordinates are |
||
k1/divisor, k2/divisor, k3/divisor |
||
weight : relative weights of the k-points for the |
||
k-space integration. Normalized |
||
so that sum(weight) = 1. |
||
where the headers number, divisor, and weight are |
||
optional. |
||
an example |
: |
calculation.transChannel.kPointFile = k-points.dat |
calculation.transChannel.energyPoints¶
key word |
: |
calculation.transChannel.energyPoints |
possible values |
: |
double array |
default value |
: |
chemical potentials of all the leads. |
description |
: |
the energy points at which the number of transmission |
channels is to be calculated. |
||
Note that the energy values are measured from chemical |
||
potential of a lead having zero applied voltage. |
||
an example |
: |
calculation.transChannel.energyPoints = 0 |
calculation.transChannel.epsilon¶
key word |
: |
calculation.transChannel.epsilon |
possible values |
: |
a small double number |
default value |
: |
1e-9 |
description |
: |
used as a criterion of Bloch wave. For a wave with |
wave-vector k, if ||exp(ika)|-1| < epsilon, where a is |
||
unit cell length, it is considered as a Bloch wave; |
||
otherwise, it is considered as an evanescent wave. |
||
an example |
: |
calculation.transChannel.epsilon = 1e-4 |
calculation.transChannel.plot¶
key word |
: |
calculation.transChannel.plot |
possible values |
: |
true or false |
default value |
: |
false |
description |
: |
If true, a plot will be given after the calculation. |
an example |
: |
calculation.transChannel.plot = true |