[ODE] Speed of ODE's constraint method

Antonio_Martini@scee.net Antonio_Martini at scee.net
Tue Jan 21 05:27:02 2003


this may work:

given a set of constraints solve only one constraint at time ad apply the
resultant force to the two involved  rigid bodies.

given for example a chain of 3 connected bodies A,B,C
1)solve A,B. Apply resultant force to A&B
2)solve B,C  Apply resultant force to B&C
3) integrate A,B,C  by (Dt/n)
4) go to (1) n times

the idea behind it is that the drift compensator should automatically
compensate for the "missing"  forces.

Antonio






Sergio Valverde <svalverde@barcelona.ubisoft.es>@q12.org on 20/01/2003
16:11:04

Sent by:    ode-admin@q12.org


To:    ode@q12.org
cc:
Subject:    RE: [ODE] Speed of ODE's constraint method


Is there anybody interested in implementation of such iterative
methods in ODE? I will be glad to share thoughts and ideas on
the subject with other people in this list.

Sergi

-----Original Message-----
From: Russ Smith [mailto:russ@q12.org]
Sent: lunes, 28 de octubre de 2002 3:21
To: Richard Tonge
Cc: ode@q12.org
Subject: Re: [ODE] Speed of ODE's constraint method



> A good reference on iterative LCP methods is chapter 9
> of Murty's book

interesting. i read chapter 9 and implemented some of the methods there
in matlab. the sparsity-preserving SOR (successive over-relaxation)
method described on p378 seems to be the closest to what you describe,
as its main computational step is multiplying M by some vector. in ODE
'M' is J*inv(M)*J', which boils down to a bunch of 6xN matrix operations
as you described.

for the random PD matrices i was testing with i found that the SOR
method scaled as O(n^3), the same as the direct method. i found that if
a 0.1% error was the termination condition then SOR was 3-4 times less
flop count than ODE's direct solver for 100*100 matrices (the crossover
point below which the direct method was faster was about 20*20).
however! --> typical rigid body system matrices have a much more useful
spectrum than my random matrices, so i suspect that if ODE had an SOR it
would (a) be much faster than direct LCP, and (b) scale O(n) or O(n^2)
depending on the structure of the RB system. i will investigate this
later. SOR would not be too hard to implement in ODE at all (it would be
an optional method). chosing the parameter values (e.g. w) presents a
problem.

> 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.

are you using a method related to the SOR method?

russ.

--
Russell Smith
http://www.q12.org
_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode
_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode










**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
postmaster@scee.net

This footnote also confirms that this email message has been checked
for all known viruses.

**********************************************************************
 SCEE 2002