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