1# chaos-toy-examples
3Simple systems for studying the kind of chaos found in the struck plate of `cymbal-elastodynamics/flat-plate-2`, where it is entangled with everything else a plate does.
5## The phenomenon
7In the plate, a weak strike gives regular, quasi-periodic vibration: two runs that differ by a tiny perturbation stay a tiny distance apart. Above a threshold in strike strength the motion becomes chaotic: such differences grow exponentially (e-folding in a few milliseconds at the strongest strike), energy cascades to high frequencies, and after a few tenths of a second two runs have unrelated waveforms. As damping drains the energy the plate returns to the regular regime, and the energy distribution among the modes that the chaotic phase left behind is frozen in: each strong strike rings out with its own pattern of partial levels, which is audible.
9Structurally the plate in modal form is a set of oscillators coupled through a quartic potential (the stretching energy), lightly damped and started by an impulse. The toys here keep that structure and nothing else.
11## Toys
13| Directory | System | Purpose |
14| --- | --- | --- |
15| `two-oscillators/` | two oscillators with a quartic coupling, $H = \tfrac12 (p_x^2 + p_y^2) + \tfrac12 (\omega_1^2 x^2 + \omega_2^2 y^2) + \beta x^2 y^2$ | the mechanism: how regular motion breaks up as the energy grows (Poincare sections, Lyapunov exponent vs energy), and why damping freezes a random outcome |
16| `../fput-chain` (separate project) | the Fermi-Pasta-Ulam-Tsingou beta chain, struck, with frequency-dependent damping | the many-mode phenomena: energy cascade or not, threshold, the frozen spectrum, listening; web app at https://claude.ai/artifact/C6oaNiG2zCRX9VR7Wn4Wfx |
17| `../gong-wire` (separate project) | the FPUT chain with bending stiffness and a dome: beads on a stiff, curved wire | a gong-like cascade from 100 Hz to 17 kHz, and how bloom differs from chaos; web app at https://claude.ai/artifact/RqEkYpuX4wqHXT7Rcfs3ZU |
18| `../fput-plate` (separate project) | the same in two dimensions: a 24 x 24 sheet of beads with stretching links, bending and a dome | a cymbal-like dense high band (modes per octave grow with pitch); bloom into it, and when chaos appears; web app at https://claude.ai/artifact/UeCkZbQqcbzpk3e4kvCmr5 |
20With $\beta$ fixed, rescaling the variables by $\sqrt{E}$ shows that the two-oscillator dynamics depends on $\beta E$ only, the analogue of the plate's strike strength (or peak deflection over thickness).
22## Web application
24`web/index.html` is a single-page app (no build step) that simulates the two oscillators in the browser and plays them: strike energy, frequency ratio, strike direction, ring time, pitch and the difference between strikes A and B are adjustable; it shows the path in the (x, y) plane, the Poincare section of the undamped system at the strike energy, the energy share of 12 nearby strikes over time, the local Lyapunov exponent with the energy, and a spectrogram of any of the 12 strikes (a selector, or the arrow keys, flips between strikes on a shared color scale, draws the chosen strike's path in the bowl and highlights it in the energy-share plot, and plays it), with a playhead while a strike plays. Time is scaled so that the x oscillator sounds at the chosen pitch (220 Hz by default), and the sound is the pickup $p_x + p_y$. Published as a private artifact: https://claude.ai/artifact/BNxuYsQoFwNavTWnF7EHXg. Locally: `cd web && python -m http.server`.
26## Running
28Experiments run on the office workstation (`~/work/chaos-toy-examples`, Python 3.9 with numpy), plots locally:
30 cd two-oscillators
31 WORKERS=24 python experiments.py all # results/*.npz
32 python plots.py # results/*.png