Parameters for calculating thermoelectricCurrent

Parameters here are for calculating thermoelectric current of the device.

calculation.thermoelectricCurrent.temperature

keyword: calculation.thermoelectricCurrent.temperature

possible values: m x n double array, where m is the number of temperature points and n is the number of leads

default value: no default value

description: a list of temperatures of all leads, in unit of Kelvin. Note: the Boltzmann constant k = 8.617342e-05(eV/K) = 3.1668151e-06 (Hartree/K).

an example:

calculation.thermoelectricCurrent.temperature = [300 320]

calculation.thermoelectricCurrent.method

keyword: calculation.thermoelectricCurrent.method

possible values: ‘GreenFunction’, ‘WaveFunction’

default value: ‘GreenFunction’

description: method used for calculating thermoelectric current

an example:

calculation.thermoelectricCurrent.method = 'GreenFunction'

calculation.thermoelectricCurrent.leadPairs

keyword: calculation.thermoelectricCurrent.leadPairs

possible values: cell array of 1 x 2 integer array

default value: all pairs of leads

description: For each pair of leads in the cell, the thermoelectric current from the first lead of the pair to second lead will be calculated.

an example:

calculation.thermoelectricCurrent.leadPairs = {[1,2], [2,1]}

calculation.thermoelectricCurrent.kSpaceGridNumber

keyword: calculation.thermoelectricCurrent.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.thermoelectricCurrent.kSpaceGridNumber = [10 10 10]'

calculation.thermoelectricCurrent.kSpaceGridShift

keyword: calculation.thermoelectricCurrent.kSpaceGridShift

possible values: 3 x 1 or 1 x 3 array, [s_1, s_2, s_3], with each s_i a double number between 0 and 1.

default value: if the thermoelectricCurrent.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.thermoelectricCurrent.kSpaceGridShift = [1/2 1/2 1/2]'

calculation.thermoelectricCurrent.kSpacePoints

keyword: calculation.thermoelectricCurrent.kSpacePoints

possible values: 3 x n double array

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

description: the fractional coordinates of n transverse wavevectors which are used in the k-space integration.

an example:

calculation.thermoelectricCurrent.kSpacePoints = [0 0 0]'

calculation.thermoelectricCurrent.kPointWeights

keyword: calculation.thermoelectricCurrent.kPointWeights

possible values: 1 x n double array

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

calculation.thermoelectricCurrent.kPointFile

keyword: calculation.thermoelectricCurrent.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.thermoelectricCurrent.kPointFile = 'k-points.dat'

calculation.thermoelectricCurrent.etaSigma

keyword: calculation.thermoelectricCurrent.etaSigma

possible values: a small double number

default value: 1e-6 Hartree

description: the small eta used in the calculation of self-energy when the ‘GreenFunction’ method is chosen.

an example:

calculation.thermoelectricCurrent.etaSigma = 1e-4

calculation.thermoelectricCurrent.etaGF

keyword: calculation.thermoelectricCurrent.etaGF

possible values: a small double number

default value: 0

description: the small eta used in the calculation of Green’s function when the ‘GreenFunction’ method is chosen.

an example:

calculation.thermoelectricCurrent.etaGF = 1e-4

calculation.thermoelectricCurrent.eta

keyword: calculation.thermoelectricCurrent.eta

possible values: a small double number

default value: no default value

description: the small eta used in the calculation of self-energy and/or Green’s function when the ‘GreenFunction’ method is chosen. This parameter is only used when the parameter thermoelectricCurrent.etaSigma and/or thermoelectricCurrent.etaGF is not given.

an example:

calculation.thermoelectricCurrent.eta = 1e-4

calculation.thermoelectricCurrent.epsilon

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