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;

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.

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>
>         Post to     : [email protected]
>         <mailto:[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

-- 
_______________
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
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to