yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #20381
[Question #683065]: the direction of O.interactions.geom.normal
New question #683065 on Yade:
https://answers.launchpad.net/yade/+question/683065
Hi,
In yade, O.interactions.geom.normal gives the unit vector oriented along the interaction, from particle #1, towards particle #2
(https://yade-dev.gitlab.io/trunk/yade.wrapper.html?highlight=o%20interaction#yade.wrapper.ChCylGeom6D.normal).
My question is that the directions seems not always from Id1 towards Id2, for example:
O.bodies.append(sphere((0,0,0),radius=1,color=[1,1,1]))
O.bodies.append(sphere((0,0,1.5),radius=0.5,color=[0,0,1]))
Gl1_Sphere.quality=3
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(damping=0.4),
]
##run for one step to generate interactions
O.step()
After this, I use O.interactions[0,1].geom.normal and obtain the result as:
In [2]: O.interactions[0,1].geom.normal
Out[2]: Vector3(0,0,1).
This is reasonable, however, when I change the Id of the two spheres like:
O.bodies.append(sphere((0,0,1.5),radius=0.5,color=[0,0,1]))
O.bodies.append(sphere((0,0,0),radius=1,color=[1,1,1]))
Gl1_Sphere.quality=3
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(damping=0.4),
]
##run for one step to generate interactions
O.step()
I use O.interactions[0,1].geom.normal again to check the normal vector and obtain:
In [2]: O.interactions[0,1].geom.normal
Out[2]: Vector3(0,0,1)
which is the same as before, that means the vector normal isn't from Id1 towards Id2.
Could you please point out where is the problem?
Thanks in advance!
--
You received this question notification because your team yade-users is
an answer contact for Yade.