sphere-wall contact direction

Asked by nobody on 2020-07-04

Hi all,

As we all know, contact normal orientation between a sphere and a wall/facet is perpendicular to the wall/facet.

I want to know if a sphere hits the wall in an inclined direction (that is to say, the sphere didn't hit the wall in the perpendicular direction), is the contact normal orientation still perpendicular to the wall?

I know this is a silly and fundamental question, I just want to make sure the contact normal orientation between the wall and spheres is always perpendicular to the wall, no matter the sphere hits the wall in any directions.

best,

Yong

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
2020-07-06
Last query:
2020-07-06
Last reply:
2020-07-05
Jan Stránský (honzik) said : #1

Hello,

> contact normal orientation between a sphere and a wall/facet is perpendicular to the wall/facet.

For facet this is not true, you can have sphere-edge or sphere-vertex type of contact and in that case the contact normal differs from the facet normal [1].

For the wall case, the contact normal is always perpendicular to the wall [2]

cheers
Jan

[1] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp#L101
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp#L211

nobody (nobody01) said : #2

Hi,

Recently, I'm doing the CPT[1] simulation. I use geom.facetCylinder and geom.facetCone to simulate the shaft and cone.
Theoretically, the cone and shaft should go vertically. I record the contact normal force and contact shear force on the shaft. As we all know, the contact normal force has three components (x, y,z directions). From the results, I found that the contact normal force has vertical components, i.e. the contact normal force has a component has is parallel with the shaft.

although the contact normal between the sphere and the facet is not perpendicular to the facet,( as you mentioned, there might be sphere-edge contact. ) why there are contact normal forces in the vertical direction??

best,
Yong

References:
[1]. https://en.wikipedia.org/wiki/Cone_penetration_test

Jan Stránský (honzik) said : #3

> From the results, I found that the contact normal force has vertical components, i.e. the contact normal force has a component has is parallel with the shaft.

sorry, I don't understand the part after "i.e" (the two "has" confuses me)

> why there are contact normal forces in the vertical direction??

Please provide a MWE [1], otherwise it is just guessing.
Simple answer is just because the edge and vertex effects.

cheers
Jan

[1] https://www.yade-dem.org/wiki/Howtoask

nobody (nobody01) said : #4

Hi Jan,

Sorry, the second "has" should be that it is parallel with the shaft.

I attached my sample and the code under this link:

https://www.dropbox.com/sh/cxy47qukgzeffcx/AABcChIOFrRuUaeLp8T3KKo5a?dl=0

##################################################
first trial:

In the code, I identified the spheres that contact the shaft and recorded the contact normal forces of these spheres. I didn't fix the x and y translational movement, but the shaft and cone don't have the translational velocity in x and y-direction.
I found that the contact normal force has a vertical component.

In my code, fnss3 is the vertical component of contact normal force. Some of them are not zero, which means the contact normal orientation is not in the horizontal plane. If we assume the shaft is in the vertical plane, even if the contact normal of the spheres are not perpendicular to the facets (shaft), they still should be in the horizontal plane.

Q1: why these contact normal are not in the horizontal plane?
##########################################################
second trial:

for the first trial, I think the reason is maybe that I didn't fix the translational movement in x and y direction, so the shaft and cone didn't go vertically. In second trial, I use the following code to fix the movement in x and y direction.
########################
#for cylinderIDS:
O.bodies[-2].state.blockedDOFs='xy'
#for coneIDS:
O.bodies[-1].state.blockedDOFs='xy'
#############################
This time, the contact normal force still has a vertical component. Besides, the displacement (delta_position) becomes nan (not a number) all the time.

best,
Yong

Best Jan Stránský (honzik) said : #5

> I attached my sample and the code under this link:

thanks, but I could not see anything in the 3D view..
Besides, please try to create a MWE. M=minimal, a few facets (you do not need complete shaft, just the "contact part") and one sphere should be enough to show/discuss the problem.

> I didn't fix the x and y translational movement, but the shaft and cone don't have the translational velocity in x and y-direction.
> for the first trial, I think the reason is maybe that I didn't fix the translational movement in x and y direction, so the shaft and cone didn't go vertically

contact normal depends only on geometry, "fixing translation" and velocity is irrelevant here.

> Some of them are not zero, which means the contact normal orientation is not in the horizontal plane. If we assume the shaft is in the vertical plane, even if the contact normal of the spheres are not perpendicular to the facets (shaft), they still should be in the horizontal plane.

Why the normals "still should be in the horizontal plane"?
If there is sphere-edge contact, the normal is in the plane perpendicular to the edge, therefore it surly can be other than horizontal.
In the case of sphere-vertex contact, the normal can be arbitrary.

cheers
Jan

nobody (nobody01) said : #6

Thanks Jan Stránský, that solved my question.