Structure{ }¶
(Formerly Superlattice)
- Calling sequence
Structure{ }
- Functionality
Defines the relevant region of the device. Either periodic (default) or open (see Hybrid{ }) boundary conditions are applied to the defined region.
- Example
Structure{ Layer{ ... } InterfaceWidth = Doping{ ... } AnalysisSeparator{ ... } }
The following keywords are available within this group.
Layer{ }¶
- Calling sequence
Structure{ Layer{ } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
- Functionality
Defines one layer in the heterostructure.
- Example
Structure{ Layer{ Material = MaterialLeft = MaterialRight = Thickness = } }
Note
Where should I start my layer sequence in the input file?
The results of the calculation should not depend at which material layer the sequence starts, i.e. a cyclic permutation in the material layer sequence. If this is not the case, it means that the convergence factors are not chosen to be accurate enough.
Layer{ Material }¶
- Calling sequence
Structure{ Layer{ Material } }
- Properties
type: \(\mathrm{character\;string}\)
- Functionality
Specifies the material by alias defined by Material{ Alias }.
Layer{ MaterialLeft }¶
- Calling sequence
Structure{ Layer{ MaterialLeft } }
- Properties
type: \(\mathrm{character\;string}\)
- Functionality
—
Layer{ MaterialRight }¶
- Calling sequence
Structure{ Layer{ MaterialRight } }
- Properties
type: \(\mathrm{character\;string}\)
- Functionality
—
Layer{ Thickness }¶
- Calling sequence
Structure{ Layer{ Thickness } }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{nm}\)
- Functionality
Sets the thickness of the layer.
InterfaceWidth¶
- Calling sequence
Structure{ InterfaceWidth }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{nm}\)
- Functionality
—
Doping{ }¶
- Calling sequence
Structure{ Doping{ } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
- Functionality
Defines homogeneous doping between starting and ending point in the heterostructure. The doping can be in barriers or wells or both. The origin of the coordinate is the start of the first barrier. Multiple doping regions are allowed in a structure.
- Example
Structure{ Doping{ DopingType = N DopingStart = 2.0 DopingEnd = 10.5 DopingSpecification = 2dequiv DopingDensity = 5.0e11 } Doping{ DopingType = P DopingStart = 2.0 DopingEnd = 10.5 DopingSpecification = 3ddoped DopingDensity = 1.5e17 } }
Doping{ DopingType }¶
- Calling sequence
Structure{ Doping{ DopingType } }
- Properties
type: \(\mathrm{character\;string}\)
choices:
N
;P
default:
N
- Functionality
Specifies whether the doping is
n
- orp
-type.
Doping{ DopingStart }¶
- Calling sequence
Structure{ Doping{ DopingStart } }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{nm}\)
- Functionality
Sets the starting position of the doping region.
Doping{ DopingEnd }¶
- Calling sequence
Structure{ Doping{ DopingEnd } }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{nm}\)
- Functionality
Sets the ending position of the doping region.
Doping{ DopingSpecification }¶
- Calling sequence
Structure{ Doping{ DopingSpecification } }
- Properties
type: \(\mathrm{integer}\)
type: \(\mathrm{character\;string}\)
- Functionality
Chooses how the doping density is specified:
0
or2dequiv
= 2D equivalent density per period in unit: \(\mathrm{cm^{-2}}\)1
or3ddoped
= 3D doping density in the doped region in unit: \(\mathrm{cm^{-3}}\)2
or3dall
= Averaged 3D doping density over the whole structure in unit: \(\mathrm{cm^{-3}}\)
Doping{ DopingDensity }¶
- Calling sequence
Structure{ Doping{ DopingDensity } }
- Properties
type: \(\mathrm{real\;number}\)
- Functionality
The units are according to Doping{ DopingSpecification }.
Note
The doping densities should be realistic (of the order of \(1\mathrm{e}10 \mathrm{cm}^{-2}\) instead of \(0.1 \mathrm{cm}^{-2}\)) to produce broadening. Intrinsic doping is not yet implemented.
AnalysisSeparator{ }¶
- Calling sequence
Structure{ AnalysisSeparator{ } }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
- Functionality
In order to analyze the results, the user can define a ‘tight-binding’ basis by specifying regions in which the wavefunctions will be confined. For this purpose, the user has to define separations using AnalysisSeparator{ SeparatorPosition }. Between each separator, a distinct region is defined in which the Schrödinger equation will be solved separately. In other words, the wavefunctions of the tight-binding basis are not eigenstates of the full structure, but they are instead eigenstates of each separated region. The new set of basis states will be displayed in a folder named TighBinding. For example, in the case of a QCL with an injector barrier and a collector barrier, one can define two separators in the following example. There will be two defined regions per period. The laser states will be defined in between these two separators, while other states will be defined outside.
- Example
Structure{ # for a QCL with an injector barrier and a collector barrier AnalysisSeparator{ SeparatorPosition = 2.0 # corrector barrier } AnalysisSeparator{ SeparatorPosition = 22.0 # injector barrier } }
Note
In general, it is recommended to define a separator for each thick barrier at which a resonant tunneling process is expected. This kind of “tight-binding basis” has been discussed by Sushil Kumar and Qing Hu [KumarHuPRB2009] in Fig. 1b.
AnalysisSeparator{ SeparatorPosition }¶
- Calling sequence
Structure{ AnalysisSeparator{ SeparatorPosition } }
- Properties
type: \(\mathrm{real\;number}\)
values:
[0.0, ...)
unit: \(\mathrm{nm}\)
- Functionality
Sets the position of a separator, which decouples the wavefunctions from the two sides.
Last update: 28/10/2024