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: