@@ -75,11 +75,9 @@ connected = ODESystem([s ~ a + lorenz1.x
75
75
76
76
# Reduced Flattened System
77
77
78
- flattened_system = ModelingToolkit . flatten (connected)
78
+ reduced_system = alias_elimination (connected; conservative = false )
79
79
80
- aliased_flattened_system = alias_elimination (flattened_system; conservative= false )
81
-
82
- @test setdiff (states (aliased_flattened_system), [
80
+ @test setdiff (states (reduced_system), [
83
81
a
84
82
lorenz1. x
85
83
lorenz1. y
@@ -89,7 +87,7 @@ aliased_flattened_system = alias_elimination(flattened_system; conservative=fals
89
87
lorenz2. z
90
88
]) |> isempty
91
89
92
- @test setdiff (parameters (aliased_flattened_system ), [
90
+ @test setdiff (parameters (reduced_system ), [
93
91
lorenz1. σ
94
92
lorenz1. ρ
95
93
lorenz1. β
@@ -108,9 +106,9 @@ reduced_eqs = [
108
106
0 ~ a + lorenz1. x - lorenz2. y
109
107
]
110
108
# SymbolicUtils bug
111
- # equations(aliased_flattened_system )[2] - (lorenz1.x*(lorenz1.ρ - (lorenz1.z)) - lorenz1.x + lorenz1.y - lorenz1.z)
109
+ # equations(reduced_system )[2] - (lorenz1.x*(lorenz1.ρ - (lorenz1.z)) - lorenz1.x + lorenz1.y - lorenz1.z)
112
110
# is not simplifed.
113
- @test_skip test_equal .(equations (aliased_flattened_system ), reduced_eqs)
111
+ @test_skip test_equal .(equations (reduced_system ), reduced_eqs)
114
112
115
113
observed_eqs = [
116
114
s ~ a + lorenz1. x
@@ -119,7 +117,7 @@ observed_eqs = [
119
117
lorenz2. F ~ lorenz1. u
120
118
lorenz1. F ~ lorenz2. u
121
119
]
122
- test_equal .(observed (aliased_flattened_system ), observed_eqs)
120
+ test_equal .(observed (reduced_system ), observed_eqs)
123
121
124
122
pp = [
125
123
lorenz1. σ => 10
@@ -138,7 +136,7 @@ u0 = [
138
136
lorenz2. y => 0.0
139
137
lorenz2. z => 0.0
140
138
]
141
- prob1 = ODEProblem (aliased_flattened_system , u0, (0.0 , 100.0 ), pp)
139
+ prob1 = ODEProblem (reduced_system , u0, (0.0 , 100.0 ), pp)
142
140
solve (prob1, Rodas5 ())
143
141
144
142
# issue #578
151
149
x ~ y
152
150
]
153
151
sys = ODESystem (eqs, t)
154
- asys = alias_elimination (flatten ( sys) )
152
+ asys = alias_elimination (sys)
155
153
156
154
test_equal .(asys. eqs, [D (x) ~ 2 x])
157
155
test_equal .(asys. observed, [y ~ x])
173
171
]
174
172
connected = ODESystem (connections, t, systems= [ol, pc])
175
173
@test equations (connected) isa Vector{Equation}
176
- sys = flatten (connected)
177
- reduced_sys = alias_elimination (sys)
174
+ reduced_sys = alias_elimination (connected)
178
175
ref_eqs = [
179
176
D (ol. x) ~ ol. a* ol. x + ol. b* pc. u_c
180
177
0 ~ ol. c* ol. x + ol. d* pc. u_c - ol. y
0 commit comments