Skip to content

StickSlipOscillator

Systems / ODEs / Oscillatory systems

A harmonically forced dry-friction oscillator whose Stribeck velocity switch produces alternating stick and slip phases that can turn chaotic.

continuous · ODE3 dimensionsforced, non-smooth

Interactive: drag to rotate

Definition

\[ \begin{aligned} \dot{x} &= v \\ \dot{v} &= a x - b x^{3} + eps \left(\alpha v - \beta \left(v - vs\right)^{3} + \gamma \cos{\left(th \right)} - t_{0} \operatorname{sign}{\left(v - vs \right)}\right) \\ \dot{th} &= w \end{aligned} \]

Parameters

Symbol Default Role
a 1 linear stiffness of the Duffing restoring force
alpha 0.3 linear velocity coefficient of the friction torque
b 1 cubic stiffness of the Duffing restoring force
beta 0.3 cubic velocity coefficient of the friction torque
eps 0.05 coupling weight of the friction/forcing term
gamma 1 amplitude of the harmonic drive
t0 0.3 static (Coulomb) friction level
vs 0.4 reference Stribeck sliding velocity
w 2 angular frequency of the harmonic drive

State variables: x, v, 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.StickSlipOscillator()
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

Awrejcewicz & Holicke (1999), Int. J. Bifurc. Chaos
doi:10.1142/s0218127499000341

BibTeX
@misc{sticksliposcillator,
  title = {StickSlipOscillator system},
  note = {Awrejcewicz & Holicke (1999), Int. J. Bifurc. Chaos},
  doi = {10.1142/s0218127499000341}
}