Skip to content

Commit c2411b2

Browse files
committed
test: update tests for Translational systems to verify that the initialization is fully determined
1 parent ea8e0c3 commit c2411b2

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

test/Mechanical/translational.jl

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ end
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)
@@ -52,7 +52,8 @@ end
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
@@ -71,10 +72,10 @@ end
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)
@@ -186,8 +188,7 @@ end
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()
@@ -207,7 +208,7 @@ end
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])
@@ -230,7 +231,7 @@ end
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

Comments
 (0)