KuramotoSivashinsky¶
Systems / ODEs / Chaotic attractors
The canonical 1-D model of spatiotemporal chaos — flame fronts and falling films, chaotic in space and time.
Definition¶
@staticmethod
def _equations(Y, t, *, N, L):
# 7-point central weights (Trefethen-style) for periodic, equispaced grid.
# First derivative (6th-order): D1 * f / dx
w1 = (
-1.0 / 60.0,
3.0 / 20.0,
-3.0 / 4.0,
0.0,
3.0 / 4.0,
-3.0 / 20.0,
1.0 / 60.0,
)
# Second derivative (6th-order): D2 * f / dx^2
w2 = (
1.0 / 90.0,
-3.0 / 20.0,
3.0 / 2.0,
-49.0 / 18.0,
3.0 / 2.0,
-3.0 / 20.0,
1.0 / 90.0,
)
# Fourth derivative (7-point central, 4th-order accurate): D4 * f / dx^4
w4 = (-1.0 / 6.0, 2.0, -6.5, 28.0 / 3.0, -6.5, 2.0, -1.0 / 6.0)
offsets = (-3, -2, -1, 0, 1, 2, 3)
dx = L / N
inv_dx = 1.0 / dx
inv_dx2 = inv_dx * inv_dx
inv_dx4 = inv_dx2 * inv_dx2
rhs = []
for j in range(N):
# Nonlinear term: -u * u_x (structure-preserving)
ux = 0.0
for r, c in zip(offsets, w1, strict=True):
idx = (j + r) % N
ux += c * Y(idx)
ux *= inv_dx
nonlinear = -Y(j) * ux
# u_xx: 6th-order central
uxx = 0.0
for r, c in zip(offsets, w2, strict=True):
idx = (j + r) % N
uxx += c * Y(idx)
uxx *= inv_dx2
# u_xxxx: 7-point central
uxxxx = 0.0
for r, c in zip(offsets, w4, strict=True):
idx = (j + r) % N
uxxxx += c * Y(idx)
uxxxx *= inv_dx4
rhs.append(nonlinear - uxx - uxxxx)
return rhs
Parameters¶
| Symbol | Default | Role |
|---|---|---|
N |
32 |
number of grid modes |
L |
22 |
domain length (sets the number of unstable modes) |
Properties¶
Lyapunov spectrum
TODO — dim 32 > 6 — full spectrum too slow
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = \frac{89201.7777777778}{L^{2}} - \frac{313174698.666667}{L^{4}}$
+ per-node nonlinear terms (over 32 nodes)
+ per-node nonlinear terms (over 32 nodes)
Equilibria
TODO — dim 32 > 8 — equilibrium search skipped
Define it in TSDynamics¶
import tsdynamics as ts
sys = ts.systems.KuramotoSivashinsky()
traj = sys.integrate(final_time=100.0, dt=0.01)
exps = sys.lyapunov_spectrum()
ts.kaplan_yorke_dimension(exps)
Reference¶
Kuramoto & Tsuzuki (1976), Prog. Theor. Phys. 55, 356-369; Sivashinsky (1977), Acta Astronaut. 4, 1177-1206
