Skip to content

Quick start

Units

from photonics_helper import Wavelength

wl = Wavelength(1550, "nm")
print(wl.to_freq().as_THz)  # 193.4 THz
print(wl.to_energy().as_eV)  # 0.8 eV

GNLSE propagation

import numpy as np
from photonics_helper.base import Area, Length, Time, Wavelength
from photonics_helper.gnlse import FiberProfile, GNLSESolver
from photonics_helper.pulse import Envelope, TemporalGrid, Wave

grid = TemporalGrid(N=2**12, Tmax=Time(5e-12, "s"))
pulse = Wave(
    grid=grid,
    envelope=Envelope(
        shape="sech", peak_amplitude=np.sqrt(1000.0), pulse_width=Time(50, "fs")
    ),
    central_wavelength=Wavelength(1550, "nm"),
)
fiber = FiberProfile(
    n2=2.6e-20, alpha=0.0, A_eff=Area(80e-12, "m^2"), length=Length(0.1, "m")
)
solver = GNLSESolver(pulse=pulse, fiber=fiber, betas=np.array([-0.02, 1e-4]))
solver.propagate(num_steps=200)

Next steps