← Back to team overview

yade-users team mailing list archive

Re: About the moment calculation in cohesion-friction model


> Sorry, I will certainly be a little bit cynical here, but CFpm is
> "complete" for my kind of use (rock type material), and this is
> probably similar for each of the initial code writer. 

Thanks for pointing that out. That is exactly what is cynical, that
people write code, then dump it to the repository thinking it is fine
"because it works for them". I understand that everybody (including me)
is under pressure from article deadlines, teaching, getting results
quickly etc, but what makes any open-source project alive in a long term
is that people give a little care to things beyond their immediate

I personally don't like this kind of moral appeals, and even less when I
am the one to say them. It is a personal thing, privacy should be
respected, but here it somewhat interferes and should be addressed.

> OK, this is probably the most pertinent thing to do, but you can also
> start a witch hunt as suggested below ;-). From my point of view,
> already one difference between CFpm and the two others "moment like"
> laws: contrary to CohesiveFrictionalContactLaw and
> CohesionLessMomentRotation, the CFpm model uses the initial
> interpenetration as the equilibrium distance between particles. In
> this sense, I think CFpm is probably more adapted to model "continuum
> like" material such as rock or concrete, whereas the two others
> consider the real "granular nature" of the material with the
> equilibrium distance as the exact sum of the particles radii ??? More
> practically speaking, the difference is that CFpm allows to work with
> initially stress-free assemblies.

This is a great answer, thanks!

Actually just today we were discussing there the equilibrium distance
concept. My conclusion is that it should be added to ScGeom so that it
works for those "continuum-like" materials. In fact, it was the biggest
obstacle when I tried (never finished) to adapt the Cpm model to ScGeom.
The option was to store the initial distance in CpmPhys (which is
actually, looking at your code, what you do actually with
CFpmPhys::initD), but I did not go along that path as it would be only a

If the quilibrium distance is the only difference, that could handled
quite easily by a parameter to the Ig2 functor (along the lines of what
Ig2_Sphere_Sphere_Dem3DofGeom::distFactor does).

What about the other 2 laws? Chia Weng's law is cohesionless and follows
faithfully Jean-Patrick's paper, that is what I gathered. Janek's law
(Law2_ScGeom_CohFrictPhys_ElasticPlastic) differs in that is has
additionally twist and tension? Is there a paper that describes it? 

[The best would be to provide a few functions (to ScGeom or some more
complex class) that would handle bending and twisting, similarly to how
ScGeom::rotate() handles shear displacement. Then respective models
would make use of them to get their work done in a few lines.]

> I had a look to the CFpm doc, but I could not really see what kind of
> additional inputs would be pertinent... I'll try more...
Ideally reference to a paper describing the model.
(https://yade-dem.org/sphinx/yade.wrapper.html#yade.wrapper.Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM is quite terse for my taste)

Cheers, v.

Follow ups