FluidTrampoline¶
Systems / ODEs / Physical systems
A droplet bouncing on a vibrated soap film that acts as a nonlinear spring — increasing forcing drives simple, multi-periodic, then chaotic bouncing.
Definition¶
\[
\begin{aligned}
\dot{x} &= y \\
\dot{y} &= \gamma \cos{\left(th \right)} - \frac{\left(1 - \operatorname{sign}{\left(x \right)}\right) \left(\psi y \left|{y}\right| + x\right)}{2} - 1 \\
\dot{th} &= w
\end{aligned}
\]
Parameters¶
| Symbol | Default | Role |
|---|---|---|
gamma |
1.82 |
dimensionless forcing acceleration amplitude |
psi |
0.01019 |
quadratic-drag energy-loss coefficient of film contact |
w |
1.21 |
dimensionless forcing angular frequency |
State variables: x, y, th
Properties¶
Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
n/a — non-smooth right-hand side — divergence is piecewise (defined almost everywhere)
Equilibria
none found (no equilibria)
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.FluidTrampoline()
traj = system.run(final_time=100.0, dt=0.01)
ts.plot(traj)
spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)
Reference¶
Gilet & Bush (2009), J. Fluid Mech. 625, 167-203
doi:10.1017/s0022112008005442
