← Back to team overview

yade-dev team mailing list archive

Re: moment law, doing it right

 

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