New question #248996 on Yade:
https://answers.launchpad.net/yade/+question/248996

 Dear all,
I have been working in a toy model, trying to figure out how all the 
viscoelastic forces works, and I think there is a bug here, because there are 
forces acting even when the particles are not touching each other. This happens 
if the particles separate after a collision and then meet again.

The simulation I made is just two aligned spheres ( one right above the other, 
so only normal force is involved) one fixed and the other free to fall under 
gravity force and bounce on the first fixed sphere.
In the first bounce, the behavior of the system is the right one, the 
Penetration Depth (PD) starts at 0, the normal Force (Fn) has a large  initial 
value because of the velocity of the falling particle at time of contact. The 
interaction doesn't disappear after the bounce, but the code has an "if" to set 
the force to zero and prevent an attractive force due to a viscous component:
(line 104-106 of /pkg/dem/ViscoelasticPM.cpp)
const Real normForceReal = phys.kn * geom.penetrationDepth + phys.cn * 
normalVelocity;
if (normForceReal < 0) {
phys.normalForce = Vector3r::Zero();

However, in the case of the second bounce, even when the elastic component is < 
0 because PD < 0, the sum with the viscous component could be greater and so, 
the total force is Fn>0 when the PD < 0, which I think is wrong, right?

Simulation Info:
material properties: Kn:5e8, cn=1.5e6, frictionAngle=0.36,
particles Ratios R=1,
initial distance between particles di=10-2*R,
g=-9.81, 
dt=5e-5,



-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to