abstract.fiber
fiber( *, length_km: Annotated[float, exclusiveMinimum=0, units='km'] = 80.0, sections: Annotated[int, exclusiveMinimum=0] | None = None, peak_power: Annotated[float, minimum=0, units='W'] = 0.0, max_phase: Annotated[float, exclusiveMinimum=0] = 0.15, fir_taps: Annotated[int, exclusiveMinimum=0] | None = None, power_points: Annotated[int, exclusiveMinimum=0] = 400, n_eff: float = 0.0, wavelength: Annotated[float, exclusiveMinimum=0, units='μm'] = 1.55, attenuation: Annotated[float, minimum=0, units='dB/km'] = 0.2, dispersion: Annotated[float, units='ps/(nm·km)'] = 17.0, dispersion_slope: Annotated[float, units='ps/(nm²·km)'] = 0.056, effective_area: Annotated[ float, exclusiveMinimum=0, units='μm²' ] = 80.0, kerr_index: Annotated[float, units='m²/W'] = 2.6e-20, dual_polarization: bool = False,) -> photonforge.ComponentA fiber, as one element stepped in one or more sections.
sections decides how many. A single section applies all the nonlinear
phase and then all the dispersion, the lumped approximation, which is
only right when the nonlinear phase is negligible. More sections
interleave the two, a split-step scheme whose dispersion is split
symmetrically around the nonlinear steps (see
AnalyticWaveguideTimeStepper).
sections=None chooses the count from the launch power, so a linear fiber
stays a single section.
Args
- length_km: Total fiber length.
- sections: Number of sections. If
None, chosen byfiber.section_count. - peak_power: Largest power the Kerr table has to cover, typically the launch peak power. Zero switches the Kerr effect off and leaves a linear fiber.
- max_phase: Target nonlinear phase per section, in radians, used only when
sectionsisNone. - fir_taps: Length of each dispersion step’s filter. If
None, the stepper sizes it at setup, once the time step is known;fiber.filter_tapscomputes the same number for one section. - power_points: Samples in the Kerr power table.
- n_eff: Effective index, which sets only the constant propagation phase. See the note below; the default of 0 is deliberate.
- wavelength: Operating wavelength.
- attenuation: Power attenuation.
- dispersion: .
- dispersion_slope: .
- effective_area: Nonlinear effective area.
- kerr_index: .
- dual_polarization: Carry both polarizations, as two modes per port. Loss and dispersion act on each alike, and the Kerr effect follows their total power with scaled by 8/9, the Manakov average over the fiber’s random birefringence. Cascade with
pmd_fiberfor polarization-mode dispersion.
Note
The time stepper runs in the pulse frame with n_group 0.
n_eff adds only a the constant phase.
Returns
Two-port component with model.