← Back to team overview

yade-users team mailing list archive

[Question #248996]: Viscoelastic Force Model

 

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.