yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #01116
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