Iterative solver (again) [Was: Re: [ODE] Russ' plans for ODE?]

Nguyen Binh ngbinh at glassegg.com
Tue Apr 27 15:45:13 MST 2004


Hi Alen,

>>         After playing with Novodex, I found out that they use a
>>         iterative solver like StepFast1(old story, every one know).
AL> Is that what you concluded by looking at the Novodex examples and SDK, or
AL> did they actually tell you that?
    Hmm... They told us and I made my guess also. I remember Pierre
    has stated that they use a technique which is similar to ODE's
    StepFast.
    
>>         Of course, Novodex's solver is much more well designed, they
>>         employ many optimizations like : Auto disable (But maybe much
>>         more better than ODE's), contacts filter and a very robust
>>         collision code.

AL> I believe that. But I wouldn't jump to conclusions that it is enough.
AL> Could it be that the "better designed iterative solver" is somewhat similar to
AL> what was hinted by Richard Tonge a few years ago on this list?
     You mean this one?
      http://q12.org/pipermail/ode/2002-October/006141.html
      
AL>  Our experiments with successive approximation lead me to believe that it has
AL> great potentials.
    Wait a minute! So you mean that solver will take in the huge
    matrix of original step and then solve it iteratively? Or still
    iterative through a list of joints like StepFast?

    And, if it's feasible,would you please describe your experiments?

>> So, out tiny step will be 1/600!!! I think it's too small to
>> make "logical" and useful simulation.
AL> Timestep in a simulator can never be too small. :)
    Hmm.. then let say like this situation: a box is in very deep
    penetrate with a sphere. The collider give us a depth. The
    dynamics part know that it should pull the box separate from
    sphere but in very tiny time step, the box can just be moved a
    tiny distance. Could it happen? It sounds a little stupid but if
    this scenario happens, we don't use our time step efficiently.

    Moreover, experiment shows that when we use StepFast, 1/600 time
    step doesn't make our simulation much more better than 1/60 step.
    All the two look believable in my case and doesn't match wit
    original Step.
    
AL> Smaller step will always  be more precise - unless, of course,
AL>  you hit float precision in the time variable, but we're not
AL>  talking about that... ;)


     For demonstration, I'll put a demo with that technique and use a
     quite "polished" collider. These day, I tried to make your
     sphere-cylinder collider code more robust :).

     
     Nguyen Binh.
     



More information about the ODE mailing list