Skip to content

srh_lifetime

srh_lifetime(
densities: collections.abc.Sequence[
typing.Annotated[float, units='m⁻³']
],
*,
tau_n: Annotated[float, exclusiveMinimum=0] = 2.25e-08,
tau_p: Annotated[float, exclusiveMinimum=0] = 3.5e-08,
n_intrinsic: Annotated[float, exclusiveMinimum=0, units='m⁻³'] = 5e17,
doping: Annotated[float, exclusiveMinimum=0, units='m⁻³'] = 1e21,
energy_intrinsic: Annotated[float, units='eV'] = 0.56,
energy_trap: Annotated[float, units='eV'] = 0.66,
temperature: Annotated[float, minimum=0, units='K'] = 293.15,
) -> photonforge.Interpolator

Shockley-Read-Hall carrier lifetime as a function of excess density.

The lifetime shortening at high injection is what sets the self-pulsing period, so a constant lifetime is usually not good enough.

Args

  • densities: Excess carrier densities at which to tabulate, in m⁻³.
  • tau_n: Electron trap lifetime.
  • tau_p: Hole trap lifetime.
  • n_intrinsic: Intrinsic carrier density, in m⁻³.
  • doping: Background doping, in m⁻³.
  • energy_intrinsic: Intrinsic level, in eV.
  • energy_trap: Trap level, in eV.
  • temperature: Lattice temperature, in K.

Returns

Interpolator over carrier density, clamped outside the tabulated range, ready to pass as carrier_lifetime.