semiconductor_amplifier

photonforge.abstract.semiconductor_amplifier(*, small_signal_gain=20.0, saturation_power=None, carrier_lifetime=200e-12, linewidth_enhancement_factor=0.0, noise_figure=None, substeps=1, seed=None)[source]

Abstract semiconductor optical amplifier (SOA).

Based on photonforge.SemiconductorAmplifierTimeStepper.

Parameters:
  • small_signal_gain (Annotated[float, units='dB']) – Unsaturated power gain \(G_0\).

  • saturation_power (Annotated[float, exclusiveMinimum=0, units='W'] | None) – Internal saturation power \(P_{\rm sat}\). If

  • None – constant-gain amplifier.

  • a (saturation is disabled and the model reduces to) – constant-gain amplifier.

  • carrier_lifetime (Annotated[float, exclusiveMinimum=0, units='s']) – Carrier recovery time.

  • linewidth_enhancement_factor (Annotated[float, minimum=0]) – Henry’s \(\alpha_H\), coupling gain change to phase. A value of 0 disables chirp.

  • noise_figure (Annotated[float, units='dB'] | None) – Noise figure. If None, ASE is disabled.

  • substeps (Annotated[int, exclusiveMinimum=0]) – Splitting substeps per time step. The integrator is unconditionally stable at any value; increase only to reduce the splitting error when the time step is comparable to the carrier lifetime.

  • seed (Annotated[int, minimum=0] | None) – Random number generator seed, for reproducible ASE.

Return type:

Component