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 hidden or 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 hidden or 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