uutee
07-07-2003, 08:05 PM
Hiya folks,
I have a little interactive physics simulator with springs (stiff ones) up and running. At the moment I'm using Euler's (or Euler's-Cromer's) method.
I'm doing several (4 to 8) small Euler steps per frame to ensure stability.
So I thought, why not just take 2 to 4 midpoint method iterations or 1 to 2 RK4 iterations instead?
Clearly this would give much better results considering *accuracy*, but what about *stability*?
So here is __The__Main__Question__ of this post: Is taking one RK4 step generally more stable than taking four small Euler steps? (Notice that I'm considering systems of connected springs, not just a single pendulum).
I know that in some problems, diffusion and advection problems for example, the time step limit on the Euler method can be understood intuitively (ie. values can't propagate over one neighbor). In this light, using RK4 instead of Euler doesn't seem that big a boost, because RK4 can be understood as several averaged Euler steps: so is the time step limit still the same?
OK buddies, thanks in advance. Btw, I'm not interested in hearing about Verlet integration or implicit methods (I've tried them both and would eagerly like to try something new).
- Mikko Kauppila
I have a little interactive physics simulator with springs (stiff ones) up and running. At the moment I'm using Euler's (or Euler's-Cromer's) method.
I'm doing several (4 to 8) small Euler steps per frame to ensure stability.
So I thought, why not just take 2 to 4 midpoint method iterations or 1 to 2 RK4 iterations instead?
Clearly this would give much better results considering *accuracy*, but what about *stability*?
So here is __The__Main__Question__ of this post: Is taking one RK4 step generally more stable than taking four small Euler steps? (Notice that I'm considering systems of connected springs, not just a single pendulum).
I know that in some problems, diffusion and advection problems for example, the time step limit on the Euler method can be understood intuitively (ie. values can't propagate over one neighbor). In this light, using RK4 instead of Euler doesn't seem that big a boost, because RK4 can be understood as several averaged Euler steps: so is the time step limit still the same?
OK buddies, thanks in advance. Btw, I'm not interested in hearing about Verlet integration or implicit methods (I've tried them both and would eagerly like to try something new).
- Mikko Kauppila