# Parameters for calculating complexBandStructure

Parameters here are for calculating the complex band structure.

## calculation.complexBandStructure.whatDirection

keyword: 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 wavevectors, 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 x b1 + k2 x b2 + k3 x b3, where b1, b2, and b3 are defined through dot(b_i, a_j) = 2pi x delta_{i,j}, and a1, a2, a3 are the central cell vectors defined in centralCellVectors.

an example:

```calculation.complexBandStructure.whatDirection = 3
```

## calculation.complexBandStructure.kSpaceGridNumber

keyword: calculation.complexBandStructure.kSpaceGridNumber

possible values: 3 x 1 integer array

default value: [1 1 1]

description: number of small k-space grids 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

keyword: calculation.complexBandStructure.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.complexBandStructure.kSpaceGridShift = ...
[1/2 1/2 1/2]'
```

## calculation.complexBandStructure.kSpacePoints

keyword: calculation.complexBandStructure.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 transverse wavevectors at which the complex-band structure will be calculated.

an example:

```calculation.complexBandStructure.kSpacePoints = [0 0 0]'
```

## calculation.complexBandStructure.energyRange

keyword: calculation.complexBandStructure.energyRange

possible values: a 2 x 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

keyword: 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

keyword: calculation.complexBandStructure.energyPoints

possible values: n x 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

keyword: 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 wavevector for Bloch waves, and kappa is the imaginary part of the wavevector for evanescent waves.

an example:

```calculation.complexBandStructure.plot = true
```

## calculation.complexBandStructure.fullplot

keyword: 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
```

## calculation.totalEnergy.plot

keyword: calculation.totalEnergy.plot

possible values: true or false

default value: false

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

an example:

```calculation.totalEnergy.plot = true
```