Skip to content

Commit b361973

Browse files
committed
Fix tests
1 parent c540835 commit b361973

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/structural_transformation/symbolics_tearing.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,12 +632,16 @@ function tearing_reassemble(state::TearingState, var_eq_matching, ag = nothing;
632632
@set! state.structure.var_to_diff = var_to_diff
633633
@set! state.structure.eq_to_diff = eq_to_diff
634634
@set! state.fullvars = fullvars = fullvars[invvarsperm]
635+
ispresent = let var_to_diff = var_to_diff, graph = graph
636+
i -> (!isempty(𝑑neighbors(graph, i)) ||
637+
(var_to_diff[i] !== nothing && !isempty(𝑑neighbors(graph, var_to_diff[i]))))
638+
end
635639

636640
sys = state.sys
637641
@set! sys.eqs = neweqs
638642
@set! sys.states = Any[v
639643
for (i, v) in enumerate(fullvars)
640-
if diff_to_var[i] === nothing && !isempty(𝑑neighbors(graph, i))]
644+
if diff_to_var[i] === nothing && ispresent(i)]
641645
removed_obs_set = BitSet(removed_obs)
642646
var_to_idx = Dict(reverse(en) for en in enumerate(fullvars))
643647
# Make sure differentiated variables don't appear in observed equations

0 commit comments

Comments
 (0)