Layer{ }
- Calling sequence
Structure{ Layer{ ... } }
- Functionality
Each group defines one layer of the heterostructure. For periodic boundary condition, only one period has to be specified explicitly.
- Example
Structure{ Layer{ Material = well Thickness = 4.5 # nm } }
Note
For periodic structures, where should I start my layer sequence in the input file?
The results of the calculation should not depend from 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. Yet, for the gain spectrum calculation, faster convergence is expected if the important optical transitions are not overlapping between different periods.
The following keywords are available within this group:
Material
- Calling sequence
Structure{ Layer{ Material = } }
- Properties
type: character string.
The string value has to match one of the alias defined in Material{ Alias }
- Functionality
Defines the material from which the layer is made, through a reference to a defined material in Materials{ }
Thickness
- Calling sequence
Structure{ Layer{ Thickness = } }
- Properties
type: real number
values:
[0.0, ...)
unit:
- Functionality
Sets the thickness of the layer.
MaterialLeft
- Calling sequence
Structure{ Layer{ MaterialLeft = } }
- Properties
type: character string
The string value has to match one of the alias defined in Material{ Alias }
- Functionality
This feature should be used only to define a linearly graded alloy, together with MaterialRight.
MaterialLeft sets the composition of the alloy at the left endside of the layer, while MaterialRight sets the composition of the alloy at the right enside of the layer. In between, linearly grading will be considered.
When MaterialLeft and MaterialRight are used, Material must not be used.
MaterialRight
- Calling sequence
Structure{ Layer{ MaterialRight = } }
- Properties
type: character string
The string value has to match one of the alias defined in Material{ Alias }
- Functionality
see MaterialLeft
IFRamplitude
- Calling sequence
Structure{ Layer{ IFRamplitude = } }
- Properties
type: real number
values:
[0.0, ...)
unit:
- Functionality
This keyword can be used to define position-dependent interface roughness (IFR). This sets the amplitude (root-mean-square deviation) of the interface position at the interface between the specified layer and the next one (i.e. adjacent to the right).
IFRcorrel
- Calling sequence
Structure{ Layer{ IFRcorrel = } }
- Properties
type: real number
values:
[0.0, ...)
unit:
- Functionality
Sets the in-plane correlation of the interface roughness at the interface between the specified layer and the next one (i.e. adjacent to the right).