# Parameters for calculating phononTransChannel

A phononTransChannel is an incoming Bloch state of phonon in the lead of the device. For a given energy, there may be a number of transChannels that may travel across the device scattering region. Parameters here are for calculating the phononTransChannels.

## calculation.phononTransChannel.whatDirection

keyword: calculation.phononTransChannel.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.phononTransChannel.whatDirection = 3
```

## calculation.phononTransChannel.isAveraged

keyword: calculation.phononTransChannel.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.phononTransChannel.isAveraged = 2
```

## calculation.phononTransChannel.kSpaceGridNumber

keyword: calculation.phononTransChannel.kSpaceGridNumber

possible values: 3 x 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: number of small k-space grids in each direction which, together with kSpaceGridShift, are used to produce the parameter kSpacePoints.

an example:

```calculation.phononTransChannel.kSpaceGridNumber = [10 10 10]'
```

## calculation.phononTransChannel.kSpacePoints

keyword: calculation.phononTransChannel.kSpacePoints

possible values: 3 x n double array

default value: defined in the k-point file if the file is given by the parameter phononTransChannel.kPointFile, or produced by the parameters phononTransChannel.kSpaceGridNumber and phononTransChannel.kSpaceGridShift

description: the fractional coordinates of n transverse wavevectors at which the number of transmission channels will be calculated.

an example:

```calculation.phononTransChannel.kSpacePoints = [0 0 0]'
```

## calculation.phononTransChannel.kPointWeights

keyword: calculation.phononTransChannel.kPointWeights

possible values: 1 x n double array

default value: defined in the k-point file if the corresponding parameter phononTransChannel.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.phononTransChannel.kPointWeights = [1/2 1/3 1/6]
```

## calculation.phononTransChannel.kPointFile

keyword: calculation.phononTransChannel.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. The following is an example of the file.

number k1 k2 k3 divisor weight 1 0 0 0 7 1.0 2 0 1 0 7 2.0 3 0 2 0 7 2.0 4 0 3 0 7 2.0 5 1 0 0 7 2.0 6 1 1 0 7 4.0 7 1 2 0 7 4.0 8 1 3 0 7 4.0 9 2 0 0 7 2.0 10 2 1 0 7 4.0 11 2 2 0 7 4.0 12 2 3 0 7 4.0 13 3 0 0 7 2.0 14 3 1 0 7 4.0 15 3 2 0 7 4.0 16 3 3 0 7 4.0

an example:

```calculation.phononTransChannel.kPointFile = 'k-points.dat'
```

## calculation.phononTransChannel.energyPoints

keyword: calculation.phononTransChannel.energyPoints

possible values: double array with an unit of meV or THz or 1/cm.

default value: no default value, must be given

description: the energy points at which the number of transmission channels is to be calculated.

an example:

```calculation.phononTransChannel.energyPoints = 0
```

## calculation.phononTransChannel.epsilon

keyword: calculation.phononTransChannel.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.phononTransChannel.epsilon = 1e-4
```

## calculation.phononTransChannel.plot

keyword: calculation.phononTransChannel.plot

possible values: true or false

default value: false

description: If true, a plot will be given after the calculation.

an example:

```calculation.phononTransChannel.plot = true
```