Parameters for calculating complexBandStructure

Parameters here are for calculating the complex band structure.

calculation.complexBandStructure.whatDirection

key word

:

calculation.complexBandStructure.whatDirection

possible values

:

1, 2, or 3

default value

:

3

description

:

when performing complex-band structure calculation, one

and only one of the three fractional coordinates of

wave vectors, k1, k2, and k3, is allowed to be a complex

number, while the other two are real.

whatDirection is used to indicate the complex one. e.g.,

whatDirection = 2 means that k2 can be a complex number

while k1 and k2 are kept real.

The complex-band structure can be expressed as

k_para = k_para(e,k_tran)

where k_para is the complex component of the wave vector

and e the band energy, k_tran the transverse components

of the wave vector. The corresponding complex k-vector is

k-vector = k1\(\times\)b1 + k2\(\times\)b2 + k3\(\times\)b3,

where b1, b2, and b3 are defined through

dot(b_i, a_j) = 2\(\pi\)\(\times\)\(\delta_{ij}\),

and a1, a2, a3 are the central cell vectors defined

in centralCellVectors.

an example

:

calculation.complexBandStructure.whatDirection = 3

calculation.complexBandStructure.kSpaceGridNumber

key word

:

calculation.complexBandStructure.kSpaceGridNumber

possible values

:

3\(\times\)1 integer array

default value

:

[1 1 1]

description

:

the small k-space grid number in each direction which,

together with kSpaceGridShift, is used to produce the

parameter kSpacePoints.

an example

:

calculation.complexBandStructure.kSpaceGridNumber = …

[10 10 10]

calculation.complexBandStructure.kSpaceGridShift

key word

:

calculation.complexBandStructure.kSpaceGridShift

possible values

:

3\(\times\)1 or 1\(\times\)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.complexBandStructure.kSpaceGridShift = …

[1/2 1/2 1/2]

calculation.complexBandStructure.kSpacePoints

key word

:

calculation.complexBandStructure.kSpacePoints

possible values

:

3\(\times\)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 transverse wave vectors

at which the complex-band structure will be calculated.

an example

:

calculation.complexBandStructure.kSpacePoints = [0 0 0]

calculation.complexBandStructure.energyRange

key word

:

calculation.complexBandStructure.energyRange

possible values

:

a 2\(\times\)1 double array

default value

:

no default value

description

:

this parameter and numberOfEnergyPoints are used to

produce the parameter energyPoints.

Note that its values are measured from the Fermi energy.

an example

:

calculation.complexBandStructure.energyRange = [-10,10]

calculation.complexBandStructure.numberOfEnergyPoints

key word

:

calculation.complexBandStructure.numberOfEnergyPoints

possible values

:

an integer number

default value

:

no default value

description

:

this parameter and energyRange are used to

produce the parameter energyPoints.

an example

:

calculation.complexBandStructure.numberOfEnergyPoints …

= 100

calculation.complexBandStructure.energyPoints

key word

:

calculation.complexBandStructure.energyPoints

possible values

:

n\(\times\)1 double array with n an integer

default value

:

determined by energyRange and numberOfEnergyPoints if

they are both given, otherwise 0.

description

:

the energy points at which the the complex-band

structure is to be calculated.

an example

:

calculation.complexBandStructure.energyPoints = -10:0.1:10

calculation.complexBandStructure.plot

key word

:

calculation.complexBandStructure.plot

possible values

:

true or false

default value

:

false

description

:

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

In the plot, k is the wave vector for Bloch waves, and

\(\kappa\) is the imaginary part of the wave vector for

evanescent waves.

an example

:

calculation.complexBandStructure.plot = true

calculation.complexBandStructure.fullplot

key word

:

calculation.complexBandStructure.fullplot

possible values

:

true or false

default value

:

false

description

:

If true, both positive and negative \(\kappa\) are plotted,

otherwise, only negative \(\kappa\) are plotted.

an example

:

calculation.complexBandStructure.fullplot = true