Re: [Question #694390]: sphere-facet contact

```Question #694390 on Yade changed:

Jan Stránský proposed the following answer:
Hello,

> This means the timestep for these two simulations should be the same.
why the particles blow up?

It depends what "should be the same" does mean.
Yes, the time step is ok for sphere-one facet contact and should be the same.
You have sphere-multiple facet contact, so the overall time step should NOT be he same, see below.

All the points you mentioned are basically correct.

The stiffness of sphere-one facet contact has absolutely no problems.
Contact point, normal vector and forces are computed "naturally" and expectedly.
Also critical time step for the contact follows the p-wave rules.

What is a problem is contact of one sphere with multiple facets at once, where in reality there is just one surface.
Time step computation is derived from mass-spring system, from **one** interaction.

At the edge, "normally" the sphere would interact with the surface with its stiffness K.
For penetration depth pd, the repulsive force F would be something like F=K*pd.
But you have two facets. The sphere get repulsive force from both facets independently, from each one F1=K*pd, totally from two facets is F=2*F1=2*K*pd.

Now if you have vertex with 50 facets, the sphere get repulsive force
from 50 facets independently, from each one F1=K*pd, totally from 50
facets is F=50*F1=50*K*pd.

F1 = K*pd
F = 50*K*pd = (50*K)*pd
K, true facet stiffness is still the same.
But the "overall vertex stiffness" is (50*K), 50 times higher, it should be clear from the formulas why.

So you have discrepancy between critical time step assumptions (one
interaction) and reality (50 interactions).

> Do we have any detailed information about the sphere-facet contact?
where I can understand it thoroughly.

Source code is probably the best source. But as mentioned, the sphere-facet contact itself is not the problem.
The problem is actually not related to sphere-facet contact, but to the problem of contact of one sphere with multiple bodies "at the same place".
If you model some rough surface with multiple extensively overlapping spheres, you would come to the same problem.

Also, in 3D, spheres may have multiple interactions in "random"
directions, resulting on "overall stiffness" higher than that of one
interaction. Therefore safety factor is often used (with value of 0.7 or
0.8) w.r.t PWaveTimeStep result.

cheers
Jan

--