Complex Ginzburg–Landau
Here is an implementation of a (complex) Ginzburg–Landau equation given by
\[\pd{\psi}{t}=(D_r+\i D_i)\nabla^2 \psi+(a_r+\i a_i)\psi+(b_r+\i b_i)\psi\psi^2,\]where we typically need $b_r,D_r \geq 0$ for solutions to exist.

Load the interactive simulation

Change the parameter $b_i$ to see a wide range of interesting behaviours. The values $b_i=5, 1, 0, 1, 2$ all give distinct dynamical regimes, for example.
Numerical notes
As in the Schrödinger equation, we have to separate out the real and imaginary parts of $\psi$ to simulate it. We write $\psi=u+\i v$ to find
\[\begin{aligned}\pd{u}{t}&=D_r\nabla^2uD_i\nabla^2 v+a_rua_iv+(b_rub_iv)(u^2+v^2),\\ \pd{v}{t} &= D_i\nabla^2 u+D_r\nabla^2v+a_rv+a_iu+(b_rv+b_iu)(u^2+v^2). \end{aligned}\]Solitons
The nonlinear Schrödinger equation is a special case of this model, typically written as
\[\i\pd{\psi}{t}=\nabla^2 \psi+\kappa\psi\psi^2.\]The sign of $\kappa$ determines if the system is ‘focusing’ or ‘defocusing’ and, hence, if we can observe dark or bright solitons.
This soliton simulation is an example of a soliton moving to the right at a speed $c$, determined entirely by the initial condition.
If you change the value of $\kappa$ and restart the simulation, you can observe different behaviours. For example, $\kappa=1$ gives a defocusing equation, for which the soliton eventually breaks apart into something resembling a moving Jacobi elliptic function.
We note that the simulator used does not preserve the conserved quantities in this model, so may give spurious or incorrect solutions for some parameters or initial conditions.
Coupled Ginzburg–Landau systems
We can also consider generalisations of coupled systems, particularly an optics formalism known as ‘crossphase modulation’. Models of this form with cubic nonlinearities look like
\[\begin{aligned}\pd{\psi_1}{t}&=(D_{1r}+\i D_{1i})\nabla^2 \psi_1+(a_{1r}+\i a_{1i})\psi_1+(b_{1r}+\i b_{1i})\psi_1\left( \psi_1^2+\alpha_1\psi_2^2 \right),\\ \pd{\psi_2}{t}&=(D_{2r}+\i D_{2i})\nabla^2 \psi_2+(a_{2r}+\i a_{2i})\psi_2+(b_{2r}+\i b_{2i})\psi_2\left( \psi_2^2+\alpha_2\psi_1^2 \right). \end{aligned}\]The parameters $\alpha_1$ and $\alpha_2$ influence how much the two wavefunctions interact with one another.
If these interactions are strong, either species can be driven to extinction, as described in a 2019 paper on amplitude death.
In intermediate cases, the two wavefunctions may coexist, leading to dynamics where the wavefunctions are nonzero only in separate subsets of the domain, as described in a 2018 paper on saturable nonlinearities.
 This separation simulation explores these dynamics, where the wavefunctions are locally chaotic but their boundaries are determined by where the other wavefunction is nonzero.
 Toggle between the amplitudes of each wavefunction by clicking and selecting one wavefunction or the other.