Skip to content

Commit b4dbfaa

Browse files
Merge pull request #68 from JuliaComputing/as/fix-unhack-sys
fix: allow multiple observables to solve from the same inline linsolve index
2 parents 472ffa5 + f2f4d36 commit b4dbfaa

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

lib/ModelingToolkitTearing/src/ModelingToolkitTearing.jl

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ function MTKBase.unhack_system(sys::System)
159159
subst = SU.Substituter{false}(additional_subs, SU.default_substitute_filter)
160160
obseqs = obseqs[obs_mask]
161161
map!(subst, obseqs, obseqs)
162-
map!(subst, additional_eqs, additional_eqs)
163162
append!(eqs, additional_eqs)
163+
map!(subst, eqs, eqs)
164164

165165
if sched isa MTKBase.Schedule
166166
map!(subst, values(sched.dummy_sub))
@@ -190,14 +190,7 @@ function populate_inline_scc_map!(
190190
is_ldiv || return
191191
len = length(ldiv)
192192
buffer = get!(() -> zeros(Int, len), inline_linear_scc_map, ldiv)
193-
if !iszero(buffer[idx])
194-
is_diffeq && return
195-
throw(ArgumentError("""
196-
Found multiple inline linear solves solving the same variable. \
197-
This should not be possible. Please open an issue in \
198-
`ModelingToolkit.jl` with an MWE.
199-
"""))
200-
end
193+
iszero(buffer[idx]) || return
201194
buffer[idx] = ifelse(is_diffeq, -eq_i, eq_i)
202195
end
203196

0 commit comments

Comments
 (0)