The condensate wave function ψ(x,y,t) evolves under the Gross-Pitaevskii (GP) equation, a nonlinear Schrödinger equation with a harmonic trap V(r) and a mean-field interaction term g|ψ|² (ħ=m=1 units):
i ∂ψ/∂t = [ -∇²/2 + V(r) + g|ψ|² ] ψ
Each frame advances the field with the split-step Fourier method on a 64×64 grid: a real-space half-step applies V + g|ψ|², a full kinetic step is applied exactly in momentum space via a Cooley-Tukey FFT, then a second real-space half-step completes a Strang split. Lowering the temperature slider raises the condensate fraction N₀/N = 1-(T/Tc)³ below Tc=1; the stir slider adds a rotating quadrupole term that nucleates quantised vortices, visible as phase-winding points in the Phase view where the density drops to zero.
- Ground state — after every reset and every change to g or ω, imaginary-time relaxation (t → -iτ) re-finds the trap ground state before real-time evolution resumes.
- Vortex count — cells where the phase winds by more than π around their four corners.
- Energy — ∫(V|ψ|² + ½g|ψ|⁴) dxdy, tracked every frame.