ModelingToolkit.jl
ModelingToolkit.jl copied to clipboard
Sym doesn't have a operation or arguments
The following example errors with MTK (works with JuliaSimCompiler)
using ModelingToolkit
using Multibody
t = Multibody.t
D = Differential(t)
world = Multibody.world
@named body = Body(; m = 1, isroot = false, r_cm = [0, 0, 0])
@named damper = Translational.Damper(d=0.5)
@named spring = Translational.Spring(c=1)
@named joint = Prismatic(n = [0, 1, 0], isroot = true, useAxisFlange = true)
connections = [connect(world.frame_b, joint.frame_a)
connect(damper.flange_b, spring.flange_b, joint.axis)
connect(joint.support, damper.flange_a, spring.flange_a)
connect(body.frame_a, joint.frame_b)]
@named model = ODESystem(connections, t, systems = [world, joint, body, damper, spring])
ssys = structural_simplify(IRSystem(model))
julia> ssys = structural_simplify((model), allow_parameter = false)
ERROR: Sym doesn't have a operation or arguments!
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] collect_to!
@ ./essentials.jl:0
[3] setindex!
@ ./array.jl:1019 [inlined]
[4] push!
@ ~/.julia/packages/DataStructures/MKv4P/src/deque.jl:226 [inlined]
[5] enqueue!
@ ~/.julia/packages/DataStructures/MKv4P/src/queue.jl:28 [inlined]
[6] #topsort_equations#1047
@ ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/alias_elimination.jl:443
[7] _Task
@ ./boot.jl:453 [inlined]
[8] Task (repeats 2 times)
@ ./task.jl:5 [inlined]
[9] macro expansion
@ ./task.jl:521 [inlined]
[10] #244
@ ~/.julia/juliaup/julia-1.10.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.10/Pkg/src/API.jl:1372
[11] diff2term(O::SymbolicUtils.BasicSymbolic{Real})
@ Symbolics ~/.julia/packages/Symbolics/gBKZv/src/utils.jl:0
[12] tearing_reassemble(state::TearingState{…}, var_eq_matching::ModelingToolkit.BipartiteGraphs.Matching{…}; simplify::Bool, mm::ModelingToolkit.SparseMatrixCLIL{…})
@ ModelingToolkit.StructuralTransformations ~/.julia/packages/ModelingToolkit/oIgbi/src/structural_transformation/symbolics_tearing.jl:260
[13] tearing_reassemble
@ ModelingToolkit.StructuralTransformations ~/.julia/packages/ModelingToolkit/oIgbi/src/structural_transformation/symbolics_tearing.jl:220 [inlined]
[14] #dummy_derivative#132
@ ModelingToolkit.StructuralTransformations ~/.julia/packages/ModelingToolkit/oIgbi/src/structural_transformation/symbolics_tearing.jl:635 [inlined]
[15] _structural_simplify!(state::TearingState{…}, io::Nothing; simplify::Bool, check_consistency::Bool, fully_determined::Bool, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systemstructure.jl:612
[16] _structural_simplify!
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systemstructure.jl:597 [inlined]
[17] structural_simplify!(state::TearingState{…}, io::Nothing; simplify::Bool, check_consistency::Bool, fully_determined::Bool, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systemstructure.jl:563
[18] __structural_simplify(sys::ODESystem, io::Nothing; simplify::Bool, kwargs::@Kwargs{allow_parameter::Bool})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systems.jl:56
[19] __structural_simplify
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systems.jl:36 [inlined]
[20] structural_simplify(sys::ODESystem, io::Nothing; simplify::Bool, kwargs::@Kwargs{allow_parameter::Bool})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systems.jl:21
[21] structural_simplify
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/oIgbi/src/systems/systems.jl:19 [inlined]
[22] top-level scope
@ REPL[150]:1
Some type information was truncated. Use `show(err)` to see complete types.
@YingboMa can you diagnose what this is? I can't eyeball what would even cause that error 😅
Hello, I would like to know if there is a resolution for this issue. Thank you so much.
I think its pretty dead now. :(