[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.7.8 ODE Solvers

An ODE is an Ordinary Differential Equation solver. `ctWorld' starts out with a default ODE solver of Runga-Kutta order 4. This is a fairly good one for stability and has only a moderate performance hit.

If you notice your objects freaking out and disappearing (usually by flying off into space), you probably have a stability problem. Springs with high constants (stiff) are a classic for stability problems.

If you need either more speed or more stability, you may want to use a different one. Improved stability means decreased performance and vice versa. Basically improved stability is gained by more complete evaluations of the whole system per time step (call to evolve).

The problem is that the slower your frame-rate is, the bigger time steps the dynamics solver will be solving for. Big time steps contribute to instability as well. So you can try to fix instability by using a more sophisticated ODE solver like Runga-Kutta with adaptive step sizing (not yet implemented), but the resulting performance hit could cause more instability. So it can be a no-win situation when choosing and ODE solver if you have a very low frame-rate. Then it's time to up the system requirements of your application.



This document was generated using texi2html