Nonlinear Schrödinger equation (NSE) is a fundamental equation in nonlinear optics that describes the propagation of a pulse through a dispersive and nonlinear medium. Nonlinear Pulse Propagation Solver (NPP) is a program, written in C/C++, that solves NSE in an arbitrary waveguide. It has a user friendly interface, which allows a user to enter the pulse and waveguide parameters and execute simulations. The program can be invoked within MATLAB and any other scripting language. It can export the results in different formats including ASCII text “.txt” and MATLAB “.mat” format. The program can also utilize the power of GPU via CUDA. With a modern gaming card “NVidia GTX TITAN”, a speed increase of a factor of 100 times can be achieved. This makes NPP a powerful tool especially for simulating long waveguides.
License
Creative Commons Attribution LicenseFollow Nonlinear Pulse Propagation Solver
User Reviews
-
Hi, does it allow solving multi-mode NLSE? Thanks!
-
It can run two modes/polarizations at the moment. I'm working on a full vectorial multimode version now. Will publish it later.