A non-linear Schrödinger equation solver for julia aimed towards fiber optics. (🚧 Under development)
The FiberNlse.jl package simulates the propagation of an optical field envelope signal of duration T in an optical fiber of length L. The chromatic dispersion (D) and SPM (self-phase modulation) (γ) wich arises from Kerr non-linearity are taken as parameters.
The core of the simulation consists in the integration of the Non-Linear Schrödinger Equation with the desired signal as initial condition. The package uses the Fourier Split-Step Method algorithm.
To install you can simply type :
] add FiberNlse
in your julia terminal or clone this repository and include the src/FiberNlse.jl
file in your project.
-
Implement Split-Step Method
-
Register DOI
-
Document code
-
Setup continuous integration
-
Add progress bar option
-
Add non constant dispersion (and higher order dispersion)
-
Add Self-steepening
-
Higher order integral solver (DifferentialEquations.jl)
-
Add wavelength dependence to dispersion
-
More complex material model API (GNLSE, Raman, SS, ...)
-
Many solvers (as in pychi)
-
Solver API (as DifferentialEquations.jl)
-
Better Data manipulation (maybe a standalone package?)
-
Make it compatible with AD for optimisation
Please cite this repository if you use it to publish data in a research paper.
@software{sinquin_fibernlse,
author = {Sinquin Brian},
title = {FiberNlse.jl},
month = mar,
year = 2022,
publisher = {Zenodo},
doi = {10.5281/zenodo.8251777},
url = {https://doi.org/10.5281/zenodo.8251777}
}