Lorenz System
The canonical example of deterministic chaos — a butterfly that cannot be predicted.
Origin and Equations
The Lorenz system was derived by Edward Lorenz in 1963 as a simplified model of atmospheric convection. It consists of three coupled nonlinear ODEs:
The variables \(x,y,z\) represent convective velocity, horizontal and vertical temperature variation. Despite its simple form, the system exhibits remarkably complex dynamics depending on the parameters.
Parameters
- \(\sigma\) (sigma) — the Prandtl number: ratio of momentum to thermal diffusivity. Classical value \(\sigma=10\).
- \(\rho\) (rho) — the Rayleigh number: the normalised temperature difference driving convection. This is the key bifurcation parameter.
- \(\beta\) (beta) — geometric factor of the convection roll. Classical value \(\beta=8/3\approx2.667\).
Bifurcation Structure
- For \(\rho<1\): the origin is the only equilibrium and is globally stable — no convection.
- For \(1<\rho<24.74\): two symmetric non-trivial equilibria \(C^\pm\) appear (stable spirals at small \(\rho\), then unstable).
- For \(\rho\approx24.74\) and above: the system enters the chaotic regime — the famous “butterfly attractor” — where trajectories wind around both lobes without ever repeating.
- At \(\rho\approx22\): transient chaos — trajectories behave chaotically for a long time before eventually settling to one of the fixed points.
Sensitive Dependence on Initial Conditions
In the chaotic regime, two trajectories starting arbitrarily close together diverge exponentially in time. If \(\varepsilon\) is the initial separation, then
where \(\lambda_1\approx0.906\) is the maximal Lyapunov exponent of the Lorenz attractor with classical parameters. This positive Lyapunov exponent is the mathematical definition of chaos: nearby states become uncorrelated on a timescale of \(1/\lambda_1\approx1.1\) time units. Use Launch Particles with \(\varepsilon=10^{-9}\) to watch two initially indistinguishable trajectories drift apart.
Numerical Method
Static trajectories use a classical 4th-order Runge–Kutta (RK4) method with fixed step \(\Delta t=0.005\) and 30,000 steps (total time \(t=150\)). Animate \(\rho\) frames use 10,000 steps (total time \(t=50\)) — enough to fill both lobes — and are precomputed in full before playback begins, so the animation runs smoothly at any FPS. The Jet colorbar shows actual simulation time (e.g. \(t=0\) to \(t=150\) for static, \(t=0\) to \(t=50\) for animation).
How to Use
- Adjust \(\sigma,\rho,\beta\) and initial conditions \((x_0,y_0,z_0)\) using the sliders or type directly in the value boxes.
- Click Animate \(\rho\) to precompute and play the sweep from \(\rho_\text{start}\) to \(\rho_\text{end}\). The button shows precompute progress; click again at any time to stop.
- Click Transient Chaos to set \(\rho=22\) and animate a single trajectory exhibiting long transient chaotic behaviour before settling.
- Click Launch Particles to compare two trajectories separated by \(\varepsilon\) in the \(x\)-direction — select Slow/Medium/Fast to control animation speed.
- Click Reset \(\rho\) to return \(\rho\) to 20 and redraw the static attractor.
- The 3D plot is fully interactive: drag to rotate, scroll to zoom.
Traj 2: \(\mathbf{x}_2(0)=(x_0+\varepsilon,y_0,z_0)\)
Divergence: \(\|\mathbf{x}_1(t)-\mathbf{x}_2(t)\|\sim\varepsilon\,e^{\lambda_1 t}\)