Van der Pol Oscillator
Simulate the second-order nonlinear equation \(\ddot{x} + \mu(x^2-1)\dot{x} + x = 0\) and observe the transition from sinusoidal oscillation to relaxation oscillations as \(\mu\) increases.
The Van der Pol Equation
The Van der Pol oscillator, introduced by Dutch physicist Balthasar van der Pol (1920), models self-sustained oscillations in electrical circuits with nonlinear damping. The second-order ODE is:
Writing \(v = \dot{x}\), this is equivalent to the first-order system \(\dot{x}=v\), \(\dot{v}=-\mu(x^2-1)v - x\).
Physical Interpretation — Horizontal Slider
The animation shows a mass block threaded onto a fixed horizontal pole. The restoring force \(-x\) acts like a spring pulling the mass back to center. The nonlinear damping coefficient \(\mu(x^2-1)\) switches sign depending on position:
- Blue zone \(|x|<1\): negative damping — the system pumps energy in, like a hidden motor accelerating the mass.
- Red zone \(|x|>1\): positive damping — energy is removed, braking the mass.
These two competing effects self-regulate to drive every trajectory toward the unique stable limit cycle of amplitude ≈ 2.
Regimes
- \(\mu = 0\): Simple harmonic oscillator — sinusoidal motion, constant amplitude.
- \(\mu \ll 1\): Quasi-sinusoidal, slowly converging to limit cycle. Period \(\approx 2\pi\).
- \(\mu \approx 1\): Clear nonlinear distortion, rapid approach to limit cycle.
- \(\mu \gg 1\): Relaxation oscillations — the mass drifts slowly then snaps rapidly. Period \(T \approx 1.614\,\mu\).
Numerical Solvers
- Tsit5 (Tsitouras 5(4), order 5) — used for \(\mu \le 5\). Six effective derivative evaluations per step (FSAL). Fixed step \(\Delta t = 0.01/(1+\mu/5)\); 5th-order accuracy gives noticeably less drift than RK4 over long limit-cycle simulations.
- SDIRK2 (singly diagonally implicit, order 2) — used for \(\mu > 5\). A-stable and L-stable: unconditionally stable for any step size. Newton iteration with analytic Jacobian and exact \(2\times2\) solve. Adaptive step control.
Slider range 0 to 20; type any value 0–1000 in the number field. At mu equals 0, period equals 2 pi. For large mu, period is approximately 1.614 times mu.
Launches a cloud of trajectories from many nearby initial conditions at once, so you can watch them all spiral onto the limit cycle. Single-trajectory animation and the \(x(t)\) graph are disabled in this mode; set how many with # trajectories below.
Space pause / resume R reset
Cite this tool
Kapita, S. (2026). Van der Pol Oscillator. Math Tools. https://shelvean.github.io/math-tools/vanderpol.html
Kapita, Shelvean. "Van der Pol Oscillator." Math Tools, 2026, shelvean.github.io/math-tools/vanderpol.html.
@online{kapita2026vanderpol,
author = {Shelvean Kapita},
title = {{Van der Pol Oscillator}},
year = {2026},
organization = {Math Tools},
url = {https://shelvean.github.io/math-tools/vanderpol.html}
}