@@ -9,29 +9,28 @@ using Test
99
1010eqs = [D (x) ~ σ* (y- x),
1111 D (y) ~ x* (ρ- z)- y,
12- 0 ~ x + y + z]
12+ 0 ~ x + y + β * z]
1313
14- de1 = ODESystem (eqs,t,[x,y,z],[σ,ρ,β],name= :lorenz1 )
15- de2 = ODESystem (eqs,t,[x,y,z],[σ,ρ,β],name= :lorenz2 )
14+ lorenz1 = ODESystem (eqs,t,[x,y,z],[σ,ρ,β],name= :lorenz1 )
15+ lorenz2 = ODESystem (eqs,t,[x,y,z],[σ,ρ,β],name= :lorenz2 )
1616
1717@parameters α
1818@variables a (t)
19- for
19+ connnectedeqs = [ D (a) ~ a * states (lorenz1, :x )]
2020
21- convert (DAESystem,sys)
22- convert (ODESystem,sys)
21+ connected = ODESystem (connnectedeqs,t,[a],[α],systems= [lorenz1,lorenz2],name= :connectedlorenz )
2322
24- connected = ODESystems (connnectedeqs,[a],[α],systems= [de1,de2],name= :connectedlorenz )
23+ @variables lorenz1′x (t) lorenz1′y (t) lorenz1′z (t) lorenz2′x (t) lorenz2′y (t) lorenz2′z (t)
24+ @parameters lorenz1′σ lorenz1′ρ lorenz1′β lorenz2′σ lorenz2′ρ lorenz2′β
2525
26- deleteat! (de2. eqs,3 )
27- de2
28- push! (de2. eqs,convert (ModelingToolkit. ODEExpr,D (z) ~ z^ 2 )[2 ])
26+ eqs_flat = [D (a) ~ a* lorenz1′x,
27+ D (lorenz1′x) ~ lorenz1′σ* (lorenz1′y- lorenz1′x),
28+ D (lorenz1′y) ~ lorenz1′x* (lorenz1′ρ- lorenz1′z)- lorenz1′y,
29+ 0 ~ lorenz1′x + lorenz1′y + lorenz1′β* lorenz1′z,
30+ D (lorenz2′x) ~ lorenz2′σ* (lorenz2′y- lorenz2′x),
31+ D (lorenz2′y) ~ lorenz2′x* (lorenz2′ρ- lorenz2′z)- lorenz2′y,
32+ 0 ~ lorenz2′x + lorenz2′y + lorenz2′β* lorenz2′z]
2933
30- check_consistency (de2)
31-
32- b = a* z
33- [states (de1,:x ) ~ α* states (de2,:z ),
34- D (a) ~ b* states (de1,:x )]
35-
36- states (states) == [lorenz1′x,lorenz1′y,lorenz1′z,lorenz2′x,lorenz2′y,lorenz2′z,a]
37- parameters (connected) == [lorenz1′σ,lorenz1′ρ,lorenz1′β,lorenz2′σ,lorenz2′ρ,lorenz2′β,α]
34+ @test [x. name for x in states (connected)] == [:a ,:lorenz1′x ,:lorenz1′y ,:lorenz1′z ,:lorenz2′x ,:lorenz2′y ,:lorenz2′z ]
35+ @test [x. name for x in parameters (connected)] == [:α ,:lorenz1′σ ,:lorenz1′ρ ,:lorenz1′β ,:lorenz2′σ ,:lorenz2′ρ ,:lorenz2′β ]
36+ @test eqs_flat == equations (connected)
0 commit comments