contact slip

69 views
Skip to first unread message

gq

unread,
Nov 6, 2009, 11:52:02 AM11/6/09
to ode-users
I want to set a value for the force dependent slip function, but can't
figure out how to set the flag/mode for the function.

Also, any help on good values for k would be appreciated too.

Thanks!

Ümit Uzun

unread,
Nov 7, 2009, 4:55:36 AM11/7/09
to ode-...@googlegroups.com
Hi gq,

I don't really understand what you want but you can use below to support contact slip in nearcallback function;

contact.surface.mode = dContactBounce | dContactSlip1 | dContactSlip2 | dContactSoftERP | dContactSoftCFM | dContactMu2;
contact.surface.mu         = dInfinity;
contact.surface.mu2        = dInfinity;
contact.surface.bounce     = (dReal)0.5;
contact.surface.bounce_vel = (dReal)0.01;
contact.surface.slip1      = 0.003;
contact.surface.slip2      = 0.003;
contact.surface.soft_erp   = 0.75;
contact.surface.soft_cfm   = 0.005;

Hope this helps;
Regards.

Ümit Uzun


2009/11/6 gq <guanq...@gmail.com>

gq

unread,
Nov 8, 2009, 3:39:35 PM11/8/09
to ode-users
Hi,
thanks for the info! I was wondering two things: why is your mu
infinity? What surface are you simulating here?

And to try to clarify my original question......the coders on my team
don't really know how to set the mode for contact slip.....but I think
you solved it, so thanks!
gq

On Nov 7, 4:55 am, Ümit Uzun <umituzu...@gmail.com> wrote:
> Hi gq,
>
> I don't really understand what you want but you can use below to support
> contact slip in nearcallback function;
>
> contact.surface.mode = dContactBounce | dContactSlip1 | dContactSlip2 |
> dContactSoftERP | dContactSoftCFM | dContactMu2;
> contact.surface.mu         = dInfinity;
> contact.surface.mu2        = dInfinity;
> contact.surface.bounce     = (dReal)0.5;
> contact.surface.bounce_vel = (dReal)0.01;
> contact.surface.slip1      = 0.003;
> contact.surface.slip2      = 0.003;
> contact.surface.soft_erp   = 0.75;
> contact.surface.soft_cfm   = 0.005;
>
> Hope this helps;
> Regards.
>
> Ümit Uzun
>
> 2009/11/6 gq <guanqing...@gmail.com>

Klaus Backert

unread,
Nov 8, 2009, 4:52:05 PM11/8/09
to ode-...@googlegroups.com

On 8 Nov 2009, at 21:39, gq wrote:

>
> Hi,
> thanks for the info! I was wondering two things: why is your mu
> infinity? What surface are you simulating here?


According to documentation of contact joint:
-----
mu : Coulomb friction coefficient. This must be in the range 0 to
dInfinity. 0 results in a frictionlesscontact, and
dInfinity results in a contact that never slips. Note that
frictionless contacts are less time consuming to compute than ones
with friction, and infinite friction contacts can be cheaper than
contacts with finite friction.
-----

together with having force dependent slip:
-----
FDS is an effect that causes the contacting surfaces to side past each
other with a velocity that isproportional to the force that is being
applied tangentially to that surface.

Consider a contact point where the coefficient of friction mu is
infinite. Normally, if a force f is applied to the two contacting
surfaces, to try and get them to slide past each other, they will not
move. However, if the FDS coefficient is set to a positive value k
then the surfaces will slide past each other, building up to a steady
velocity of k*f relative to each other.
-----

Klaus

gq

unread,
Nov 9, 2009, 10:06:25 AM11/9/09
to ode-users
So, I've read all that, but I can't find a general range for k values,
and I'm also having trouble using it in pyode for some reason. It
always says contactslip is undefined, and I don't know if I'm flagging
it wrong. If you could provide examples of how it's generally used in
pyode, that would be ideal. And k values that have worked for, say,
sand or clay, would be amazing.
gq
Reply all
Reply to author
Forward
0 new messages