section_count¶
- photonforge.fiber.section_count(length_km, peak_power, *, max_phase=0.05, minimum=1, **fiber)[source]¶
Sections 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 \(\gamma P L / N < \phi_{\max}\). 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.
- Parameters:
length_km (Annotated[float, exclusiveMinimum=0]) – Span length, in km.
peak_power (Annotated[float, minimum=0]) – Launch peak power, in W.
max_phase (Annotated[float, exclusiveMinimum=0]) – Largest nonlinear phase per section, in radians. 0.05 is a common working value.
minimum (Annotated[int, exclusiveMinimum=0]) – Floor on the returned count.
fiber (object) – Passed to
fiber_parameters().
- Returns:
Number of sections.
- Return type:
int