3232
3333@testset  " Spring, Damper, Mass, Fixed"   begin 
3434    @named  dv =  TV. Damper (d =  1 )
35-     @named  dp =  TP. Damper (d =  1 , va  =   1 , vb  =   0.0 , flange_a . s  =   3 , flange_b . s  =   1 )
35+     @named  dp =  TP. Damper (d =  1 )
3636
3737    @named  sv =  TV. Spring (k =  1 )
38-     @named  sp =  TP. Spring (k =  1 , flange_a__s  =   3 , flange_b__s  =   1 ,  l =  1 )
38+     @named  sp =  TP. Spring (k =  1 , l =  1 )
3939
4040    @named  bv =  TV. Mass (m =  1 )
4141    @named  bp =  TP. Mass (m =  1 , v =  1 , s =  3 )
5252
5353        sys =  structural_simplify (model)
5454
55-         prob =  ODEProblem (sys, [], (0 , 20.0 ), []; initialization_eqs)
55+         prob =  ODEProblem (
56+             sys, [], (0 , 20.0 ), []; initialization_eqs, fully_determined =  true )
5657        sol =  solve (prob; abstol =  1e-9 , reltol =  1e-9 )
5758
5859        return  sol
7172
7273@testset  " driven spring damper mass"   begin 
7374    @named  dv =  TV. Damper (d =  1 )
74-     @named  dp =  TP. Damper (d =  1 , va  =   1.0 , vb  =   0.0 , flange_a . s  =   3 , flange_b . s  =   1 )
75+     @named  dp =  TP. Damper (d =  1 )
7576
7677    @named  sv =  TV. Spring (k =  1 )
77-     @named  sp =  TP. Spring (k =  1 , flange_a__s  =   3 , flange_b__s  =   1 ,  l =  1 )
78+     @named  sp =  TP. Spring (k =  1 , l =  1 )
7879
7980    @named  bv =  TV. Mass (m =  1 )
8081    @named  bp =  TP. Mass (m =  1 , v =  1 , s =  3 )
@@ -101,12 +102,13 @@ end
101102
102103    model =  System (dv, sv, bv, gv, fv, source)
103104    sys =  structural_simplify (model)
104-     prob =  ODEProblem (sys, [bv. s =>  0 ], (0 , 20.0 ), [])
105+     prob =  ODEProblem (
106+         sys, [bv. s =>  0 , sv. delta_s =>  1 ], (0 , 20.0 ), [], fully_determined =  true )
105107    solv =  solve (prob, Rodas4 ())
106108
107109    model =  System (dp, sp, bp, gp, fp, source)
108110    sys =  structural_simplify (model)
109-     prob =  ODEProblem (sys, [], (0 , 20.0 ), [])
111+     prob =  ODEProblem (sys, [], (0 , 20.0 ), [], fully_determined  =   true )
110112    solp =  solve (prob, Rodas4 ())
111113
112114    for  sol in  (solv, solp)
186188            function  mass_spring (; name)
187189                systems =  @named  begin 
188190                    fixed =  TP. Fixed ()
189-                     spring =  TP. Spring (;
190-                         k =  10.0 , l =  1.0 , flange_a__s =  0.0 , flange_b__s =  2.0 )
191+                     spring =  TP. Spring (; k =  10.0 , l =  1.0 )
191192                    mass =  TP. Mass (; m =  100.0 , s =  2.0 , v =  0.0 )
192193                    pos_sensor =  TP. PositionSensor ()
193194                    force_sensor =  TP. ForceSensor ()
207208            @named  model =  mass_spring ()
208209            sys =  structural_simplify (model)
209210
210-             prob =  ODEProblem (sys, [], (0.0 , 1.0 ))
211+             prob =  ODEProblem (sys, [], (0.0 , 1.0 ), fully_determined  =   true )
211212            sol =  solve (prob, Tsit5 ())
212213
213214            @test  all (sol[sys. spring. flange_a. f] .==  sol[sys. force_value. u])
230231            @named  sys =  ODESystem (
231232                eqs, t, [], []; systems =  [force, source, mass, acc, acc_output])
232233            s =  complete (structural_simplify (sys))
233-             prob =  ODEProblem (s, [mass. s =>  0 ], (0.0 , pi ))
234+             prob =  ODEProblem (s, [mass. s =>  0 ], (0.0 , pi ), fully_determined  =   true )
234235            sol =  solve (prob, Tsit5 ())
235236            @test  sol[sys. acc_output. u] ≈  (sol[sys. mass. f] ./  m)
236237        end 
0 commit comments