OscillatingFlow¶
Systems / ODEs / Climate & geophysics
A kinematic array of convection rolls with laterally oscillating boundaries whose time-dependent separatrices chaotically transport tracers between adjacent cells.
Definition¶
\[
\begin{aligned}
\dot{x} &= u \sin{\left(k \left(b \sin{\left(z \right)} + x\right) \right)} \cos{\left(k y \right)} \\
\dot{y} &= - u \sin{\left(k y \right)} \cos{\left(k \left(b \sin{\left(z \right)} + x\right) \right)} \\
\dot{z} &= \omega
\end{aligned}
\]
Parameters¶
| Symbol | Default | Role |
|---|---|---|
b |
0.48 |
amplitude of the roll-boundary oscillation |
k |
1 |
roll wavenumber (roll size) |
omega |
0.49 |
roll oscillation frequency |
u |
0.72 |
overall flow speed |
State variables: x, y, z
Properties¶
Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = 0$
constant
constant
Equilibria
none found (no equilibria)
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.OscillatingFlow()
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¶
Solomon & Gollub (1988), Phys. Rev. A 38, 6280-6286
doi:10.1103/physreva.38.6280