Duffing Poincaré Section
The driven Duffing oscillator, sampled once per forcing period. Each sample records the state \((x,\dot x)\) at that instant; the accumulated points form a stroboscopic Poincaré section, which distinguishes periodic orbits from chaotic ones.
For the full continuous trajectory, potential well, and time series, see the Duffing oscillator simulator →
The stroboscopic construction
The trajectory of a driven oscillator in the phase plane \((x,\dot x)\) fills a region densely and is difficult to interpret directly. Following Henri Poincaré, one samples the state at a discrete sequence of times rather than tracking it continuously; for a periodically forced system, the natural choice is once per forcing period.
Poincaré section (stroboscopic). The forcing \(\gamma\cos(\omega t)\) repeats every \(T=2\pi/\omega\). Record the state \((x,\dot x)\) once per forcing period, at \(t = 0,\,T,\,2T,\,3T,\dots\) Throw away everything in between. The collection of recorded points is the section.
This reduces the continuous flow to a discrete map in which each point maps to the next one period later, making the recurrent structure of the motion apparent.
Interpreting the section
After the initial transient is discarded, the number of distinct points characterises the asymptotic response:
- One point: the orbit repeats every forcing period (period-1); the sample falls at the same location each period.
- Two points: the orbit repeats every two forcing periods (period-2); the sample alternates between two locations. In general, \(k\) points indicate a period-\(k\) response.
- A set of points that does not close up: the orbit never repeats and the points fill a strange attractor - a bounded, self-similar set characteristic of deterministic chaos.
The Duffing oscillator
The system is a periodically forced Duffing oscillator - a unit mass in a double-well potential:
\(\ddot{x} + \delta\dot{x} + \alpha x + \beta x^3 = \gamma\cos(\omega t)\)
With \(\alpha=-1,\ \beta=1\), the restoring force \(-\alpha x-\beta x^3\) derives from the potential \(V(x)=\tfrac{\alpha}{2}x^2+\tfrac{\beta}{4}x^4\), which has two minima. The term \(\delta\dot x\) is linear damping and \(\gamma\cos(\omega t)\) is the periodic forcing. The drive strength \(\gamma\) is the primary control parameter in what follows.
The route to chaos
As \(\gamma\) increases, the section undergoes a period-doubling cascade: one point becomes two, two become four, and so on, with successive doublings accumulating geometrically (here near \(\gamma\approx0.26,\,0.27,\,0.29\)). Beyond a threshold near \(\gamma\approx0.30\), the response becomes chaotic and the points fill a strange attractor. The chaotic range is interrupted by narrow periodic windows: the \(\gamma=0.37\) preset lies in a period-5 window, and \(\gamma\approx0.52\) in a period-3 window. This route to chaos is common to many driven dissipative systems, including dripping faucets, cardiac rhythms, and nonlinear electronic circuits.
The Ueda attractor preset uses a different parameter regime: the linear term is removed (\(\alpha=0\)), giving a purely cubic restoring force, with light damping \(\delta=0.05\) and strong forcing \(\gamma=7.5,\ \omega=1\). Ueda reported this attractor (sometimes called the "Japanese attractor") in 1961; it is among the earliest documented strange attractors. Sampling 6000 points resolves its folded, layered structure.
How to use this tool
- Select a preset, or set the drive strength \(\gamma\) with the slider or input box.
- Press ▶ Strobe to animate the construction: the left panel shows the continuous trajectory with the sampling instants marked; the right panel retains only the sampled points (the section).
- Press Fill in to compute and plot the full set of section points without animation.
- The clock indicates the forcing phase; a sample is taken each time it completes a cycle.
Numerics: classical 4th-order Runge–Kutta with a fixed step of \(T/400\) per forcing period, so every sample lands exactly one period apart. The first few dozen periods are discarded as transient.
The primary control parameter. The slider spans 0–0.7; use the input box for larger values (up to 10).
Other parameters
Defaults correspond to the classic double-well Duffing oscillator (α<0).
Start & sampling
Discard the first “skip” forcing periods as transient, then record “keep” section points.