1
+ # using Revise
2
+ # using Plots
1
3
using ModelingToolkit, OrdinaryDiffEq, Test
2
4
using ModelingToolkitStandardLibrary. Mechanical. PlanarMechanics
3
5
@@ -9,8 +11,8 @@ g = -9.807
9
11
@testset " Free body" begin
10
12
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/FreeBody.mo
11
13
m = 2
12
- j = 1
13
- @named body = Body (; m, j )
14
+ I = 1
15
+ @named body = Body (; m, I )
14
16
@named model = ODESystem (Equation[],
15
17
t,
16
18
[],
34
36
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/Pendulum.mo
35
37
@named ceiling = Fixed ()
36
38
@named rod = FixedTranslation (rx = 1.0 , ry = 0.0 )
37
- @named body = Body (m = 1 , j = 0.1 )
39
+ @named body = Body (m = 1 , I = 0.1 )
38
40
@named revolute = Revolute ()
39
41
40
42
connections = [
50
52
systems = [body, revolute, rod, ceiling])
51
53
sys = structural_simplify (model)
52
54
53
- @test length (states (sys)) == 7
55
+ @test_broken length (states (sys)) == 2
56
+ unset_vars = setdiff (states (sys), keys (ModelingToolkit. defaults (sys)))
57
+ prob = ODEProblem (sys, unset_vars .=> 0.0 , tspan, []; jac = true )
58
+
59
+ sol = solve (prob, Rodas5P ())
60
+ @test_broken SciMLBase. successful_retcode (sol)
54
61
end
55
62
56
63
@testset " Prismatic" begin
61
68
@testset " AbsoluteAccCentrifugal" begin
62
69
# https://github.com/dzimmer/PlanarMechanics/blob/443b007bcc1522bb172f13012e2d7a8ecc3f7a9b/PlanarMechanicsTest/Sensors.mo#L221-L332
63
70
m = 1
64
- j = 0.1
71
+ I = 0.1
65
72
ω = 10
66
73
resolve_in_frame = :world
67
74
68
75
# components
69
- @named body = Body (; m, j , gy = 0.0 )
76
+ @named body = Body (; m, I , gy = 0.0 )
70
77
@named fixed_translation = FixedTranslation (; rx = 10.0 , ry = 0.0 )
71
78
@named fixed = Fixed ()
72
79
@named revolute = Revolute (constant_ω = ω)
@@ -114,11 +121,11 @@ end
114
121
115
122
@testset " Sensors (two free falling bodies)" begin
116
123
m = 1
117
- j = 1
124
+ I = 1
118
125
resolve_in_frame = :world
119
126
120
- @named body1 = Body (; m, j )
121
- @named body2 = Body (; m, j )
127
+ @named body1 = Body (; m, I )
128
+ @named body2 = Body (; m, I )
122
129
@named base = Fixed ()
123
130
124
131
@named abs_pos_sensor = AbsolutePosition (; resolve_in_frame)
@@ -209,10 +216,10 @@ end
209
216
210
217
@testset " Measure Demo" begin
211
218
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/MeasureDemo.mo
212
- @named body = Body (; m = 1 , j = 0.1 )
219
+ @named body = Body (; m = 1 , I = 0.1 )
213
220
@named fixed_translation = FixedTranslation (; rx = 1 , ry = 0 )
214
221
@named fixed = Fixed ()
215
- @named body1 = Body (; m = 0.4 , j = 0.02 )
222
+ @named body1 = Body (; m = 0.4 , I = 0.02 )
216
223
@named fixed_translation1 = FixedTranslation (; rx = 0.4 , ry = 0 )
217
224
@named abs_pos_sensor = AbsolutePosition (; resolve_in_frame = :world )
218
225
@named rel_pos_sensor = RelativePosition (; resolve_in_frame = :world )
274
281
c_x = 5 ,
275
282
d_x = 1 ,
276
283
c_phi = 0 )
277
- @named body = Body (; j = 0.1 , m = 0.5 , rx = 1 , ry = 1 )
284
+ @named body = Body (; I = 0.1 , m = 0.5 , rx = 1 , ry = 1 )
278
285
@named fixed = Fixed ()
279
286
@named fixed_translation = FixedTranslation (; rx = - 1 , ry = 0 )
280
287
302
309
303
310
@testset " Spring and damper demo" begin
304
311
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/SpringDemo.mo
305
- @named body = Body (; m = 0.5 , j = 0.1 )
312
+ @named body = Body (; m = 0.5 , I = 0.1 )
306
313
@named fixed = Fixed ()
307
314
@named spring = Spring (; c_y = 10 , s_rely0 = - 0.5 , c_x = 1 , c_phi = 1e5 )
308
315
@named damper = Damper (d = 1 )
0 commit comments