Skip to content

Commit 32d717c

Browse files
committed
update models
1 parent 595aa22 commit 32d717c

File tree

3 files changed

+42
-4
lines changed

3 files changed

+42
-4
lines changed

test/Collision/BouncingEllipsoid.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,11 @@ BouncingEllipsoid = Model(
2929

3030
bouncingEllipsoid = @instantiateModel(buildModia3D(BouncingEllipsoid), unitless=true, log=false, logStateSelection=false, logCode=false)
3131

32-
#@show bouncingEllipsoid.parameterExpressions
33-
#@show bouncingEllipsoid.parameters
3432

3533
stopTime = 2.0
3634
tolerance = 1e-8
37-
requiredFinalStates = [-0.45515799147473335, 0.05676993769652407, 1.178459912041914, -0.10966302200496965, -0.367365395565088, 0.2903115082177484, 8.759390647284498, -1.3086676277009546, -2.341163220615624, -0.10934417069415246, -1.1736634425032262, -5.6404159425069835]
38-
simulate!(bouncingEllipsoid, stopTime=stopTime, tolerance=tolerance, log=true, logStates=true, logEvents=false, requiredFinalStates=requiredFinalStates)
35+
requiredFinalStates = [-0.4545597005152044, 0.05683453468299216, 1.1778521103823525, -0.1092425125321821, -0.3622646259841156, 0.28841460521917095, 8.7681878487027, -1.30949181179306, -2.334787231141352, -0.08949785426141968, -1.1664892577220993, -5.628568253333571]
36+
simulate!(bouncingEllipsoid, stopTime=stopTime, tolerance=tolerance, log=true, requiredFinalStates=requiredFinalStates)
3937

4038
@usingModiaPlot
4139
plot(bouncingEllipsoid, ["free.r" "free.rot"; "free.v" "free.w"], figure=1)
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
module BouncingEllipsoidSimulation
2+
3+
using ModiaLang
4+
import Modia3D
5+
using Modia3D.ModiaInterface
6+
7+
BouncingEllipsoid = Model(
8+
boxHeigth = 0.1,
9+
gravField = UniformGravityField(g=9.81, n=[0, -1, 0]),
10+
world = Object3D(feature=Scene(gravityField=:gravField,
11+
mprTolerance=1.0e-19,
12+
defaultFrameLength=0.2,
13+
enableContactDetection=true)),
14+
worldFrame = Object3D(parent=:world, feature=Visual(shape=CoordinateSystem(length=0.5))),
15+
ground = Object3D(parent=:world,
16+
translation=:[0.0,-boxHeigth/2,0.0],
17+
feature=Solid(shape=Sphere(diameter=1.5),
18+
visualMaterial=VisualMaterial(color="DarkGreen", transparency=0.5),
19+
solidMaterial="Steel",
20+
collision=true)),
21+
ellipsoid = Object3D(feature=Solid(shape=Ellipsoid(lengthX=0.1, lengthY=0.2, lengthZ=0.3),
22+
visualMaterial=VisualMaterial(color="Blue"),
23+
solidMaterial="Steel",
24+
collision=true)),
25+
free = FreeMotion(obj1=:world, obj2=:ellipsoid, r=Var(init=[0.0, 1.0, 0.0]), w=Var(init=[5.0, 0.0, -2.0]))
26+
)
27+
28+
bouncingEllipsoid = @instantiateModel(buildModia3D(BouncingEllipsoid), unitless=true, log=false, logStateSelection=false, logCode=false)
29+
30+
31+
stopTime = 2.0
32+
tolerance = 1e-8
33+
requiredFinalStates = [1.9013751140911312, -5.182612613347552, -0.6285338998457255, 1.3889960373284438, -10.631628266236548, -0.35235710867283077, 2.6873629925159035, 0.23896916015991412, -8.030636545239265, 6.713810967152868, -1.2032068837594854, -12.984033346958665]
34+
simulate!(bouncingEllipsoid, stopTime=stopTime, tolerance=tolerance, log=true, requiredFinalStates=requiredFinalStates)
35+
36+
@usingModiaPlot
37+
plot(bouncingEllipsoid, ["free.r" "free.rot"; "free.v" "free.w"], figure=1)
38+
39+
end

test/includeTests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ Test.@testset "Collision" begin
4444
include(joinpath("Collision", "BouncingSphere.jl"))
4545
include(joinpath("Collision", "BouncingSphereFreeMotion.jl"))
4646
include(joinpath("Collision", "BouncingEllipsoid.jl"))
47+
include(joinpath("Collision", "BouncingEllipsoidOnSphere.jl"))
4748
include(joinpath("Collision", "TwoCollidingBalls.jl"))
4849
include(joinpath("Collision", "TwoCollidingBoxes.jl"))
4950
include(joinpath("Collision", "CollidingCylinders.jl"))

0 commit comments

Comments
 (0)