-
-
Notifications
You must be signed in to change notification settings - Fork 230
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
I have a kite model with discretized tethers consisting of segments. The model works with 2, 3, 4, 5, and 7 segments per tether, but when creating the problem with 6 segments, I get the error shown below. Sadly I could not make a MWE here, as I only get this error in this specific model with this specific number of segments... To reproduce you have to install KiteModels.jl#six-seg and run examples/input_output_function.jl
.
Stacktrace:
ERROR: LoadError: AssertionError: r == 0
Stacktrace:
[1] exactdiv
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:378 [inlined]
[2] bareiss_update_virtual_colswap_mtk!(zero!::Function, M::ModelingToolkit.SparseMatrixCLIL{…}, k::Int64, swapto::CartesianIndex{…}, pivot::Int64, last_pivot::Int64; pivot_equal_optimization::Bool)
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/sparsematrixclil.jl:239
[3] bareiss_update_virtual_colswap_mtk!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/sparsematrixclil.jl:134 [inlined]
[4] bareiss!(M::ModelingToolkit.SparseMatrixCLIL{…}, swap_strategy::Tuple{…}; find_pivot::ModelingToolkit.var"#1711#1715"{…}, column_pivots::Nothing)
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/structural_transformation/bareiss.jl:210
[5] bareiss!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/structural_transformation/bareiss.jl:191 [inlined]
[6] do_bareiss!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:344 [inlined]
[7] aag_bareiss!(structure::SystemStructure, mm_orig::ModelingToolkit.SparseMatrixCLIL{Int64, Int64})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:295
[8] alias_eliminate_graph!(state::TearingState{NonlinearSystem}, ils::ModelingToolkit.SparseMatrixCLIL{Int64, Int64})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:356
[9] alias_eliminate_graph!(state::TearingState{NonlinearSystem}; kwargs::@Kwargs{allow_symbolic::Bool, allow_parameter::Bool, conservative::Bool})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:11
[10] alias_eliminate_graph!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:4 [inlined]
[11] alias_elimination!(state::TearingState{NonlinearSystem}; kwargs::@Kwargs{allow_symbolic::Bool, allow_parameter::Bool, conservative::Bool})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:50
[12] alias_elimination!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/alias_elimination.jl:46 [inlined]
[13] _structural_simplify!(state::TearingState{…}, io::Nothing; simplify::Bool, check_consistency::Bool, fully_determined::Nothing, warn_initialize_determined::Bool, dummy_derivative::Bool, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systemstructure.jl:705
[14] _structural_simplify!
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systemstructure.jl:686 [inlined]
[15] #structural_simplify!#1566
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systemstructure.jl:679 [inlined]
[16] __structural_simplify(sys::NonlinearSystem, io::Nothing; simplify::Bool, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systems.jl:91
[17] __structural_simplify
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systems.jl:72 [inlined]
[18] structural_simplify(sys::NonlinearSystem, io::Nothing; additional_passes::Vector{…}, simplify::Bool, split::Bool, allow_symbolic::Bool, allow_parameter::Bool, conservative::Bool, fully_determined::Nothing, kwargs::@Kwargs{})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systems.jl:33
[19] structural_simplify (repeats 2 times)
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/systems.jl:28 [inlined]
[20] ModelingToolkit.InitializationProblem{…}(sys::ODESystem, t::Float64, u0map::Dict{…}, parammap::Dict{…}; guesses::Dict{…}, check_length::Bool, warn_initialize_determined::Bool, initialization_eqs::Vector{…}, fully_determined::Nothing, check_units::Bool, use_scc::Bool, allow_incomplete::Bool, force_time_independent::Bool, algebraic_only::Bool, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/diffeqs/abstractodesystem.jl:1407
[21] maybe_build_initialization_problem(sys::ODESystem, op::Dict{…}, u0map::Dict{…}, pmap::Dict{…}, t::Float64, defs::Dict{…}, guesses::Vector{…}, missing_unknowns::Set{…}; implicit_dae::Bool, u0_constructor::Function, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/problem_utils.jl:658
[22] maybe_build_initialization_problem
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/problem_utils.jl:649 [inlined]
[23] process_SciMLProblem(constructor::Type, sys::ODESystem, u0map::Vector{…}, pmap::SciMLBase.NullParameters; build_initializeprob::Bool, implicit_dae::Bool, t::Float64, guesses::Vector{…}, warn_initialize_determined::Bool, initialization_eqs::Vector{…}, eval_expression::Bool, eval_module::Module, fully_determined::Nothing, check_initialization_units::Bool, tofloat::Bool, u0_constructor::typeof(identity), du0map::Nothing, check_length::Bool, symbolic_u0::Bool, warn_cyclic_dependency::Bool, circular_dependency_max_cycle_length::Int64, circular_dependency_max_cycles::Int64, substitution_limit::Int64, use_scc::Bool, force_initialization_time_independent::Bool, algebraic_only::Bool, allow_incomplete::Bool, is_initializeprob::Bool, kwargs::@Kwargs{})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/problem_utils.jl:826
[24] (ODEProblem{…})(sys::ODESystem, u0map::Vector{…}, tspan::Tuple{…}, parammap::SciMLBase.NullParameters; callback::Nothing, check_length::Bool, warn_initialize_determined::Bool, eval_expression::Bool, eval_module::Module, kwargs::@Kwargs{…})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/diffeqs/abstractodesystem.jl:748
[25] ODEProblem
@ ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/diffeqs/abstractodesystem.jl:730 [inlined]
[26] (ODEProblem{true})(::ODESystem, ::Vector{Pair{Num, Real}}, ::Vararg{Any}; kwargs::@Kwargs{guesses::Vector{Pair{Num, Real}}})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/diffeqs/abstractodesystem.jl:723
[27] ODEProblem(::ODESystem, ::Vector{Pair{Num, Real}}, ::Vararg{Any}; kwargs::@Kwargs{guesses::Vector{Pair{Num, Real}}})
@ ModelingToolkit ~/.julia/packages/ModelingToolkit/vIsAP/src/systems/diffeqs/abstractodesystem.jl:712
[28] init_sim!(s::RamAirKite{Float64, Vector{Float64}, 21}, measure::Measurement; prn::Bool)
@ KiteModels ~/Code/KiteModels.jl/src/ram_air_kite.jl:395
[29] init_sim!(s::RamAirKite{Float64, Vector{Float64}, 21}, measure::Measurement)
@ KiteModels ~/Code/KiteModels.jl/src/ram_air_kite.jl:381
[30] top-level scope
@ ~/Code/KiteModels.jl/examples/input_output_function.jl:48
[31] include(fname::String)
@ Main ./sysimg.jl:38
[32] top-level scope
@ REPL[1]:1
in expression starting at /home/bart/Code/KiteModels.jl/examples/input_output_function.jl:48
Some type information was truncated. Use `show(err)` to see complete types.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working