Hi,
I found the calculation of the normal relative velocity did not contain the rotation velocity contribution, which is no consistent with the literature formula.
In surface_model_default.h
// relative translational velocity
const double vr1 = sidata.v_i[0] - sidata.v_j[0];
const double vr2 = sidata.v_i[1] - sidata.v_j[1];
const double vr3 = sidata.v_i[2] - sidata.v_j[2];
// normal component
const double vn = vr1 * enx + vr2 * eny + vr3 * enz;
const double vn1 = vn * enx;
const double vn2 = vn * eny;
const double vn3 = vn * enz;
That is:
vr=vi-vj
vn=(vr dot n) n
however, my understanding of vr should be : vr=vi-vj + (ri*wi+rj*wj) x n
ri is the distance of contact point to particle i center or approximate using particle i radius.
Any explaination for ingoring the rotation velocity part? Thanks.
chenxizh | Sun, 11/03/2019 - 00:13
Solved
I see. The rotational part vanishes because of the interaction of cross product and dot production