We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mixing variables and parameters in the defaults of the simple remake example
defaults
remake
using Test using ModelingToolkit using ModelingToolkit: t_nounits as t, D_nounits as D using DifferentialEquations @testset "remake with mixed variable+parameter defaults" begin @parameters P @variables X(t) Y(t) @named sys = ODESystem([D(X) ~ 0, D(Y) ~ 0], t, [X, Y], [P]; defaults = [X => P + 1]) sys = complete(sys) u0 = [Y => 1] p = [P => 1] prob1 = @test_nowarn ODEProblem(sys, u0, (0, 1), p) # works prob2 = @test_nowarn remake(prob1; u0, p, use_defaults = true) # fails @test prob1.u0 == prob2.u0 && prob1.ps[P] == prob2.ps[P] end
fails with
MethodError: no method matching getindex(::Nothing, ::Int64) Stacktrace: [1] macro expansion @ ~/.julia/packages/SymbolicUtils/qyMYa/src/code.jl:375 [inlined] [2] macro expansion @ ~/.julia/packages/RuntimeGeneratedFunctions/M9ZX8/src/RuntimeGeneratedFunctions.jl:163 [inlined] [3] macro expansion @ ./none:0 [inlined] [4] generated_callfunc @ ./none:0 [inlined] [5] (::RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(Symbol("##arg#8067804339927430471"), Symbol("##arg#17444850679067948697"), :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xfc28c8d1, 0x9ecdc14a, 0xe40d0d57, 0xc99db895, 0x6e00db3e), Nothing})(::Nothing, ::Vector{Int64}, ::Nothing) @ RuntimeGeneratedFunctions ~/.julia/packages/RuntimeGeneratedFunctions/M9ZX8/src/RuntimeGeneratedFunctions.jl:150 [6] (::ModelingToolkit.var"#709#722"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(Symbol("##arg#8067804339927430471"), Symbol("##arg#17444850679067948697"), :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xfc28c8d1, 0x9ecdc14a, 0xe40d0d57, 0xc99db895, 0x6e00db3e), Nothing}, DataType})(u::Nothing, p::ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, t::Nothing) @ ModelingToolkit ~/.julia/packages/ModelingToolkit/w72sG/src/systems/diffeqs/abstractodesystem.jl:464 [7] (::SymbolicIndexingInterface.TimeDependentObservedFunction{ModelingToolkit.var"#709#722"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(Symbol("##arg#8067804339927430471"), Symbol("##arg#17444850679067948697"), :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xfc28c8d1, 0x9ecdc14a, 0xe40d0d57, 0xc99db895, 0x6e00db3e), Nothing}, DataType}})(::SymbolicIndexingInterface.NotTimeseries, prob::SymbolicIndexingInterface.ProblemState{Nothing, ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, Nothing}) @ SymbolicIndexingInterface ~/.julia/packages/SymbolicIndexingInterface/SzZz3/src/state_indexing.jl:88 [8] (::SymbolicIndexingInterface.TimeDependentObservedFunction{ModelingToolkit.var"#709#722"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(Symbol("##arg#8067804339927430471"), Symbol("##arg#17444850679067948697"), :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xfc28c8d1, 0x9ecdc14a, 0xe40d0d57, 0xc99db895, 0x6e00db3e), Nothing}, DataType}})(prob::SymbolicIndexingInterface.ProblemState{Nothing, ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, Nothing}) @ SymbolicIndexingInterface ~/.julia/packages/SymbolicIndexingInterface/SzZz3/src/value_provider_interface.jl:144 [9] (::SciMLBase.var"#667#671"{ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, SymbolicIndexingInterface.ProblemState{Nothing, ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, Nothing}})(::Pair{Any, Any}) @ SciMLBase ./none:0 [10] iterate @ ./generator.jl:47 [inlined] [11] Dict{Any, Any}(kv::Base.Generator{Dict{Any, Any}, SciMLBase.var"#667#671"{ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, SymbolicIndexingInterface.ProblemState{Nothing, ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, Nothing}}}) @ Base ./dict.jl:85 [12] anydict(d::Base.Generator{Dict{Any, Any}, SciMLBase.var"#667#671"{ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, SymbolicIndexingInterface.ProblemState{Nothing, ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, Nothing}}}) @ SciMLBase ~/.julia/packages/SciMLBase/od80h/src/remake.jl:385 [13] _updated_u0_p_symmap(prob::ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, u0::Dict{Any, Any}, ::Val{true}, p::ModelingToolkit.MTKParameters{Tuple{Vector{Int64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ::Val{false}) @ SciMLBase ~/.julia/packages/SciMLBase/od80h/src/remake.jl:479 [14] _updated_u0_p_symmap(prob::ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, u0::Dict{Any, Any}, ::Val{true}, p::Dict{Any, Any}, ::Val{true}) @ SciMLBase ~/.julia/packages/SciMLBase/od80h/src/remake.jl:517 [15] _updated_u0_p_internal(prob::ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, u0::Vector{Pair{Num, Int64}}, p::Vector{Pair{Num, Int64}}; interpret_symbolicmap::Bool, use_defaults::Bool) @ SciMLBase ~/.julia/packages/SciMLBase/od80h/src/remake.jl:427 [16] _updated_u0_p_internal @ ~/.julia/packages/SciMLBase/od80h/src/remake.jl:412 [inlined] [17] #updated_u0_p#688 @ ~/.julia/packages/SciMLBase/od80h/src/remake.jl:548 [inlined] [18] updated_u0_p @ ~/.julia/packages/SciMLBase/od80h/src/remake.jl:529 [inlined] [19] remake(prob::ODEProblem{Vector{Float64}, Tuple{Int64, Int64}, true, ModelingToolkit.MTKParameters{Tuple{Vector{Float64}}, Tuple{}, Tuple{}, Tuple{}, Tuple{}, Nothing, Nothing}, ODEFunction{true, SciMLBase.AutoSpecialize, ModelingToolkit.var"#f#711"{RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0x8ac58eb2, 0x73d0426c, 0x7f1230d6, 0x964553a4, 0x063c7a8a), Nothing}, RuntimeGeneratedFunctions.RuntimeGeneratedFunction{(:ˍ₋out, :ˍ₋arg1, :ˍ₋arg2, :t), ModelingToolkit.var"#_RGF_ModTag", ModelingToolkit.var"#_RGF_ModTag", (0xb74839f3, 0x7ae30fb5, 0xfd3fa0d5, 0x291a1b6f, 0x26fc5a5a), Nothing}}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, ModelingToolkit.var"#883#generated_observed#720"{Bool, ODESystem, Dict{Any, Any}, Vector{Any}}, Nothing, ODESystem, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}; f::Missing, u0::Vector{Pair{Num, Int64}}, tspan::Missing, p::Vector{Pair{Num, Int64}}, kwargs::Missing, interpret_symbolicmap::Bool, use_defaults::Bool, _kwargs::@Kwargs{}) @ SciMLBase ~/.julia/packages/SciMLBase/od80h/src/remake.jl:95 [20] remake @ ~/.julia/packages/SciMLBase/od80h/src/remake.jl:83 [inlined] ....
Should this work?
The text was updated successfully, but these errors were encountered:
This has been fixed now, I believe by SciMLBase#703. The example now works just as expected!
Sorry, something went wrong.
No branches or pull requests
Mixing variables and parameters in the
defaults
of the simpleremake
examplefails with
Should this work?
The text was updated successfully, but these errors were encountered: