Hey Vaclav,

according to my last question I'm still trying to simulate the interaction of rigid bodys. After creating the model, I deal with the parametrization right now. Therefore some question accured, of which I hope you have some answers ;)

**1.) Friction Law**

If I understand the code correctly, then friction in woo is implemented as a Cundall-Strack-Model. For a static case (relative velocity is 0), the reaction force is that great, so the body remains static. But only if the reaction force is less equal than the Coulomb-Friction-Force of \(F = \mu_H\cdot F_N \)

For the not static case a tangential spring is initialized with the stiffness k_t. This stiffnes is calculated with the help of the two normal stifnesses of the colliding objects, which again are calculated with the help of Young's modulus E, the length l and the area A. (https://github.com/woodem/woo/blob/master/pkg/dem/FrictMat.cpp). So the only way I can control the friction is to set the parameter ktDivkn, which is the ratio of k_t/k_n. If this was right, then basically I have no other choice then fitting the parameter ktDivkn to some experimental results, because E, A, l don't have any physical influence (in real life) to the friction (which is influenced by the surface of the colliding objects).

I know that friction modelling with a tangential spring is state of the art in DEM, because of the possibilty to simulate negative tangential restitution. But is there another way designated in woo? (E.g. the classic kinetic friction coefficient?)

**2.) Contact Models**

As you said in the thread before a hertzian model is not necessary for simulating colliding planar solids. I have choosen this approach, because in this model I was able to set the restitution coefficient. I'm a bit confused about the standard linear Cundall model, in which I set a global damping factor. Is there a relation between this global damping factor and the damping factor in a Kelvin-Voigt-Model \((F = c \cdot x + d \cdot \frac{dx}{dt})\)?

My last question relates to the possibilty to set a model in an engine. I did it as shown below:

```
modelHertz=woo.models.ContactModelSelector(
name='Hertz',
damping=0,
poisson = 0.3,
restitution = 0.1)
S.engines=DemField.minimalEngines(model = modelHertz)
```

Is it possible to set different models in the engine for different colliding objects? For instance the model parameters of object A colliding with B are different than the parameters for A colliding with C.

I hope you can help me understanding these things. Thanks in advance!

Cheers, Clemens

Hi, thank you for the detailed exposition.

DEM models tend to not make distinction between static and kinetic friction coefficients, since (it is a guess, that would be for historians to determine that) DEM contacts are never purely "static" -- there will be oscillation of both patricles in contact, thus the threshold static/dynamic will be blurred. If you need that distinction, it can be implemented - if you have the formulas (which you do), it is relatively straightforward (how to make it nicely fit within the existing framework is another question).

The two parameters are ktDivKn and tanPhi. As you guessed, tanPhi is the friction angle, but not in the sense as you say above (to be honest, I've never seen that definition, but it might be different background it comes from). You say $F

f=FN\mu$, but the formulas for the DEM model is that (using terminology from plasticity) if trial tangential force is beyond the plasticity surface ($FN\mu$), there is non-associated plastic flow (displacement accumulation) and FN returns to the plastic surface (without changing $FN$). So effectively $|FT|≤F_N\mu$, and is e.g. zero for zero normal force.There are more exact solutions of the slip problem in tribology (contact science), like partial-slip solutions, partial plasticity and so on, but those are again too detailed for DEM (which given its idealizations does not need such solutions mostly).

So I think you will get what you expect, but need to rephrase it. The tangential modulus (k

t=kN*ktDivKn) is defined using the dimensionless ktDivKn so that it suffices to change`young`

(and indirectly $k_N$) to increase material stiffness.What is the problem you are simulating? That might also reveal what you need.

I will be away till Wednesday, in case I am delayed with answering.

HTH, vaclav