1D Nonlinear Schrödinger Spectral Simulator

Spectral Analysis
Partial Differential Equations
Spatial Discretization
Time Integration
Runge–Kutta Methods
Computational Physics
Python
1D Nonlinear Schrödinger Spectral Simulator

Description

This project is a numerical testbed for the one-dimensional focusing and defocusing Nonlinear Schrödinger equation, built around spectral spatial discretization and a broad suite of time-stepping strategies. The solver applies the Laplacian in Fourier space and the nonlinearity in physical space, allowing controlled comparison of full integration, operator splitting, and higher-order composition methods in a setting where dispersive structure and invariant behavior matter.

The framework emphasizes method comparison rather than black-box simulation. A GUI supports YAML-driven configuration, run control, and direct access to generated plots and exports, while a refined reference solution can be computed for quantitative error assessment. This makes the project useful not only for solving the equation, but for studying how integrator family, splitting strategy, and timestep choice influence error, conservation, and spectral behavior.

  • Implemented a pseudo-spectral FFT-based solver for the 1D focusing/defocusing Nonlinear Schrödinger equation.
  • Added full integration, Lie splitting, Strang splitting, and Yoshida higher-order composition workflows.
  • Supported a wide range of integrator families, including explicit RK, SDIRK, FIRK, Rosenbrock, Adams methods, and BDF.
  • Built a GUI for configuration editing, simulation control, result viewing, and export of plots and numerical outputs.
  • Included refined reference trajectories and metric generation for error, invariant drift, and spectral mismatch analysis.

Highlights and Learning Experiences

Spectral discretization and model setup

FFT-based pseudo-spectral treatment of the NLS equation with configurable domains, initial conditions, and nonlinear regimes.

Time-stepping and splitting comparisons

Support for full integration, Lie splitting, Strang splitting, and higher-order Yoshida compositions across multiple integrator families.

Reference metrics and analysis views

Comparison against refined reference trajectories with error metrics, invariant drift analysis, and exported diagnostics.


    Sreeram Shankar — Portfolio