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