Gain{ }

Calling sequence

Gain{ }

Functionality

Specifies optical gain calculation.

Nested keywords

Gain method

GainMethod

Calling sequence

Gain{ GainMethod }

Functionality
Choose a method how the gain should be calculated:
  • none or -1 = no gain calculation

  • noself or 0 = gain without self-consistency

  • self or 1 = gain with self-consistency

  • noselfself or 2 = gain with and without self-consistency

Once the NEGF calculation for a particular bias point has converged, the gain is calculated. The difference between self-consistent and non-self-consistent calculations is discussed in [WackerPRB2002] and [WackerAPL2005]. The self-consistent gain calculation is needed when intrasubband scattering processes are important, which is the case in THz QCLs. In mid-infrared QCLs, the gain calculation without self-consistency is found to be sufficient, and is much less time consuming.

Example
Gain{
    GainMethod = self
}
Gain{
    GainMethod = noself
}

Non-self-consistent calculation

Example
Gain{
    dEPhot = 2.0
    EphotonMin = 140
    EphotonMax = 170
}

dEPhoto

Calling sequence

Gain{ dEPhot }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the energy spacing between two photon energies.

EphotonMin

Calling sequence

Gain{ EphotonMin }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the minimum photon energy.

EphotonMax

Calling sequence

Gain{ EphotonMax }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the maximum photon energy.

Self-consistent calculation

Example
Gain{
    dEPhotSelfConsistent = 2.0
    EphotonMinSelfConsistent = 140
    EphotonMaxSelfConsistent = 170

    NMaxSelfConsistentIterations = 50
    ConvergenceFactorGainSelfConsistent = 0.001
}

dEPhotoSelfConsistent

Calling sequence

Gain{ dEPhotSelfConsistent }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the energy spacing between two photon energies.

EphotonMinSelfConsistent

Calling sequence

Gain{ EphotonMinSelfConsistent }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the minimum photon energy.

EphotonMaxSelfConsistent

Calling sequence

Gain{ EphotonMaxSelfConsistent }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{meV}\)

Functionality

Sets the maximum photon energy.

NMaxSelfConsistentIterations

Calling sequence

Gain{ NMaxSelfConsistentIterations }

Properties
  • type: \(\mathrm{integer}\)

Functionality

Sets the maximum number of iterations for the gain self-consistent loop.

ConvergenceFactorGainSelfConsistent

Calling sequence

Gain{ ConvergenceFactorGainSelfConsistent }

Properties
  • type: \(\mathrm{real\;number}\)

Functionality

Voltage range

Example
Gain{
    Vmin = 160
    Vmax = 400
}

Vmin

Calling sequence

Gain{ Vmin }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{mV}\)

Functionality

Sets the minimum of the potential drop per period range to save calculation time.

Vmax

Calling sequence

Gain{ Vmax }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{mV}\)

Functionality

Sets the maximum of the potential drop per period range to save calculation time.

Choice of gauge

Gauge

Calling sequence

Gain{ Gauge }

Properties
  • type: \(\mathrm{choice}\)

Functionality
Specifies the gauge for the Hamiltonian. This is relevant for light-carrier interaction. Calculation is faster in the Coulomb gauge.
  • 0 or Lorenz will use the Lorentz gauge.

  • 1 or Coulomb will use the Coulomb gauge.

Example
Gain{
    Gauge = "Lorenz"
}

Self-consistent boundary

SelfConsistentBoundary

Calling sequence

Gain{ SelfConsistentBoundary }

Properties
  • type: \(\mathrm{choice}\)

  • choices: yes; no

Functionality

Example
Gain{
    SelfConsistentBoundary =
}

Gain clamping

Gain clamping is relevant to the simulation of quantum lasers. When the modal gain \(g_c\) reaches the cavity losses, lasing starts and the gain is clamped to the cavity losses, that is

(4.2.1)\[\begin{equation} g_c = \alpha \end{equation}\]

The modal gain (or cross-section gain) is defined as

(4.2.2)\[\begin{equation} g_c = \Gamma g \end{equation}\]

where \(g\) is the material gain in the active region and \(\Gamma\) the overlap factor between the cavity mode and the active region.

Example
Gain{
    GainClamping = yes
    OverlapFactor = 0.9
}

GainClamping

Calling sequence

Gain{ GainClamping }

Properties
  • choices: yes; no

  • default: no

Functionality

If GainClamping = yes, gain clamping condition is considered above lasing threshold.

Note

In the case of gain clamping, the electric field value of the light (EMmode{ ElectricField }) should be either not specified or set to zero. Indeed, for gain clamping, the electric field in the cavity is adjusted self-consistently so that the modal gain \(g_c\) for this photon energy matches the specified cavity losses \(\alpha\).

OverlapFactor

Calling sequence

Gain{ OverlapFactor }

Functionality

Sets the overlap factor between the cavity mode and the active region. If not specified, the default value is assumed to be 1.0 (i.e. perfect overlap between the active region and cavity mode).

Wall plug efficiency

The internal wall plug efficiency (WPE) is calculated when gain clamping occurs. It is defined as

(4.2.3)\[\begin{equation} \eta_{\mathrm{WPE}}^{\mathrm{internal}} = \frac{P_{\mathrm{stimulated emission}} - P_\mathrm{absorption}}{UI}, \end{equation}\]

where \(U\) is … and \(I\) is the current. If the front mirror losses are specified, the external WPE is output as

(4.2.4)\[\begin{equation} \eta_\mathrm{WPE}^\mathrm{external} = \eta_\mathrm{WPE}^\mathrm{internal} \frac{\alpha_\mathrm{fm}}{\alpha_\mathrm{cavity}}, \end{equation}\]

where \(\alpha_\mathrm{fm}\) is the front mirror losses.

Note

The cavity losses is related to the front mirror losses via

(4.2.5)\[\alpha_\mathrm{cavity} = \alpha_\mathrm{fm} + \alpha_\mathrm{bm} + \alpha_\mathrm{waveguide},\]

where \(\alpha_\mathrm{bm}\) and \(\alpha_\mathrm{waveguide}\) are the losses due to the back mirror and waveguide, respectively.

Example
Gain{
    CavityLosses = 2.76
    FrontMirrorLosses = 2.26
}

CavityLosses

Calling sequence

Gain{ CavityLosses }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{cm^{-1}}\)

Functionality

Specifies cavity loss.

FrontMirrorLosses

Calling sequence

Gain{ FrontMirrorLosses }

Properties
  • type: \(\mathrm{real\;number}\)

  • unit: \(\mathrm{cm^{-1}}\)

Functionality

Sets the front mirror loss \(\alpha_\mathrm{fm}\).

Note

Example of Mid-infrared QCL (GIF animations) to be added here.

Threshold

Example
Gain{
    Threshold = yes
    RefineThreshold =
}

Note

Temperature-voltage sweep is available in the C# version and will be implemented in the C++ version as well. Here, the value of the last calculated bias value below threshold bias is used as a starting point of the following bias sweep at the next temperature.

Threshold

Calling sequence

Gain{ Threshold }

Properties
  • type: \(\mathrm{choice}\)

  • choices: yes; no

Functionality

If Threshold = yes, the voltage sweep is performed until the threshold condition is fulfilled (i.e. the maximum gain matches CavityLosses). The threshold bias and current are then interpolated based on the calculated bias points.

RefineThreshold

Calling sequence

Gain{ RefineThreshold }

Properties
  • type: \(\mathrm{choice}\)

  • choices: yes; no

Functionality