SciML / SteadyStateDiffEq.jl

Solvers for steady states in scientific machine learning (SciML)
Other
30 stars 22 forks source link

Cannot create `SteadyStateProblem` integrator via `init` #79

Open TorkelE opened 4 weeks ago

TorkelE commented 4 weeks ago

This:

using OrdinaryDiffEq, SteadyStateDiffEq, ModelingToolkit
using ModelingToolkit: t_nounits as t, D_nounits as D
using ModelingToolkit: getu, getp, setu, setp
@parameters p d
@variables X(t) X2(t)
eqs = [
    D(X) ~ p - d*X,
    X2 ~ 2*X
]
@mtkbuild osys = ODESystem(eqs, t)

u0 = [X => 0.1]
p = [p => 1.0, d => 0.2]
prob = SteadyStateProblem(osys, u0, p)
ssint = init(prob, DynamicSS(Tsit5()))

yields a

ERROR: Default algorithm choices require DifferentialEquations.jl.
Please specify an algorithm (e.g., `solve(prob, Tsit5())` or
`init(prob, Tsit5())` for an ODE) or import DifferentialEquations
directly.

You can find the list of available solvers at https://diffeq.sciml.ai/stable/solvers/ode_solve/
and its associated pages.

Some of the types have been truncated in the stacktrace for improved reading. To emit complete information
in the stack trace, evaluate `TruncatedStacktraces.VERBOSE[] = true` and re-run the code.

Stacktrace:
  [1] __init(::SteadyStateProblem{…}, ::Nothing, ::Vararg{…}; default_set::Bool, second_time::Bool, kwargs::@Kwargs{})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:1401
  [2] __init(prob::SteadyStateProblem{…}, args::DynamicSS{…}; default_set::Bool, second_time::Bool, kwargs::@Kwargs{})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:1405
  [3] __init(prob::SteadyStateProblem{…}, args::DynamicSS{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:1398
  [4] init_call(_prob::SteadyStateProblem{…}, args::DynamicSS{…}; merge_callbacks::Bool, kwargshandle::Nothing, kwargs::@Kwargs{})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:530
  [5] init_call(_prob::SteadyStateProblem{…}, args::DynamicSS{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:503
  [6] init_up(prob::SteadyStateProblem{…}, sensealg::Nothing, u0::Vector{…}, p::ModelingToolkit.MTKParameters{…}, args::DynamicSS{…}; kwargs::@Kwargs{})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:564
  [7] init_up(prob::SteadyStateProblem{…}, sensealg::Nothing, u0::Vector{…}, p::ModelingToolkit.MTKParameters{…}, args::DynamicSS{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:551
  [8] init(prob::SteadyStateProblem{…}, args::DynamicSS{…}; sensealg::Nothing, u0::Nothing, p::Nothing, kwargs::@Kwargs{})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:544
  [9] init(prob::SteadyStateProblem{…}, args::DynamicSS{…})
    @ DiffEqBase ~/.julia/packages/DiffEqBase/PBhFc/src/solve.jl:534
 [10] top-level scope
    @ ~/Desktop/Julia Playground/Environment - Catalyst test/test_playground.jl:405
Some type information was truncated. Use `show(err)` to see complete types.