CriticalTransitions.jl
A Julia package for critical transitions in dynamical systems with time-dependent forcing
Install / Use
/learn @JuliaDynamics/CriticalTransitions.jlREADME
CriticalTransitions.jl
A Julia package for the numerical investigation of noise- and rate-induced transitions in dynamical systems.
Building on DynamicalSystems.jl and DifferentialEquations.jl, this package aims to provide a toolbox for dynamical systems under time-dependent forcing, with a focus on tipping phenomena and metastability.
Installation
CriticalTransitions is a registered Julia package.
julia> ] add CriticalTransitions
or
using Pkg; Pkg.add("CriticalTransitions")
Usage
Check out the new
RateSystemtype for nonautonomous dynamics, released with v0.7! 🚀
Example: Bistable FitzHugh-Nagumo model
using CriticalTransitions
# Define your system dynamics
function fitzhugh_nagumo(u, p, t)
x, y = u
ϵ, β = p
dx = (-x^3 + x - y)/ϵ
dy = -β*y + x
return SVector{2}([dx, dy])
end
# System parameters (ε, β)
params = [0.1, 3.0]
noise_strength = 0.02
initial_state = zeros(2)
# Construct a stochastic system
# (here with isotropic Gaussian noise)
sys = CoupledSDEs(fitzhugh_nagumo, initial_state, params; noise_strength)
# Run a sample trajectory
traj = trajectory(sys, 10.0)
# Compute minimum action path using gMAM algorithm
instanton = minimize_geometric_action(sys, initial_state, current_state(sys))
# Turn into a non-autonomous dynamical system
# where the parameter β changes in time
forcing = ForcingProfile(:tanh)
sys_t = RateSystem(sys, forcing, 2; forcing_duration=5.0)
# ... and more, check out the documentation!
Developers: Reyk Börner, Orjan Ameye, Ryan Deeley, Raphael Römer and George Datseris
Thanks to Jeroen Wouters, Calvin Nesbitt, Tobias Grafke and Oliver Mehling
This package was created as part of the CriticalEarth project.
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
