classical{ bulk_dispersion{ } }

The group bulk_dispersion{ } allows calculating bulk band structures of the materials at specific positions in the simulation domain within 1-band approximations or \(\mathbf{k} \cdot \mathbf{p}\) models. The computation is performed just after initialization of the structure. Related outputs are located in the root output directory of the simulation.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

Dependencies:

Keywords

Gamma{ }

When this group is defined, the bulk electronic band structure is computed within 1-band parabolic model using effective mass tensor for the conduction band at \(\Gamma\).

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

HH{ }

When this group is defined, the bulk electronic band structure is computed within 1-band parabolic model using effective mass tensor for the heavy-hole valence band.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

LH{ }

When this group is defined, the bulk electronic band structure is computed within 1-band parabolic model using effective mass tensor for the light-hole valence band.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

SO{ }

When this group is defined, the bulk electronic band structure is computed within 1-band parabolic model using effective mass tensor for the split-off valence band.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

KP6{ }

When this group is defined, 6-band \(\mathbf{k} \cdot \mathbf{p}\) model is applied to compute the bulk electronic band structure.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

Dependencies:

KP6{ use_Luttinger_parameters }

By default the solver uses the DKK (Dresselhaus-Kip-Kittel) parameters (L, M, N). If enabled then it uses Luttinger parameters (\(\gamma_1\), \(\gamma_2\), \(\gamma_3\)) instead.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP6{ approximate_kappa }

By default the \(\kappa\) for zinc blende crystal structure is taken from the database or input file. If this is enabled then the solver is forced to approximate kappa through others 6-band \(\mathbf{k} \cdot \mathbf{p}\) parameters, even though kappa is given in database or input file.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP8{ }

When this group is defined, 8-band \(\mathbf{k} \cdot \mathbf{p}\) model is applied to compute the bulk electronic band structure.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

Dependencies:

KP8{ use_Luttinger_parameters }

By default the solver uses the DKK (Dresselhaus-Kip-Kittel) parameters (L, M, N). If enabled then it uses Luttinger parameters (\(\gamma_1\), \(\gamma_2\), \(\gamma_3\)) instead.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP8{ from_6band_parameters }

By default the 8-band \(\mathbf{k} \cdot \mathbf{p}\) parameters are taken from database or input file. If enabled then it evaluates the 8-band \(\mathbf{k} \cdot \mathbf{p}\) parameters from 6-band \(\mathbf{k} \cdot \mathbf{p}\) parameters, Kane parameter \(E_P\) and temperature dependent band gap \(E_g\).

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP8{ evaluate_S }

By default \(S\) (\(S_1\), \(S_2\) for wurtzite) \(\mathbf{k} \cdot \mathbf{p}\) parameter(s) is (are) taken from database or input file. If enabled it evaluates \(S\) (\(S_1\), \(S_2\) for wurtzite) \(\mathbf{k} \cdot \mathbf{p}\) parameter(s) from effective mass \(m_e\) (\(m_{e,par}\), \(m_{e,perp}\) for wurtzite), Kane parameter(s), spin-orbit coupling(s) and temperature dependent band gap.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP8{ rescale_S_to }

set \(S\) for zinc blende crystal structure to specified value and rescale \(E_P\), \(L'\), \(N^{+}\) in order to preserve electron’s effective mass.

set \(S_1\), \(S_2\) for wurtzite crystal structure to specified values respectively and rescale \(E_{P1}\), \(E_{P2}\), \(L_{1}'\), \(L_{2}'\), \(N^+_1\), \(N^+_2\) in order to preserve electron’s effective masses.

Properties for zincblende:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{-}\)

Properties for wurtzite:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: vector of 2 real numbers

  • values: \(\mathrm{no\;constraints}\)

  • default: \([0.0\;0.0]\)

  • unit: \(\mathrm{-}\)

KP8{ approximate_kappa }

By default, the \(\kappa\) for zincblende crystal structure is taken from the database or input file. If this is enabled then the solver is forced to approximate kappa through others 8-band \(\mathbf{k} \cdot \mathbf{p}\) parameters, even though kappa is given in database or input file.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

KP14{ }

When this group is defined, 30-band \(\mathbf{k} \cdot \mathbf{p}\) model is applied to compute the bulk electronic band structure.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

KP30{ }

When this group is defined, 30-band \(\mathbf{k} \cdot \mathbf{p}\) model [RideauPRB2006] is applied to compute the bulk electronic band structure.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

full{ }

calculate bulk \(\mathbf{k} \cdot \mathbf{p}\) dispersion in 3D k-space. Multiple instances are allowed.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

full{ name }

name of the dispersions which also defines the names of the output files.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: character string

full{ position{ } }

specifies the point (x,y,z) in the simulation domain, where the dispersion has to be calculated.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{group}\)

  • items: exactly 1

Dependencies:

full{ position{ x } }

\(x\)-coordinate of interest

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

full{ position{ y } }

\(y\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

full{ position{ z } }

\(z\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

full{ shift_holes_to_zero }

If enabled shifts the whole dispersion, so that the energy for the Gamma point for the highest hole band is equal to 0.0 [eV].

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

full{ kxgrid{ } }

Specifies a grid along \(k_x\) for a 1D/2D/3D plot of the energy dispersion \(E(k_x, k_y, k_z)\).

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

full{ kxgrid{ line{ } } }

Setting options defining the grid in k-space.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{group}\)

  • items: minimum 2

full{ kxgrid{ line{ pos } } }

Position of defined k-grid spacing along kx direction.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • unit: \(\mathrm{nm^{-1}}\)

full{ kxgrid{ line{ spacing } } }

k-grid spacing at defined positions

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \([10^{-6}, \ldots)\)

  • unit: \(\mathrm{nm^{-1}}\)

full{ kygrid{ } }

Specifies a grid along \(k_y\) for a 1D/2D/3D plot of the energy dispersion \(E(k_x, k_y, k_z)\). The keywords allowed within this group are analogous to full{ kxgrid{ } }.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

full{ kzgrid{ } }

Specifies a grid along \(k_z\) for a 1D/2D/3D plot of the energy dispersion \(E(k_x, k_y, k_z)\). The keywords allowed within this group are analogous to full{ kxgrid{ } }.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

path{ }

calculate bulk \(\mathbf{k} \cdot \mathbf{p}\) dispersion along custom path in k-space. Multiple instances are allowed.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

Dependencies:

path{ name }

name of the dispersions which also defines the names of the output files.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: character string

path{ position{ } }

specifies the point (x,y,z) in the simulation domain, where the dispersion has to be calculated.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{group}\)

  • items: exactly 1

Dependencies:

path{ position{ x } }

\(x\)-coordinate of interest

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

path{ position{ y } }

\(y\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

path{ position{ z } }

\(z\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

path{ shift_holes_to_zero }

If enabled shifts the whole dispersion, so that the energy for the Gamma point for the highest hole band is equal to 0.0 [eV].

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

path{ point{ } }

specifies points in the path through k-space. At least two k points have to be defined. Line between two such points is called segment.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{group}\)

  • items: minimum 2

path{ point{ k } }

k-point represented by vector \([k_x, k_y, k_z]\).

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: vector of 3 real numbers

  • values: \(\mathrm{no\;constraints}\)

  • default: \([0.0\;0.0\;0.0]\)

  • unit: \(\mathrm{nm^{-1}}\)

path{ spacing }

It specifies approximate spacing for intermediate points in the path segments.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \([10^{-6}, \ldots)\)

  • unit: \(\mathrm{nm^{-1}}\)

path{ num_points }

It specifies number of points (intermediate + two corner-points) for each single path segment.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: integer

  • values: \(\{2,3,4,5,\ldots\}\)

  • unit: \(\mathrm{nm^{-1}}\)

lines{ }

calculate dispersions along some predefined paths of high symmetry in k-space, e.g. [100], [110], [111] and their equivalents (in total maximally 13).

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: \(\mathrm{no\;constraints}\)

lines{ name }

name of the dispersions which also defines the names of the output files.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: character string

lines{ position{ } }

specifies the point (x,y,z) in the simulation domain, where the dispersion has to be calculated.

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{group}\)

  • items: exactly 1

Dependencies:

lines{ position{ x } }

\(x\)-coordinate of interest

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

lines{ position{ y } }

\(y\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

lines{ position{ z } }

\(z\)-coordinate of interest

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \(\mathrm{no\;constraints}\)

  • default: \(0.0\)

  • unit: \(\mathrm{nm}\)

lines{ shift_holes_to_zero }

If enabled shifts the whole dispersion, so that the energy for the Gamma point for the highest hole band is equal to 0.0 [eV].

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{attribute}\)

  • type: choice

  • values: \(\mathrm{yes}\) or \(\mathrm{no}\)

  • default: \(\mathrm{no}\)

lines{ k_max }

specifies a maximum absolute value (radius) for the k-vector in \(nm^{-1}\)

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \([10^{-6}, \ldots)\)

  • unit: \(\mathrm{nm^{-1}}\)

lines{ spacing }

specifies approximate spacing for intermediate points in the path segments in \(nm^{-1}\).

Properties:
  • optional: \(\mathrm{no}\)

  • object: \(\mathrm{attribute}\)

  • type: real number

  • values: \([10^{-6}, \ldots)\)

  • unit: \(\mathrm{nm^{-1}}\)

output_bulk_dispersions{ }

Outputs all defined bulk \(\mathbf{k} \cdot \mathbf{p}\) dispersions.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

output_masses{ }

Outputs effective masses calculated from the dispersions.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

output_inverse_masses{ }

Outputs inverse of effective masses calculated from the dispersions.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1

output_k_vectors{ }

Outputs k-vectors for which the dispersions are computed.

Properties:
  • optional: \(\mathrm{yes}\)

  • object: \(\mathrm{group}\)

  • items: maximum 1