Last active
November 27, 2020 23:21
-
-
Save contradict/948cf099fa7e191de9a6ffff06f97f15 to your computer and use it in GitHub Desktop.
Error using ModelingToolkit
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using ModelingToolkit, IfElse | |
# Extracted from a model of a pneumatic system, just a valve and part of the cylinder DiffEQ. | |
# Approximate shape of the valve response to a command | |
function deadbandTanh(command, deadband) | |
tanhmin = -one(command) | |
tanhmax = one(command) | |
s = (command - deadband) / (one(command) - deadband) * (tanhmax - tanhmin) + tanhmin | |
IfElse.ifelse(signbit(deadband - command), (tanh(s) - tanh(tanhmin) ) / (tanh(tanhmax) - tanh(tanhmin)), 0) | |
end | |
# response scaled to valve area | |
valveArea(command, Amax, db) = Amax * deadbandTanh(abs(command), db) | |
# choked or subsonic flow | |
massFlow(Pu, Pd, T, Cd, a) = IfElse.ifelse( | |
signbit(1.0 - Pu/Pd), | |
a*sqrt(Pu/T*Pu), | |
Cd * a * sqrt(2 * Pu / T * Pu * ((Pd/Pu)^2 - (Pd/Pu)^3))) | |
# Is air flowing in our out of the cylinder? | |
function valveFlow(command, P, Pin, T, Cd, Amax, db) | |
a = valveArea(command, Amax, db) | |
IfElse.ifelse( | |
signbit(P - Pin), | |
massFlow(Pin, P, T, Cd, a), | |
-massFlow(P, Pin, T, Cd, a)) | |
end | |
# select only air flowing into the cylinder | |
inflow(x) = IfElse.ifelse(signbit(-x), x, 0) | |
function example() | |
@parameters t Pin Tin | |
@variables u(t) Pb(t) | |
@derivatives D'~t | |
eqs = [ | |
D(Pb) ~ inflow(valveFlow(u, Pb, Pin, Tin, 1, 1, 0.07)), | |
] | |
sys = ODESystem(eqs) | |
calculate_jacobian(sys) | |
end | |
example() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
julia> include("example.jl") | |
ERROR: LoadError: Failed to apply rule ~(z::_isone) * ~x => ~x on expression (1 * sqrt((((2 * Pin) / Tin) * Pin) * (((Pb(t) / Pin) ^ 2) - ((Pb(t) / Pin) ^ 3)))) * (1 * ifelse(signbit(0.07 - abs(u(t))), (tanh((((abs(u(t)) - 0.07) / 0.9299999999999999) * 2) + -1) - -0.7615941559557649) / 1.5231883119115297, 0)) | |
Stacktrace: | |
[1] (::SymbolicUtils.Rule{Term{Any},SymbolicUtils.var"#term_matcher#46"{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}},SymbolicUtils.var"#101#170"})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rule.jl:142 | |
[2] (::SymbolicUtils.ACRule{typeof(Combinatorics.combinations),SymbolicUtils.Rule{Term{Any},SymbolicUtils.var"#term_matcher#46"{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}},SymbolicUtils.var"#101#170"}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rule.jl:324 | |
[3] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[4] (::SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#22#23"{typeof(*)},SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 | |
[5] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[6] (::SymbolicUtils.Rewriters.RestartedChain{Array{SymbolicUtils.Rewriters.IfElse{F,SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty} where F,1}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:76 | |
[7] (::SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#151#223",SymbolicUtils.Rewriters.RestartedChain{Array{SymbolicUtils.Rewriters.IfElse{F,SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty} where F,1}},SymbolicUtils.Rewriters.Empty})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 | |
[8] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[9] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:140 | |
[10] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[11] iterate at ./generator.jl:47 [inlined] | |
[12] collect_to!(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[13] collect_to!(::Array{Term{Real},1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:740 | |
[14] collect_to_with_first!(::Array{Term{Real},1}, ::Term{Real}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[15] _collect(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[16] collect_similar at ./array.jl:628 [inlined] | |
[17] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[18] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[19] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[20] iterate at ./generator.jl:47 [inlined] | |
[21] collect_to!(::Array{Term{Real},1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[22] collect_to_with_first!(::Array{Term{Real},1}, ::Term{Real}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[23] _collect(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[24] collect_similar at ./array.jl:628 [inlined] | |
[25] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[26] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[27] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[28] iterate at ./generator.jl:47 [inlined] | |
[29] _collect(::Array{Term{Real},1}, ::Base.Generator{Array{Term{Real},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:699 | |
... (the last 6 lines are repeated 3 more times) | |
[48] collect_similar at ./array.jl:628 [inlined] | |
[49] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[50] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[51] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[52] iterate at ./generator.jl:47 [inlined] | |
[53] collect_to!(::Array{Term{Number},1}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[54] collect_to_with_first!(::Array{Term{Number},1}, ::Term{Number}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[55] _collect(::Array{Term{Number},1}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[56] collect_similar at ./array.jl:628 [inlined] | |
[57] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term{Number},1}) at ./abstractarray.jl:2162 | |
[58] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[59] IfElse at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 [inlined] | |
[60] (::SymbolicUtils.Rewriters.Fixpoint{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.has_trig),SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#149#221",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#150#222",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty}},false},SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:101 | |
[61] IfElse at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 [inlined] | |
[62] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.istree),SymbolicUtils.Rewriters.Fixpoint{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.has_trig),SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#149#221",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#150#222",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty}},false},SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}},SymbolicUtils.Rewriters.Empty}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[63] simplify(::Term{Number}; polynorm::Bool, threaded::Bool, thread_subtree_cutoff::Int64, rewriter::Nothing) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/api.jl:29 | |
[64] simplify(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/api.jl:17 | |
[65] expand_derivatives(::Term{Real}, ::Bool; occurances::Nothing) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/differentials.jl:126 | |
[66] expand_derivatives at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/differentials.jl:65 [inlined] | |
[67] jacobian(::Array{Term{Real},1}, ::Array{Term{Real},1}; simplify::Bool) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/direct.jl:22 | |
[68] calculate_jacobian(::ODESystem; sparse::Bool, simplify::Bool) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/systems/diffeqs/abstractodesystem.jl:32 | |
[69] calculate_jacobian at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/systems/diffeqs/abstractodesystem.jl:23 [inlined] | |
[70] MWE() at /home/russel/Desktop/Chomp/Stomp/WalkingSimulation/Pneumatic/example.jl:40 | |
[71] top-level scope at /home/russel/Desktop/Chomp/Stomp/WalkingSimulation/Pneumatic/example.jl:43 | |
[72] include(::String) at ./client.jl:457 | |
in expression starting at /home/russel/Desktop/Chomp/Stomp/WalkingSimulation/Pneumatic/example.jl:43 | |
caused by [exception 1] | |
TypeError: non-boolean (Term{Bool}) used in boolean context | |
Stacktrace: | |
[1] (::SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}})(::SymbolicUtils.var"#45#48"{SymbolicUtils.LL{SubArray{Num,1,Array{Num,1},Tuple{Array{Int64,1}},false}},SymbolicUtils.LL{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}}}, ::SymbolicUtils.LL{SubArray{Num,1,Array{Num,1},Tuple{Array{Int64,1}},false}}, ::Base.ImmutableDict{Symbol,Any}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:23 | |
[2] (::SymbolicUtils.var"#loop#47"{SymbolicUtils.var"#34#35"{SymbolicUtils.var"#101#170"}})(::SymbolicUtils.LL{SubArray{Num,1,Array{Num,1},Tuple{Array{Int64,1}},false}}, ::Base.ImmutableDict{Symbol,Any}, ::SymbolicUtils.LL{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:100 | |
[3] (::SymbolicUtils.var"#45#48"{Term{Number},Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}})(::Base.ImmutableDict{Symbol,Any}, ::Int64) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:101 | |
[4] (::SymbolicUtils.var"#literal_matcher#42"{typeof(*)})(::SymbolicUtils.var"#45#48"{Term{Number},Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}}, ::Term{Number}, ::Base.ImmutableDict{Symbol,Any}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:10 | |
[5] (::SymbolicUtils.var"#loop#47"{SymbolicUtils.var"#34#35"{SymbolicUtils.var"#101#170"}})(::Term{Number}, ::Base.ImmutableDict{Symbol,Any}, ::Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:100 | |
[6] (::SymbolicUtils.var"#term_matcher#46"{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}})(::SymbolicUtils.var"#34#35"{SymbolicUtils.var"#101#170"}, ::Tuple{Term{Number}}, ::Base.ImmutableDict{Symbol,Any}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/matchers.jl:105 | |
[7] (::SymbolicUtils.Rule{Term{Any},SymbolicUtils.var"#term_matcher#46"{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}},SymbolicUtils.var"#101#170"})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rule.jl:137 | |
[8] (::SymbolicUtils.ACRule{typeof(Combinatorics.combinations),SymbolicUtils.Rule{Term{Any},SymbolicUtils.var"#term_matcher#46"{Tuple{SymbolicUtils.var"#literal_matcher#42"{typeof(*)},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils._isone)}},SymbolicUtils.var"#slot_matcher#43"{SymbolicUtils.Slot{typeof(SymbolicUtils.alwaystrue)}}}},SymbolicUtils.var"#101#170"}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rule.jl:324 | |
[9] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[10] (::SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#22#23"{typeof(*)},SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 | |
[11] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[12] (::SymbolicUtils.Rewriters.RestartedChain{Array{SymbolicUtils.Rewriters.IfElse{F,SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty} where F,1}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:76 | |
[13] (::SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#151#223",SymbolicUtils.Rewriters.RestartedChain{Array{SymbolicUtils.Rewriters.IfElse{F,SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty} where F,1}},SymbolicUtils.Rewriters.Empty})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 | |
[14] (::SymbolicUtils.Rewriters.Chain)(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:59 | |
[15] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:140 | |
[16] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[17] iterate at ./generator.jl:47 [inlined] | |
[18] collect_to!(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[19] collect_to!(::Array{Term{Real},1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:740 | |
[20] collect_to_with_first!(::Array{Term{Real},1}, ::Term{Real}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[21] _collect(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[22] collect_similar at ./array.jl:628 [inlined] | |
[23] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[24] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[25] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[26] iterate at ./generator.jl:47 [inlined] | |
[27] collect_to!(::Array{Term{Real},1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[28] collect_to_with_first!(::Array{Term{Real},1}, ::Term{Real}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[29] _collect(::Array{Term,1}, ::Base.Generator{Array{Term,1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[30] collect_similar at ./array.jl:628 [inlined] | |
[31] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[32] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[33] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Real}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[34] iterate at ./generator.jl:47 [inlined] | |
[35] _collect(::Array{Term{Real},1}, ::Base.Generator{Array{Term{Real},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:699 | |
... (the last 6 lines are repeated 3 more times) | |
[54] collect_similar at ./array.jl:628 [inlined] | |
[55] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term,1}) at ./abstractarray.jl:2162 | |
[56] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[57] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[58] iterate at ./generator.jl:47 [inlined] | |
[59] collect_to!(::Array{Term{Number},1}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64, ::Int64) at ./array.jl:732 | |
[60] collect_to_with_first!(::Array{Term{Number},1}, ::Term{Number}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Int64) at ./array.jl:710 | |
[61] _collect(::Array{Term{Number},1}, ::Base.Generator{Array{Term{Number},1},SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:704 | |
[62] collect_similar at ./array.jl:628 [inlined] | |
[63] map(::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}, ::Array{Term{Number},1}) at ./abstractarray.jl:2162 | |
[64] (::SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:138 | |
[65] IfElse at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 [inlined] | |
[66] (::SymbolicUtils.Rewriters.Fixpoint{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.has_trig),SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#149#221",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#150#222",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty}},false},SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:101 | |
[67] IfElse at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:48 [inlined] | |
[68] (::SymbolicUtils.Rewriters.PassThrough{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.istree),SymbolicUtils.Rewriters.Fixpoint{SymbolicUtils.Rewriters.IfElse{typeof(SymbolicUtils.has_trig),SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#149#221",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.IfElse{SymbolicUtils.var"#150#222",SymbolicUtils.Rewriters.Chain,SymbolicUtils.Rewriters.Empty}},false},SymbolicUtils.Rewriters.Walk{:post,SymbolicUtils.Rewriters.Chain,false}}},SymbolicUtils.Rewriters.Empty}})(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/rewriters.jl:128 | |
[69] simplify(::Term{Number}; polynorm::Bool, threaded::Bool, thread_subtree_cutoff::Int64, rewriter::Nothing) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/api.jl:29 | |
[70] simplify(::Term{Number}) at /home/russel/.julia/packages/SymbolicUtils/K1sGK/src/api.jl:17 | |
[71] expand_derivatives(::Term{Real}, ::Bool; occurances::Nothing) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/differentials.jl:126 | |
[72] expand_derivatives at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/differentials.jl:65 [inlined] | |
[73] jacobian(::Array{Term{Real},1}, ::Array{Term{Real},1}; simplify::Bool) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/direct.jl:22 | |
[74] calculate_jacobian(::ODESystem; sparse::Bool, simplify::Bool) at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/systems/diffeqs/abstractodesystem.jl:32 | |
[75] calculate_jacobian at /home/russel/.julia/packages/ModelingToolkit/CPB4Z/src/systems/diffeqs/abstractodesystem.jl:23 [inlined] | |
[76] MWE() at /home/russel/Desktop/Chomp/Stomp/WalkingSimulation/Pneumatic/example.jl:40 | |
[77] top-level scope at /home/russel/Desktop/Chomp/Stomp/WalkingSimulation/Pneumatic/example.jl:43 | |
[78] include(::String) at ./client.jl:457 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment