Quantum model holes
!------------------------------------------------------------------!
$quantum-model-holes
optional !
model-number
integer
required !
model-name
character
required !
cluster-numbers
integer_array required !
valence-band-numbers
integer_array required !
separation-model
character optional !
number-of-eigenvalues-per-band
integer_array required !
occupy-exactly-min-eigenvalues-per-band double_array
optional ! Note: double_array and
not integer_array
to allow for partial occupation.
occupy-exactly-max-eigenvalues-per-band double_array
optional ! Note: double_array and
not integer_array
to allow for partial occupation.
maximum-energy-for-eigenstates
double_array
optional !
quantization-along-axes
integer_array optional !
boundary-condition-100
character
optional !
boundary-condition-010
character
optional !
boundary-condition-001
character
optional !
method-of-brillouin-zone-integration
character
optional ! 1D/2D
(k.p only)
k-range-determination-method
character
optional
! 1D/2D (k.p only)
k-range
double optional
! 1D/2D (k.p only)
num-kp-parallel
integer
optional ! 1D/2D (k.p only)
num-ks-100
integer
optional ! superlattice only
num-ks-010
integer
optional ! superlattice only
num-ks-001
integer
optional ! superlattice only
$end_quantum-model-holes
optional !
!------------------------------------------------------------------!
|
quantum-model-
holes |
valence-band-
numbers |
|
quantum-model-
electrons |
conduction-band-
numbers |
|
classical
(=not specified) |
any combination |
|
classical
(=not specified) |
any combination |
effective-mass |
effective-mass |
any combination |
|
effective-mass |
any combination |
6x6kp |
6x6kp |
1 2 3 |
|
doesn't make sense |
- |
8x8kp |
8x8kp |
1 2 3 |
|
8x8kp
(hole mustn't be 6x6kp in this case) |
1 |
If electrons are 8x8kp , holes cannot be 6x6kp .
(Can
they be effective-mass in this case?
Probably this is allowed.)
Syntax
model-number = 1
model-name =
8x8kp
! coupling between heavy, light and split-off holes and conduction band
=
6x6kp
! coupling between heavy, light and split-off holes
=
effective-mass
8x8kp or
6x6kp or
effective-mass
cluster-numbers =
1
cluster numbers to which this model applies
valence-band-numbers = 1 2
3
To select bands (minima) handled in Schrödinger
equation: 1 = heavy hole,
2 = light hole, 3
= split-off hole
Options possible:
effective-mass: 1
2
3
1
2
2
3
1
3
1
2 3
6-band k.p:
1
2 3
8-band k.p:
1
2 3
separation-model = eigenvalue
! -> specify number-of-eigenvalues-per-band
= energy
! -> specify maximum-energy-for-eigenstates
= edge-model
! -> Only localized states are
considered for the quantum mechanical density.
To determine separation between classical and
quantum mechanical density ('eigenvalue','energy','edge-model') .
More information ...
(It should be checked whether edge-model
works for k.p.)
number-of-eigenvalues-per-band =
3 !
If only one band is specified, then calculate 3 eigenvalues for this
band.
=
6 3 !
If two bands are specified, then calculate 6 eigenvalues for the first
band
!
and 3 eigenvalues for the second band.
=
3 3 3 !
If heavy, light and split-off hole bands are specified, then calculate 3
eigenvalues for each.
Here one has to specify how many eigenstates have to be calculated in each valence band
maximum. This is also relevant for the quantum mechanical density unless maximum-energy-for-eigenstates
is specified in combination with separation-model =
energy . However, in this case also number-of-eigenvalues-per-band
has to be present in order to determine the maximum number of eigenstates
to be calculated (although not all contribute to the density).
maximum-energy-for-eigenstates =
0.5d0 ! [eV]
If one valence band is specified.
=
0.5d0 0.5d0 ! [eV]
If two valence bands are specified.
=
0.5d0 0.5d0 0.5d0 ! [eV]
If three valence bands are specified.
Lower limit for energy of bound states.
Calculate eigenvalues up to this energy (relative to bulk band
edge).
Use continuum model above this energy (relative to bulk band edge).
Relevant for specifier separation-model =
energy .
For separation-model = eigenvalue
this specifier is ignored.
quantization-along-axes
= 1 1 1 ! 3D
=
1 1 0 ! 2D
=
1 0 1 ! 2D
=
0 1 1 ! 2D
=
0 0 1 ! 1D
=
0 1 0 ! 1D
=
1 0 0 ! 1D
Zeros and ones: to select quantization direction (1D) / plane (2D) /
volume (3D).
At present the entries must be identical to specifier orientation
in keyword $simulation-dimension .
If not present, the values of specifier orientation
in keyword $simulation-dimension
are used.
In 3D input like '0 1 1 ' is
not possible so far.
Currently no features are attributed to this specifier. A possible extension for
the future would be to use a 2D simulation where only a 1D quantization is used
or a 3D simulation with a 1D quantization direction or a 2D quantized plane.
boundary-condition-100 =
Neumann
!
=
Dirichlet
!
=
periodic
!
(for superlattice)
boundary-condition-010 =
[ as above ]
boundary-condition-001 =
[ as above ]
"Boundary conditions for [100]" means boundary conditions for
Schrödinger equation in x-direction of simulation system and similar for [010
and [001].
Default is
Neumann .
For the wavefunction at the boundary it holds:
Neumann : d
psi(zb) / d z = 0 where zb means z coordinate at the
boundary of the quantum cluster
Dirichlet :
psi(zb) = 0
periodic : psi(zb,right)
= psi(zb,left)
Remarks:
It is possible to specify something like this:
boundary-condition-100 =
periodic
boundary-condition-010 =
periodic
boundary-condition-001
=
Dirichlet
This makes sense if one has a quantum well
extending over the whole (x,y) plane and which is perpendicular to the z
direction.
Restrictions:
If one specifies periodic
boundary conditions, the quantum cluster must extend over the whole device in
that direction.
occupy-exactly-min-eigenvalues-per-band =
...
occupy-exactly-max-eigenvalues-per-band = ...
See $quantum-model-electrons .
k.p only
method-of-brillouin-zone-integration =
special-axis
= simple-integration
= gen-dos
'special-axis'
Only for [0001] quantization direction in
wurtzite or
for isotropic energy dispersion E(k||) which
is in general not the case. 'simple-integration'
Discretization of 2D Brillouin zone (only applicable to a 1D
simulation).
'gen-dos'
Evaluation of the density by integration over the density of states (DOS).
Not implemented yet for 2D simulations.
Only necessary for 1D and 2D k.p simulations.
More
information ...
k-range-determination-method = bulk-dispersion-analysis ! 1D/2D
= k-max-input !
1D/2D
k-range
= 1.0d0
! 1D/2D
(Units: [1/Angstrom]) k-range is required if k-range-determination-method =
k-max-input . This also works for 2D (kz) but does not make sense
for 3D.
1D: k-range specifies the extenstion of
the k|| = (kx,ky) space, i.e. here a
rectangle in the interval [-k-range , k-range] is specified
along the kx and ky directions.
2D: k-range specifies the extenstion of
the k|| = (kz) space, i.e. here a line in the interval
[-k-range , k-range] is specified along the k|| direction. More information ...
num-kp-parallel =
100
=
1 !
For kx=ky=0 only; if no k|| should be
considered.
Total number of k|| points for Brillouin zone discretization. Only necessary for 1D
(kx,ky) and 2D
(kz)
k.p simulations and optical absorption. This also works for 2D (kz) but does not make sense
for 3D.
1D: It always refers to the total number of k||
points in the whole 2D Brillouin zone: num-kp-parallel =
(2 * Nkx + 1) * (2 * Nky + 1)
2D: It always refers to the total number of kz
points in the whole 1D Brillouin zone.
More information ...
Superlattice only
num-ks-100 =
Number of k
points in superlattice direction x.
num-ks-010 =
Number of k points in superlattice direction
y.
num-ks-001 = Number of k points in superlattice direction
z.
To do
Implement feature where the user specifies either
- number of eigenvalues below valence band edge or
- energy range below valence band edge where to look for the relevant
eigenvalues.
Such a feature might depend on the eigenvalue solver used.
Please also refer to the database section of
$quantum-model-holes .
|