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.
using CriticalTransitions
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)
# Define stochastic system
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 = geometric_min_action_method(sys, initial_state, current_state(sys))
# ... and more, check out the documentation!
Developers: Reyk Börner, Ryan Deeley, Raphael Römer and Orjan Ameye
Thanks to Jeroen Wouters, Calvin Nesbitt, Tobias Grafke, George Datseris and Oliver Mehling
This package was created as part of the CriticalEarth project.