fiber_parameters¶
- photonforge.fiber.fiber_parameters(*, n_eff=0.0, wavelength=.55, attenuation=0.2, dispersion=7.0, dispersion_slope=056, effective_area=.0, kerr_index=.6e-20)[source]¶
Convert a fibre datasheet into PhotonForge units.
The conversions, spelled out because each one is a place to lose a factor of \(10^6\):
quantity
datasheet
PhotonForge
attenuation
dB/km
dB/μm, divide by 1e9
dispersion \(D\)
ps/(nm km)
s/μm², times 1e-18
slope \(S\)
ps/(nm² km)
s/μm³, times 1e-15
Also returns the derived quantities a span calculation actually needs: \(\beta_2 = -\lambda^2 D/2\pi c\), and the nonlinear coefficient \(\gamma = 2\pi n_2/\lambda A_{\rm eff}\).
- Parameters:
n_eff (float) – Effective index, which sets only the constant propagation phase. See the note below; the default of 0 is deliberate.
wavelength (Annotated[float, exclusiveMinimum=0, units='μm']) – Operating wavelength, in μm.
attenuation (Annotated[float, minimum=0, units='dB/km']) – Power attenuation, in dB/km.
dispersion (Annotated[float, units='ps/(nm·km)']) – Dispersion parameter \(D\), in ps/(nm km). Positive is anomalous, the usual sign for standard fibre above 1310 nm.
dispersion_slope (Annotated[float, units='ps/(nm²·km)']) – \({\rm d}D/{\rm d}\lambda\), in ps/(nm² km).
effective_area (Annotated[float, exclusiveMinimum=0, units='μm²']) – Nonlinear effective area, in μm².
kerr_index (Annotated[float, units='m²/W']) – \(n_2\), in m^2/W.
- Returns:
Dict with keys
propagation_loss,dispersion,dispersion_slopeandreference_frequencyready to splat into the stepper, plusbeta2(s^2/m),gamma(1/W/m),alpha(1/m) andwavelength.- Return type:
dict