SteadyStateDiffEq.jl
December 30, 2025 ยท View on GitHub
SteadyStateDiffEq.jl is a component package in the DifferentialEquations ecosystem. It holds the steady state solvers for differential equations. While completely independent and usable on its own, users interested in using this functionality should check out DifferentialEquations.jl.
Usage
SteadyStateDiffEq.jl provides two main algorithms for finding steady states:
SSRootfind - Nonlinear Solver Approach
Use a nonlinear solver to directly find the steady state:
using SteadyStateDiffEq, NonlinearSolve
function f!(du, u, p, t)
du[1] = 2 - 2u[1]
du[2] = u[1] - 4u[2]
end
u0 = zeros(2)
prob = SteadyStateProblem(f!, u0)
sol = solve(prob, SSRootfind())
DynamicSS - Time Evolution Approach
Evolve the system forward in time until derivatives approach zero:
using SteadyStateDiffEq, OrdinaryDiffEq
sol = solve(prob, DynamicSS(Tsit5()))
For more details, see the SciML documentation.
Breaking Changes in v2
NLsolve.jldependency has been dropped.SSRootfindrequires a nonlinear solver to be specified.DynamicSSno longer storesabstolandreltol. To use separate tolerances for the odesolve and the termination, specifyodesolve_kwargsinsolve.- The deprecated termination conditions are dropped, see NonlinearSolve.jl Docs for details on this.