fiber.section_count
section_count( length_km: Annotated[float, exclusiveMinimum=0], peak_power: Annotated[float, minimum=0], *, max_phase: Annotated[float, exclusiveMinimum=0] = 0.15, minimum: Annotated[int, exclusiveMinimum=0] = 1, **fiber: object,) -> intSections needed to keep the nonlinear phase per section below a limit.
Split-step error is governed by the phase applied in one lumped step, so the count follows from . It uses the launch power rather than the average, which is conservative: loss means later sections carry less phase than the first.
Returns 1 when the launch power is zero, since a linear span needs no splitting at all for the nonlinearity, though dispersion still wants enough sections if it is interleaved with anything.
Args
- length_km: Span length, in km.
- peak_power: Launch peak power, in W.
- max_phase: Largest nonlinear phase per section, in radians. 0.15 keeps the split step at least as accurate as the earlier first-order scheme at 0.05, the usual working value for it.
- minimum: Floor on the returned count.
- fiber: Passed to
fiber_parameters.
Returns
Number of sections.