next up previous contents
Next: Motor Controllers Up: Numerical Solution Previous: System Matrix Assembling and the

Algorithm Outline and Discussion

An outline of our semi-implicit simulation algorithm is as follows:

Initial calculations at t=0:

  1. Initialize tex2html_wrap_inline2814 , tex2html_wrap_inline2816 and tex2html_wrap_inline2818 .
  2. From the connectivity of the mass-spring-damper model, initialize the skyline storage scheme: Calculate the dimension of tex2html_wrap_inline2688 from column heights and the index array MAX tex2html_wrap_inline2688 .

For each time step tex2html_wrap_inline2824 :

  1. Calculate the system matrix tex2html_wrap_inline2578 and the effective load matrix tex2html_wrap_inline2614 as prescribed in Section gif.
  2. Factorize tex2html_wrap_inline2830 , where tex2html_wrap_inline2582 is diagonal and tex2html_wrap_inline2584 is lower triangular.
  3. Solve for the new velocities tex2html_wrap_inline2556 :
    1. Solve tex2html_wrap_inline2838 for tex2html_wrap_inline2588 using forward-substitution.
    2. Solve tex2html_wrap_inline2842 for tex2html_wrap_inline2556 using back-substitution. Note that since tex2html_wrap_inline2582 is diagonal, the computation of its inverse tex2html_wrap_inline2848 is trivial.
  4. Update the nodal positions: tex2html_wrap_inline2850 .

We have verified experimentally that the semi-implicit algorithm is sufficiently stable for our simulation purposes. We use a time step of tex2html_wrap_inline2852 in our simulator (the stability limit is reached with a time step around tex2html_wrap_inline2854 ). Our algorithm is much more stable than an explicit Euler time integration implementation. Given the same numerical settings, experiments show that the largest time step allowed (before the system becomes unstable) when using our algorithm is typically 100 to 150 times larger than is possible when using the explicit method. On the other hand, our algorithm is simpler than implicit methods described by Bathe and Wilson Bathe76, such as the Houbolt method or the Newmark method. In particular, the approximations we use for tex2html_wrap_inline2562 (Eq. gif) and tex2html_wrap_inline2574 (Eq. gif) are simple and require only knowledge of the position matrix tex2html_wrap_inline2864 and the velocity matrix tex2html_wrap_inline2564 at time t while other methods (for example the Houbolt method) requires positions and velocities from several previous time steps. Furthermore, fully implicit methods require that the external load matrix tex2html_wrap_inline2870 in Eq. (gif) be calculated implicitly as well, which would be difficult in our case.

next up previous contents
Next: Motor Controllers Up: Numerical Solution Previous: System Matrix Assembling and the
Xiaoyuan TuJanuary 1996