quantum{ region{ …{ dispersion{ } } } }

This section reffers to the groups:

  • quantum{ region{ Gamma{ dispersion{ } } } },

  • quantum{ region{ L{ dispersion{ } } } },

  • quantum{ region{ X{ dispersion{ } } } },

  • quantum{ region{ Delta{ dispersion{ } } } },

  • quantum{ region{ HH{ dispersion{ } } } },

  • quantum{ region{ LH{ dispersion{ } } } },

  • quantum{ region{ SO{ dispersion{ } } } },

  • quantum{ region{ kp_8band{ dispersion{ } } } }, and

  • quantum{ region{ kp_6band{ dispersion{ } } } }.

These groups provide keywords to define a path for computation of electronic band structures - \(\mathbf{k_{||}}\) and \(\mathbf{k_{\tiny{superlattice}}}\) (if applicable) dispersions. The energy dispersion E(k) along the specified paths and for the specified k space resolutions are completely independent from the k space resolution that was used within the self-consistent cycle where the k.p density has been calculated. The latter is specified in k_integration{ }.

path{ }

quantum{ region{ ...{ dispersion{ path{ } } } } } calculates dispersion along custom path in k-space. Multiple instances are allowed.

name

quantum{ region{ ...{ dispersion{ path{ name } } } } } is a name of the dispersions which also defines the names of the output files.

value:

string

point{ }

quantum{ region{ ...{ dispersion{ 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.

k
value:

3D float vector

quantum{ region{ ...{ dispersion{ path{ point{ k } } } } } } is a k-point represented by vector \([k_x, k_y, k_z]\). The units are \(nm^{-1}\).

For 1D simulation the \(\mathbf{k_{||}}\) space is a \(k_y-k_z\) plane so \(k_y\), \(k_z\) can be freely choosed. \(k_x\) can only be different from zero, if a periodic boundary condition along the x-direction is defined and the quantum region extends over the whole x-domain.

for 2D simulation the \(\mathbf{k_{||}}\) space is a \(k_z\) axis so \(k_z\) can be freely choosed. \(kx\) can only be different from zero if a periodic boundary condition along the x-direction is defined and the quantum region extends over the whole x-domain. \(k_y\) can only be different from zero if a periodic boundary condition along the y-direction is defined and the quantum region extends over the whole y-domain.

for 3D simulation the \(\mathbf{k_{||}}\) space is empty. \(k_x\) can only be different from zero if a periodic boundary condition along the x-direction is defined and the quantum region extends over the whole x-domain. \(k_y\) can only be different from zero if a periodic boundary condition along the y-direction is defined and the quantum region extends over the whole y-domain. \(k_z\) can only be different from zero if a periodic boundary condition along the z-direction is defined and the quantum region extends over the whole z-domain.

spacing

value:

float

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

num_points

value:

integer > 1

quantum{ region{ ...{ dispersion{ path{ num_points } } } } } specifies number of points (intermediate + two corner points) for each single path segment. Excludes spacing.

lines{ }

quantum{ region{ ...{ dispersion{ 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).

name

value:

string

quantum{ region{ ...{ dispersion{ lines{ name } } } } } is a name of the dispersions which also defines the names of the output files.

spacing

value:

float

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

k_max

value:

float

quantum{ region{ ...{ dispersion{ lines{ k_max } } } } } specifies a maximum absolute value (radius) for the k-vector in \(nm^{-1}\).

full{ }

quantum{ region{ ...{ dispersion{ full{ } } } } } calculates dispersion in 1D/2D/3D k-space depending on simulation dimensionality and pereodic boundary conditions.

name

value:

string

quantum{ region{ ...{ dispersion{ full{ name } } } } } is a name of the dispersion which also defines the name of the output file.

kxgrid{ }

quantum{ region{ ...{ dispersion{ full{ kxgrid{ } } } } } } specifies a grid{...} in k-space for a 1D/2D/3D plot of the energy dispersion E(kx, ky, kz). Allowed only, if simulation is periodic along x-direction and current quantum region extends over the whole x-domain. The options are same as grid{ }

kygrid{ }

quantum{ region{ ...{ dispersion{ full{ kygrid{ } } } } } } is analogous to kxgrid{ }.

kzgrid{ }

quantum{ region{ ...{ dispersion{ full{ kzgrid{ } } } } } } is analogous to kxgrid{ }.

superlattice{ }

quantum{ region{ ...{ dispersion{ superlattice{ } } } } } is a convenience group to calculate superlattice dispersion \(E(k_{SL})\) along periodic directions. The intervals are set automatically to \([-\pi/L_i, \pi/L_i]\), where \(L_i\) is the simulation domain range along periodic directions with \(i = x,y,z\).

name

value:

string

quantum{ region{ ...{ dispersion{ superlattice{ name } } } } } is a name of the dispersion which also defines the name of the output file.

num_points_x

value:

any integer > 1

quantum{ region{ ...{ dispersion{ superlattice{ num_points_x } } } } } specifies number of points along x direction in k space where dispersion is calculated. The simulation must be periodic along the x direction in direct space.

num_points_y

value:

any integer > 1

quantum{ region{ ...{ dispersion{ superlattice{ num_points_y } } } } } specifies number of points along y direction in k space where dispersion is calculated. The simulation must be periodic along the y direction in direct space.

num_points_z

value:

any integer > 1

quantum{ region{ ...{ dispersion{ superlattice{ num_points_z } } } } } specifies number of points along z direction in k space where dispersion is calculated. The simulation must be periodic along the z direction in direct space.

num_points

value:

any integer > 1

quantum{ region{ ...{ dispersion{ superlattice{ num_points } } } } } is a convenience keyword to specifies number of points along all appropriate directions in k space.

output_dispersions{ }

quantum{ region{ ...{ dispersion{ output_dispersions{ } } } } } outputs all defined dispersions.

max_num

value:

any integer between 1 and 9999

quantum{ region{ ...{ dispersion{ output_dispersions{ max_num } } } } } is a number of bands to print out

output_masses{ }

quantum{ region{ ...{ dispersion{ output_masses{ } } } } } outputs effective masses \(m^*\) calculated from the dispersions, expressed in masses of a free electron \(m_0\), following the formula:

\[\frac{1}{m^*} = \frac{m_0}{\hbar^2}\cdot\frac{\partial^2}{\partial k^2} E\left(k\right),\]

where \(k\) is a “distance” along the path onto which the related band structure is computed.

max_num

value:

any integer between 1 and 9999

quantum{ region{ ...{ dispersion{ output_masses{ max_num } } } } } output effective masses calculated from the dispersions.