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.
SteadyStateDiffEq.jl provides two main algorithms for finding steady states:
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())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.
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.