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: 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: 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: 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).