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