Parameters for calculating scatteringStates
Parameters here are for calculating the scattering states of quantum transport.
calculation.scatteringStates.kSpaceGridNumber
keyword: calculation.scatteringStates.kSpaceGridNumber
possible values: 3 x 1 integer array
default value: no default value
description: number of small k-space grids in each direction which, together with kSpaceGridShift, are used to produce the parameter kSpacePoints.
an example:
calculation.scatteringStates.kSpaceGridNumber = [10 10 10]'
calculation.scatteringStates.kSpaceGridShift
keyword: calculation.scatteringStates.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: [0 0 0]
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 length along their grid vector directions, respectively.
an example:
calculation.scatteringStates.kSpaceGridShift = [1/2 1/2 1/2]'
calculation.scatteringStates.kSpacePoints
keyword: calculation.scatteringStates.kSpacePoints
possible values: 3 x n double array
default value: produced by parameter kSpaceGridNumber if it is given, otherwise, [0 0 0]’ (i.e. gamma point only)
description: the fractional coordinates of n k-space points at which the scattering states will be calculated.
an example:
calculation.scatteringStates.kSpacePoints = [0 0 0]'
calculation.scatteringStates.energyPoints
keyword: calculation.scatteringStates.energyPoints
possible values: double array
default value: chemical potentials of all the leads.
description: the energy points at which the scattering states will be calculated. Note that the energy values are measured from chemical potential of a lead that has zero applied voltage.
an example:
calculation.scatteringStates.energyPoints = 0
calculation.scatteringStates.leadIndexOfIncomingStates
keyword: calculation.scatteringStates.leadIndexOfIncomingStates
possible values: integer array
default value: 1:totalNumberOfLeads (i.e. all leads)
description: lead index. Scattering states corresponding to all incoming state of the given leads will be calculated.
an example:
calculation.scatteringStates.leadIndexOfIncomingStates = 1
calculation.scatteringStates.whatNormalized
keyword: calculation.scatteringStates.whatNormalized
possible values: ‘Current’ and ‘Charge’
default value: ‘Current’
description: If ‘Current’, the incoming and outgoing Bloch waves in all leads will be normalized to unit current; if ‘Charge’, to unit charge.
an example:
calculation.scatteringStates.whatNormalized = 'Current'
calculation.scatteringStates.epsilon
keyword: calculation.scatteringStates.epsilon
possible values: a small double number
default value: 1e-9
description: used as a criteria for identification of a Bloch wave. If |imag(k)| < epsilon, where k is the wave vector of a wave function in unit of [2pi/unit_cell_length], the wave function will be identified as a Bloch wave; otherwise, a decaying wave.
an example:
calculation.scatteringStates.epsilon = 1e-6
calculation.scatteringStates.realSpace
keyword: calculation.scatteringStates.realSpace
possible values: true or false
default value: false
description: If true, real space wavefunctions of the scattering states will be calculated in a region defined by the parameters regionPosition and regionVectors.
an example:
calculation.scatteringStates.realSpace = true
calculation.scatteringStates.regionPosition
keyword: calculation.scatteringStates.regionPosition
possible values: a 3 x 1 double array
default value: [0;0;0]
description: When realSpace is true, this parameter and regionVectors define a real space region in which wavefunctions of the scattering states will be calculated.
an example:
calculation.scatteringStates.regionPosition = [1,1,1]'
calculation.scatteringStates.regionVectors
keyword: calculation.scatteringStates.regionVectors
possible values: a 3 x 3 double array
default value: the value of system.centralCellVectors which was used in the Hamiltonian calculation
description: When realSpace is true, this parameter and regionPosition define a real space region in which wavefunctions of the scattering states will be calculated.
an example:
calculation.scatteringStates.regionVectors = eye(3)*2
calculation.scatteringStates.regionGridNumber
keyword: calculation.scatteringStates.regionGridNumber
possible values: 3 x 1 integer vector
default value: the value of calculation.realspacegrids.number which was used in the Hamiltonian calculation
description: the small grid number in each direction of regionVectors. It is used to define a set of real space point in the region defined by regionPosition and regionVectors, at which wavefunctions of the scattering states will be calculated.
an example:
calculation.scatteringStates.regionGridNumber = [4 4 4]
calculation.scatteringStates.plot
keyword: calculation.scatteringStates.plot
possible values: true or false
default value: false
description: If true, a plot will be given after the calculation.
an example:
calculation.scatteringStates.plot = true