schroedinger_nonlinear_pde


schroedinger_nonlinear_pde, a MATLAB code which solves the complex partial differential equation (PDE) known as Schroedinger's nonlinear equation: dudt = i uxx + i gamma * |u|^2 u, in one spatial dimension, with Neumann boundary conditions.

A soliton is a sort of wave solution to the equation which preserves its shape and moves left or right with a fixed speed. If two solitons are present, then as one overtakes the other, their shapes will merge and interfere for a certain time. This version of the problem illustrates how a fast soliton overtakes a slow one, moving from left to right.

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

schroedinger_nonlinear_pde is available in a MATLAB version.

Related Data and codes:

advection_pde, a MATLAB code which solves the advection PDE dudt + c * dudx = 0 in one spatial dimension, with a constant velocity c, and periodic boundary conditions, using the FTCS method, forward time difference, centered space difference.

allen_cahn_pde, a MATLAB code which sets up and solves the Allen-Cahn reaction-diffusion system of partial differential equations (PDE) in 1 space dimension and time.

artery_pde. a MATLAB code which solves a partial differential equation (PDE) that models the displacement of arterial walls under pressure.

diffusion_pde, a MATLAB code which solves the diffusion partial differential equation (PDE) dudt - mu * d2udx2 = 0 in one spatial dimension, with a constant diffusion coefficient mu, and periodic boundary conditions, using FTCS, the forward time difference, centered space difference method.

gray_scott_pde, a MATLAB code which solves the partial differential equation (PDE) known as the Gray-Scott reaction diffusion equation, displaying a sequence of solutions as time progresses.

schroedinger_linear_pde, a MATLAB code which solves the complex partial differential equation (PDE) known as Schroedinger's linear equation: dudt = i uxx, in one spatial dimension, with Neumann boundary conditions.

schroedinger_nonlinear_pde_test

spiral_pde, a MATLAB code which solves a pair of reaction-diffusion partial differential equations (PDE) over a rectangular domain with periodic boundary condition, whose solution is known to evolve into a pair of spirals.

string_pde, a MATLAB code which sets up and solves the partial differential equations (PDE) describing a vibrating string.

tumor_pde, a MATLAB code which solves the tumor angiogenesis partial differential equations (PDE) using MATLAB's pdepe() function.

wave_pde, a MATLAB code which uses finite differences in space, and the method of lines in time, to set up and solve the partial differential equations (PDE) known as the wave equations, utt = c uxx.

References:

  1. Willem Hundsdorfer, Jan Verwer,
    Numerical solution of time-dependent advection-diffusion-reaction equations,
    Springer, 2003, page 128, page 209.
    ISBN: 978-3-662-09017-6
  2. https://eqworld.ipmnet.ru/
    Exact Solutions:
    Nonlinear Partial Differential Equations:
    Second-Order Parabolic Partial Differential Equations:
    Schrodinger Equation with a Cubic Nonlinearity

Source Code:


Last revised on 12 March 2021.