yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05133
Re: moment law, doing it right
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Janek Kozicki <janek_listy@xxxxx>
-
Date:
Wed, 7 Jul 2010 21:21:47 +0200
-
Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEUBAQEtLS1KSkpRUVFXV1dYWFhjY2Nzc3N3d3eHh4eKioqdnZ24uLjLy8vc3NxVIagyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AIVEzgS1fgQtQAAAjRJREFUOMtt1DFv00AUAOAzFQNbjigSyoQaRaBMhKgLUyKXpVNNeUpk9vyDqFJhQ1kiBuaqAwJCqvPtSLY7RlTn5+5IdnYkkt/AOyfxXVLe5vf53Z1875kd34tOEax8djmj6GyjhB5bxz50GdsVZr9fqRjZwAtKOJw5Wqs2MMZ16ALHsaDncF7xAHix1oEFHAB8f+pRjcO4gfZDykcYzbiucRolOLUJ6kjA0xtVt+A6TySlM0RajIpK6DzwKZ/nOYbF/gclHMo1ZOHYY/+Ha+AWuM+3oMS4eeqYzZ8FiCltgUqI8cd2wwAVpJk+8LWYjBtnJdQpHQqJMd4Oxt4bU9ESiFGc5hkqaH74asAX4iabP5I5gZ+qjgGlJCqZa3h3lxhoeVcSE1qLQC4sqKOK9MGW9E3izFqqHokoztLFEgXg31sbZEKnWi2T74A4NxfVQqlkjKtcAWD+zcArFEES01dR0E/nnV0IgugmDd/2L84sOAouRBBHEc7gtc8teDkRlE0iNQPo2w3Xhh/D4TCIQ4LRLoTvgwjj6RRgavdurxYGMaIuGOyAW/PpNlCcU9/93AHenAWYjPoAwa+G3e3to/MgFNTAEKvKDjzuCzHTnY3qqdXtx24VijzQfZ0yewZ5cwRFQaa+mIYr1uI0I76+3W4xhlvoVRwOA0Fdl64HlJnxP6T8YpX/Lga4Wv4A3ErrU5oTfN7Mu/llXMl8RXEPji/lQkN3H7qXqgC2By47EXeU/7PJ/wPxRKMnuZwIeAAAAABJRU5ErkJggg==
-
In-reply-to:
<4C349ED8.5010502@grenoble-inp.fr>
Jerome Duriez said: (by the date of Wed, 07 Jul 2010 17:35:52 +0200)
Hello Jerome,
Thank you for your reply. Did you forget an attachment? ;-)
> Le 07/07/2010 16:12, Janek Kozicki a écrit :
> > Hello,
> > I need to add two parameters:
> > - Rolling stiffness coefficient β
> > - Moment limit coefficient η
>
> I use a parameter named very simply "betaR". It is in fact registered in
> Ip2_2xNormalInelasticMat_NormalInelasticityPhys, not in material
> parameters... Now I re think about it, I'd have difficulties to justify
> it... Maybe it appeared me more logical because the definition of the
> torque-stifness, equal to "betaR * R_mean ^2" could suggest that this
> "BetaR" is a parameter common to all the interactions, and not the
> bodies.... Not a real justification anyway...
> If you set it in a new Material class, I could be interested. For now I
> use "NormalInelasticMat", which contains an other parameter I need for
> "my" contact law. Now I re-think to put this "betaR" in this class,
> maybe I could inherit from yours ? Or maybe not because "mine" inherits
> from FrictMat, not CohFrictMat.
It is good to know how you have done it. I haven't decided yet how
to do it yet. I need to read more of the code.
I feel that those two coefficient should go to Material, because they
are functionally exactly the same as friction angle.
> > Currently η has a fixed value at ∞, or am I completely unaware that
> > it has been implemented in the code, by someone. It limits the
> > maximum value of rolling moment proportionally to Fn.
> >
>
> You are (were, now) a bit unaware. NormalInelastictityLaw.cpp (which
> contains the class Law2.....) limits the rolling moment. By
> "forMaxMoment" * Fn; "forMaxMoment" being stored in
> NormalInelasticityPhys(maybe not consistent, again) and computed in
> pkg/dem/Engine/Functor/Ip2_2xNormalInelasticMat_NormalInelasticityPhys.cpp
> l.63, with an "1.0 corresponding to ethaR which I don't know exactly
> where to define as a parameter...", as I wrote in this place
Thank you for telling me about this! I also see that this
NormalInelastictityLaw is a Yet Another Duplicated Code ;-))
Some file merging would benefit all of us.
> > I remember you discussing that CohesiveFrictionalContactLaw should be
> > dissected somehow, into a 2-argument functor, or something else. What
> > was that?
>
> I guess it is about the fact that now contact law are no more supposed
> to be GlobalEngine, but LawFunctor. See § surrounding
> https://www.yade-dem.org/sphinx/user.html#law2-functor-s and class
> InteractionDispatchers
thanks, I'll check that.
> > Last question, why the name Ip2_2xCohFrictMat_CohFrictPhys instead of
> > Ip2_CohFrictMat_CohFrictMat_CohFrictPhys. Of course the latter is
> > longer. But is there a fixed convention about that? For instance the
> > file Ip2_FrictMat_FrictMat_FrictPhys.hpp definitely breaks this convention.
> >
>
> I think I asked also this question. If I remember well, the convention
> is not so strict (good thing in this case I think), that's why me I
> chose to use "Ip2_2xNormalInelasticMat_NormalInelasticityPhys"
hmm, it makes it harder to blindly type the name of the file, or the
name of the class. How about a convention: if the name is duplicate,
then always add "2x", and later strictly adhering to it?
--
Janek Kozicki http://janek.kozicki.pl/ |
Follow ups
References