Skip to content

Commit ad415d2

Browse files
committed
little improvements
1 parent 71af8d3 commit ad415d2

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

src/Composition/responseCalculation/elasticCollisionResponse.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,22 @@ function resultantDampingCoefficient(cor, abs_vreln, vsmall, maximumContactDampi
3636
return d_res
3737
end
3838

39-
function elasticContactPairCoefficients(obj1::Object3D, obj2::Object3D)
40-
solid1::Shapes.Solid = obj1.feature
41-
solid2::Shapes.Solid = obj2.feature
42-
39+
function elasticContactPairCoefficients(obj1::Object3D{F}, obj2::Object3D{F}) where F <: Modia3D.VarFloatType
40+
solid1::Shapes.Solid{F} = obj1.feature
41+
solid2::Shapes.Solid{F} = obj2.feature
42+
mu_r_geo::F = F(0.0)
4343
if !solid1.isFlat && solid2.isFlat
4444
mu_r_geo = solid1.contactSphereRadius
4545
elseif solid1.isFlat && !solid2.isFlat
4646
mu_r_geo = solid2.contactSphereRadius
4747
else # (solid1.isFlat && solid2.isFlat) || (!solid1.isFlat && !solid2.isFlat)
48-
r1 = solid1.contactSphereRadius
49-
r2 = solid2.contactSphereRadius
48+
r1::F = solid1.contactSphereRadius
49+
r2::F = solid2.contactSphereRadius
5050
mu_r_geo = r1*r2/(r1 + r2)
5151
end
5252

53-
n_geo = 1.5
54-
c_geo = 4/3*sqrt(mu_r_geo)
53+
n_geo = F(1.5)
54+
c_geo = F(4/3*sqrt(mu_r_geo))
5555

5656
return (c_geo, n_geo, mu_r_geo)
5757
end

src/contactDetection/ContactDetectionMPR/handler.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,22 @@ AABB_touching(aabb1::Basics.BoundingBox, aabb2::Basics.BoundingBox) = aabb1.x_ma
1010

1111

1212

13-
function Composition.initializeContactDetection!(world::Composition.Object3D, scene::Composition.Scene)::Nothing
13+
function Composition.initializeContactDetection!(world::Composition.Object3D{F}, scene::Composition.Scene{F})::Nothing where F <: Modia3D.VarFloatType
1414
if typeof(scene.options.contactDetection) <: Modia3D.ContactDetectionMPR_handler
15-
ch = scene.options.contactDetection
15+
ch::Modia3D.ContactDetectionMPR_handler = scene.options.contactDetection
1616
ch.contactPairs = Composition.ContactPairs(world, scene, ch.visualizeContactPoints,
1717
ch.visualizeSupportPoints, ch.defaultContactSphereDiameter)
1818
if ch.contactPairs.nz == 0
1919
Composition.closeContactDetection!(ch)
2020
scene.collide = false
2121
@warn "... From Modia3D collision handler: Collision handling switched off, since no contacts can take place (nz=0).\n" *
2222
"... You might need to set canCollide=true at joints.\n"
23-
return
23+
return nothing
2424
end
2525
@assert(ch.contactPairs.ne > 0)
2626
@assert(ch.contactPairs.nz > 0)
2727
end
28+
return nothing
2829
end
2930

3031

0 commit comments

Comments
 (0)