Skip to content

Commit 3b77b31

Browse files
committed
fix: retain inputs when composing systems
1 parent 6643a83 commit 3b77b31

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/systems/abstractsystem.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2665,6 +2665,15 @@ function compose(sys::AbstractSystem, systems::AbstractArray; name = nameof(sys)
26652665
end
26662666
@set! sys.unknowns = unique!(vcat(get_unknowns(sys), collect(newunknowns)))
26672667
@set! sys.ps = unique!(vcat(get_ps(sys), collect(newparams)))
2668+
2669+
newinputs = map(systems) do sys
2670+
map(x -> namespace_expr(x, sys), inputs(sys))
2671+
end
2672+
newoutputs = map(systems) do sys
2673+
map(x -> namespace_expr(x, sys), outputs(sys))
2674+
end
2675+
@set! sys.inputs = OrderedSet(reduce(union, [inputs(sys); newinputs]))
2676+
@set! sys.outputs = OrderedSet(reduce(union, [outputs(sys); newoutputs]))
26682677
return sys
26692678
end
26702679
"""

0 commit comments

Comments
 (0)