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
  • usage: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;group}}\)

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
  • usage: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;group}}\)

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- or p-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 or 2dequiv = 2D equivalent density per period in unit: \(\mathrm{cm^{-2}}\)

  • 1 or 3ddoped = 3D doping density in the doped region in unit: \(\mathrm{cm^{-3}}\)

  • 2 or 3dall = 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
  • usage: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;group}}\)

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