@@ -223,3 +223,39 @@ function DiffEqBase.ODEProblem{iip}(sys::AbstractODESystem,u0map,tspan,
223223 sparse= sparse)
224224 ODEProblem {iip} (f,u0,tspan,p;kwargs... )
225225end
226+
227+
228+ # ## Enables Steady State Problems ###
229+ function DiffEqBase. SteadyStateProblem (sys:: AbstractODESystem , args... ; kwargs... )
230+ SteadyStateProblem {true} (sys, args... ; kwargs... )
231+ end
232+
233+ """
234+ ```julia
235+ function DiffEqBase.SteadyStateProblem(sys::AbstractODESystem,u0map,tspan,
236+ parammap=DiffEqBase.NullParameters();
237+ version = nothing, tgrad=false,
238+ jac = false, Wfact = false,
239+ checkbounds = false, sparse = false,
240+ linenumbers = true, parallel=SerialForm(),
241+ kwargs...) where iip
242+ ```
243+ Generates an SteadyStateProblem from an ODESystem and allows for automatically
244+ symbolically calculating numerical enhancements.
245+ """
246+ function DiffEqBase. SteadyStateProblem (sys:: AbstractODESystem ,u0map,
247+ parammap= DiffEqBase. NullParameters ();
248+ version = nothing , tgrad= false ,
249+ jac = false , Wfact = false ,
250+ checkbounds = false , sparse = false ,
251+ linenumbers = true , parallel= SerialForm (),
252+ kwargs... ) where iip
253+ dvs = states (sys)
254+ ps = parameters (sys)
255+ u0 = varmap_to_vars (u0map,dvs)
256+ p = varmap_to_vars (parammap,ps)
257+ f = ODEFunction (sys,dvs,ps,u0;tgrad= tgrad,jac= jac,Wfact= Wfact,checkbounds= checkbounds,
258+ linenumbers= linenumbers,parallel= parallel,
259+ sparse= sparse)
260+ SteadyStateProblem (f,u0,p;kwargs... )
261+ end
0 commit comments