yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #06512
Re: twist plastic moment
On 10 December 2010 17:59, Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>wrote:
> Hi Chiara,
>
> It is in trunk, starting at CFLaw.cpp:90 :
>
> Real angle_twist_creeped =
> currentContactGeometry->getTwist() * (1 -
> dt/viscosity_twist);
> Quaternionr
>
> q_twist(AngleAxisr(currentContactGeometry->getTwist(),currentContactGeometry->normal));
> Quaternionr
>
> q_twist_creeped(AngleAxisr(angle_twist_creeped,currentContactGeometry->normal));
> Quaternionr q_twist_delta(q_twist_creeped *
> q_twist.conjugate());
> currentContactGeometry->twistCreep =
> currentContactGeometry->twistCreep * q_twist_delta;
>
> Replacing angle_twist_creeped by plastic_rotation, you will get the
> picture I think. It will translate into something like this :
>
> plasticRollingIncrement = ...;//Defined for
> current step if M>Mmax
> Quaternionr qPlastRollingIncrement
> (RollingIncrement,bendingAxis);
> //represent it as quaternion
> Quaternionr qRolling (rolling,
> rollingAxis); //represent also total
> rolling as quaternion
> // then define the plastic increment
> relative to initial (unrolled)
> orientation
> Quaternionr
> qPlastDelta(qPlastRollingIncrement * qRolling.conjugate());
> // and add the increment to cumulated
> plastic rolling in interaction
> currentContactGeometry->plastRoll =
> currentContactGeometry->plastRoll * qPlastDelta;
>
>
> currentContactGeometry->plastRoll will be substracted from total
> relative rotation in precomputeRotations, like currently at ScGeom.cpp:97
>
> if (creep) delta = delta * twistCreep;
>
Oh sorry, I see what you mean now.
>
> Wich will translate :
> if (irreversiblePlasticity) delta = delta * plastRoll;
>
> If you are really not familiar with quaternions, I'll do my best to try
> and assist.
> I just had a look at CohesionlessMomentRotation from Boon. It is also
> unloading plasticaly, as CFLaw now with your code, if I'm not wrong.
>
Yes it is the same thing in CohesionlessMomentRotation, we are _not_
unloading elastically. Apart the CohesionlessMomentRotation is a copy of
CFLaw (and I would personally merge them so that we have/improve/maintain
one single law of this type), if other people are using it at this moment, I
think they should update it too (or I can do it as I soon as we update CFLaw
likewise).
I do not well understand quaternions (I know it is my lack of knowledge,
somehow) but I would appreciate if you could assist.
Question: why cannot we make the same thing we do for the shear force
(incremental formulation) with the rolling moment? Would not be
easier/cleaner?
Thanks. Chiara
> Cheers.
>
> Bruno
>
>
>
>
>
> On 10/12/10 15:36, Chiara Modenese wrote:
> >
> >
> > On 10 December 2010 14:06, Chiara Modenese <c.modenese@xxxxxxxxx
> > <mailto:c.modenese@xxxxxxxxx>> wrote:
> >
> > Hi Bruno!
> >
> >
> > On a different aspect, there is maybe one thing you are not
> > aware of.
> > In unloading, you will unload plasticaly (maybe that is what you
> > want? - honestly I don't
> > think it makes less sense in the case of rolling friction).
> > If you want to unload elasticaly, you need to record the plastic
> > rotation.
> > You can see a similar operation looking at the creep code, where
> > crepped twist is stored
> > and substracted from total twist.
> >
> > I think that this should be extended to CohesionlessMomentRotation.cpp
> > and *.hpp as well. Any thoughts/suggestions from people using this law
> > (Law2_SCG_MomentPhys_CohesionlessMomentRotation)?
> > Cheers. Chiara
> >
> >
> >
> > Thanks for letting me know. Could you please tell me where is that
> > this subtraction happens? This operation is not in the current trunk
> > (if am not wrong). Also, could not you spend some few more words on
> > how to achieve this?
> >
> > Thanks! Chiara
> >
> >
> > Bruno
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> > <https://launchpad.net/%7Eyade-dev>
> > Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> > <mailto:yade-dev@xxxxxxxxxxxxxxxxxxx>
> > Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> > <https://launchpad.net/%7Eyade-dev>
> > More help : https://help.launchpad.net/ListHelp
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> > Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> > More help : https://help.launchpad.net/ListHelp
>
> --
> _______________
> Bruno Chareyre
> Associate Professor
> ENSE³ - Grenoble INP
> Lab. 3SR
> BP 53 - 38041, Grenoble cedex 9 - France
> Tél : +33 4 56 52 86 21
> Fax : +33 4 76 82 70 43
> ________________
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References
-
twist plastic moment
From: Chiara Modenese, 2010-12-02
-
Re: twist plastic moment
From: Bruno Chareyre, 2010-12-02
-
Re: twist plastic moment
From: Chiara Modenese, 2010-12-02
-
Re: twist plastic moment
From: Bruno Chareyre, 2010-12-03
-
Re: twist plastic moment
From: Chiara Modenese, 2010-12-06
-
Re: twist plastic moment
From: Bruno Chareyre, 2010-12-06
-
Re: twist plastic moment
From: Bruno Chareyre, 2010-12-08
-
Re: twist plastic moment
From: Chiara Modenese, 2010-12-10
-
Re: twist plastic moment
From: Chiara Modenese, 2010-12-10
-
Re: twist plastic moment
From: Bruno Chareyre, 2010-12-10