NLSEmagic: Nonlinear Schrödinger Equation Multidimensional Matlab-based GPU-accelerated Integrators using Compact high-order schemes

Please donate to support NLSEmagic:



Locations of visitors to this page

NLSEmagic is a package of C and MATLAB script codes which simulate the nonlinear Schrödinger equation in one, two, and three dimensions.  The code includes MEX integrators in C, as well as NVIDIA CUDA-enabled GPU-accelerated MEX files in C.  The MATLAB script files call the compiled MEX codes forming an easy-to-use highly efficient program.  The codes utilize a fourth-order (in time) Runge-Kutta scheme combined with the choice of standard second-order (in space) finite differencing, or a compact  two-step fourth-order (in space) finite differencing.

The code was developed as part of my Ph.D. dissertation, and includes two versions.  One is a streamlined easy-to-follow script code which is meant as an example of how to use the MEX codes, while the other version is a full-research code which can reproduce my research results.

NLSEmagic is freely distributed for use and modification.  However, a nominal donation and acknowledgment of authorship is appreciated.

Update 5/03/12: Full research scripts completed and posted! Also, new "dissertation" section added with reproducable figure package.

Update 4/26/12: Added installation guide. Full research scripts coming soon!

Update 1/8/12: All codes and driver scripts have been updated to version 012. Some bug fixes.

Update 12/13/11: All codes and driver scripts have been updated to version 011. Some bug fixes and some speed improvements.

Update 10/28/11: All codes and driver scripts have been updated. The new 2D and 3D CUDA codes now run almost twice as fast. Windows 64 compiled binaries have also been added.