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