# Cubic Spiral Sink

Flow · (ẋ, ẏ, ż) = f(x, y, z, t)

`(−z − x · (x² + z²),  −0.2y,  x − z · (x² + z²))`

[Open in the app](https://www.wavelace.com/app#p=92) · [This page](https://www.wavelace.com/presets/cubic-spiral-sink)

### The system

The app is y-up, so the height is `y` and the interesting motion happens in the floor plane, spanned by `x` and `z`, the plane a textbook writes as `x, y`. The height is along for the ride: `ẏ = −0.2·y` alone, an e-fold every 5 seconds, so the seeds drop onto the floor plane early and what is left is the plane picture.

Write `r² = x² + z²` and the two remaining lines say something short: `ṙ = −r³`, and the angle advances at one radian per second, a turn every `2π ≈ 6.28` seconds at `Speed` 1. That gives `r = r₀/√(1 + 2·r₀²·t)`. From radius 1 a seed is at `0.577` after a second, and at `0.5` after 1.5 seconds. After 20 seconds it is only at `0.156`: the approach is algebraic, not exponential, and the threads pile up near the centre without ever arriving.

### A centre that is not one

Drop the cubic terms and the plane system is `ẋ = −z`, `ż = x`, whose eigenvalues are `±i`: circles, every orbit closed, nothing winding in or out. That is the linearisation at the origin, and it is exactly as wrong as a linearisation can be. The cubic term is too small near the origin for the eigenvalues to notice it, yet it decides the answer everywhere. `ṙ = −r³` is negative for any nonzero radius, so every orbit spirals in and the origin is a sink.

This is the standard warning about linearising a flow. The Hartman–Grobman theorem says the linearisation gets the picture right near a rest point, but only when no eigenvalue sits on the imaginary axis. Here both do, and the theorem has nothing to say. A centre in the linearisation may be a sink, a source, or a genuine centre, and only the higher terms know which.

### Try

- Subtract 1 inside both brackets, `−z − x·(x² + z² − 1)` and `x − z·(x² + z² − 1)`, so that `ṙ = r − r³`. Seeds inside and outside now both end on the circle of radius 1: the limit cycle of the Hopf normal form.
- Flip the sign of both cubic terms instead. Then `ṙ = +r³` and a seed at radius `r₀` runs off to infinity at `t = 1/(2·r₀²)`, two seconds from radius 0.5, and the threads leave the box.
- Raise `Seed spread` to its top: the outer seeds cover their first turn much faster than the inner ones, since the cubic bites hardest far out, and the ring of threads bunches up.
- `Top` in the deck for the plane portrait, the spiral with the height projected away.
- `Front` instead, to watch the heights collapse in the first few seconds.

### Read more

- [Hartman–Grobman theorem](https://en.wikipedia.org/wiki/Hartman%E2%80%93Grobman_theorem)
- [Hopf bifurcation](https://en.wikipedia.org/wiki/Hopf_bifurcation)
- [Limit cycle](https://en.wikipedia.org/wiki/Limit_cycle)
- [Lyapunov stability](https://en.wikipedia.org/wiki/Lyapunov_stability)
