Commercial Fibers & Glass Presets
GNLSE.commercial_fiber — Function
commercial_fiber(name::String; length::Real, lambda0::Union{Real,Nothing}=nothing, loss::Union{Real,Nothing}=nothing) -> MediumCreate a Medium from the commercial fiber catalog.
Arguments
name::String: Key name inFiberLibrary(e.g."Corning_SMF28","NKT_NL_PM_750").length::Real: Propagation length [m].lambda0: Center wavelength [m] (defaults to fiber spec default).loss: Fiber attenuation [dB/m] (defaults to fiber spec default).
Example
medium = commercial_fiber("Corning_SMF28"; length=100.0)GNLSE.FiberSpec — Type
FiberSpecData structure storing commercial fiber parameter specifications.
GNLSE.FiberLibrary — Constant
FiberLibraryCatalog dictionary mapping standard fiber key strings to FiberSpec objects. Available keys:
"Corning_SMF28""NKT_NL_PM_750""Thorlabs_PM780""Thorlabs_PM1550""NKT_LMA10"
FiberLibrary is a plain Dict{String, FiberSpec} and can be extended at runtime:
GNLSE.FiberLibrary["MyCustomFiber"] = FiberSpec(
"My Fiber", "Lab", "Custom PCF", 800e-9, 0.05, 0.001, TaylorDispersion([-5e-27])
)
medium = commercial_fiber("MyCustomFiber"; length=0.1)The γ, loss, and dispersion coefficients below are typical published values for each fiber type/wavelength (of the kind commonly used in simulation studies), not values transcribed from a specific dated manufacturer datasheet. Individual fiber spools/batches vary, and manufacturers revise specifications over time. For quantitative comparison against a real experiment, always confirm γ, loss, and dispersion against your fiber's current datasheet or a direct measurement rather than relying on these presets.
GNLSE.FusedSilica — Function
FusedSilica() -> SellmeierDispersion3-term Sellmeier model for pure fused silica (SiO₂) glass from Malitson (1965). Valid over 0.21 μm to 3.71 μm.
Reference: I. H. Malitson, J. Opt. Soc. Am. 55, 1205 (1965).
GNLSE.SF57 — Function
SF57() -> SellmeierDispersion3-term Sellmeier model for Schott SF57 lead-silicate glass.
Reference: SCHOTT optical glass datasheet, SF57 (standard manufacturer Sellmeier fit; see e.g. the SCHOTT glass catalog or refractiveindex.info, "SCHOTT-SF: SF57").
GNLSE.GeO2DopedSilica — Function
GeO2DopedSilica(weight_percent::Real) -> SellmeierDispersionSellmeier dispersion model for germania-doped silica (GeO₂-SiO₂) cores with germania concentration weight_percent [0 to 15 %].
Reference: J. W. Fleming, Electron. Lett. 14, 326 (1978).
GNLSE.HollowCoreFiber — Function
HollowCoreFiber(; radius, gas, pressure, length, lambda0, loss=0.0, temperature=293.15, grid=nothing) -> MediumConstruct a Medium for a gas-filled Hollow-Core Photonic Crystal Fiber (HC-PCF).
Calculates pressure-dependent dispersion using the Marcatili-Schmeltzer / Zeisberger capillary anti-resonance guidance model:
β(ω, P) = (ω/c) · √(n_gas²(ω, P) - (u₀₁ c / (ω R_core))²)where u₀₁ ≈ 2.40483 is the fundamental HE₁₁ mode Bessel root, and R_core is the hollow core radius [m].
The wavelength-dependent Marcatili-Schmeltzer capillary confinement loss can optionally be added to the returned Medium's loss field via confinement_loss=true; loss below always adds any extra (surface-scattering, bend, splice) attenuation on top of it.
This is the bare single-wall thick-capillary formula — it does not include the anti-resonant wall-thickness transmission-window term that real negative-curvature HC-PCF designs use to suppress loss by orders of magnitude. At small core radii (tens of μm) it can predict loss far higher than measured in modern HC-PCF (e.g. hundreds of dB/m rather than the dB/m-to-dB/km typical of real fibers), so it is opt-in rather than the default and should be treated as a conservative (worst-case) capillary bound, not a quantitative prediction for anti-resonant/Kagome designs.
Arguments
radius::Real: Core radius R_core [m] (e.g. 15e-6 for 30 μm core diameter)gas::Symbol: Gas species (:Ar,:Ne,:Kr,:Xe,:H2,:N2)pressure::Real: Gas pressure P [bar]length::Real: Propagation length [m]lambda0::Real: Central wavelength [m]loss::Real: Extra fiber attenuation beyond confinement loss [dB/m] (default 0.0)confinement_loss::Bool: Add the Marcatili-Schmeltzer capillary confinement loss on top ofloss(defaultfalse; see warning above)temperature::Real: Temperature T [K] (default 293.15 K)grid::Union{Grid, Nothing}: Optional simulation grid. If provided, constructs exactTabulatedDispersionover the full frequency span.
Example
# 30 μm core HC-PCF filled with 5 bar Argon at 800 nm
hcf = HollowCoreFiber(; radius=15e-6, gas=:Ar, pressure=5.0, length=0.5, lambda0=800e-9)GNLSE.gas_refractive_index — Function
gas_refractive_index(gas::Symbol, lambda_m::Real, pressure_bar::Real; temperature_K::Real=293.15) -> Float64Refractive index of gas at wavelength lambda_m [m], pressure pressure_bar [bar], and temperature temperature_K [K]. Supported gases: :Ar, :Ne, :Kr, :Xe, :H2, :N2, :Air.
Reference: Börzsönyi et al., Opt. Express 21, 21086 (2013); Peck & Khanna, J. Opt. Soc. Am. 67, 1550 (1977).
GNLSE.MolecularRamanGas — Type
MolecularRamanGas(gas::Symbol)Raman response model for molecular gases (H₂, N₂) in hollow-core fibers.
Supported gases:
:H2_rotational: Rotational S(1) Raman line (ΔνR = 17.6 THz, τ₁ = 9 fs, τ₂ = 100 ps, fR = 0.12):H2_vibrational: Vibrational Q(1) Raman line (ΔνR = 124.6 THz, τ₁ = 1.28 fs, τ₂ = 100 ps, fR = 0.08):N2: Molecular nitrogen Raman line (ΔνR = 2.2 THz, τ₁ = 72 fs, τ₂ = 50 ps, fR = 0.10)