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: \(\mathrm{nm}\)
- 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: \(\mathrm{nm}\)
- 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: \(\mathrm{nm}\)
- 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).