[ODE] Speed of ODE's constraint method

Richard Tonge rtonge90 at yahoo.co.uk
Sun Oct 27 03:19:02 2002


Hello

>perhaps you could tell us exactly what an 'iterative
>LCP' solver is? i'm genuinely curious

I meant iterative in the sense that the Newton Raphson
method is an iterative method for finding the roots of
an equation.

An iterative LCP method is one that makes an initial
guess of the force vector and then on each iteration
moves the force vector strictly closer to the exact
solution. You can then stop the iteration whenever you
like, if you are willing to accept an approximate
solution. If you stop the algorithm after one
iteration, you get an effect that looks quite similar
to a micro-impulse simulator. If you dont limit the
number of iterations, you get the exact LCP solution.
For reasonable size systems with lots of stacks and
stuff, about 350 iterations looks ok. Each iteration
does a tiny amount of work (just a constant number of
4*6 matrix multiplies), so the user has quite fine
grained control over the execution time (or simulation
quality).

A good reference on iterative LCP methods is chapter 9
of Murty's book, which is available online:
http://ioe.engin.umich.edu/books/murty/linear_complementarity_webbook/kat9.ps
Although this should give you an idea about what I
mean by iterative LCP, I should point out that we dont
use any of the methods in that chapter.

> * re-using constraint clamping info from step to
>   step?
>   - if so, how do you handle contact coherency
>     problems?
> * in general, how is the LCP restarted?

I think that you are thinking that I was talking about
a warm starting technique. Whilst it is a good idea to
do this as well, that was not what I meant by an
iterative LCP. 

Richard Tonge
PS2 Optimisation Engineer
MathEngine
www.richardtonge.com

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com