On 10 December 2010 17:59, Bruno Chareyre <[email protected]>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 <[email protected] > > <mailto:[email protected]>> 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 : [email protected] > > <mailto:[email protected]> > > 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 : [email protected] > > 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 : [email protected] > Unsubscribe : > https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev> > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

