Gain{ }¶
- Calling sequence
Gain{ }
- Properties
using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)
- Functionality
Specifies optical gain calculation. Please refer to Optical gain/absorption spectrum for the model description.
- Example
Gain{ # non-self-consistent calculation dEPhot = 2.0 EphotonMin = 140 EphotonMax = 170 # self-consistent calculation dEPhotSelfConsistent = 2.0 EphotonMinSelfConsistent = 140 EphotonMaxSelfConsistent = 170 NMaxSelfConsistentIterations = 50 ConvergenceFactorGainSelfConsistent = 0.001 # voltage range Vmin = 160 Vmax = 400 # gain clamping and wall-plug efficiency CavityLosses = 2.76 FrontMirrorLosses = 2.26 GainClamping = yes OverlapFactor = 0.9 # threshold Threshold = yes RefineThreshold = FermiGoldenRule{ ... } Polarization{ ... } }
The following keywords are available within this group.
GainMethod¶
- Calling sequence
Gain{ GainMethod }
- Properties
type: \(\mathrm{integer}\)
type: \(\mathrm{character\;string}\)
- Functionality
Choose a method how the gain should be calculated:
none
or-1
= no gain calculationnoself
or0
= gain without self-consistencyself
or1
= gain with self-consistencynoselfself
or2
= gain with and without self-consistency
Please refer to Gain/absorption calculation from NEGF linear response theory for the model description.
- Example
Gain{ GainMethod = self }
Gain{ GainMethod = noself }
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 lower bound of the photon energy range.
EphotonMax¶
- Calling sequence
Gain{ EphotonMax }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Sets the upper bound of the photon energy range.
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 lower bound of the photon energy range.
EphotonMaxSelfConsistent¶
- Calling sequence
Gain{ EphotonMaxSelfConsistent }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Sets the upper bound of the photon energy range.
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
—
Vmin¶
- Calling sequence
Gain{ Vmin }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{mV}\)
- Functionality
Sets the minimum of the range of the potential drop per period to reduce gain calculation time.
Vmax¶
- Calling sequence
Gain{ Vmax }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{mV}\)
- Functionality
Sets the maximum of the range of the potential drop per period to reduce gain calculation time.
CavityLosses¶
- Calling sequence
Gain{ CavityLosses }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{cm^{-1}}\)
- Functionality
Specifies the cavity loss \(\alpha_\mathrm{cavity}\).
FrontMirrorLosses¶
- Calling sequence
Gain{ FrontMirrorLosses }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{cm^{-1}}\)
- Functionality
Sets the front mirror loss \(\alpha_\mathrm{fm}\).
GainClamping¶
- Calling sequence
Gain{ GainClamping }
- Properties
choices:
yes
;no
default:
no
- Functionality
If
GainClamping = yes
, gain clamping condition is considered above lasing threshold. See Gain clamping for the model description.
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 }
- Properties
type: \(\mathrm{real\;number}\)
default:
1.0
- 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).
Threshold¶
- Calling sequence
Gain{ Threshold }
- Properties
type: \(\mathrm{choice}\)
choices:
yes
;no
- Functionality
If
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.
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.
RefineThreshold¶
- Calling sequence
Gain{ RefineThreshold }
- Properties
type: \(\mathrm{choice}\)
choices:
yes
;no
- Functionality
—
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
orLorenz
will use the Lorentz gauge.1
orCoulomb
will use the Coulomb gauge.
- Example
Gain{ Gauge = "Lorenz" }
SelfConsistentBoundary¶
- Calling sequence
Gain{ SelfConsistentBoundary }
- Properties
type: \(\mathrm{choice}\)
choices:
yes
;no
- Functionality
Switches on the periodic boundary condition for the gain calculation between periods. Please see Gain/absorption calculation from NEGF linear response theory for the model description.
- Example
Gain{ SelfConsistentBoundary = yes }
FermiGoldenRule{ }¶
- Calling sequence
Gain{ FermiGoldenRule{ } }
- Dependencies
Exactly one of FermiGoldenRule{ Linewidth } must be defined.
- Functionality
If this group is present, calculate optical gain spectrum from Fermi’s golden rule, dipole/momentum matrix elements, and density matrix. See Gain/absorption calculation from Fermi’s golden rule for the model description.
- Example
Gain{ FermiGoldenRule{ Linewidth = 20 EphotonMin = 20 EphotonMax = 400 } }
FermiGoldenRule{ Linewidth }¶
- Calling sequence
Gain{ FermiGoldenRule{ Linewidth } }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Specifies the linewidth of the Gaussian broadening.
FermiGoldenRule{ LinewidthMin }¶
- Calling sequence
Gain{ FermiGoldenRule{ LinewidthMin } }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Sets the lower bound of linewidth when the linewidth is extracted from Green’s functions (not yet implemented).
FermiGoldenRule{ EphotonMin }¶
- Calling sequence
Gain{ FermiGoldenRule{ EphotonMin } }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Sets the lower bound of the photon energy range.
FermiGoldenRule{ EphotonMax }¶
- Calling sequence
Gain{ FermiGoldenRule{ EphotonMax } }
- Properties
type: \(\mathrm{real\;number}\)
unit: \(\mathrm{meV}\)
- Functionality
Sets the upper bound of the photon energy range.
Polarization{}¶
- Calling sequence
Gain{ Polarization{ } }
- Functionality
When FermiGoldenRule{ Linewidth } is defined in the input file,
Polarization
specifies the electric field polarization used for Fermi’s golden rule. The simulation \(z\) axis is along the growth direction.- Example
Gain{ # TE polarization Polarization{ Re = [1, 0, 0] Im = [0, 0, 0] } # TM polarization Polarization{ Re = [0, 0, 1] Im = [0, 0, 0] } }
Polarization{ Re }¶
- Calling sequence
Gain{ Polarization{ Re } }
- Properties
type: \(\mathrm{vector\;of\;3\;real\;numbers}\)
unit: \(\mathrm{-}\)
- Functionality
Specifies the real part of the polarization vector. The complex vector is internally normalized to \(|\epsilon|^2=1\).
Polarization{ Im }¶
- Calling sequence
Gain{ Polarization{ Im } }
- Properties
type: \(\mathrm{vector\;of\;3\;real\;numbers}\)
default:
[0.0, 0.0, 0.0]
unit: \(\mathrm{-}\)
- Functionality
Specifies the imaginary part of the polarization vector. The complex vector is internally normalized to \(|\epsilon|^2=1\).
Last update: 29/10/2024