how can i simulate rolling friction?

Asked by Christian Jakob

Hi,

I want to model a sand with Hertz-Mindlin-Contact law and rolling friction.

1. Is it possible to do so in yade and if yes, how?

I tried to combine a material with rolling stiffness and hertz model:

...
#define material:
id_SphereMat=O.materials.append(CohFrictMat(young=young_modulus,poisson=poisson_ratio,density=rho_p,frictionAngle=angle,alphaKr=roll_stiff))
...
 InteractionLoop(
  ...
  [Ip2_FrictMat_FrictMat_MindlinCapillaryPhys()],
  [Law2_ScGeom_MindlinPhys_Mindlin()]
  ),
...

but this seems to have no effect on behavior of the particles.

2. What would be a good value for lets say a well rounded sand? Has anyone experience with rolling stiffness?

Thanks in advance,

Christian

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Chiara Modenese
Solved:
Last query:
Last reply:
Revision history for this message
Luc Scholtès (luc) said :
#1

Hi Jacob,

For the 2nd point, you may want to have a look at the paper from Plassiard: http://www.springerlink.com/content/16688jw766197204/ (I can send it to you if you cannot download it).

For the 1st point, I cannot help... I though that combining 2 constitutive laws was possible but, actually, I never tried...

Luc

Revision history for this message
Jérôme Duriez (jduriez) said :
#2

Hello,

Once you have identified the contact law you need (assuming it is indeed Law2_ScGeom_MindlinPhys_Mindlin() ), you have first to use the good functors.

Here, Ip2_FrictMat_FrictMat_MindlinCapillaryPhys() has two major drawbacks :
- it uses material data of "FrictMat" type, whereas you want to use CohFrictMat..
- it computes interaction data of MindlinCapillaryPhys(), while your law needs MindlinPhys..

Thanks to inheritance your script did not crash, but it is not surprising that something went wrong (in your case nothing changed apparently)

Second, we were /are quite many to perform simulations with rolling stifness. Many of us, I think, did computations inspired by the work (on SDEC) of Jean Patrick Plassiard, you should find references in the "yade bibliography". For what I am concerned you can find the parameters values I used in Table 1 of reference "Duriez2011". However, linking these values with the rounded feature of the grains is a task too difficult for me...

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#3

Thanks for the fast answers.

@Luc: download successful ...

@jduriez:

>Here, Ip2_FrictMat_FrictMat_MindlinCapillaryPhys() has two major drawbacks :
>- it uses material data of "FrictMat" type, whereas you want to use CohFrictMat..
>- it computes interaction data of MindlinCapillaryPhys(), while your law needs MindlinPhys..

MindlinCapillaryPhys and MindlinPhys are working equal, when Law2_ScGeom_CapillaryPhys_Capillarity is not active.

>However, linking these values with the rounded feature of the grains is a task too difficult for me...

What do you mean with that?

For further explanations:
I perform pour cone tests to get the natural repose angle (ca. 30 degree for well rounded sand). While increasing friction parameter I can get 24-25 degree as maximum repose angle, so I thought including rolling friction will help me getting the right repose angle to verify my model ...

Revision history for this message
Best Chiara Modenese (chiara-modenese) said :
#4

Hi Jacob,

As for point 1:
I introduced the rolling friction in HM Law some time ago. Please have a look at the documentation, in particular at:
https://yade-dem.org/doc/yade.wrapper.html?highlight=includemoment#yade.wrapper.Law2_ScGeom_MindlinPhys_Mindlin.includeMoment
https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys.eta
https://yade-dem.org/doc/yade.wrapper.html?highlight=krot#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinCapillaryPhys.krot

@Luc: It is not about combining two contact laws but everything can be dealt with inside one contact model (resistance to rolling is a separate additional feature, in fact).

As for point 2:
It is entirely up to the calibration procedure.

Chiara

--
Chiara Modenese, BSc MSc
DPhil(PhD) Candidate in Engineering Science
Department of Engineering Science
Parks Road, Oxford, OX1 3PJ, UK
email: <email address hidden>
website: http://www.eng.ox.ac.uk/derg/people/chiara-modenese-1

On 6 Jun 2012, at 14:11, Christian Jakob wrote:

> New question #199585 on Yade:
> https://answers.launchpad.net/yade/+question/199585
>
> Hi,
>
> I want to model a sand with Hertz-Mindlin-Contact law and rolling friction.
>
> 1. Is it possible to do so in yade and if yes, how?
>
> I tried to combine a material with rolling stiffness and hertz model:
>
> ...
> #define material:
> id_SphereMat=O.materials.append(CohFrictMat(young=young_modulus,poisson=poisson_ratio,density=rho_p,frictionAngle=angle,alphaKr=roll_stiff))
> ...
> InteractionLoop(
> ...
> [Ip2_FrictMat_FrictMat_MindlinCapillaryPhys()],
> [Law2_ScGeom_MindlinPhys_Mindlin()]
> ),
> ...
>
> but this seems to have no effect on behavior of the particles.
>
> 2. What would be a good value for lets say a well rounded sand? Has anyone experience with rolling stiffness?
>
> Thanks in advance,
>
> Christian
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#5

1) Yes it should be possible Everything looks correct.
The fact that it has no effect is probably only due to your constitutive parameters.

If you really type [Ip2_FrictMat_FrictMat_MindlinCapillaryPhys()] in your script, then clearly there is no rolling friction (inspect parameters of this functor and default values, you will see).
Else, open inspector and check the values of moment in interactions, you will see if they are really zero or just very small.

Note that it is useless (even if harmless) to define a cohesive material. A FrictMat should be enough.

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#6

@chiara:

Thanks, will

...
#define material:
id_SphereMat=O.materials.append(FrictMat(young=young_modulus,poisson=poisson_ratio,density=rho_p,frictionAngle=angle))
...
 InteractionLoop(
  ...
  [Ip2_FrictMat_FrictMat_MindlinCapillaryPhys(krot=roll_stiff)],
  [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True)]
  ),

work in my case?

Revision history for this message
Chiara Modenese (chiara-modenese) said :
#7

On 6 Jun 2012, at 15:10, Christian Jakob wrote:

> Question #199585 on Yade changed:
> https://answers.launchpad.net/yade/+question/199585
>
> Christian Jakob posted a new comment:
> @chiara:
>
> Thanks, will
>
> ...
> #define material:
> id_SphereMat=O.materials.append(FrictMat(young=young_modulus,poisson=poisson_ratio,density=rho_p,frictionAngle=angle))
> ...
> InteractionLoop(
> ...
> [Ip2_FrictMat_FrictMat_MindlinCapillaryPhys(krot=roll_stiff)],
> [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True)]
> ),
>
> work in my case?
It should, indeed. Mind that you can also define eta parameter if you want to set a maximum plastic moment.
Chiara

>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
Jérôme Duriez (jduriez) said :
#8

>>However, linking these values with the rounded feature of the grains is a task too difficult for me...

>What do you mean with that?

I meant that I can not point a "good" value of the rolling stifness, only from the information that the sand is "well rounded" (as you asked)

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#9

ok, thanks everybody!

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#10

Thanks Chiara Modenese, that solved my question.

Revision history for this message
wangxiaoliang (wangxiaoliang) said :
#11

I am trying to add a rolling physics using
Ip2_MomentMat_MomentMat_MomentPhys
Law2_SCG_MomentPhys_CohesionlessMomentRotation

However, rolling parameters have no effect to the macroscopic response too, like u.

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#12

- either you did not set parameters in right syntax (like i did)
-> send the part(s) of your code to see if it is correct

- or parameters are set to a value, where you do not "see" any effect
-> send the values you set

- or everything is ok, but rolling parameters have no big effect in your case ... (see also the paper luc proposed to read -> #1)
-> simulation inspection may help ...

Revision history for this message
wangxiaoliang (wangxiaoliang) said :
#13

Hi Jakob, as you would like to use rolling resistance, u have at least 4 DOFs ( 1 normal, 2 shear and 1 roll),

so which Ig (Interaction Geometry) do u use, ScGeom or ScGeom6D?

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#14

ScGeom is enough in that case. ScGeom6D is needed for bending and twisting at the contact point, not for rolling resistance.

Someone should explain the the difference in documentation ...

https://yade-dem.org/doc/yade.wrapper.html?highlight=updaterotations#yade.wrapper.Ig2_Sphere_Sphere_ScGeom6D

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#15

The answer to "which Ig" to use is: "the one imposed by the contact law".
Different laws have rolling friction, some will use 3Dof, others will
use 6Dof.
Allthough I admit one easily gets lost in the many contact laws (I
removed some of them last week, btw), I don't see something missing in
the documentation on this precise question.
Feel free to suggest something to add if I overlooked.

Something missing, however, is a table summarizing the features of all
the laws.

Bruno

On 06/07/12 08:35, Christian Jakob wrote:
> https://yade-
> dem.org/doc/yade.wrapper.html?highlight=updaterotations#yade.wrapper.Ig2_Sphere_Sphere_ScGeom6D

--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53
38041 Grenoble cedex 9
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________