Are the formulae for adhesions in CohesiveFrictionalContactLaw correct?

Asked by Christopher Stanbridge

Hi all,

I have noticed that line 279 of CohesiveFrictionalContactLaw.cpp (here: https://github.com/yade/trunk/blob/48bb1a66dd0713de1a51a0c3562399133c87fd5e/pkg/dem/CohesiveFrictionalContactLaw.cpp#L279) gives the formula for normal adhesion calculation as follows:
contactPhysics->normalAdhesion = std::min(sdec1->normalCohesion,sdec2->normalCohesion)*pow(std::min(Db, Da),2);

If adhesion is being calculated between two spheres, this means that the effective area of contact between the spheres is taken to be equal to the square of the radius of the smallest sphere. Should it really be pi*r^2 instead of r^2?

Cheers,
Christopher Stanbridge

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

Hello,
It can't be "right" or "wrong" in the sense you think to it.
It is just a normalization equation such that scaling all particle sizes by the same factor will keep macroscale cohesion exactly the same.

If you multiply by a constant (pi, sqrt(2), or any other magic number) it is yet another valid normalization. But why would you do that? Multiplying by 1 is the simplest thing.

I don't think there is a mention of contact area in the documentation (is there?). Taking contact area as the projected area of the smallest sphere would be an assumption (here we don't do any assumption, we just normalize).
You know how the equations are, so if you really want to introduce this assumption you can simply multiply the material cohesion by pi (note that material cohesion is a macroscale variable, not something supposed to reflect some cement property at the microscale, so there is no inconsistency in multiplying it by pi).
HTH
Bruno

Revision history for this message
Christopher Stanbridge (cws105) said :
#2

Dear Bruno,

Yes, there will be no problem with multiplying the material cohesions by pi to compensate. However, leaving the effective contact area as r^2 and not telling anyone about it in the documentation might be counterintuitive and lead people to come up with their own incorrect assumptions about cohesions. I believe it would at least be wise to mention the A=r^2 formula in the documentation somewhere. Could it be added?

Thank you for your response.

Cheers,
Christopher Stanbridge

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

Converting material parameters to contact parameters is the job of Ip2 functors and that is where the documentation should be. In this case Ip2_CohFrictMat_CohFrictMat_CohFrictPhys [1], it gives the equation.

[1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_CohFrictMat_CohFrictMat_CohFrictPhys

Can you help with this problem?

Provide an answer of your own, or ask Christopher Stanbridge for more information if necessary.

To post a message you must log in.