← Back to team overview

yade-dev team mailing list archive

Re: The meaning of "isDynamic"

 


I would rather multiply it in the function itself. Otherwise (as far as I see) the function would take shearForce as argument, modify it in-place (rotation etc) but return displacement difference.

Split the code like this? :

void updateOrientation(shearForce& F, const RigidBodyParameters* rbp1, const RigidBodyParameters* rbp2, Real dt)

or

void updateOrientation(NormalShearInteraction* i, const RigidBodyParameters* rbp1, const RigidBodyParameters* rbp2, Real dt);//Still a bit strange to pass IPhysics as parameter to a IGeometry function... not worst than passing the shearForce though

then

Vector3 shearIncrement(const RigidBodyParameters* rbp1, const RigidBodyParameters* rbp2, Real, dt, bool avoidRatcheting);

constitutiveLaw {

FOREACH (i) {
i->IG->updateOrientation(i->IP, rbp1, rbp2, dt);//same for all constitutive laws, then :

   //For an elastic law :
   i->IP->shearForce += ks*ShearDisplacement(rbp1, rbp2, dt, ratchetting);

   //For a viscous law :
   i->IP->shearForce = visosity * shearDisp/dt;

   //etc.
}
}


Bruno

--

_______________
Chareyre Bruno
Maitre de conference

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________




References