← Back to team overview

yade-dev team mailing list archive

Re: boxes with torsional moment and box-box-interactions

 

>
> Back to theory:
> In DEM one gets a contact force F_c from the contact law. From F_c one
> gets angular moment M of the body (cross product with r_c and sum over
> all contacts c). The angular moment is given by multiplication of
> torsional moment J and angular acceleration a_a.
>
> M = J*a_a     (1)
>

I see. In fact J is the "inertia tensor", not "torsional moment", that's
why I was confused.
"Torsion" refers to the projection of a torque (M is torque) on a given
axis (the normal of a contact), it doesn't appear in this equation.
>
> Or another question also comes in my mind: How is it done with clumped
> spheres?
>
The million dollars question...
You are in fact speaking of what is called "aspherical" rotation in
NewtonIntegrator, which handles the case where J is not isotropic.
The definition of J is another problem. It is currently done by summing
the inertia of each sphere in the clump. It is clearly overestimating
the inertia in the sense that overlaping regions are counted multiple
times, but counting them is painfull (not impossible, but needs to be
implemented).

If aspherical rotations are disabled in Newton, then the clump will be
computed just like a sphere, approximating J by scalar*identity.
The difference doesn't matter in slow deformations. For dynamic
problems, of course, this is completely wrong.

>
> Right, but isnt it too expensive in terms of CPU time? I mean a box
> has eight vertices and every vertex will be replaced by numerous
> triangles with a lot of vertices in the rounded case ...

Oh, no! Each vertex will be replaced by one sphere. The figure I posted
was misleading because the surface was triangulated. The idea is really
to replace vertices with spheres and edges with cylinders. Only the flat
zones are not spherical.
This is more or less what chained cylinders are doing: replacing a
polyline by Minkowsky sum of polyline and sphere.
You could inspect chained-cylinder-springs.py to understand this type of
geometry.

Bruno



References