Friction and Damping

Asked by Piotr Klejment

Hello!

I would like to ask about my doubts concerning friction and damping.

sim.createInteractionGroup (
FrictionPrms(
name="friction",
youngsModulus=100000.0,
poissonsRatio=0.25,
dynamicMu=0.4,
staticMu=0.6
)
)

sim.createInteractionGroup (
LinDampingPrms(
name="damping1",
viscosity=0.002,
maxIterations=50
)
)

sim.createInteractionGroup (
RotDampingPrms(
name="damping2",
viscosity=0.002,
maxIterations=50
)
)

According to the tutotial: "for elastodynamic problems, a small value is sufficient (viscosity < 0:05) whereas for quasi-static problems a value as large as viscosity ~ 0:5 might be appropriate." and "the staticMu coefficient of friction is applied when two particles are in static frictional contact, i.e., prior to the fi
rst time the frictional sliding criterion is met. Thereafter the dynamicMu coefficient of friction is applied. By setting dynamicMu < staticMu, one can simulate the physical observation that the frictional force required to maintain sliding is less than the force necessary to initiate sliding."

However, do these parameters (viscosity, dynamicMu, staticMu) depend on any parameters of the model?

Thank you and best regards!

Question information

Language:
English Edit question
Status:
Solved
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Solved by:
Dion Weatherley
Solved:
Last query:
Last reply:
Revision history for this message
Best Dion Weatherley (d-weatherley) said :
#1

Hi Glaubiger,

There three are all model parameters that the user must specify.

The friction coefficients (dynamicMu and staticMu) are dimensionless and for real materials, are typically in the range 0.2-0.8. dynamicMu should be less than or equal to staticMu. Friction coefficients are technically the tangent of a friction angle. I typically use dynamicMu=staticMu=0.6.

The viscosity parameter is generally a bit more difficult to specify. It has units of 1/Time so it's value depends on the system of units you choose to use for defining other model parameters such as particle density, Young's moduli, particle radii etc. Generally in simulations involving Lin/RotDamping, you will need to run a few simulations with different values of the viscosity parameter and observe whether the simulation is sufficiently damped. Plotting the total kinetic energy versus time is a good way to see if the viscosity is sufficient.

An alternative choice for damping is the LocalDampingPrms (and RotLocalDampingPrms). The viscosity parameter for these interactions is dimensionless and takes a value in the range 0.0 to 1.0. A low value implies very little damping whilst a high value implies quite severe damping. Generally it is much easier to select an appropriate value for viscosity using these interaction groups. If you wish to conduct quasi-static simulations, viscosity=0.8 is a reasonable choice. I should note however that the LocalDamping interactions are not advisable for simulations involving gravity as particles will experience a slightly different gravitational acceleration depending on whether they are moving upwards or downwards with respect to the direction of gravity.

Another interaction group you may find useful is the recently added SpringDashpotFrictionPrms interaction group. This interaction adds a dashpot between touching particles to damp relative normal motion between the particles, as well as friction in the tangential direction. Generally one does not need additional DampingPrms interaction groups when using SpringDashpotFrictionPrms, however this interaction is only appropriate for non-rotational particles. Here's an example of usage:

sim.createInteractionGroup (
   SpringDashpotFrictionPrms (
      name = "pp_repel",
      youngsModulus = 1.0e5,
      poissonsRatio = 0.25,
      restitution = 0.8,
      dynamicMu = 0.6
   )
)

The "restitution" parameter is a Coefficient of Restitution which is dimensionless and <=1.0. Rocks generally have a coefficient of restitution around 0.8.

Cheers,

Dion

Revision history for this message
Piotr Klejment (glaubiger) said :
#2

Thank you Dion for your help!

Revision history for this message
Piotr Klejment (glaubiger) said :
#3

Thanks Dion Weatherley, that solved my question.