Stabilization Methods For Simulations of Constrained Multibody Dynamics
Stabilization Methods For Simulations of Constrained Multibody Dynamics
By Hong Sheng Chin B. Sc.(Mathematics) Liaoning University, Shenyang, China, 1982. M. Sc.(Mathematics) Liaoning University, Shenyang, China, 1984.
a thesis submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy
in
the faculty of graduate studies department of mathematics
:: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : : :: : : : : :: : : : : : :: : : : : : :: : : : : :
the university of british columbia
In presenting this thesis in partial ful llment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for nancial gain shall not be allowed without my written permission.
Department of Mathematics The University of British Columbia 2366 Main Mall Vancouver, Canada V6T 1Z4 Date:
Abstract
The descriptor form of constrained multibody systems, and any general formulation of such systems with closed loops, yield index-3 di erential-algebraic equations (DAEs). Generally, some index reduction techniques have to be used before numerical discretization can be safely applied. However, a direct di erentiation of the constraints introduces mild instability. Hence one must consider index reduction with stabilization. One popular method for index reduction with stabilization is Baumgarte's technique. However the di culty of choosing the parameters in practice makes this method's robustness unclear. Moreover our numerical experiments show that there are still large constraint drifts even with Baumgarte's stabilization. In the thesis, we employ concepts and techniques of dynamical systems in order to improve the situation. We rst study the relationship between a DAE and its underlying vector elds. A general form of vector elds with stabilized invariant manifolds is given. We propose a new numerical stabilization method for semi-explicit index-2 and index-3 DAEs of Hessenberg form. Our stabilization method improves on Baumgarte's stabilization which is widely used in engineering as well as in simulations of multibody systems. We then develop a numerical code based on the new stabilization method with an adaptive step-size control for the descriptor form of the Euler-Lagrange equations in multibody systems. Numerical simulations have been conducted with our code on a variety of multibody systems including a spatial ve-link-suspension model in a vehicle, Andrews squeezing mechanism, a two-arm manipulator with a prescribed motion and a mechanism with kinematic singularity. Our code is e cient, fast and therefore is more attractive for real-time simulations. ii
When high speed and light-weight substructures are involved in the multibody system, the rigid body model is usually no longer valid. In such a case we compute the elastic deformations and oscillations of the substructures using the nite element method. Satisfactory numerical results using our method are presented for deformable multibody systems as well.
iii
Table of Contents
ii vii viii xi 1
1 4
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
: : : : : : : : :
9
16 17 19 23 23 26 28 30 39
44
Dynamics of Di erence Equations : : : : : : : : : : : : : : : : : : : Stability of Invariant Manifolds in Di erence Equations : : : : : : : Post-Stabilizations for ODEs with Invariant Manifolds : : : : : : : Stabilization for Multibody Dynamics with Holonomic Constraints : Stabilization for Nonholonomic Systems : : : : : : : : : : : : : : : : Stabilizations and Projection Methods : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : :
47 50 58 66 71 73
4.1 Problem formulation : : : : : : : : : : : : : : : : : : : : : : 4.1.1 Absolute coordinates : : : : : : : : : : : : : : : : : : 4.1.2 Relative coordinates : : : : : : : : : : : : : : : : : : 4.2 Implementation with Runge-Kutta Methods : : : : : : : : : 4.3 A Numerical Code: RKSTAB : : : : : : : : : : : : : : : : : 4.4 Numerical simulations of holonomic constrained systems : : 4.4.1 Andrews squeezing mechanism : : : : : : : : : : : : : 4.4.2 A vehicle suspension model : : : : : : : : : : : : : : 4.4.3 A planar two-link manipulator with prescribed path : 4.4.4 Slider-Crank mechanism with a TSDA : : : : : : : : 4.5 RKSTAB on a singular slider-crank mechanism : : : : : : : 4.6 A Nonholonomic constrained system : : : : : : : : : : : : : 5.1 5.2 5.3 5.4
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : :
74
77 77 79 81 88 91 93 97 106 112 116 123
Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Generalized coordinates in deformable multibody systems : : : : Equations of motion for the deformable slider-crank mechanism Simulations of the deformable slider-crank mechanism : : : : : : v
129
129 131 135 142
6 Conclusions Appendix: A Brief Review of Mechanics of Deformable Bodies A A Brief Review of Mechanics of Deformable Bodies
vi
List of Tables
2.1 Comparison of Baumgarte and two improved methods : : : : : : : : : : : 35 2.2 Baumgarte and Baumgarte improved for an index-3 DAE : : : : : : : : : 42 3.1 Maximum drifts of a two-arm robot : : : : : : : : : : : : : : : : : : : : : 70 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Comparison of B(20,100) with PStab on squeezing mechanism : : : : Results of RKSTAB on Andrews squeezing mechanism : : : : : : : : Comparison of MEXX and RKSTAB on squeezing mechanism : : : : Results of RKSTAB on the suspension mechanism, case I : : : : : : Comparison of B(40,400) and PStab on suspension model, case II : : Comparison of B(12,70) with PStab on the manipulator in case I : : : Comparison of Baumgarte's parameters on the manipulator in case II Comparison of RKSTAB and DASSL on crank-slider with a TSDA :
: : : : : : : :
: : : : : : : :
vii
List of Figures
2.1 2.2 2.3 2.4 2.5 2.6 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15
Drifts on position level of a 7-body system with rtol=1.d-4 Drifts on velocity level of a 7-body system with rtol=1.d-4 Drifts on position level of a 7-body system with rtol=1.d-7 Drifts on velocity level of a 7-body system with rtol=1.d-7 Drifts in position for di erent Baumgarte parameters : : : Drifts in velocity for di erent Baumgarte parameters : : : Andrews squeezing mechanism : : : : : : : : : : : : : Solution of Andrews squeezing mechanism : : : : : : Drifts with B(20,100) on squeezing mechanism : : : : Drifts with PStab on squeezing mechanism : : : : : : A ve-point vehicle suspension mechanism : : : : : : Suspension graph with cut-joints indicated : : : : : : Vertical position of the vehicle wheel, case I : : : : : Solution ( 1 1 ) of the suspension, case I : : : Drifts with B(10,30) for the suspension model, case I Drifts with PStab for the suspension model, case I : : Vertical position of the vehicle wheel, case II : : : : : Solution ( 1 1 ) of the suspension, case II : : Drifts with B(40,400) for the suspension, case II : : : Drifts with PStab for the suspension, case II : : : : : A two-link planar robotic system : : : : : : : : : : : viii
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : :
: : : : : : : : : : : : : : :
: : : : : : : : : : : : : : :
4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39
Constraint path of the end-e ector, Case I : : : : : : : : : : Joint constraint torques of the manipulator, Case I : : : : : y-coordinate solution of the end-e ector, Case I : : : : : : : Joint constraint torques of the manipulator for ! = 0:5 : : : y-coordinate solution of the end-e ector in Case II : : : : : : Slider-crank mechanism with a TSDA : : : : : : : : : : : : : Solutions of slider-crank with a TSDA, k=1000 : : : : : : : Velocities of slider-crank with a TSDA, k=1000 : : : : : : : Solutions of slider-crank with a TSDA, k=10000 : : : : : : : Velocities of slider-crank with a TSDA, k=10000 : : : : : : : A singular slider-crank mechanism : : : : : : : : : : : : : : : Solutions of the singular system with rtol = 1.d-5 : : : : : : Solutions of the singular system with rtol = 1.d-8 : : : : : : Step sizes for the singular system without stabilization : : : Step sizes for the singular system with PStab : : : : : : : : Solution of the singular system with B(20,100), rtol=1.d-10 : Solution of the singular system with PStab, rtol=1.d-10 : : : Solution of new formulation for singular slider-crank : : : : : A rolling disc on a horizontal plane : : : : : : : : : : : : : : The orbit of the rolling coin center : : : : : : : : : : : : : : Drifts of rolling disk with post stabilization : : : : : : : : : : Drifts of rolling disk with Baumgarte's stabilization : : : : : The orbit of contact points in the plane : : : : : : : : : : : : The height of the rolling disk center : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
108 109 109 110 110 112 114 114 115 115 117 118 118 119 119 120 121 122 124 124 126 126 127 127
5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13
A two-dimensional beam element : : : : : : : : : : : : : : A slider-crank mechanism with deformable connecting rod Connection condition between two beam elements : : : : : Transverse de ection at the midpoint for (0) = 180 : : : Transverse de ection at the midpoint for (0) = 120 : : : Transverse de ection at the midpoint for (0) = 60 : : : Drifts of deformable model with B(30,100) for (0) = 180 Drifts of deformable model with PStab for (0) = 180 : : Drifts of deformable model with B(16,90) for (0) = 60 : Drifts of deformable model with PStab for (0) = 60 : : : Drifts in the rigid model with B(10,80) for (0) = 60 : : : Drifts in the rigid model with PStab for (0) = 60 : : : :
0 0 0 0 0 0 0 0 0
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
: : : : : : : : : : : :
134 135 137 143 144 144 145 146 147 147 148 148
A.1 Deformed and Undeformed State of a Flexible Body : : : : : : : : : : : : 156 A.2 Notation for stress : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158
Aknowledgement
The author would like to express his heartfelt appreciation and gratitude to his thesis advisor Dr. Uri Ascher for his continual encouragement and patient guidance throughout the course of this work. Many thanks are also extended to the thesis committee members: Drs. Wayne Nagata, Dinesh Pai, Jim Varah and Brian Wetton. Their helpful comments during the research and writing of this thesis are greatly appreciated. At last, but not least, the author would like to take this opportunity to thank his wife Dawn and his daughter Alina for all their help and understanding. Without the family's encouragement, love and support, this work would never have been accomplished.
xi
Chapter 1. Introduction
formulation of the equations is straightforward. It allows easy additions of complex force functions and constraint equations 19, 20]. Typically six or seven coordinates are used for each spatial rigid body in a system. The connectivity conditions between adjacent components in the system are introduced to the dynamic formulation by applying a set of nonlinear algebraic constraint equations. This set of constraint equations are adjoined to the system's equations of motion by using Lagrange multipliers 4, 46, 82, 81]. The dynamic equations are then index-3 DAEs for holonomic constrained systems and index2 DAEs for nonholonomic constrained systems. In such a formulation the mass matrix and the Jacobian matrix of the constraints have sparse structures. In a recursive formulation, relative joint variables are used to formulate a minimum set of di erential equations 53, 4]. For multibody systems with a tree structure so-called O(N ) formalisms have been found by various researchers independently, yielding the state space representation of the system dynamics in explicit form with a number of operations growing linearly with the number N of system bodies 53, 47, 26, 96]. The dynamics equations in a recursive formulation are written in terms of the system's degrees of freedom and are of lower dimensionality than those in an augmented formulation. However, the corresponding matrices are normally dense and the generalized force functions to be evaluated are often more cumbersome. The situation becomes more complicated when there is a deletion or addition of force or a change in the kinematic constraint structures in a multibody system 19, 20]. For a closed-loop multibody system, however, there are closure conditions which remain as algebraic equations. In this case a recursive formulation has to be combined with a cut-joint technique in order to derive the equations of motion. In general the equations of motion for a closed-loop system are DAEs with index-3 or index-2 as stated earlier. When high operating speeds and greater position accuracy are required in a simulation of a multibody system which contains lightweight elements, the rigidity assumption for
Chapter 1. Introduction
those lightweight mechanical elements is no longer valid 19, 85]. The multibody system under investigation is then assumed to consist of a set of interconnected rigid and exible substructures. The system con guration is identi ed by using a coupled set of reference and elastic coordinates 85]. Elastic coordinates can be the generalized coordinates in an assumed modes method or the displacements and the slopes of selected nodal points in a nite element method 95, 85]. The system di erential and algebraic equations of motion which are developed by using the Lagrangian formulation are written in terms of a coupled set of reference and elastic modal coordinates 85]. Obviously the e cient integration of DAEs can play an important role in simulations of multibody dynamics. Such systems arise also in many other applications. There are various methods developed for the e cient integration of DAEs and the equations of motion for constrained multibody systems 3, 8, 12, 15, 25, 47, 65, 96]. A number of commercial codes have recently been developed for the generation and integration of the equations of motion of mechanical systems 46, 80, 47, 63, 65, 44, 5]. These codes perform well in many circumstances, but they are also known to be too slow in certain applications, especially in simulations involving person in-the-loop. This thesis concentrates on the e cient integration of the equations of motion for constrained multibody systems. To that end we investigate index reduction with stabilization for semi-explicit DAEs and stabilization for di erence equations with invariant manifolds. We develop the theory and methods for numerically solving DAEs by viewing them as ODEs with invariants. Our study leads to post-stabilization methods for numerical solutions of vector elds with invariant manifolds. One of our goals is to eventually approach real-time simulations of multibody systems.
Chapter 1. Introduction
Chapter 1. Introduction
in the di erence equations directly relates to the numerical drift of a numerical solution. This is partially the reason that large numerical drifts can result with Baumgarte's stabilization in certain cases. Inspired by the stabilization formulation we proposed for underlying vector elds, we consider stabilization of invariant manifolds for di erence equations obtained from discretization of underlying vector elds. Since the stabilization is performed after the discretization we call it post-stabilization. The post-stabilization is e cient and it corresponds to one iteration of certain coordinate projection techniques 3, 11, 5, 8, 24]. Post-stabilization was mentioned also in 25]. Our consideration here is to reformulate the di erence equations so that the invariant manifold is uniformly stable. Therefore the solutions of the post-stabilization algorithms have very small numerical drifts and retain high accuracy. Our novel contribution is in the mathematically rigorous development of this family of post-stabilization methods. In our consideration several post-stabilization algorithms for vector eld with invariants and equations of motion in multibody systems are proposed. As an application of the post-stabilizations we derive a stabilization method for simulation of constrained multibody dynamics. Based on the latter post-stabilization method we have developed a numerical code with an automatic step-size control for the EulerLagrange equations for constrained multibody systems. The code, RKSTAB, is an adaptation of the ODE code DOPRI5(4) of Hairer, Norsett and Wanner 43]. The numerical scheme used in the code is an embedding Runge-Kutta 5(4) method, which originates from the formula due to Dormand and Prince 23] where a minor modi cation in the 4th order solution has been made. Certain comparisons of our numerical code with other codes are made for various multibody systems. Numerical results show that our code is reliable, e cient and fast, therefore it is more attractive for real-time simulations. We also apply the post-stabilization for deformable multibody systems. The equations of motion for a deformable slider-crank mechanism are set up by using the nite
Chapter 1. Introduction
element method which yields a system of index-3 DAEs. Using the post-stabilization we proposed for simulation of constrained multibody dynamics, satisfactory numerical results are obtained for the deformable multibody systems. In general our formulations of index reduction with stabilization can be applied to any higher index ( 3) semi-explicit DAEs. The family of stabilizations we proposed in the thesis includes some existing stabilization methods for index-2 DAEs when a special form of stabilization matrix is chosen. Improvements on existing stabilization methods are demonstrated by numerical examples. For di erence equations resulting from a discretization of an underlying vector eld we stabilize the invariant manifold in a similar way as we consider for a vector led. With the post-stabilization methods the invariant manifold becomes uniformly stable in the stabilized di erence equations. Therefore the drifts in the stabilized numerical solutions are small. With the analysis of the stability of invariant manifolds in di erence equations we derive a general form of post-stabilization algorithms for numerical solutions of vector elds with invariants. For numerical solutions of Euler-Lagrange equations in multibody systems we develop poststabilization methods for holonomic and nonholonomic constrained systems. Numerical experiments based on our post-stabilization algorithms on a variety of multibody systems show that our algorithms are e cient and reliable.
In Chapter 2 we brie y review index reduction and stabilized index reduction methods for semi-explicit DAEs. We consider stabilizations for an ODE with an invariant manifold, because a DAE can be regarded as a vector eld on a certain invariant manifold. A new kind of stabilized vector elds in which the invariant manifold is asymptotically stable is given by using Lyapunov's direct method. For semi-explicit index-2 DAEs this general form of stabilization includes Baumgarte's method as a special choice of the stabilization matrix. Improvements on Baumgarte's stabilization are demonstrated by
Chapter 1. Introduction
numerical examples. Our stabilization methods can be used for any semi-explicit high index DAEs. We present index reduction with stabilization for semi-explicit index-2 DAEs using the general formulation. The relationship between our stabilizations and projected coordinates 12, 35] is also considered. We then turn to the di erences in stabilization formulations for semi-explicit index-2 and index-3 DAEs. For semi-explicit index-3 DAEs the invariant manifold has a monotonic property in our stabilized vector elds and this is one of the di erences between ours and Baumgarte's method. In Chapter 3 we consider stabilization methods in discrete dynamical systems. We present an example which shows that the invariant manifold becomes unstable after a discretization when Baumgarte's stabilization has been used. Therefore stabilization of the manifold in di erence equations is needed as the drifts in numerical solutions have a direct link with the stability property of the manifold in di erence equations. We propose stabilization methods in discrete dynamical systems which can be di erence equations from a discretization of a vector eld. We prove that with the post-stabilization the manifold is uniformly stable and therefore the numerical drifts are very small in the stabilized di erence equations. Furthermore for an actual discretization with a local truncation error O(hp+1 ), we prove that numerical drifts are O(h2(p+1)) in our poststabilization algorithms. For the Euler-Lagrange equations in multibody systems we derive our method of choice \PStab" which embodies a compromise between the economy of stabilization step and its e ectivity for the drifts. In Chapter 4 we consider the issue of simulations of multibody dynamics. We rst consider problem formulations in a multibody system by using absolute and relative coordinates. Then we come to discretization of the Euler-Lagrange equations. Combined with PStab we have to modify the 4th order solution in DOPRI(5,4) 23, 43] in order that the scheme remains essentially a 6-stage method. We prove that the modi ed solution has order 4 and therefore the local error estimation remains valid as that in
Chapter 1. Introduction
DOPRI(5,4). For a general formulation of equations of motion in a multibody system the mass matrix can be singular 5, 65]. We therefore rewrite PStab into a new form. The new formulation of PStab also sheds some light on making a full use of certain linear algebra algorithms designed for large multibody systems. Therefore PStab can be expected to be implemented e ciently for those large systems as well. Based on PStab and the modi ed DOPRI(5,4) we develop a numerical code, RKSTAB, with an adaptive step-size control. With a small additional e ort we include Baumgarte's stabilization in RKSTAB as an option left to the user. This also allows us to make a systematic comparison of PStab with Baumgarte's stabilization. Using the code we conduct a variety of multibody dynamics simulations. Numerical experiments show that our code is robust and fast. In Chapter 5 we rst consider the issues in simulation and dynamic analysis of deformable multibody systems. Simulations of deformable systems can be more complicated as there are reference and elastic coordinate couplings in the dynamics. Furthermore, high positioning accuracy is required and the tolerance of numerical drifts can be very small in a deformable system. We therefore apply PStab in the simulation of the deformable multibody system. For a deformable slider-crank mechanism we set up the equations of motion using the nite element method considered in 85]. The motion of the mechanism is mainly caused by large initial angular velocity of the crank. We consider the di erent elastic deformations of the connecting rod for di erent initial velocities. We also compare a rigid model and deformable model for a relative small initial velocity. In the deformable model RKSTAB takes much smaller step-sizes than those in the rigid model and this is partially due to the fact that the equations of motion are essentially PDEs. With Baumgarte's stabilization large numerical drifts are observed both in the rigid and deformable model. With PStab the numerical drifts are very small for the both models.
(2.1)
where F(t x z) is continuous on some domain in R2n+1. If the Jacobian Fz(t x z) = @ F (t x z) is nonsingular at some point (t x z) then by the implicit function theorem, @z (2.1) is equivalent to an explicit ODE near that point. If Fz(t x z) is singular for all (t x z) in some region, then (2.1) is a DAE. One special case for DAE (2.1) is the situation where the derivatives of certain components of x in (2.1) do not appear explicitly. DAEs are di erent from (explicit) ODEs. In general, the existence of the solution for such an initial value problem is not known. Not all initial value DAE problems admit solutions even for linear constant coe cient DAEs. In order to have a solution, the initial 9
10
values must be consistent i.e. they must satisfy certain algebraic equations. Numerically a DAE can be an ill-posed problem and special care must be taken when some discretization scheme is applied to it. The di culty level for a DAE can be indicated by its index. The higher the index the more di cult the DAE appears to be. For higher index DAEs, some index reduction technique typically has to be used before the discretization. But a well-observed phenomenon in solving such a reduced index DAE is the drift problem 12, 15, 5, 29], i.e. the numerical solutions of such reduced index DAE can end up far away from the manifold de ned by the original constraints. This could be a serious problem as the numerical solution may quantatively lose its physical meaning or other important properties. To see the drift problem let us consider the simulation of constrained multibody dynamics. The descriptor form of constrained mechanical systems with holonomic constraints yields an index-3 DAE:
where q 2 Rnq is the generalized coordinate vector, 2 Rn is the Lagrange multiplier vector, G(q) = gq(q) and GGT has a (bounded) inverse. In DAE (2.2), (2.2c) represents n constraints on the position coordinates which indicate the link or joint conditions between the adjacent bodies. (2.2c) may also represent a prescribed motion in robotic motion planning. In many methods the holonomic constraints are di erentiated with respect to time t once or twice before the numerical discretization. With two di erentiations of the position constraints, for example, we have 0 = G(q)v + ddq (G(q)v)q = G(q)v + z(q v) (2.3)
0 0 0
11
Using the equation (2.3) we can eliminate the Lagrange multiplier vector in (2.2b) and obtain an ODE for (q v) which is called the state space form :
(2.4a) (2.4b)
(2:5)
It is important to notice that there are di erences between the original descriptor form (2.2) and the state space form (2.4). They are not equivalent to each other. The constraints on position level and those on velocity level which are obtained by one di erentiation of the position constraints with respect to time t, together de ne an invariant manifold for the state space form (2.4). Only those solutions of (2.4) which lie on the invariant manifold are the solutions of the descriptor form. Also for the descriptor form (2.2), there are in nitely many di erent underlying ODEs. All of the underlying ODEs admit the solutions of the original DAE (2.2) but they can present di erent stability properties for the invariant manifold. In numerical integrations, even a mild instability of the invariant manifold may cause serious drift problems i.e. the numerical solutions of (2.4) violate the constraints (2.2c) and (2.3) badly. Figs. 2.1 and 2.2 show the drifts on the position and velocity levels for a multibody system (Andrew's squeezing mechanism,
In this Chapter and Chapter 3 we assume that the mass matrix M (q) is symmetric positive de nite. A general consideration of M (q) is made in Chapter 4.
1
12
0.04
0.02
-0.02
-0.04
-0.06 0
0.1
0.2
0.3
0.4
0.1
0.2
0.3
0.4
13
-1
-2
-3
-4 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figure 2.3: Drifts on position level of a 7-body system with rtol=1.d-7 considered in Chapter 4) when the state space form (2.4) is integrated. The integration is carried out by the code DOPRI 54 43], which has an automatic step size control. For any choice of (the local error) tolerances the drift eventually will build up to an unacceptably large amount as t grows. Figs. 2.3 and 2.4 are the plots of drifts with a much smaller tolerance. The increasing tendency of the drifts remains. In 1972 Baumgarte 15] introduced a stabilization method aiming at reducing the drifts. In fact Baumgarte's stabilization technique is to reformulate the equations of descriptor form to an underlying ODE such that the invariant manifold is asymptotically stable. However, the di culty of choosing Baumgarte's parameters in practice makes its robustness unclear 8, 7]. Figs. 2.5 and 2.6 are the drifts in position and velocity constraints in Andrew's squeezing mechanism for various choices of Baumgarte parameters. We chose the time interval to be 0 0:3] and the absolute error = 1.d-5 and the relative error = 1.d-4. The (usual) z-direction represents the drifts on the velocity
14
1.5
x 10
-3
0.5
-0.5
-1
-1.5 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
15
Figure 2.6: Drifts in velocity for di erent Baumgarte parameters constraints. The x-direction indicates the varying of Baumgarte's parameters and the y-direction represents the percentage of time t in the interval 0 0:3]. In this example, the di erent choices of Baumgarte parameters do not present signi cant di erences and all the Baumgarte parameters (large or small) appear to be ine cient. The drifts will build up eventually for di erent Baumgarte parameters. In order to integrate the DAEs more e ciently we have to study other more e cient stabilization methods. To this end we begin our study with the asymptotic stability of invariant manifolds in a vector eld. We derive di erent reformulations or underlying ODEs for a given DAE. Among the reformulations proposed in the index-2 case, Baumgarte stabilization is a special choice. In our stabilization reformulations the invariant manifolds have a decreasing property. With Baumgarte's stabilization the invariant manifolds do not have this decreasing property for index-3 DAEs. In this chapter various reformulations of index-2 and index-3 DAEs of Hessenberg form
16
17] are studied. In order to study those reformulations we brie y present some concepts of DAEs and index reduction methods for DAEs in Section 1. In Section 2 we study the relationship between a DAE and its underlying ODEs. For a given DAE we present a general form of underlying ODEs in which the invariant manifold is asymptotically stable. In Section 3 we study index-reduction reformulations for semi-explicit index2 DAEs. Numerical examples show that the reformulations we proposed improve on Baumgarte stabilization. In Section 4 we consider the reformulations and stabilizations for index-3 DAEs, especially the di erences in the reformulations for index-2 DAEs and for index-3 DAEs. The methods presented in this chapter are general and can be also used for even higher index( 4) DAE reformulations.
17
F(t x x ) = 0
0
(2:6)
where F(t x z) is continuous in a domain R2n+1. A solution x(t) of (2.6) on an interval I is de ned as a continuously di erentiable function on I that satis es (2.6) for all t 2 I. It is well known that every ODE with local Lipschitz continuity has a unique solution when an initial value is given, at least locally. In fact, the continuity of the right hand side function of an ODE is su cient for existence of a solution for an initial value problem. For DAEs, however, it is not simply the matter of smoothness, but also the DAE's algebraic structure that determines the existence of solutions. To see this consider an initial value problem of a linear DAE with constant coe cients: (2:7) Ax (t) + B x(t) + f (t) = 0 x(0) = 0 0 1 0 1 1 0C 1 1C A=B @ A B=B @ A 0 0 0 0 where x = (x1 x2)T . If f = (0 0)T then (2.7) has in nitely many solutions given by R x1(t) = ; 0t e t ( )d x2(t) = (t) , where (t) can be any continuously di erentiable function satisfying (0) = 0. When f = (0 1)T , (2.7) does not have any solution at all (just look at the second row in (2.7)). Therefore both the nonhomogenous term f and the structure of matrices A and B are crucial for the existence of solutions. In fact, for a constant linear DAE, it is the so-called regularity of the matrix pencil that determines the existence of the solution 39]. This leads to the concept of solvability 17] for general DAEs (2.6) .
0 ;
18
I if there is an r-dimensional family of solutions (t c) de ned on a connected open set I ~ ~ Rr , such that: 1. (t c) is de ned on I for each c 2 ~ 2. (t (t c) (t c)) 2 for (t c) 2 I ~
0 0
3. If (t) is any other solution with (t (t) (t)) 2 , then (t) = (t c) for some c2 ~ 4. The graph of as a function of (t c) is an (r+1)-dimensional manifold.
From the de nition above DAE (2.7) is not solvable. For a fully implicit DAE (2.6), the criteria for solvability are not clear and many considerations 76] are made based on the constant-rank assumption:
teger m such that F has m continuous derivatives and the nonlinear system of \derivative equations"
De nition 2.2 (di erential index) The index of (2.6) is the minimal nonnegative in-
xm+1) = 0
19
The di erential index of a DAE de ned above can be related to the sensitivity of the solutions to perturbations in the equations. In particular Hairer et.al. 42] introduce the perturbation index concept which can directly relate the perturbation index to a perturbation estimate.
De nition 2.3 (perturbation index) Equation (2.6) has perturbation index m along ^ having a a solution x on 0 ~ t], if m is the smallest integer such that, for all functions x
defect
^x ^ ) = (t) F(t x
0
~] there exists an estimate on 0 t ^(t) ; x(t)k kx ^(0) ; x(0)k + 0maxt k ( )k + C (kx + 0maxt k
m
;
( )k)
where the expression on the right-hand side is su ciently small. Here C denotes a constant which depends only on F and the length of the interval.
The di erential index and the perturbation index are equal when the DAE has the form:
B x = F1(t x)
0
(2:8)
where B is a constant matrix. In general the following relations hold 34]: di erential index perturbation index di erential index +1
20
x = f (x y) 0 = g (x y )
0
(2.9a) (2.9b)
where gy = @ g=@ y has a bounded inverse in a neighborhood of the solution (or in the region of interest). The initial value (x0 y0), to be consistent, satis es g(x0 y0) = 0. The index-2 case:
x = f (x y) 0 = g(x)
0
(2.10a) (2.10b)
where gx fy has a bounded inverse. A consistent initial value (x0 y0) satis es g(x0) = 0 and gx(x0)f (x0 y0) = 0. The index-3 case:
x = f (x y) y = h(x y z) 0 = g(x)
0 0
where gx fy hz has a bounded inverse. An example of (2.11) is the equations (2.2) describing the dynamics of multibody systems. To be consistent, the initial value (x0 y0 z0) is required to satisfy g(x0) = 0, gx(x0)f (x0 y0) = 0 and gxx (f f ) + gxfx f + gxfy h = 0 at (x0 y0 z0). Notice that all three DAEs (2.9), (2.10) and (2.11) can be written in the form
B X = F(t X)
0
where B is a diagonal matrix with entries 1 and 0. So for DAEs (2.9), (2.10) and (2.11) the di erential index and the perturbation index are equal to each other.
21
Numerical integration of higher index DAEs usually involves two steps 12, 17]: the stabilization or regularization by reformulating the DAE to a lower index DAE and the discretization of the reduced index DAE. There are several methods of reformulations for higher index DAEs in the literature. For illustration we once again consider the Euler-Lagrange equations for a constrained multibody system as an example.
M (p)p = f (p v t) ; GT (p)
00
(2.12a) (2.12b)
0 = g(p)
(2.13a) (2.13b)
Baumgarte stabilization
then the resulting DAE (2.13) has index 1. The equation (2.13b) has a double zero eigenvalue, so g(x(t)) will have a polynomial growth as t ! 1. This is partly responsible for the growing drifts when we integrate the equations (2.13). To reduce the drift Baumgarte 15] proposed to use
M (p)p = f (p v t) ; GT (p) (2.14a) 2g dg + g 0 = d + (2.14b) 1 2 dt dt 2 to replace (2.12). Baumgarte's technique has been used for many practical computations because it is simple to implement and understand, and can make use of ODE solvers. Of course at each time step some linear solver has to be used in the evaluation of the corresponding right-hand side function for the state space form. If there is no other
00
22
sti ness the integration can be e cient as an explicit scheme can be used. One of the problems with Baumgarte stabilization lies with the choice of parameters i. It is not obvious in practice how to choose suitable parameters 8, 12]. Analytically for any positive 1 and 2 the ODE (2.14b) is asymptotically stable which implies g(x(t)) ! 0 as t ! 1. Mathematically, the larger i , the faster g(x(t)) damps out as t ! 1. But in numerical integration large i can introduce sti ness into the equation. There is no general recipe for choosing the right parameters and there is no guarantee that we can always nd the Baumgarte parameters so that the drift will be controlled to the desired small amount. For certain problems small Baumgarte parameters are preferred while for the others large parameters have to be used 8].
Another technique is maintaining more constraints by introducing an additional multiplier(s) 12, 36, 37]. By using this technique DAE (2.12) can be reformulated as 37]
The system (2.15) is an index-2 DAE for variables (p v ). The exact solution for of (2.15) is 0 so that (2.15) and (2.12) will share the same solutions for (p v ). As the numerical solution of (2.15) satis es both the position constraint (2.12b) and velocity constraint (2.15c) the method has no drift problem. But the computation of (2.15) could be expensive as implicit schemes have to be used for the even larger dimension DAE (2.15).
23
As we noted at the beginning of this chapter, the Lagrange multiplier can be solved by di erentiating the constraints (2.16c) twice, so the state space form ODE for (q v)
24
where
In order that a solution of the state space form ODE (2.17) be a solution of DAE (2.16) the initial value for (2.17) must be consistent. For DAE (2.16), consistent initial values are those which satisfy the position and velocity constraints. We therefore de ne a manifold which is invariant in the state space form vector eld (2.17):
M = f(q v) : g(q) = 0
G(q)v = 0g
(2:19)
DAE (2.16) is equivalent to the ODE (2.17) on the manifold M in the sense that they have the same (analytical) solution set for (q v) on M . Therefore the existence and uniqueness of solutions of the DAE (2.16) can be seen by considering vector eld (2.17) on the manifold M. To this end suppose the initial value (q0 v0 0) satis es (2.18) and (q0 v0) 2 M. Through the initial value (q0 v0) (at t0 = 0 ), ODE (2.17) has a solution (q(t) v(t)) . Let = (q(t) v(t)) be de ned by (2.18). We claim that (q(t) v(t) (t)) is a solution of DAE (2.16). A simple calculation shows that (q(t) v(t) (t)) satis es (2.16b). So we only need to verify that g(q) = 0. This is implied by the fact that
Chapter 2. Index Reductions of DAEs and Reformulations In general consider the DAE
25
F(t x x ) = 0 (2:20) De nition 2.4 (underlying ODE) An ODE is called an underlying ODE of DAE
0
For a given DAE neither the underlying ODE nor the invariant manifold are unique. For instance, DAE (2.20) has invariant manifolds M de ned by (2.19) and the one de ned by
M = f(q v) : G(q)v = 0g
1
Stabilization can be made on any of the invariant manifolds. Also we can construct di erent underlying ODEs for a given DAE. Di erent index reduction formulations as well as stabilization techniques will result in di erent reformulations of vector elds 12, 15, 17, 25, 31]. All those formulations admit solutions of the original DAE. But the stability and other dynamical properties are not necessarily the same. Those di erent properties can directly a ect the behavior of numerical solutions. In order to investigate the better reformulations for a given DAE, we start our study with an ODE which has an invariant manifold. This ODE can be any of the underlying ODEs of the original DAE. We present a criterion for any other vector elds which share the solution with the ODE on the manifold. According to the de nition of underlying ODEs all those vector elds which satisfy the criterion will be underlying ODEs of the original DAE. Then starting from the general form of underlying ODEs we analyze the stability of the invariant manifold and therefore a better reformulation can be obtained. Consider an ODE z = f (z) (2:21)
0
on an invariant manifold M = f(z) 2 Rn h(z) = 0g, where f and h are smooth vector valued functions. For any other ODE de ned on M we have the following conclusion.
26
z = F(z)
0 M
(2:22)
Fj = f j
z = f (z) ; F (t x)h(z) (2:23) where is a constant and F (t z) is a matrix and we call F the stabilization matrix.
0
is a solution of (2.22) Suppose (2.22) admits all solutions of (2.21) which lie on M. Then for any (z0) 2 M, we have a solution of (2.21) z(t) 2 M, t 2 I such that z(t0) = z0. By assumption z(t) is also a solution of (2.22), so we have z (t) = F(z(t)) t 2 I . Therefore f (z(t)) = z (t) = F(z(t)), especially for t0: f (z0) = F(z0). So Fj = f j 2 As an immediate conclusion of Proposition 2.1, the following ODEs share the same solutions on M with (2.21):
0 0 M M
Proof If Fj = f j , for any solution z(t) of (2.21) on M, z (t) = f (z(t)) = F(z(t)). So z(t)
M M 0
ODE (2.23) is a general form of reformulations in which a variety of choices of parameter and matrix F can be made. For (2.22) we focus on the reformulations in which the manifold M is stable. As pointed out in 12], all the index reductions and stabilizations currently used in numerical solutions of DAEs have the stability property analytically. But the numerical behavior can be di erent for various problems. By analyzing the stable reformulations we can nd suitable reformulations which can be attractive for numerical discretization.
27
z = f (z)
0
(2:24)
and suppose M is an invariant set of the ODE (2.24). M is called stable if for any given > 0, there is a = ( t0) > 0 such that dist(z(t) M) < for t > t0, if dist(z0 M) < . Similarly we call M asymptotically stable if in addition
t
lim dist(z(t)
!1
M) = 0
Stability for DAEs is studied in 67] although no precise de nition of stability for DAEs was given. Similar to the stability of solutions of ODEs, we call a solution of a DAE stable, if solutions of the DAE with small perturbations of initial value remain nearby the solution of the unperturbed DAE. Special care must be taken in the DAE case because small perturbations of consistent initial value may end up with inconsistent initial values. Clearly, if an ODE which admits all solutions of the DAE is (asymptotically) stable the DAE is (asymptotically) stable as well. The converse is not true, however. In fact those ODEs may have di erent stability properties. We therefore classify the instability in a reformulation into two sources: one is due to the DAE itself and the other arises from the reformulation. An instability due to a DAE is inherent to that DAE and we can't change it by reformulations into an underlying ODE. But an instability due to the reformulation can be improved by selecting a better underlying ODE. For the stability study of the invariant manifold we can construct a certain Lyapunov function. Suppose the invariant manifold M of the vector eld (2.24) is given by
M = f(z) : h(z) = 0g
(2:25)
We can construct the Lyapunov function L = hT (z)h(z). Then the total derivative of L with respect to (2.24) is _ j(2:24) = 2hT (t x)hz(z)f (z) L (2:26)
28
If the total derivative in (2.26) is negative de nite then M is asymptotically stable. The proof can be carried out in a similar way as Lyapunov stability theory for an equilibrium _ in (2.26) provides a useful clue when state in di erential equations. The property of L we construct our stabilizations in (2.23). Combined with other considerations we will end up with new stabilizations and index reductions for higher index problems.
z = f (z)
0
(2.27)
0 = h(z)
We propose the following general form of stabilizations for vector eld (2.27):
(2.28)
z = f (z) ; F (t z)h(z)
0
where
F = D(HD)
or
F =D
with D(t z) smooth such that HD is nonsingular. If (2.31) is used we also require HD to be symmetric positive de nite for all (t z). Also the smallest eigenvalue of HD is
29
bounded from below by a positive number. For choices of F in (2.30) or (2.31) we have the following stability theory.
Theorem 2.1 Suppose the stabilization matrix F is chosen such that the matrix HF (z) is symmetric positive de nite with the smallest eigenvalue (z) 0 > 0 for all z.
Assume that there is a positive number
0
such that
0
kh(z)k (2:32) for all z near M . Then the invariant manifold M (2.28) is asymptotically stable in the
1
kH f (z)k
= 0.
Proof
T Consider the Lyapunov function V (z) = 1 2 h h(z). Then 1 d kh(z(t)k2 = h(z(t))T d h(z(t)) 2 dt dt T = h(z(t)) H (z(t))(f0 ; F (z(t))h(z(t))
h(z(t))T H f0 ; hT HF h ;( 0 ; 0)hT h
0
Remark 2.1 Recall that H f (z) = 0 when h(z) = 0 so the condition (2.32) in the
theorem can be realized. On the other hand we cannot remove the condition (2.32). The following example shows that even though all the assumptions of the theorem except (2.32) hold, the invariant manifold can be unstable.
Example 2.1
(2.33)
30
Remark 2.2 From the proof of the theorem above the invariant manifold M has the
2 2 where z = (z1 z2)T , r2 = z1 + z2 and h(z) = r2 ; 1. The instability of the manifold M = fz h(z) = 0g is implied by the fact that h = ct3=2 where c is a constant.
kh(t + )k kh(t)k
for any 0 and t. For index-2 DAEs the monotonic property of the invariant manifold also hold in Baumgarte's stabilization. For index-3 DAEs, however, the monotonic property does not necessarily hold in Baumgarte's stabilization. This is one of the main di erences between Baumgarte's and our stabilizations.
Example 2.2
1x + e t ; x x1 = 2 1 x2 2 1x x2 = ; 2 ; x1 2
; 0 0
0 = e t + x1x2
;
where x1 x2 and are unknown variables, x2 > 0. If we reduce the index by di erentiating the constraint (2.23c) with respect to t, we have: ! t e 1 t 0 = ;e + x2 2 x1 + x ; x2 + x1 ; 1 2 x2 ; x1 2
; ;
Chapter 2. Index Reductions of DAEs and Reformulations = Recall that x2 > 0, so for (x1 x2):
31
; (x + x )
2 1 2 2
(2.35a) (2.35b)
We can verify that the ODE (2.35) has the general solution: ! t 2 t 1 e 2 x1(t) = x1(0) + x (0) e ; x (0)
;
x2(t) = x2(0)e
(2.36a) (2.36b)
where (x1(0) x2(0)) is the initial value with x2(0) > 0. We can verify that DAE (2.34) has the solution: x ~1(t) = ;e 2t x ~2(t) = e 2t
; ;
Consider the stability of the original DAE (2.34). The solutions of DAE (2.34)(we only consider x1 x2) are those among the general solutions of the ODE (2.35), such that the initial value (x1(0) x2(0)) lies on the manifold:
M = f(x
So (~ x1(t) x ~2(t)) is asymptotically stable as a solution of DAE (2.34) but unstable as a solution of ODE (2.35). We can easily see that M is stable but not asymptotically stable in (2.35). The reformulation can bring additional instability into the equations and there could be a serious problem especially for nonlinear DAEs. Note that if we consider the
32
variational problem of (2.34)(i.e.the linearization about the exact solution) we will have an unbounded coe cient linear system. The variational problem of (2.34) is unstable. In reformulations and index reductions for DAEs certain aspects, like sti ness of the resulting reformulation and expense of the evaluation can has to be considered. Analytically Baumgarte stabilization can be understood as adding \ correction" terms into the generalized applied force so that the correction forces the trajectories back into the (invariant) manifold whenever the trajectory is away from it. However the way or the geometrical direction Baumgarte's stabilization drives the trajectories is not necessarily optimal. In this section we will study reformulations for index-2 DAEs. A stabilization technique improving Baumgarte's stabilization for semi-explicit Hessenberg form DAE is proposed. We consider the reformulations and index reduction for the semi-explicit index-2 DAEs. We can write Baumgarte's stabilization as a special case in the general form of stabilized underlying ODEs (2.29). To this end we rst derive an underlying ODE by di erentiation for a given DAE. For convenience we only consider the autonomous case:
(2.37a) (2.37b)
where x y are vectors not necessarily of the same dimension, G(x)B (x) is nonsingular and G(x) = @ g=@ x. For DAE(2.37) the set of consistent initial values of x is given by
M = fx 2 Rn j g(x) = 0g
y
If we di erentiate (2.37b) with respect to t, we have 0 = G(x) f (x) + B (x)y ] Substituting y in (2.37a) we have an underlying ODE:
x = F0(x)
0
Chapter 2. Index Reductions of DAEs and Reformulations = f (x) ; B (x) G(x)B (x)] 1G(x)f (x)
;
33
The manifold M in (2.38) is invariant in (2.40). This can be seen from the fact that any d g(x (t)) = G(x (t))x (t) 0. Baumgarte's stabilizasolution x (t) of (2.40) satis es dt tion for (2.37) is an index-1 DAE:
0
(2.41a) (2.41b)
where > 0 is a constant. The underlying vector eld for x has the form:
(2.42)
Notice that F j = F0j for all > 0, by Proposition 2.1 the vector eld (2.42) admits all solutions x(t) of DAE (2.37). It is worthwhile to consider the geometrical property of the stabilization term in (2.42). Although both G(x)B (x) and G(x)GT (x) have inverses, B (x) and GT (x) in (2.37) can be di erent. Taking ny = 1 for example, the existence of the inverse of G(x)B (x) means the vector B (x) does not lie on the tangential plane of M at x while the vector GT (x) represents the normal direction of M at x. Furthermore GT (x) and B (x) can be di erent in magnitude 12]. Those considerations are helpful when we choose an underlying ODE for the DAE to integrate numerically. The general form of stabilized underlying ODEs (2.29) for the index-2 DAE (2.37) for x(t) has the form:
x = F0(x) ; S (x)g(x)
0
(2.43)
ny (x)
34
The purpose of the choice of matrix S (x) is clear: to make (2.44) asymptotically stable. For the Baumgarte technique S (x) = B (x) G(x)B (x)] 1 and G(x)S (x) = I . Therefore (2.44) is asymptotically stable for any positive . However, when B (x) in DAE (2.37) is less pleasant 12], we may nd a better reformulation instead. One of the alternatives is
;
Multiplying (2.43) by G(x) and remembering that g = G(x)x and G(x)F0 = 0 we have dg(x) + G(x)S (x)g(x) = 0 (2:44) dt
(2:45) (2:46)
where D(x) is a matrix such that G(x)D(x) has a (bounded) inverse. For all choices of S in (2.46) we have G(x)S (x) = I and M is asymptotically stable. If we choose D = B then (2.46) is the Baumgarte stabilization. The vector GT (x) represents the normal direction of the manifold M in (2.38). When we choose S (x) in (2.45), the correction term S g drives the trajectories of (2.43) back into M along the normal direction which is the shortest way to reach M. So the choice of (2.45) is particularly attractive. The drifts in the numerical integration of (2.45) can be much smaller. Example 2.3 Consider for 0 t 1 12]
; 1)y + q (t) 0 = (t + 2)x + (t ; 4)x + r(t) with x (0) = x (0) = 1 and y(0) = ;0:5. Here 1 is a parameter and
x2 = (
0
x1 = (2 ; t) y + q1(t)
0
q1(t) = (1 + )et
Chapter 2. Index Reductions of DAEs and Reformulations 1 et q2(t) = 1 + 2 ; ;t 2 r(t) = ;(t + t ; 2)et
35
Here we use the backward Euler method and the step size h = 0:01. We take = 1000 so h (= 10) is not small (the stability restriction needs h to be decreased further 12]). `Error1' and `Drift1' in Table 2.1 refer to Baumgarte. `Error2' and `Drift2' refer to the stabilization with S = GT GGT ] 1 in (2.43).
;
Error1 Drift1 Error2 Drift2 Error3 Drift3 0. .19e-2 .85e-2 .20e-2 .85e-2 .19e-2 .85e-2 1. .56e-3 .49e-2 .11e-2 .49e-2 .25e-4 .10e-3 10. .91e-3 .29e-3 .56e-4 .31e-3 .14e-4 .12e-5 100. .27e-4 .93e-8 .14e-4 .39e-5 .14e-4 .12e-7 1000. .13e+42 .45e+39 .14e-4 .40e-7 .14e-4 .13e-9 1.e+8 .92e+74 .45e+58 .14e-4 0 .14e-4 0 Table 2.1: Comparison of Baumgarte and two improved methods We see that with Baumgarte's method small values of do not lead to good results while large leads to disastrous ones. In contrast, using (2.45) the error decreases (or does not increase) monotonically in and, moreover, the range in which yields acceptable errors is much larger. In this sense the stabilization (2.45) provides a much improved situation. We can safely choose as large as needed to counterbalance F0 (there is no need to choose larger). In (2.45) there is an evaluation of the inverse of G(x)GT (x) (or at least the solution of linear systems involving GGT as well as GB ). Sometimes this can be expensive. The main concern about the reformulation is the stability of the invariant manifold (2.38). For the stabilizations of (2.43) the matrix S could have di erent form other than (2.46). In general we have the following stability theorem for the reformulation (2.43).
36
Theorem 2.2 If the matrix S in (2.43) is chosen such that G(x)S (x) is symmetric
positive de nite and the smallest eigenvalue of GS satis es
ny (x)
0
>0
(2:47)
where (2.43).
Proof
_ j(2:43) = ; gT (x)G(x)S (x)g(x) L Noticing that G(x)S (x) is symmetric positive de nite and satis es (2.47) we have _ j(2:43) L
(2:48)
gT (x)g(x) = ; 0L
(2:49)
By a comparison theorem in 60] the invariant manifold is asymptotically stable. 2 For the various choices of S in (2.46), including the Baumgarte stabilization, the condition of Theorem 2.3 is automatically satis ed with GS the identity matrix. We can consider another choice of S :
x = F0(x) ; GT g(x)
0
(2:50)
As G has full row rank GGT is indeed symmetric positive de nite. For the particular case we need to verify the condition (2.47). We have tested the reformulation (2.50) with the example 2.3. `Error3' and `Drift3' in Table 2.1 refer to the stabilization (2.50). With the similar parameter setting and same scheme the numerical results show (2.50) is better than Baumgarte stabilization. And it is even somewhat better than (2.45). It is interesting to notice that the stabilized underlying ODE has a close relationship with the projected invariants methods mentioned earlier. Our stabilization matrix has a
37
similar form with the projection matrix. The main advantage using stabilization matrix lies in the fact that the stabilization matrix determines the stability property of the invariant manifold and thus has a potential to end up with a better reformulation. The general reformulations (2.43) with the choices of (2.45) or (2.46) studied above can also be obtained by introducing additional Lagrange multipliers. We now reformulate DAE (2.37) as
where 0, P (x) is a ny ny nonsingular smooth matrix and G(x)Q(x) has an inverse for any x. Di erent choices of matrices P and Q correspond to di erent stabilizations. For example, if we let P = GGT Q = GT then we have
(2.52a) (2.52b)
If we eliminate the algebraic component y then (2.52) is the reformulation (2.45) (with = 1= ). When we take P = I Q = GT we have the reformulation (2.50)
(2.53a) (2.53b)
38
Theorem 2.3 DAE (2.51) has index 1 for > 0 and index 2 for = 0. The additional
multiplier in (2.51) has the exact solution (t) solution (x y) as DAE (2.37).
Proof
For = 0, notice that @ g=@ x = G(x) and di erentiate (2.51c). We have 0 = G(x)x =
0
;G(x)Q(x)
This implies 0 as G(x)Q(x) has an inverse for any x. For > 0, (2.51c) becomes = 1 P 1(x)g(x)
;
(2:54)
(t) = 1 d (P 1(x))g(x) + 1 P 1(x)G(x)(f (x) + B (x)y ; Q(x)) " dt # d 1 1 1 = dt (P (x))P (x) ; P (x)G(x)Q(x)
; ; ; ;
(0) = 1 P 1(x)g(x(0)) = 0 gives (t) 0. 2 The stabilization can be obtained by suitably choosing the matrices P (x) , Q(x) and the parameter in (2.51). Analytically smaller corresponds to damping the drift faster but smaller can also bring sti ness into the system. So far it is not clear how to choose the parameter in practical computation. By choosing suitable stabilization matrices P and Q, large range of can be expected as shown in Example 2.3. Usually the reformulation (2.43) with (2.46) is used and this includes Baumgarte stabilization as a special case. The di erence is that in Baumgarte's stabilization only the parameter is
;
39
chosen while in our stabilization we may have di erent stabilization matrices to choose which can provide a better reformulation. And the choice of stabilization matrices can be made from the point view of geometric as well as the stability considerations.
x = f (x x ) + B (x x )y 0 = g(x)
00 0 0
(2.55a) (2.55b)
with G(x)B (x) nonsingular. The index-3 DAE (2.55) is more complicated than index-2 DAEs. Stabilizations for the index-3 DAE can be achieved in two ways. One is regarding the index-3 DAE as a (underlying) vector eld on an invariant manifold M like in index-2 DAE cases. Then reformulate the underlying vector eld so that M has a nice stability property. The other reformulations of index-3 DAEs can be completed in two steps: rst reduce the index-3 DAE to an index-2 DAE by either projected invariant or Baumgarte stabilization, then use the reformulations for index-2 DAEs developed in the previous section. To avoid repetition we just focus on the key di erence regarding the stability of invariant manifold in the reformulations for index-3 DAEs. Unlike the index-2 cases, the stability of the invariant manifold cannot be guaranteed for certain similar reformulations. Let 0 1 0 1 x g(x) C z=B @ C A h=B @ A x gx (x)x We can write the underlying ODE of (2.55) which is obtained by two di erentiations of (2.55b) as
0 0
z = f (z)
0
Chapter 2. Index Reductions of DAEs and Reformulations with an invariant manifold M de ned by
40
0 = h(z)
(2.56)
where h : U R2n ! R2ny and f0 : U R2n ! R2n are assumed to be smooth, and H (z) = hz(z) has a full row rank. The function f0(z) in (2.27) has the form: 0 1 x A f (z) = @ 1 f (x x ) ; B (gxB ) gxx (x x ) + gxf ] It is easy to verify that 0 1 Gx H (z)f (z) = @ A (2.57)
0 0 ; 0 0 0
Thus the condition (2.32) holds with 0 = 1. Therefore the invariant manifold M (2.56) has a monotonic property in the stabilized underlying vector elds (2.29). While in Baumgarte's stabilization g satis es the equations
g + 1g + 2g = 0
00 0
and usually khk is not monotonic decreasing. For index-3 DAE (2.55) the analogue to stabilization (2.51) of index-2 DAEs is
GT
where z(x x ) = Gx (x)(x x ) G = @ g(x)=@ x, P1(x x ) and P2(x x ) are ny nonsingular smooth matrices and > 0 as before.
0 0
ny
41
Similar to the index-2 case we can prove that the solutions for (t) and (t) in (2.58) are (t) (t) 0. So (2.58) and (2.55) share the same solution for (x y). For (2.58) we have dg = G(x)x dt 2 d g = G (x)(x x ) + G(x)x x dt2
0 0 0 00
(2:59)
There are many choices of P1 and P2 in (2.58) so that (2.59) is asymptotically stable. For example if we choose P1 = P2 = GGT , then (2.59) has the di erential equation which is the same as the Baumgarte reformulation:
g + 2 g + 2g = 0
00 0 ;
(2:60)
(2.60) is asymptotically stable for any > 0. Stabilization (2.58) with P1 = P2 = GGT is di erent from Baumgarte stabilization when B 6= GT . If we choose P1 = I P2 1 = GGT then (2.59) becomes g + 2 (GGT )g + 2(GGT )2g = 0 (2:61)
00 0
This is analogous to the stabilization (2.52) for index-2 DAEs. A numerical example for those two stabilizations with the choices of P1 = P2 = GGT and P1 = I P2 1 = GGT is given by a modi cation of example 2.3:
;
x1 = (2 ; t) y + q1(t)
00
42
x2 = (
00
0 =
+ r(t)
where q1 q2 and r are same as in Example 2.3. We use the backward Euler method, h = 0:01 and = 1000. Error1 and Drift1 refer to Baumgarte, Error2 and Drift2 refer to P1 = P2 = GGT and Error3 and Drift3 refer to P1 = I and P2 = GGT . We can see that for larger (= 1000) Baumgarte technique produces an unreasonable result. But the stabilizations we proposed still work well. Error1 Drift1 Error2 Drift2 Error3 Drift3 0. .82e-2 .72e-2 .82e-2 .72e-2 .82e-2 .72e-2 1. .80e-2 .63e-2 .80e-2 .63e-2 .72e-2 .23e-3 10. .16e-1 .63e-3 .73e-2 .68e-3 .71e-2 .68e-5 100. .19e-1 .79e-5 .71e-2 .16e-4 .71e-2 .47e-6 1000. .20e+65 .11e+61 .71e-2 .81e-7 .71e-2 .45e-7 Table 2.2: Baumgarte and Baumgarte improved for an index-3 DAE The stability analysis for (2.61) is not as easy as (2.44) which is for the index-2 DAE case. The eigenvalue criterion for stability can't be used here as (2.61) has time dependent coe cients. Although GGT is positive de nite, (2.61) is not always stable as the following example shows ! !2 1 1 g +2 p g + p g =0 (2:62) 2 t 2 t
00 0
1 . De nitely we can use the reformulations with The ODE (2.62) has a solution g = 4t 4 the choice of P1 = P2 = GGT in (2.58). Note that in (2.60), although it is asymptotically stable for > 0, the damping is not necessarily monotonic. The stabilization for index-3 DAEs can also be carried out by two steps: reducing (2.55) to an index-2 problem rst, (for example we can use Baumgarte or projected
43
invariants method), then applying the stabilizations to the reduced index-2 DAE. For instance using Baumgarte stabilization we can reformulate (2.55) to an index-2 DAE:
x = v v = f (x v) + B (x v)y 0 = G(x)v + g
0 0
Next we apply the stabilization proposed in the previous section to (2.63). If the reformulation (2.53) is used we have:
x = v ; (Gx v)T + GT v = f (x v) + B (x v)y ; GT 0 = (Gx v + G)v + G(f (x v) + B (x v)y) 0 = g+ g g (x(0) v(0)) + g(x(0)) = 0
0 0 0 0
where Gx = @G(x)=@ x. Notice that in (2.64) the algebraic variables and y can be eliminated using (2.64c) and (2.64d). In general the reformulations or stabilizations for index-3 DAEs are more di cult than the index-2 case. By stabilizing the invariant manifold
M = f(x v) : 0 = gx(x)vg
2
(2:65)
alone usually is not enough as it is equivalent to an index-2 problem. The di erent reformulations discussed so far guarantees the asymptotic stability for the invariant manifold analytically. It can be expected that our reformulations studied in this chapter work well for a variety of problems.
z = f (t z)
0
(3.1) (3:2)
ciency of a numerical integration when we are interested in the solutions of (3.1) on the manifold (3.2). We stabilize the invariant manifold M by reformulating the vector eld (3.1) to the following:
M = fz 0 = h(z)g The stability of the invariant manifold M (3.2) may directly a ect the e
z = f (t z) ; F (z)h(z)
0
(3.3)
where is a positive number. The stabilization matrix F in (3.3) is chosen so that M is asymptotically stable. The numerical integration of (3.3) depends on the choices of Baumgarte parameter and the stabilization matrix F . There are many studies 46] on the optimal choice for the Baumgarte parameters . Numerical examples in Chapter 2 show that the numerical behavior depends on the matrix F . In 8] we point out that the optimal choice of the parameters depends on the step size and the numerical scheme as well. This is discussed and demonstrated further in 7]. Moreover, the analytical 44
45
asymptotic stability of the invariant manifold cannot guarantee that the numerical solutions have small drifts. The stability property of the invariant manifold M may appear di erent after the discretization and the numerical solutions may still have large drifts. To see this consider a simple index-2 DAE example.
Example 3.1
z = 3t2 + y
0
0 = z ; t3
(3.4a) (3.4b)
; 3t ) + (z ; t ) y + (z ; t )
0
z = 3t2 ; (z ; t3)
0
(3.5)
In the underlying ODE (3.5) if = 0 the invariant (3.4b) is stable but not asymptotically stable. For any positive , the asymptotic stability of M in (3.5) is implied by the fact: d (z ; t3)2 = ; (z ; t3)2 (3:7) dt Now consider the discretization of ODE (3.5) with the initial value (t0 z0) = (0 0). Using the forward Euler method with step size h, we have
3 zn+1 = zn + h 3t2 n ; (zn ; tn )
(3.8)
Chapter 3. Stabilizations of Discrete Dynamics Formulations When = 0 the solution (3.8) has the form:
46
For > 0 we require that j1 ; h j 1, otherwise the solution (3.8) will be exponentially large. Take = 1=h (It can be shown that in this example there are no signi cant di erences for the drifts among those with j1 ; h j < 1 ). Then (3.8) reads
3 zn+1 = t3 n+1 ; h (3n + 1)
(3.9)
(3.10)
3 Clearly for all > 0, h(tn+1) = zn+1 ; t3 n+1 = ;h (3n + 1) will grow arbitrarily for n large enough (i.e. t ! 1). So the manifold M is not stable in the di erence equation (3.8).
Remark 3.1
1. The simple stable invariant manifold can become unstable after discretization, and the drift can be quadratically growing
2. The asymptotically stable invariant manifold can become unstable after discretization, and the drift can be linearly growing.
The observations above motivate us to seek more e cient stabilizations for the integration of underlying ODEs with the invariant manifold. A discretization results in di erence equations or a discrete dynamical system. Within the di erence equations a new asymptotic property could appear and some stability properties of the vector eld could be lost too 98]. In order to restore the stability for the invariant manifold we have to reformulate the di erence equations somehow without diluting the scheme's other desirable properties such as accuracy. We call this procedure a post-stabilization. We start with a discussion of the di erence equations in Section 1. Using the comparison theory we consider the stability of an invariant manifold in di erence equations in Section 2. We prove that the manifold is uniformly stable in the di erence equations
47
with post-stabilization. The drifts of the numerical solutions are directly related to the stability of the manifold in the di erence equations. In Section 3 we analyze the order of the drift in the di erence equations with a post-stabilization. When the stabilization matrix is chosen in a certain way the drift is O(h2(p+1)) if a scheme with local truncation error O(hp+1 ) is used. This is a stronger result then the ones reported in 8] or 24]. In Section 4 we propose stabilization algorithms for holonomic constrained multibody dynamics. Among the proposed post-stabilization methods, one variant which we call PStab is our method of choice and it has been used in our numerical code for constrained multibody dynamics. In Section 5 we consider the stabilization scheme for non-holonomic constrained systems. We present other methods like coordinates projection methods in Section 6. Our stabilization for di erence equations corresponds to one iteration of a certain projection method if a particular weighted norm has been used. Our stabilization methods restores in the di erence equations the stability property of the invariant manifold and therefore it ensures numerical solutions with very small drifts. A variety of numerical examples in the next chapter show that PStab is e cient and robust.
48
a simple di erence equation resulting from a rst order di erential equation may exhibit a phenomenon often called the appearance of \ghost" solutions or existence of chaotic orbits that can only happen for higher order or higher dimensioned di erential equations. Consequently, the theory of di erence equations is interesting in itself and it plays an important role in numerical analysis 1, 61, 98]. Notation : We will use the following notation in this chapter:
N = f0 1
g the set of natural numbers including zero N (a) = fa a + 1 g where a 2 N N (a b) = fa a + 1 bg where a < b < 1 and a b 2 N
Let N be any one of the above sets. A di erence equation in one independent variable k 2 N and one unknown u(k) is a functional equation of the form
f (k u(k) u(k + 1)
u(k + n)) = 0
(3:11)
where f is a given function. The order of (3.11) is de ned to be the di erence between the largest and smallest arguments explicitly involved. Equation (3.11) is said to be normal if it is of the form
u(k + n ; 1))
(3:12)
(3:13)
where u is a 1 n vector and F is a given vector valued function. A system of linear di erence equations has the form
(3:14)
Chapter 3. Stabilizations of Discrete Dynamics Formulations where A(k) is a given n n matrix and b(k) is a given n 1 vector. Initial value problems A function u(k) de ned on Nn , where 8 > N (a b ; 1 + n) if N = N (a b ; 1) > > < Nn = > N (a) if N = N (a) > :N if N = N
49
is said to be a solution of the given n-th di erence equation (3.11) on N if the values of u(k) reduce the di erence equation to an identity over N . Similarly , for the system of di erence equations (3.13) a function u(k) de ned on N1 is a solution of (3.13) on N if the values of u(k) reduce the di erence equations to an equality over N . The initial value problem is to nd a solution of (3.13) with the initial value u(a) = u0 where u0 is a given value. We denote the initial value solution by u(k a u0) Our concern for a given di erence system is the ultimate behavior of its solutions. Let us denote by B (v ) the open ball having center at v and radius . For the special case v = 0 we simply use the notation B . Suppose (3.13) has u(k) = 0 as its solution. The stability of the zero solution is de ned as follows 61]:
2B
the solution
2. Uniformly stable if it is stable and can be chosen independent on k0. 3. Attractive if there is (k0 ) > 0 such that for u0 2 B one has limk 4. Asymptotically stable if it is stable and attractive.
!1
u(k) = 0.
For a nonlinear system, usually the study of one particular solution's asymptotic property is through the linearization around the solution. Consider the stability of nonlinear
50
where f : N Ba ! Ba and f (k 0) = 0. If the function f is small in a certain sense and we regard (3.15) as a perturbation of the di erence equations
uk+1 = A(k)uk + f (k uk )
(3:15)
uk+1 = A(k)uk
then for the stability of (3.15) we have the following theorem 1, 61]:
(3:16)
for all k and all kuk k su ciently small, where > 0 is small. If the solution uk = 0 of (3.16) is uniformly asymptotically stable, then the solution uk = 0 of (3.15) is asymptotically stable.
kf (k uk )k kukk
(3:17)
(3:19)
uniformly with respect to k. Then the zero solution of (3.18) is asymptotically stable.
yk+1 = yk + (tk yk hk )
(3.20)
51
where hk is the (kth) time step and (3.20) advances the solution of (3.1) from the approximation yk at tk to an approximation yk+1 at tk+1. Using the theory of di erence equations we can study various stability and other properties of the scheme (3.20). Here we are mostly interested in the asymptotic property of manifold M (3.2) in the di erence equations (3.20). We now present the de nition of stability for an invariant manifold in the di erence equation. Suppose M is an invariant manifold of di erence equations (3.13). We denote the -neighborhood of M in u-space by B (M ).
B (M ) = fu vinf ku ; vk
2M
g 2 B (M
(3:21)
) the
De nition 3.2 directly relates the drifts of the numerical solution (3.20) with the stability of M in the discrete dynamical system. In order for the numerical solution to remain nearby the invariant manifold we have to require that M be stable in the di erence equations (3.20). Obviously a stable invariant manifold M in the underlying ODE (3.1) has a better chance to be stable in the di erence equations (3.20) than an unstable M. However we cannot rely on that. We therefore propose a stabilization method which reformulates the di erence equations so that M is stable or even asymptotically stable in the resulting reformulation. Consider the di erence equations (3.20) arising from a one-step discretization. We
52
stabilize the manifold M in (3.2) by reformulating (3.20) into the following set of di erence equations 8]: ~k+1 = zk + (tk zk hk ) z ~k+1 ; F (~ zk+1 = z zk+1)h(~ zk+1 ) (3.22a) (3.22b)
If the solution z(k) of (3.22) is near the manifold M, we can regard (3.22) as a perturbation to the di erence equations (3.20). Then the solutions of (3.22) will stay nearby the solution of (3.20). If the perturbation term in (3.22) (i.e. the correction term in (3.22b)) is smaller than the truncation error of the discretization (3.20), we can expect that the solutions of (3.22) have the same order of accuracy as that of (3.20). In order to give a global estimation of the di erence between the solutions of the two systems, we present the discrete Gronwall inequality 1, 61] which is analogous to the well-known Gronwall inequality for di erential equations.
inequality is satis ed Then for all k 2 N (a).
Lemma 3.1 (Discrete Gronwall inequality) Suppose that for all k 2 N (a) the following
u(k) p(k) + q(k) u(k) p(k) + q(k)
k 1 X
;
k 1 X
;
l=a
f (l)u(l)
;
(3:23) (3:24)
l=a
p(l)f (l)
k Y1
=l+1
(1 + q( )f ( ))
Using the discrete Gronwall inequality we can prove the following estimation theorem.
Theorem 3.2 For (tk yk hk ) suppose there are nonnegative functions (k) and (k)
such that
k (tk yk hk ) ;
(tk zk hk )k
kF (~ zk
+1
)h(~ zk+1)k
(k)ky ; zk (k)
(3.25) (3.26)
53
Then for the solution yk of (3.20) and the solution zk of (3.22) we have the following estimation:
kyk ; zk k (ky ; z k +
0 0
k 1 X
;
l=a
(l)) +
k 1 X
;
l=a
(ky
;z k+j a
0
;
l 1 X
=
(j ))
k Y1
;
=l+1
(1 + ( )) (3:27)
l=a k 1 X l=a
yk ; zk = y0 ; z0 +
+ From (3.25) and (3.26) we have
k 1 X
;
l=a
( (l yl) ; (l zl))
l=a
F (~ zl)h(~ zl)
k 1 X
;
kyk ; zk k ky ; z k +
0 0
Then by the discrete Gronwall inequality (3.27) follows. 2 The function in the discretization (3.20) is of O(hk ) and so is (k) in (3.25). The main di erence between the solutions y(k) and z(k) lies in the fact that the stability property of M in the di erence equations (3.20) and (3.22) could be di erent when we vary the choice of the stabilization matrix F . Di erent choices of F lead to di erent di erence equations. By reformulating the di erence equations so that the manifold M is asymptotically stable we can expect the solution z(k) to stay nearby M for any k. The stability study for an invariant manifold is more di cult than that of an equilibrium state or other simple invariant sets like periodic orbits in di erence equations.
l=a
l=a
(3:28)
54
There is not too much study reported in the literature on the stability of an invariant manifold for di erence equations. Fortunately in our study the invariant manifold M has a special form, i.e. it is de ned explicitly by a certain known function h(z). By monitoring the values of the functions h we are better o for the stability of M. But for u(k) = h(zk ) where zk is a numerical approximation for an underlying ODE at tk, the next term u(k + 1) = h(zk+1) is determined by i.e. the discretization scheme, F and u(k) altogether. There is no recursive formulation for u(k + 1) and therefore we cannot write u(k) as a discrete dynamical system. For this reason, the stability theory for di erence equations like Theorem 3.1 can not be directly applied to h(z(k)). We have to turn to other qualitative theory in dynamical systems to study the stability property of M. In the qualitative study for di erential equations or di erence equations, there are two powerful tools: the comparison theory and the Lyapunov direct method. For our asymptotic study of the values h(z(k)) we can make a full use of these tools and techniques. For example, one useful comparison theorem in di erence equations is the following 61] 0 and g(k r) be a function nondecreasing with respect to r for any xed k . Suppose that for k k0, the inequalities,
y(k0) u(k0)
implies
55
We now come to the stability theorem for an invariant manifold M in di erence equations (3.22).
M de ned in (3.2). If the stabilization matrix F in (3.22) is chosen such that kI ; H (z)F (z)k < 1
Proof
Theorem 3.3 Suppose h(z) and F (z) are su ciently smooth near the compact manifold
(3.29)
where is a constant and H (z) = hz is the Jacobian matrix, then for su ciently small hk in (3.22), manifold M is uniformly stable in (3.22).
Since M = fz : h(z) = 0g is compact, the uniform stability of M is implied by the following statement: If for any given > 0, there exists a ( ) > 0 so that the solution of (3.22) satis es kh(zk )k < for any k when hk is small enough and kh(z0)k < ( ). Recall that h(z) and F (z) are su ciently smooth near the compact manifold M so we can nd a constant M > 0 such that
kh(z ; F (z)h(z))k kh(z) ; H (z)F (z)h(z)k + M kh(z)k for all z near M. Let = + (1 ; )=2 then < 1.
1 1
(3.30)
Now for any given > 0, we rst assume the step-size in scheme (3.22a) is small such that
kh(z +
where
1
(tk z hk ))k
kh(z)k +
(3.31)
g
(3.32)
kh(zk )k <
Chapter 3. Stabilizations of Discrete Dynamics Formulations for all k if kh(z0)k < . In order to prove (3.32), let us rst show that
56
kh(~ zk )k
for all k. Using (3.31) we have
1; 2M
(3.33)
1; + 1; 4M 4M
kh(~ zk )k
kh(zk )k + kh(~ zk ; F (~ zk )h(~ zk ))k + zk)kkh(~ zk )k + M kh(~ zk )k kI ; H (~ zk )F (~ ( + M kh(~ zk )k)kh(~ zk )k + + 1; zk )k + 2 kh(~ kh(~ zk )k +
1 1 1 1 1
;
Using Proposition 3.1 ( the comparison theorem ) we have l 1 X l kh(~ zl+1)k z1)k + 1 i1 1 kh(~
i=1
1 1
(3.34)
4M
4M
57
So we have (l + 1) 2 N and therefore (3.33) holds for any k. Repeating the above arguments we have a similar estimation of (3.34) for kh(~ zk )k:
kh(~ zk )k
Finally using (3.30) and (3.29), we have
kh(z )k + 1 ;
0
1 1
+ = 2
(3.35)
kh(zk )k
( + M kh(~ zk )k)kh(~ zk )k
kh(~ zk )k
Notice that
Remark 3.2 To determine the stability of the linear system zk+1 )F (~ zk+1)) v(k) v(k + 1) = (I ; H (~
(3:36)
is not an easy task as it is a time dependent system in general. Our goal is to nd the stabilization matrix F such that (3.36) is asymptotically stable. If we can choose F such that HF I then the linear system (3.36) has a zero coe cient matrix. The stability of a constant coe cient linear system is totally determined by the distribution of its eigenvalues. Therefore if all its eigenvalues lie inside the unit disk then the linear system is uniformly asymptotically stable. For time-dependent linear systems, however, the eigenvalue criterion may not be su cient. See the following example 61].
58
0 B A(k) = 1 8@
The eigenvalues of A(k) are 2=2 for all k, and they are inside the unit disk. The zero solution of (3.37) is unstable as the general solution of (3.38) has the form: 0 10 1 2k 2 0 c1 C B C B @ A @ A k 0 2 c2
;
0 9 + (; 9 ; (;1)k 7 0
1)k 7
1 C A
(3.38)
if k is even, and
0 10 1 k 0 2 C B c1 C B @ 2k A@ A 2 0 c2
;
when k is odd. Here c1 and c2 are any constants. We can see that in any case a solution will grow exponentially. 2 By Theorem 3.3 the drifts (away from the manifold M) of the di erence equations (3.22) will remain fairly small globally provided the step size h is small and (3.36) is uniformly asymptotically stable. In the next section we will consider several poststabilization algorithms for the Euler-Lagrange equations and the ODEs with invariants. The solutions by the resulting algorithms will stay nearby M and also retain the same order of accuracy as the original scheme z(k + 1) = z(k) + (tk z(k) hk ).
59
by Theorem 3.2. In this section we describe the actual construction of the stabilization algorithms for an ODE with an invariant manifold. Then we propose two stabilization algorithms for Euler's equations in descriptor form for constrained multibody dynamics. Consider a stabilized ODE system z = f (z) (3:39)
0
where h : Rn ! Rm and f : Rn ! Rn are su ciently smooth and H (z) = hz(z) has a full row rank. From example 3.1 we see that the analytical stability property of invariant manifold M de ned by (3.40) can play an important role in the discretization. Furthermore we can also consider the monotonicity property of the invariant manifold and this leads to the following de nition.
h(z) = 0
(3:40)
De nition 3.3 An invariant manifold M is said to be decreasing in the vector eld (3.39) if for any solution z(t) of (3.39) and 0 kh(z(t + ))k kh(z(t))k (3.41)
The decreasing property is an extension of the concept of integral invariant manifold. Recall that an invariant manifold M of (3.40) is an integral invariant set in the vector eld (3.39) if H (z)f (z) 0 for all z. There are, however, invariant manifolds with decreasing property which are not necessarily integral invariant manifolds. Consider a stabilized ODE system
z = f (z) ; H T HH T
0
(z)h(z)
(3:42)
with an invariant manifold given by (3.40), where is a positive parameter. Suppose there are positive 0 and r such that
kH (z)f (z)k
kh(z)k
(3:43)
60
for all z 2 B (M r). Then the invariant manifold M of (3.40) is decreasing in (3.39) for all 0 as we pointed out in the previous chapter.
Remark 3.3 For the semi-explicit index-3 DAEs of Hessenberg form, the constant 0 in
(3.43) is 1. So there is no need to choose very large to make M decreasing.
with the solution zk at tk and the step size hk = tk+1 ; tk. The post-stabilization scheme (3.22) can be written as
Theorem 3.3 ensures that the invariant manifold M is uniformly stable in the di erence equations (3.22). We now come to a practical estimate for the possible drifts when the stabilized scheme (3.22) has been used. To this end we start with an order p discretization scheme for ODE (3.39) ~k+1 = zk + (tk zk hk ) z (3:44)
(3:45)
Theorem 3.4 Suppose the manifold M is decreasing in (3.39) and compact in Rn. If
kI ; HF (z)k
then for the scheme (3.45) we have
<1
(3:46)
kh(zk )k
where M0 is a constant of moderate size.
+1 M0hp k
(3:47)
Proof
61
Suppose h and F are smooth for z near M. The manifold M is compact so there exists a positive number M1 such that for any ~ z near M
(3.48)
kH (z)k k (~ z)k
1
M1
M1kh(~ z)k2
(3.49)
Let 1 = + (1 ; )=2. Then 0 < 1 < 1 because < 1. Since the scheme (3.44) has an order p accuracy we can nd a constant M2 so that the local truncation error k satis es
k
+1 M2hp k
for all k if the right-hand side function in vector eld (3.39) is smooth. Furthermore we choose the step size small enough so that ; 1; 1 =1 (3.50) k 2M12 2 ; 1 Applying (3.48) for the scheme (3.45) we have
(3.51)
The initial condition z0 is consistent so h(z0) = 0. Therefore for i = 0 we have M1(kh(zi)k + M1 ) 1 (3.52) 2 (1 ; ) Let N denote the number set that for any k 2 N (3.52) holds for all i k. We know that 0 2 N i.e. N is not empty. For k 2 N let z(t) = z(t tk zk ) be the exact solution of (3.39) with z(tk ) = zk . Then
kh(~ zk )k
+1
kh(z(tk ))k + M
+1
k+1
(3.53)
Chapter 3. Stabilizations of Discrete Dynamics Formulations Using the decreasing property of M and (3.51) we have
62
kh(zk )k
+1
kI ; HF (~ zk )kkh(~ zk )k + k (~ zk )k kh(~ zk )k + M kh(~ zk )k ( + M kh(~ zk )k) kh(~ zk )k ( + M (kh(z(tk ))k + M k )) (kh(z(tk ))k + M ( + M (kh(zk )k + M )) (kh(zk )k + M k ) +1 2 (1 ; ) (kh(zk )k + M k ) (kh(zk )k + M k )
+1 +1 1 +1 +1 1 1 +1 2 +1 +1 1 1 +1 1 +1 +1 1 1 +1 1 +1 1 1 +1
k+1 ) (3.54)
(3.55) (3.56)
kh(zk )k
+1
k+1
1
M1 M hp+1 2 k 1;
1
kh(z )k + X i
k
0 =0
iM
1
(3.57)
Chapter 3. Stabilizations of Discrete Dynamics Formulations manifold can be relaxed by choosing the stabilization matrix F such that
63
I ; H (z)F (z) 0
If (3.58) holds we have even a better results for h(zk ):
(3:58)
Theorem 3.5 Suppose we choose the stabilization matrix F so that (3.58) holds near
+1
) then (3.59)
Proof
The proof can be carried out by two steps. The rst step is to prove
kh(zk )k = O
hp+1
(3.60)
and the second one is to prove (3.59). In fact (3.60) can be proved in similar way to that of Theorem 3.4. Recall that the key step of using the decreasing property in the proof of Theorem 3.4 is the one from (3.54) to (3.55) in order to obtain (3.56). In order to prove (3.56) in the current situation let us consider an auxiliary (stabilized) initial value problem at the integration step tk 8 > < y = f (y) ; 0H T (HH T ) 1(y)h(y) (3.61) > : y(tk ) = zk
0 ;
Let y(t) = y(t tk zk ) and z(t) = z(t tk zk ) be the exact solutions of (3.61) and (3.39) for t 2 tk tk+1]. As we mentioned earlier M is decreasing in (3.61) i.e. we have
+1
Now for the exact solutions y(t) and z(t) we have an estimation in tk tk+1]
64
Zt
k
Zt
tk
~ k+1 be the numerical solution of (3.61) at tk+1 by using the same for t 2 tk tk+1]. Let y discretization scheme as for z (3.44). For step-size h small enough we have ~ k+1)k = kh(~ yk+1) + H ( ~k+1)(~ zk+1 ; y (kh(y(tk+1))k + M1
+1 +1 1
t T T k h ( z ) k 1 ; hk L k t kH (HH ) kds
0
;
y) +
(3.62)
where z and y are local truncation errors for z and y respectively. From (3.58) we have = 0 in (3.54). Using the estimation (3.62) we have a similar estimation as (3.56). Similar to (3.57) we have (3.60). From (3.62) and the assumption that the local truncation error is O(hp+1 ) we have
kh(~ zk )k = O
+1
hp+1
65
Algorithm 3.1
INPUT from the one-step integration: Solve ~ zk+1 = zk + (tk zk hk )
OUTPUT
The post-stabilization with F satisfying (3.58) is our recommended method. For the vector eld (3.39) with an invariant manifold (3.40) we can choose the stabilization matrix F = D(HD) 1 where D(z) is a matrix such that the inverse of the matrix HD exists. With this choice we propose Algorithm 3.1. From Theorem 3.5 if the onestep integration scheme being used has O(hp+1 ) local truncation error, the drifts with Algorithm 3.1 will be O(h2(p+1)). On the other hand, if I ; HF 6= 0 then our theory requires the decreasing property, even though numerical results in 7, 8] indicate that such stabilizations may work anyway, although less e ectively.
;
66
(3.63)
where M (q) is the mass (n n) matrix, f (q v) is the vector of applied forces and is the vector of dimension m of Lagrange multipliers. By di erentiating the constraints twice a state space form di erential equations for q and v can be obtained:
q = v M (q)v = f (q v) ; G(q)T
0 0 ; ; ;
(3.64)
where = (GM 1 GT ) 1 (GM 1 f + Lv) Then the vector eld (3.64) has the invariant manifold 0 1 g(q) C h(q v) = B @ A G(q)v The Jacobian matrix of h is given by
where H has a full row rank. We rst choose our stabilization matrix F to be
1
(3:65)
67
Algorithm 3.2
T ) = (qT vT )T + (tk qk vk hk ) ~k INPUT one-step integration: (~ qT k+1 v +1 k k
~ k+1)(~ ~ T )T = (gT (~ Solve HH T (~ qk+1 v qT v qk+1) (G(~ qk+1)~ vk+1)T )T Compute OUTPUT ~ k+1)(~ ~ T )T qk+1 v qT v (qT vT )T = H T (~
T T T )T ; (qT vT )T ~k (qT qT k+1 vk+1 ) = (~ k+1 v +1
We consider Algorithm 3.2 If the local truncation error in the integration is O(hp+1 ) the drift with Algorithm 3.2 is O(h2(p+1)). We call this algorithm S-full 8, 7]. It involves the inversion of matrix HH T which could be expensive for a large constrained multibody system. Also the evaluation of the entries of H (q v), in particular L(q v), could be costly. In order to avoid the evaluation of L and solving with the big matrix HH T we proposed in 7] the stabilization matrix 0 1 1 1 T 1 T M G GM G 0 C F (q v ) = B (3.66) @ 1 A 1 T 1 T 0 M G GM G
; ; ; ; ; ;
The stabilization (3.66) was called S-both 8]. With the choice of (3.66) we amplifying matrix I ; HF = 0 10 1 G ( q ) 0 M 1 GT GM 1 GT 0 B C B I ; @ A@ L(q v) G(q) 0 M 1 GT GM 1 GT 0 1 0 0C = B @ A 1 ;LM 1GT GM 1 GT 0
; ; ; ; ; ; ; ;
have the
1 C A
(3.67)
68
The amplifying matrix of S-both is not a constant matrix, so we cannot use its eigenvalues to guarantee the stability of the corresponding linear system (3.36). The norm condition of kI ; HF k < 1 does not hold for (3.67) either. However, a simple variation on the proof of Theorem 3.4 shows that its results still hold, essentially because 0 10 1 0 0 0 0 B C C @ AB @ A=0 Ek 0 Ek 1 0 regardless of what the m m matrices Ek 1 and Ek are. We now come to our favorite post-stabilization for constrained multibody systems. ~ k+1). Applying (3.66) Suppose that from an order p one-step scheme we have (~ qk+1 v twice we obtain the following stabilization: 0 1 0~ 1 ^ k+1 q q @ A = @ k+1 A ; F (~ ~ k+1)h(~ ~ k+1) qk+1 v qk+1 v (3.68a) ^ ~ v v k+1 k+1 0 1 0 1 ^ k+1 q q k+1 @ A = @ A ; F (~ ~ k+1)h(^ ^ k+1) qk+1 v qk+1 v (3.68b) ^ k+1 vk+1 v where F is de ned (3.66) and 1 0 (q) g A h=@ G(q)v In 7] we called the stabilization (3.68) S-both2 . In S-both from (3.68b) we have
; ;
^ k+1) = (I ; H (~ ~ k+1)F (~ ~ k+1))h(~ ~ k+1) + O kh(~ ~ k+1)k2 h(^ qk+1 v qk+1 v qk+1 v qk+1 v qk+1 v ^ k+1)F (~ ~ k+1))h(^ ^ k+1) + O kh(^ ^ k+1)k2 h(qk+1 vk+1) = (I ; H (^ qk+1 v qk+1 v qk+1 v qk+1 v Using (3.68a) we have ^ k+1) = H (~ ~ k+1) + O kh(~ ~ k+1)k2 H (^ qk+1 v qk+1 v qk+1 v Therefore ~ k+1)F (~ ~ k+1))h(^ ^ k+1) + O kh(~ ~ k+1)k2 qk+1 v qk+1 v qk+1 v qk+1 v h(qk+1 vk+1) = (I ; H (~ ~ k+1)k2 ~ k+1)F (~ ~ k+1))2 h(~ ~ k+1) + O kh(~ qk+1 v = (I ; H (~ qk+1 v qk+1 v qk+1 v
69
We can easily see that the amplifying matrix for the stabilization (3.68) is the zero matrix, i.e. (I ; HF )2 = 0. Applying Theorem 3.5 to the S-both2 stabilization (3.68) we have the following corollary. ~ k+1) is the solution of a numerical integration of (3.64) Corollary 3.2 Suppose (~ qk+1 v
at tk+1 with local truncation error O(hp+1). Then the S-both2 stabilization (3.68) has O(hp+1 ) local truncation error and the drift is O(h2(p+1)).
In 7] we have compared experimentally the post-stabilization algorithms S-full, Sboth, S-both2 , and stabilizations of the velocity or position constraints alone 3, 12]. Rather than repeating those here we simply note that S-both2 has clearly emerged as the best compromise between accuracy and economy. Compared to S-full of Algorithm 3.2, S-both2 has the same order of drift term but computationally it is much cheaper than S-full. We therefore adopted S-both2 as the method of choice, and will refer to it henceforth as PStab (for post-stabilization). Based on PStab we have developed a numerical code to integrate the Euler-Lagrange equations in constrained multibody systems. Our numerical experiments show (see next chapter) that PStab is e cient and robust for di erent multibody dynamics problems.
Example 3.3
A double planar pendulum with a prescribed path at its \free" end is described and tested in 4, 7]. We employ Algorithms 3.2 and 3.3 to simulate this mechanism. The onestep integration we used is an explicit Runge-Kutta scheme of order 2 with a constant step size h. In Table 3.3 we record the numerical drifts on position and velocity levels (drift-position and drift-velocity) of our runs on the time interval 0, 10]. Baum(12, 70) refers to Baumgarte's stabilization with Baumgarte parameter pair (12, 70). For this example we tried many other pairs of Baumgarte parameters and the pair (12, 70) is the \optimal" one. From Table 3.1 Algorithms 3.2 and 3.3 yield very small numerical
70
drifts which are O(h2(p+1)). We will present the equations of motion and the algebraic constraints in Section 4 of the next chapter as we will further consider the simulations of this mechanism (case I) using a numerical code.
~ k+1 ; q vk+1 = v ~ k+1 ; v NSTAB = NSTAB + 1 4. Compute qk+1 = q ~ k+1 = qk+1 v ~ k+1 = vk+1 GOTO 3 5. IF NSTAB 1 THEN q ELSE OUTPUT
h stabilization drift-velocity drift-position .01 Baum(12 70) .72e-2 .14e-2 .01 Algorithm 3.2 .12e-7 .61e-9 .01 Algorithm 3.3 .67e-8 .15e-13 .001 Baum(12 70) .70e-4 .14e-4 .001 Algorithm 3.2 .15e-13 .40e-14 .001 Algorithm 3.3 .18e-13 .31e-14 Table 3.1: Maximum drifts of a two-arm robot
Remark 3.4 There are other choices of the stabilization matrix F than the one in
(3.66). When a multibody system involves heavy massed substructures and extremely
71
light mass components we can choose the matrix GGT which can be better conditioned than GM 1 GT . In this case we take the stabilization matrix
;
0 GT GGT B F =@ 0
0 GT GGT
1 C A
(3.69)
For the stabilization matrix F (3.69) the conclusion of Theorem 3.5 holds.
g(t q) = 0
(3:70)
There can also be constraints of another type which restrict the kinematically possible motions of the system, i.e. the possible values of the velocities of the individual bodies, _) = 0 g(t q q (3:71)
The constraint (3.71) is called a kinematic constraint. Clearly every geometric constraint gives rise to a certain kinematic constraint. However a constraint on velocities in a system need not lead to a restriction on their possible positions. If the constraint (3.71) is integrable then (3.71) is essentially a geometric constraint. Nonintegrable kinematic constraints are not equivalent to geometric constraints, and they are called nonholonomic constraints. A nonholonomic multibody system is de ned as a system with some nonintegrable kinematic constraints. Let us consider the following nonholonomic multibody system 68].
q = v
0
(3.72a)
72 (3.72b) (3.72c)
M (q)v = f (q v) ; G(q)T
0
0 = G(q)v
where G has a full row rank. (3.72c) is an index-2 DAE. Notice that for holonomic constraint system if we di erentiate the position constraints we will have equations of a similar form as (3.72c). All our conclusions here hold for the holonomic constraint system with the invariant set M2 de ned by
M = f(q v)j
2
G(q)v = 0g
(3:73)
As before, we can eliminate the Lagrange multiplier vector by di erentiating the constraint (3.72c) with respect to t. We get the following underlying ODE for (3.72c):
q = v M (q)v = f (q v) ; G(q)T (q v)
0 0
(3.74a) (3.74b)
The vector eld (3.74) has (3.73) as its invariant set. Suppose that by an order p one-step ~ k+1) at tk+1. We propose the following integration of (3.74) we have a solution (~ qk+1 v stabilization: 0 1 0 1 0 1 ~ k+1 q q 0 k+1 @ A=@ A;@ A (3.75) 1 T 1 T 1 ~ k+1 vk+1 v M G (GM G ) G(~ qk+1 )~ vk+1 The stabilization (3.75) can be developed as the general form stabilizations: 0 1 0 1 ~ k+1 q q k+1 @ A=@ A ; F (~ ~ k+1)G(~ qk+1 v qk+1 )~ vk+1 (3.76) ~ k+1 vk+1 v For (3.75) the stabilization matrix F has the form 0 1 0 A F =@ 1 D(GD) where D is a matrix such that GD has a bounded inverse. For example we can choose D = M 1 GT or D = GT depending on the multibody system. For both of these choices of
; ; ; ; ;
73
D, the amplifying matrix I ; HF is zero for (3.75) so the drift is O(h2(p+1)). A numerical test for stabilization (3.75) will be given for a rolling disc problem in the following chapter.
Remark 3.5 Of course any holonomic system (3.64) can be written in the form (3.72c)
rst and then the post-stabilization (3.75) can be applied. This is the essence of stabilizing velocity constraints only 3]. However, results in 7] indicate that this simple approach is not always best. The example in Section 5 of the following chapter is one where particularly poor results are obtained when ignoring the position-level constraints.
z = f (z)
0
0 = h(z)
~n+1 = f (tk zn hn ) z ~n+1 ; D(~ zn+1 = z zn+1 ) 0 = h(zn+1)
One reason for our claim 8] that the post-stabilization (3.45) is particularly attractive is that it is very close to the coordinate projection method (3.79): it can be easily veri ed that one Newton iteration for solving (3.79b) and (3.79c) yields (3.45). The poststabilization (3.45) guarantees the asymptotic stability of M in the di erence equations even when M is slightly unstable in the underlying vector eld. Therefore the numerical solutions will stay near M for all time integration.
75
the incorporation of general forcing functions and constraint equations or speci ed trajectories in the recursive formulation is di cult 19]. When there are closed-loops in a multibody system a recursive formulation has to be combined with a cut-joint technique in order to retrieve the closure conditions in the multibody systems. The equations of motion for a multibody system with closed-loops are index-3 or index-2 DAEs depending on the constraints. For a large multibody system suitable linear algebra algorithms can improve the efciency of simulations of the multibody dynamics 65, 5]. Those linear algorithms take advantage of the sparseness structure in the equations of motion when Cartesian coordinates are used. Certain results of using the special linear algorithms on large multibody systems are reported in 65]. In this work we focus on stabilization methods and our numerical experiments are conducted on multibody systems with relatively small numbers of bodies ( 7). For those relatively small multibody systems the special linear solvers have no immediate preference over the standard linear solvers like Gaussian elimination with partial pivoting. The e ciency of our post-stabilizations are demonstrated with simple linear solvers for those relatively small multibody systems. For our poststabilization PStab we rewrite it in a new form in this chapter and with the new form, PStab can be implemented by employing the e cient linear algebra algorithms 65, 5] designed for large systems. Combined with the e cient linear algebra algorithms, PStab can be expected to be e cient for large multibody systems as well. In this chapter we study numerical simulations for constrained multibody dynamics as an application of our post-stabilization method developed in the previous chapter. In Section 1 we consider problem formulation for multibody dynamic equations. For a given multibody system di erent choices of generalized coordinates result in di erent equations of motion. These di erences between range from di erent dimensions, di erent
76
(algebraic) structure in mass matrix and Jacobian matrix and di erent index formulations. Of course for di erent formulations di erent numerical methods should be used. In Section 2 we consider an embedded Runge-Kutta scheme DOPRI(5,4) 43, 23] due to Dormand and Prince as our basic discretization. We perform PStab on the 5th order solution and use it as our next (starting) value of integration. The local error is obtained as the di erence between the output (stabilized) 5th order solution and a modi ed (from DOPRI(5,4)) solution which is obtained by the 7th stage of function evaluation on the stabilized 5th solution. We prove that the modi ed solution also has the order 4 like the one in DOPRI(5,4). Furthermore this modi ed numerical scheme has the \ rst same as last" property and is a 6-stage method. Using this modi ed numerical scheme we discretize the underlying vector eld for constrained multibody systems. For a multibody system with a symmetric positive semi-de nite mass matrix, we rewrite PStab in a general form. In the new form we can implement PStab even when the mass matrix is singular. More importantly we can apply the special linear algebra algorithms 65, 5] designed for large multibody systems to our PStab and therefore make PStab e cient for large systems. In Section 3 we brie y describe our numerical simulation code, RKSTAB, for constrained multibody dynamics. RKSTAB also includes Baumgarte's stabilization as an option with a very small addition to the code. Therefore we can make a systematic comparison of PStab with Baumgarte's method on many multibody systems. In the comparison \optimal" Baumgarte parameters (found by ad hoc search) are used. A variety of numerical experiments are conducted with RKSTAB in section 4. Comparisons of RKSTAB with other codes like MEXX and DASSL on certain problems are also made. In Section 5 an ill-posted problem i.e. a singular slider-crank mechanism, is considered. Although RKSTAB is not designed for such a singular problem satisfactory simulation results are obtained with RKSTAB in this case as well. Finally in Section 6 a nonholonomic constrained mechanism is considered. Numerically nonholonomic constraint systems require
77
less sophistication than holonomic constraint systems as the nonholonomic systems have lower index.
q = qT 1
The velocity variables are
T v = v1
qT nB
T vnB
qk = RT k vk = RkT
0
T T k
T T k
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics The (body) position and velocity variables are related by 1 0 1 0 Rk I 0 qk = @ A = B @ np 1 T C A vk 0 E k 2 k
0 0 0
78
for k = 1
q = T (t q)v M v = f (t q v) ; GT (t q) 0 = g(t q)
0 0
where q has dimension np, v has dimension nv, matrix G has the form G = @ g=@ q T (t q) and T (t q) = diag(Tk ) is a block diagonal matrix. In (4.1) the mass matrix M is a constant block diagonal matrix 65] 0 1 mk I3 0 C M = diag(Mk ) Mk = B @ A 0 Jk where Jk is a 3 3 moment of inertia matrix. The mass matrix M in (4.1) is symmetric positive de nite. For given consistent initial values q0 and v0 one can solve the reduced index (index-1) form of (4.1) 5]
q = T (t q)v 10 1 0 1 v f ( t q v ) C A A@ A = @ (t q v)
0 0
(4.2a) (4.2b)
where (t q v) can be derived from twice di erentiations of g(t q). The constraints g = 0 indicate the kinematic relations among the adjacent bodies in the system and the normalization condition k k k = 1 for Euler parameters. Therefore matrix G is sparse and has a block tridiagonal structure 5, 65].
79
Remark 4.1 Euler angles can also be used as orientation coordinates which leads to
np = nv. In this case the Tk is a nonlinear square matrix function of the Euler angles. Euler parameters result in a simple form of matrix Tk but have four variables and an
additional algebraic condition i.e. the normalization condition is required. The equations of motion for a multibody system are obtained in a similar way by using Euler angles or Euler parameters. For notational simplicity we suppress time t in the equations of motion and assume that the matrix G is the Jacobian matrix of g(q) (i.e. we assume the matrix T in (4.2a) to be the identity matrix) as before. Our discussion on a general form can be made through minor modi cations.
(4.2) is a system of index-1 DAEs for variables (q v ). The values of can be determined once the numerical solutions of (q v) are computed. Numerical integrations of (q v) in (4.2) frequently require solving linear systems with the coe cient matrix: 0 1 T M G ( t q ) B C (4.3) @ A G(t q) 0 Therefore the e ciency of numerical (explicit) integration of (4.2) depends on the performance of linear solvers, especially for large multibody systems. Direct and indirect methods for solving such a linear system have been reported in 65, 5, 16]. For large multibody systems with complex kinematic structures more work is needed for e cient and fast linear algorithms.
80
freedom between adjacent links 46, 47, 57, 65, 5, 81, 82]. In the case of tree-con gured multibody systems, using relative coordinates leads to a formulation of equations of motion as an ODE system
Mr (q)q = fr (q q )
00 0
(4.4)
The dimension of (4.4) is equal to the multibody system's degree of freedom and there are no algebraic constraints. In control applications, it is desirable to determine joint reacting force (torques) associated with the joint relative coordinates. The relative coordinates provide the measurable variables, while the reaction forces (torques) associated with the relative joint degrees of freedom represent the actuating forces required to drive the system components 19, 20]. For a forward dynamic analysis the mass matrix Mr (q) is dense and evaluating the force term fr can be complicated. Furthermore, formulation (4.4) can be cumbersome when dealing with a multibody system with variable kinematic constraints. When there are closed-loops in a multibody system the loop closure conditions will eventually lead the equations of motion of the multibody system in general to a DAE form rather than (4.4). Absolute and relative coordinates have their advantages and disadvantages. There are certain discussions of attempting to use the two in a mixed form of equations of motion 53, 65]. Then depending on the purpose of the dynamics analysis (inverse or forward dynamics analysis) relative or absolute coordinates are explicitly computed and the others remain intermediate values. In 53] the relationship among various recursive formulations for a multibody system with an open loop is considered in a uni ed way. For a multibody system with a complicated kinematic structure a lot of work may be needed to nd an e cient formulation.
81
z = f (t z) z(t0) = z0
0
0 = h(t z)
A numerical method for (4.5) can be classi ed as a multistep, Runge-Kutta or extrapolation method according to the type of its underlying basic formula. A scheme for (4.5) can also be classi ed as a sti or nonsti method based on whether or not the scheme is suitable for solving sti problems 43, 59, 27]. In our study here, however, we consider the numerical solution of (4.5) on the manifold (4.6). Because of the presence of algebraic equations (4.6) numerical integrations or behavior of existing codes on (4.5) could be di erent. For example, as we pointed out in previous chapters, the stability property of invariant manifold de ned by (4.6) in the vector eld (4.5a) can directly a ect the e ciency of numerical integration of (4.5). Therefore we have to consider the vector eld (4.5a) and the manifold (4.6) in a uniform way when integrating (4.5) numerically. The post-stabilization developed in the previous chapter provides a robust and e cient algorithm for such a purpose. Particularly when the ODE (4.5a) is non-sti we can employ an explicit scheme and along with our poststabilization to integrate (4.5) on the manifold (4.6). We choose Runge-Kutta schemes as the discretization because the overhead is small with these methods. Furthermore, Runge-Kutta methods are known to be preferable when there are discontinuities in the equations 43]. The post-stabilization technique can be used with other discretization methods as well, though.
82
Among initial value ODE solvers virtually all e ective methods are adaptive, variablestep size methods 27]. In such methods a user is asked to specify accuracy parameters (both absolute and relative error tolerances). A numerical method then includes a stepchoosing strategy which is usually based on monitoring and controlling the size of the local error introduced in each step of the integration 27]. The most e cient error control strategies for explicit Runge-Kutta methods involve constructing Runge-Kutta formulas which contain two numerical approximations zn+1 and zn+1 which share the same function evaluations: s X zn+1 = zn + h biki (4.7a) i=1 s X zn+1 = zn + h biki (4.7b)
i=1
where
i 1 X
;
j =1
aij kj )
for i = 2 s. zn+1 and zn+1 are approximations of z(tn + h) of order p and q (q > p, usually q = p + 1) 59, 43]. The di erence
s X
(4.8)
then yields an estimate of the local error with E T = bT ; bT = (E1 Es)T . This is called an embedding Runge-Kutta formula 43, 59]. If the solution zn+1 is used as the initial value for the next step, the method has order p and the method is called (p q) or p(q) method. When zn+1 is used as the next step initial value the method is called (q p) or q(p) method. Obviously the (q p) method has higher order than the (p q) method but it has a less reliable local error estimation (4.8) than the (p q) method 43, 59].
83
One of the most popular embedding Runge-Kutta methods is DOPRI(5,4) 43, 59, 23] due to Dormand and Prince. In DOPRI(5,4) it is the higher order solution that has the small moduli of the coe cients in the principal part of local truncation error 59]. The modi ed Butcher array for DOPRI(5,4) has the following form 59, 43]: 0
1 5 3 10 4 5 8 9 1 5 3 40 44 45 19372 6561 9017 3168 35 348 5179 57600 35 348 71 57600
1 1
; ; ;
212 729
0 0 0 0
; ; ; ; ;
(4.9)
17253 339200
1 40
For our purpose of implementing the post-stabilization PStab we have to modify DOPRI(5,4) (4.9). We construct our post-stabilization scheme as follows. 6 X ~n+1 = zn + h bj kjn z ^ ~n+1 ; F (~ zn+1 = z zn+1)h(~ zn+1) ^n+1 ; F (~ zn+1 = z zn+1)h(^ zn+1) Unlike scheme (4.9) we take
n = f (t + h z ) k7 n n+1 j =1
(4.10)
(4.11)
(4.12)
84
For the error estimation we construct the following numerical solution for (4.5a) at tn+1 6 X n zn+1 = zn + h bj kjn + hb7k7 (4.13) We claim that zn+1 of (4.13) is a 4th order solution of (4.5a) if the vector function f is smooth. To see this, let 7 X zn+1 = zn + h bj kjn (4.14) Then zn+1 is the 4th order solution in DOPRI(5,4). Using theorem 3.5 we have
j =1 j =1
kzn ; zn k
+1 +1
~ and M ~ 0 are constants depending or f and h. Therefore zn+1 (4.13) is a where M0, M solution of (4.5a) with the same order as zn+1. As (4.11) is used it is easy to see that
n = k n+1 k7 1
So the modi ed method has the \First Same As Last" (FSAL) property and it is actually a 6-stage method. In general M (q) is symmetric and positive semi-de nite 1 and matrix G(q) has a full row rank. We therefore rewrite PStab for constrained multibody systems as follows.
When a mixture of absolute and relative coordinates is used the mass matrix has the form M = M000 0 0 where M00 is a symmetric positive de nite matrix.
1
85
~ n+1 and v ~ n+1, evaluate matrices M and G at ~ Starting from the 5th order solutions q zn+1 ~ n+1 we construct PStab in the following way and v 0 11 T M G C ^ n+1 = q ~ n+1 ; J B ~ n+1 ; ~n+1 q qn+1 ) = q (4.15a) @ A P g(~ G 0 0 11 T M G C ^ n+1 = v ~ n+1 ; J B ~ n+1 ; ~n+1 (4.15b) v qn+1 )~ vn+1 = v @ A PG(~ G 0 0 11 T M G C ^ n+1 ; J B ^ n+1 ; ^n+1 qn+1 = q qn+1 ) = q (4.15c) @ A P g(^ G 0 0 11 T M G C ^ n+1 ; J B ^ n+1 ; ^n+1 (4.15d) vn+1 = v qn+1 )^ vn+1 = v @ A PG(^ G 0 where J and P are constant projection matrices given by
; ; ; ;
J = (Inp 0np
P = (0n
np In
)T
Remark 4.2
1. The new form of PStab (4.15) allows us to implement PStab when the mass matrix M is singular. When M is nonsingular, formulation (4.15) coincides with Algorithm 3.3 proposed in Chapter 3.
2. Through formulation (4.15) PStab has the same linear equations as the ones we have to solve at each time step. Therefore PStab can be implemented e ciently for large systems once appropriate linear equation solvers are developed. By employing those linear solvers the cost of performing PStab can be controlled to be a small amount for large systems, in the sense that it is always a small fraction of the cost of carrying out the unstabilized time step.
Theorem 4.1 The manifold M is uniformly stable in the di erence equations (4.15).
Furthermore, PStab (4.15) has local error O(h6 ) and numerical drifts O(h12 ).
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics In order to prove Theorem 4.1 we rst prove the following lemma.
86
Lemma 4.1 Let G = G(q) be the Jacobian matrix of g(q) and M (q) the mass matrix for a constrained multibody system. Suppose G has a full row rank, and M (q) is symmetric positive semi-de nite for all q. If for all a 2 Rnp with G(q)a = 0 and a 6= 0 aT M (q)a > 0
Then the matrix
(4.16)
(4.17)
(4.18)
10 1 a C A@ A = 0
M a + GT b = 0 Ga = 0
Multiplying (4.19) by aT and noticing that aT GT = 0 we have
(4.19) (4.20)
aT M a = 0
87
Therefore a = 0 by (4.16) and (4.20). Replacing a with 0 in (4.19) and noticing that G has a full row rank we have b = 0. Therefore matrix (4.17) is nonsingular. To prove (4.18) let x and y be the vectors such that 0 10 1 0 1 T x 0 M G B C @ A@ A = Pw = @ A y w G 0 Then
M x + GT y = 0 Gx = w
Therefore (4.18) follows from the fact that 0 1 x GJ @ A = Gx = w
g(^ qn+1) = g(~ qn+1 ; ~n+1 ) qn+1 )~n+1 + O k ~n+1 k2 = g(~ qn+1) ; G(~
88
= (G(~ qn+1) ; gqq (~ qn+1 ~n+1)) (~ vn+1 ; ~n+1) + O k ~n+1 k2 ~ n+1) ; G(~ = G(~ qn+1)~ vn+1 ; gqq (~ qn+1 ~n+1 v qn+1 ) ~n+1 + O k ~n+1 ~n+1k2 ~ n+1)~n+1 + O k ~n+1 ~n+1k2 = G(~ qn+1)~ vn+1 ; G(~ qn+1 ) ~n+1 ; gqq (~ qn+1 v =
;gqq(~ qn
+1
0 11 T M (~ q ) G (~ q ) n+1 n+1 C B=JB @ A P G(~ qn+1) 0 Using (4.15a) we have ~ n+1 = B g(~ qn+1) and also
~n+1 = O(g(~ qn+1 )) = O(h6) ~n+1 = O(G(~ qn+1 )~ vn+1 ) = O(h6) Therefore 10 0 1 0 1 g (^ q ) g (~ q ) n+1 0 0 n +1 n n C @ A=B A + O h12 (4.21) @ A@ G(^ qn+1)^ vn+1 G(~ qn+1 )~ vn+1 ~ n+1)B 0n ;gqq(~ qn+1 v Similarly we can write g(qn+1) and G(qn+1 )vn+1 in terms of g(^ qn+1) and G(^ qn+1 )^ vn+1 like (4.21). From (4.15) those n+1 and n+1 have the same order as those of g(~ qn+1) and G(~ qn+1 )~ vn+1, therefore the condition (3.58) in Chapter 3 is satis ed. Applying Theorem 3.5 we have that the drift is O(h12). Finally the uniform stability can be obtained from Theorem 3.3 in Chapter 3. 2
4.3 A Numerical Code: RKSTAB RKSTAB is a Fortran code for time integration of constrained (both holonomic and
nonholonomic) mechanical systems. It is suitable for integration of the index-1 form of
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics the equations of motion in descriptor form 0 10 1 0 1 M (t q) GT (t q) q f (t q v) @ A@ A = @ A G(t q) 0 ;L(t q)v with the constraints de ned by
00
89
(4.22)
(4.23a) (4.23b)
RKSTAB uses DOPRI(5,4) as the discretization scheme and PStab as the stabilization method. The local error control strategy is adapted from the ODE solver DOPRI5 developed by Hairer et al 43]. Several subroutines from LINPACK are used as well. RKSTAB consists of a set of subroutines and the user can interface the code by calling RKSTAB from a user written driver program. The user has to supply the problem describing functions and matrices M (t q), f (t q v), G(t q), g(t q) (for holonomic constraints only), gt(t q) and L(t q v). The subroutines which describe the functions and matrices above have the following form:
C*** C C C*** C C C*** C C C*** MASS MATRIX M(t,q) : SUBROUTINE AMAT(N,NDIM,T,Q,AM) DOUBLE PRECISION AM(NDIM,N),Q(N) VALUE OF GENERALIZED FORCE f(t,q,v) : SUBROUTINE FCN(N,T,Q,V,F) DOUBLE PRECISION T,Q(N),V(N),F(N) VALUE OF THE CONSTRAINT FUNCTION g(t,q) : SUBROUTINE GCN(M,N,T,Q,G) DOUBLE PRECISION T,Q(N),G(M) JACOBIAN MATRIX OF g WITH RESPECT TO q :
90
Solutions (of the position and velocity), along with the constraint forces (or the Lagrange multiplier vector) at the internally selected integration points or user speci ed points can be printed out as output by a user supplied subroutine. The user can also monitor and let a simulation stop once certain physically meaningful violations occur by supplying additional physical constraints in the driver. The main routine RKSTAB is called by the user supplied main program as
CALL RKSTAB(IHOL,N,M,MI,AMAT,FCN,GCN,GCNQ,GCNT,GCNQQ,GIN, & & & & BAUMG,X,Q,V,XEND,H, RTOL,ATOL,DATOL,ITOL, SOLOUT,IOUT, WORK,LWORK,IWORK,LIWORK,LRCONT,LICONT,IDID)
While the purpose of RKSTAB is to implement PStab, a very small addition to the code allows us to also include Baumgarte's method as an option. The task of choosing the Baumgarte parameters is left to the user. The user also needs to specify the following parameters in the main program.
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics IHOL N M BAUMG T Q(N) V(N) RTOL,ATOL DATOL the code assumes holonomic constraints unless ihol=1 on input dimension of the generalized coordinates number of constraints Baumgarte parameter, relevant only if Baumgarte's method is chosen initial time initial position value initial velocity value relative and absolute tolerances drift absolute tolerance (Specifying DATOL=0 implies that PStab is used at every step.)
91
92
with PStab is obtained with fewer function evulations and much smaller drifts in the numerical solutions. We also conduct simulations for a highly oscillating slider-crank mechanism considered in 100]. The rapid oscillation in the slider-crank is caused by a translational spring damping actuator. In 100] the numerical code DASSL which is designed for general DAEs and sti ODEs, was used for several stabilized index-2 formulations. Our numerical experiments with RKSTAB show that signi cantly fewer function evaluations are used than those with DASSL reported in 100], suggesting that the underlying ODEs of the mechanism is not sti even if there are rapid oscillations. The fth example we considered is a singular slider-crank mechanism investigated in 74]. In this mechanism the Jacobian matrix G becomes rank-de cient at certain points. The optimization matrix becomes singular of those points and therefore the underlying ODEs give ill-posed problems. PStab is not designed for such a singular system. But the way that PStab enforces the numerical solutions back into the invariant manifold, does make a di erence in the simulations. For a fairly small error tolerances RKSTAB can carry out the integration for a large time interval in this example. Finally we simulate a rolling disk on the horizontal plane. This is a nonholonomic constrained system with the constraints involving generalized velocity v. Unlike the holonomic case, this nonholonomic constrained system yields an index-2 DAE. Based on the post-stabilization proposed for nonholonomic constrained systems in Chapter 3 RKSTAB has an option to integrate such a system. Compared to holonomic constrained systems, nonholonomic constrained systems are easier to derive methods for its lower index nature. For parameter settings in those experiments, we take the absolute tolerance equal to the relative tolerance divided by 10 in all of our numerical experiments unless otherwise stated. Other parameters are de ned as follows.
93
B K3 D
K5 K4 K6 K7 K2 O K1 x
NSTEP is the number of steps needed to carry out the integration NACCP is the number of steps that RKSTAB predicts and accepts NSTAB is the number of PStab steps used 4.4.1 Andrews squeezing mechanism
The Andrews squeezing mechanism has been extensively used to test numerical methods or simulation codes for constrained multibody dynamics by many researchers 81, 43, 8, 16, 65, 47, 70]. Most of the simulation runs are made over a small time interval 0 0:015]. Its simulation on a larger time interval, however, becomes more di cult due to its highly oscillatory nature (see Fig. 4.2). We test our RKSTAB on the time interval 0 0:3]. A preliminary comparison of RKSTAB with another simulation code MEXX 2 65] is made
2
We thank Professor Ch. Lubich for kindly sending us the code MEXX.
94
-2
-4
-6
-8 0
0.1
0.2
0.3
Figure 4.2: Solution of Andrews squeezing mechanism as well. The Andrews squeezing mechanism consists of 7 rigid bodies denoted by Ki in Fig. 4.1 43]. The rigid bodies are connected by joints without friction. The planar motion of this mechanism is caused by a motor located at O and a spring acting on body K3. The driving motor in the mechanism rotates at a high speed. B(20,100) PStab B(20,100) PStab rtol NFCN NFCN NSTEP NSTEP 1.d-4 11150 10784 1858 1791 1.d-5 17132 17024 2855 2837 1.d-6 25625 25592 4275 4265 1.d-7 38828 38780 6471 6463 Table 4.1: Comparison of B(20,100) with PStab on squeezing mechanism
95
0.02
-0.02
-0.04
-0.06 0
0.1
0.2
0.3
0.5
-0.5
-1
-1.5
-2 0
0.1
0.2
0.3
96
Our rst numerical experiment on this mechanism is to run a Baumgarte's stabilization and PStab for di erent tolerances. The Baumgarte parameters used are 1 = 20 and 2 = 100. As shown in Table 4.1, PStab always takes slightly fewer time steps and function evaluations than Baumgarte's formulation for all relative tolerances chosen. More importantly, Baumgarte's stabilization has larger drifts than PStab as shown in Fig. 4.3 and Fig. 4.4. datol NFCN NSTEP NACCP NSTAB CPU STAB-CPU(%) 1.d-5 16427 2475 2436 5 14.71 0.24 1.d-6 17024 2837 2464 601 15.48 0.58 1.d-7 17066 2844 2446 2126 16.23 0.93 1.d-8 17090 2848 2446 2821 16.34 1.03 1.d-9 17090 2848 2446 2839 16.43 1.08 0 17096 2849 2446 2849 16.36 1.10 Table 4.2: Results of RKSTAB on Andrews squeezing mechanism The additional amount of work for implementing the stabilization PStab is small. To see this we then x the relative tolerance = 1.d-5 and try di erent constraint tolerances (absolute) datol for PStab. As shown in Table 4.2 the CPU time spent on the poststabilization, which is denoted by STAB-CPU(%), is about 1% of total CPU time for the whole simulation. There are several numerical codes available for simulation of constrained multibody systems 17, 16, 44, 46, 65]. One of the frequently used codes is MEXX. MEXX is based on extrapolation of a time stepping method that is explicit in the di erential equations and linearly implicit in the nonlinear constraints 65]. A preliminary comparison has been made between MEXX 3 and RKSTAB on this 7 body system. For di erent relative
The version of MEXX is faster than the old version for larger problems, because of di erent linear system solvers. But for this problem the linear algorithm used in MEXX is similar to ours and is faster than the O(N ) alternative.
3
97
tolerances which range from 1.d-8 to 1.d-4 we compute the CPU and NFCN. As shown in Table 4.3 for tolerances 1.d-7 RKSTAB does a better job as it takes fewer function evaluations and CPU times than MEXX. For tolerance 1.d-8 MEXX is better in terms of CPUs and NFCNs. This is not surprising because for very small tolerances DOPRI(5,4) will not be as e cient as a higher order scheme 43]. For tolerances smaller than l.d-7 MEXX switches to higher order discretization and therefore it works well for those small tolerances. MEXX RKSTAB MEXX RKSTAB rtol CPU CPU NFCN NFCN 1.d-4 18.61 10.08 18724 10712 1.d-5 25.72 14.41 26060 16550 1.d-6 33.62 22.53 34550 25688 1.d-7 40.54 33.99 41764 39230 1.d-8 46.08 52.18 47935 59852 Table 4.3: Comparison of MEXX and RKSTAB on squeezing mechanism
The ve-point vehicle suspension mechanism as shown in Fig. 4.5, is a spatial multibody system 40, 63]. The mechanical model consists of a wheel attached to a wheel
98
Figure 4.5: A ve-point vehicle suspension mechanism carrier at point B by a revolute joint which is attached to a car body by ve rods. The rods are connected to the car body by universal joints and to the wheel carrier by spherical joints. The suspension has four coupled closed loops as shown in Fig. 4.6. The existence of closed loops complicates the situation when we set up the equations of motion. Unlike an open-loop problem a recursive algorithm can not be used for a closed loop system directly. A well known technique to deal with closed loop problems is to open the closed loops by adding \cut-joint constraints" 47, 63]. In the suspension model, after cutting the spherical joints between the rods 2 to 5 and the wheel carrier as shown in Fig. 4.6, we have an open-loop system with fourteen degrees of freedom. The generalized coordinates used are as follows 63]. ( (
i i)
is the universal joint variable of rod i and car body, for i = 1 ) is the spherical joint variable of rod 1 and the wheel carrier
99
B1
B2 cut joint B3 car body B4 cut joint cut joint wheel carrier B6 B7 wheel
B5
Figure 4.6: Suspension graph with cut-joints indicated is the rotation of the wheel respect to the car body. The equations of motion for the unconstrained system can be obtained by using a recursive algorithm for the fourteen relative joint coordinates. Then D'Alembert's virtual work principle 47] is utilized to drive the equations of motion, augmented by reaction forces from the cut-joint constraints introduced via Lagrange multipliers. There are twelve constraint equations corresponding to the cuts on four spherical joints. The equations of motion for the suspension mechanism were generated by G. Leister with the help of the program NEWEUL 4 63]. In simulations the car body is assumed to be xed to the inertial frame and the wheel is assumed to rotate with a constant angular velocity (30m/second) 40, 63]. There is a spring damper element between rod (body) 5 and the car body which represents the shock
We thank Dr. B. Simeon for his kindly sending us the program which evaluates the equations of motion for the suspension model.
4
100
absorber of the suspension. Friction e ects are not considered. The road is modeled as an excitation acting on the wheel. Both smooth excitation and discontinuous excitation are considered. The tire is modeled by a simple linear spring. The acting force is given 40] by
F0 = ;200000 (R ; U ) + 4404134 N ]
(4.24)
where R denotes the vertical displacement of the wheel center and U denotes the value of the excitation. Force F in (4.24) could become negative if R ; U is too large, which means that the tire is not compressed in this position. The tire does not transfer a negative force which would hold the wheel on the road surface. In fact, if F is equal to zero, the wheel takes o from the road 40]. Therefore the actual force used is
F = maxf;200000 (R ; U ) + 4404134 0g N ]
For the road condition we consider two di erent excitations. At rst a Fourier series approximation (one mode for simplicity) of driveway measurements with an additional exponential damping factor is used as excitation. Secondly the road is modeled as a stair function with a jump at time t = 0:2s 40]. Consider a smooth excitation given by
500(t;0:3)2
We simulate the suspension model on the interval 0 1] using RKSTAB. Figs. 4.7 and 4.8 display the vertical position of the wheel and the selected solution components with relative tolerance = 1.d-4. The wheels vertical position experiences the main disturbance in the interval 0:2 0:4] which corresponds to the presence of a relatively large excitation.
101
40
20
-20
-40
-60
-80 0
0.1
0.2
0.3
0.4
0.6
0.7
0.8
0.9
0.2
0.1
-0.1
-0.2
-0.3 0
0.1
0.2
0.3
0.4
0.6
0.7
0.8
0.9
102
0.02
-0.02
-0.04
-0.06 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figure 4.9: Drifts with B(10,30) for the suspension model, case I The vibration is absorbed by the spring damper afterwards as shown in Figs. 4.7 and 4.8. We test RKSTAB with di erent relative tolerances and the results are summarized in Table 4.4. rtol NFCN NSTEP NACCP NREJCT 1.d-3 530 88 85 3 1.d-4 896 149 136 13 1.d-5 1298 216 211 5 1.d-6 2060 343 338 5 1.d-7 3284 547 541 6 Table 4.4: Results of RKSTAB on the suspension mechanism, case I Notice that Baumgarte's stabilization does not work well for this model around the excitation period. As shown in Fig. 4.9 the drifts in velocities are unacceptably large right after the main excitation. In contrast, for PStab the drifts on position and velocity
103
10
-2 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figure 4.10: Drifts with PStab for the suspension model, case I levels are very small. The relative tolerance taken for those runs is 1.d-4 and atol is 1.d-7.
Consider a discontinuous excitation which happens after driving over the border at time 0.2 seconds 63]. The wheel then will lose contact with the road. Due to the missing contact force the suspension drops and after some vibrations moves to a new equilibrium position. The excitation is given 63, 40] by 8 > < 0 if t < 0:2 U => : 100 if t 0:2 The situation becomes complicated for a code to select or predict a step size when discontinuity occurs. We run RKSTAB on this discontinuous model for di erent tolerances and make a comparison with Baumgarte's formulation. As shown in Table 4.5 PStab always has smaller NFCN and NREJCT than those of Baumgarte's stabilization.
104
0.1
0.2
0.3
0.4
0.6
0.7
0.8
0.9
0.4
0.2
-0.2
-0.4
-0.6 0
0.1
0.2
0.3
0.4
0.6
0.7
0.8
0.9
105
0.2
0.15
0.1
0.05
-0.05
-0.1 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-1 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics B(40,400) PStab B(40,400) PStab rtol NFCN NFCN NREJCT NREJCT 1.d-3 644 608 19 16 1.d-4 1040 968 37 28 1.d-5 1556 1442 41 32 1.d-6 2240 2216 41 40 1.d-7 3404 3356 47 45 Table 4.5: Comparison of B(40,400) and PStab on suspension model, case II
106
The drifts in Baumgarte's stabilization are complicated when the system has discontinuities. As shown in Fig. 4.13 the drifts on velocities are much larger than those of PStab shown in Fig. 4.14. Compared to case I we can see that Baumgarte's stabilization has more di culty for discontinuous systems while PStab treats the two systems in an equal way.
y2 = g(x2)
where we take g(x) = b1x2 + b2, b1 and b2 are two constants.
(4:25)
107
(x1 , y1 ) y l1 l2
(x2 , y2 )
Figure 4.15: A two-link planar robotic system In case II, a path for the end e ector is speci ed by
y2 = f (t)
(4:26)
where f (t) = sin2(!t) and ! is a constant. To prescribe the equations of motion let 1 be the angle that link 1 makes with the horizontal axis, and let 2 be the angle that link 2 makes with respect to link 1. The masses of the links are denoted by mi and their lengths are denoted by li. The coordinates of the link 2 and its end e ector are given by
x1 = l1c1
y1 = l1s1x2 = x1 + l2c12
y2 = y1 + l2s12
where ci = cos i si = sin i c12 = cos( 1 + 2) s12 = sin( 1 + 2). The generalized coordinate q = ( 1 2)T and 1 0 2 2 + l2=3 + l l c ) m (l2 =3 + l l c =2) m1l1=3 + m2(l1 1 2 2 1 2 2 2 2 2 A M =@ 2 2 m2(l2 =3 + l1l2c2=2) m2l2 =3
108
0.5
-0.5 -1.5
-1
0.5
Figure 4.16: Constraint path of the end-e ector, Case I 0 1 0 1 2) ; m1gl1c1=2 ; m2g(l1c1 + l2c12=2) m2l1l2s2=2(2 _1 _2 + _2 A+@ A f =@ ;m2gl2c12=2 ;m2l1l2s2 _12=2 In the following simulations the following data are used.
Case I Consider the case where the coordinates (x2 y2) are constrained to lie on a
parabola
y2 = x2 2;
where is chosen such that the above initial conditions are consistent. For di erent tolerances comparisons are made for Baumgarte's stabilization and PStab. We take Tend = 10 and the Baumgarte parameters 1 = 12 and 2 = 70.
109
5 time (s)
10
0.5
-0.5 0
5 Time (s)
10
110
4000
2000
Moment (N/m)
-2000
-4000
-6000
-8000 0
2 time (s)
2 Time (s)
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics B(12,70) PStab B(12,70) PStab B(12,70) PStab rtol NFCN NFCN NSTEP NSTEP max-drift max-drift 1.d-4 920 716 153 119 1.3E-04 5.8d-08 1.d-5 1412 1052 253 175 9.0d-06 9.5d-10 1.d-6 2180 1580 363 263 5.3d-07 5.8d-12 1.d-7 3344 2288 557 381 2.3d-08 1.5d-14 1.d-8 5156 3578 859 596 2.3d-09 3.3d-15 Table 4.6: Comparison of B(12,70) with PStab on the manipulator in case I
111
As shown in Table 4.6 for all speci ed tolerances PStab takes one third fewer function evaluations and steps than Baumgarte's stabilization. The drift on position level in Baumgarte's stabilization are much larger than those in PStab as shown in Table 4.6. The joint constraint torque are shown by Fig. 4.17. The solid line represents the joint constraint torque associated to 1 and the dash line is associated to 2. Figs. 4.16 4.18 are the constraint path and y-coordinates of the end e ector respectively. Case II A more di cult case 7] is obtained when the coordinates (x y) are constrained to follow
y = sin2(!t)
NFCN NSTEP NREJCT max-driftp max-driftv B(0,0) 5416 883 186 9.3E-03 2.7d-03 B(8,16) 4034 672 115 3.9d-05 1.0d-04 B(12,70) 4058 676 109 1.3d-05 1.0d-04 B(20,100) 4226 704 96 9.5d-06 8.8d-05 B(50,400) 5258 876 68 3.8d-06 1.5d-04 PStab 3980 663 117 1.3d-10 2.4d-07 Table 4.7: Comparison of Baumgarte's parameters on the manipulator in case II where ! is a parameter and the problem becomes di cult when ! is large. The
112
GROUND
Figure 4.21: Slider-crank mechanism with a TSDA choice of Baumgarte's parameters is sensitive. For rtol = 1.d-5, the results for di erent Baumgarte's parameters are shown in Table 4.7. In this example small Baumgarte's parameters (see B(8,16) and B(12,70)) are better than large ones. While PStab is better than all selected Baumgarte's stabilizations. The joint constraint torques in case II are shown by Fig. 4.19. Compared to case I the joint constraint torques are much larger than those in case I. Fig. 4.20 is y-coordinate of the end e ector for ! = 0:5.
g1 = x1 g2 = y1
113
g3 =
g4 = x1 ; x2 + cos( 2) g5 = y1 ; y2 + sin( 2) g6 = x2 + 2 cos( 2) ; x3 + 2:5 cos( 3) g7 = y2 + 2 sin( 2) ; y3 + 2:5 sin( 3) g8 = x3 + 2:5 cos( 3) ; x4 g9 = y3 + 2:5 sin( 3) ; y4
g10 = (x1 ; x4) sin( 1) ; (y1 ; y4) cos( 1) g11 = cos( 1) sin( 4) ; sin( 1) cos( 4)
There is a constant torque (=100) in CRANK. A translational-spring-damping-actuator force element of spring coe cient 1000, damping factor 10 and zero actuator force is applied to the slider-crank mechanism. With the free-length 10, the TSDA is attached to the GROUND and the SLIDER, yielding applied forces given by
114
-1
-2 0
0.1
0.2
0.4
0.5
0.6
20
10
-10
-20
-30 0
0.1
0.2
0.4
0.5
0.6
115
-1
-2 0
0.1
0.2
0.4
0.5
0.6
0.1
0.2
0.4
0.5
0.6
116
ranging from 10 3 to 10 6 numerical results reported in 100] and our similar runs with RKSTAB are contained in Table 4.8, i.e. where LM and CM represent the results of DASSL on the stabilized index-2 form and its revised form respectively. The tolerance settings for RKSTAB are the same as the corresponding runs with DASSL i.e. ATOL = RTOL = TOL. Clearly RKSTAB takes about (1/8) fewer steps than DASSL and the number of function evaluations in RKSTAB are about one third as those in DASSL. Method TOL NFCN NSTEP TOL NFCN NSTEP LM 10 3 251 84 10 5 462 166 3 5 CM 10 242 86 10 456 172 3 5 PStab 10 62 10 10 134 22 LM 10 4 328 128 10 6 641 250 CM 10 4 327 119 10 6 622 237 4 6 PStab 10 86 14 10 200 33 Table 4.8: Comparison of RKSTAB and DASSL on crank-slider with a TSDA
; ; ; ; ; ; ; ; ; ; ; ;
The TSDA introduces oscillatory applied force, causing small oscillations of the numerical solutions. Figs. 4.22, 4.23 are the plots of numerical solutions for ( 3 x3 y3 3 x4) and their velocities with spring coe cient = 1000. Figs. 4.24, 4.25 are those solutions and their velocities with spring coe cient = 10000. Clearly the larger spring coe cient causes more severe oscillation in the mechanism to appear.
117
L 1 = 1.0 L 2 = 1.0
m 2 = 1.0
m 1 = 1.0
Figure 4.26: A singular slider-crank mechanism designed for a singular system certain satisfactory results on this mechanism are obtained as well. Consider the slider-crank mechanism shown in Fig. 4.26 74]. The equations of motion in descriptor form is given 74] by 0 10 1 0 1 0 1 2:0 cos( d) ; sin( d)( _2)2 + 19:6 sin( 1) sin( 1) 1 @ A@ A + @ A+@ A =0 2 _ cos( d) 1:0 sin( d)( 1) + 9:8 sin( ) sin( 2) 2 where d = 2 ; 1. As the lengths of the crank and slider are same the constraint has the form: g = ; cos( 1) ; cos( 2) = 0 (4:27) The Jacobian matrix G = (sin( 1) sin( 2)) becomes (0 0) as ( 1 2) takes the value (0 ). As in 74] we take the absolute tolerance = 1.d-5 and simulate the mechanism for t 2 0 3]. The numerical solutions and velocities without stabilization are plotted in
118
-1
-2 0
1 Time
119
0.3
0.25
0.2
0.15
0.1
0.05
0 0
1 Time
Figure 4.29: Step sizes for the singular system without stabilization
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0 0
Figure 4.30: Step sizes for the singular system with PStab
120
-1
-2
-3 0
5 Time
10
Figure 4.31: Solution of the singular system with B(20,100), rtol=1.d-10 Fig. 4.27. The solid line and dashed line represent 1 and 2 respectively. There are two singular points near t = 1 and t = 2:7 (where 1 = 0) on the interval 0 3]. All the curves are smooth on the whole simulation interval with tolerance = 1.d-5. If the tolerance is reduced to 1.d-8 then the numerical solutions without stabilization will run into trouble as shown in Fig. 4.28. The reason that for smaller tolerances the numerical solution of the singular system could run into trouble lies in the fact that with smaller tolerances the code selects smaller step sizes and therefore increases the possibility for the mesh point and stage points to hit (close to) the singular points. We also test this problem with other tolerances. Fig. 4.29 shows the plots of step sizes used by RKSTAB for the tolerances Tol1 = 1.d-4, Tol2 = 1.d-5, Tol3 = 1.d-6, Tol4 = 1.d-7 and Tol5 = 1.d-8. For the rst singular point (i.e. near t = 1) all the runs pass it smoothly. Near the second singular moment, however, the simulation with Tol = 1.d-8 has a problem as the code takes extremely small step
121
-1
-2 0
5 Time
10
Figure 4.32: Solution of the singular system with PStab, rtol=1.d-10 sizes near the second singular moment. The optimization matrix will be evaluated at or near the singular point. Therefore the accuracy of the numerical solution cannot be guaranteed after the second singular moment. Stabilizations like Baumgarte's and the post-stabilization developed in the previous chapter can be useful when simulating a possibly singular mechanism although they are not developed for such a singular mechanism. Baumgarte's stabilization can be carried out for tolerances which are not smaller than 1.d-10 for the time interval 0 10]. For tolerance = 1.d-10, however, the simulation with Baumgarte's stabilization runs into trouble as shown in Fig. 4.31. PStab does a better job than Baumgarte's stabilization on a range of tolerances and time intervals for this singular crank-slider singular mechanism. Fig. 4.32 shows the solution with tolerance = 1.d-10 and Tout = 10. Both Baumgarte's stabilization and PStab are proposed for forcing the numerical solutions to stay on or nearby the invariant manifold where the true solutions are supposed
122
2 0
10 Time
12
14
16
18
20
Figure 4.33: Solution of new formulation for singular slider-crank to be on. For such a purpose Baumgarte's method is simply not as powerful as PStab.
Remark 4.4 The singularity in this singular slider-crank mechanism or similar ones can
be cured by adapting better equations of motion in descriptor form for the mechanism. From Fig. 4.26 we know that
1
+ 2=
(4.28)
since L1 = L2. Then using this simple, linear constraint equation the equations of motion for the mechanism can be written in the following form
0 10 1 0 1 0 1 2:0 cos( d) ; sin( d)( _2)2 + 19:6 sin( 1) 1 1 @ A@ A+@ A+@ A =0 cos( d) 1:0 sin( d)( _1)2 + 9:8 sin( ) 1 2
1
=0
123
where d = 2 ; 1 as before. Notice that the Jacobian matrix of the new algebraic equation (4.28) has a full row rank for any 1 and 2 therefore there is no singularity for all values of 1 and 2. Furthermore unlike (4.27), the algebraic equation (4.28) is linear in 1 and 2, our post-stabilization PStab coincides with a projection method in this case. Fig. 4.33 shows the numerical solutions of the new formulation above using RKSTAB on the time interval 0, 20] with absolute tolerance equal to 1.d-10. Of course, this is only a simple example, and in general we may not know how to reformulate the problem. Our point is that reformulations that remove singularities may be possible in certain cases.
dx = dy =
;r cos ;r sin
d d
124
X O
1 0.8 0.6 0.4 0.2 0 0.25 0.2 0.15 0.1 0.05 0 0 0.2 0.6 0.4 0.8 1
Chapter 4. Simulation of Constrained Rigid Multibody Dynamics Therefore the kinematic constraints for the rolling disc are given by
125
x _ = ;r cos _ y _ = ;r sin _
(4:29)
The kinetic energy of the rotation motion is _2 + _ 2 cos2 ) + 1 C ( _ + _ sin )2 Tr = 1 A ( (4:30) 2 2 where A and C are the principal central moments of inertia of the disc. Let (xc yc zc) be the coordinate of the center of mass of the disc. The total kinetic energy of the disc is 2 2 2 T = 1 m ( x _ c + y_c + z_c ) + Tr 2 2 2 2 _2 2 _2 2 m ( x _ + y _ + r + r sin ) = 1 2 ;mr _ cos (x_ sin ; y_ cos ) + _ sin (x_ cos + y_ sin )] _2 + _ 2 cos2 ) + 1 C ( _ + _ sin )2 +1 A ( 2 2 The Lagrangian function L = T ; V = T ; mgr cos . Let the generalized coordinate q = (x y ). Then the equation of motion for the rolling disc can be obtained by using the Euler-Lagrange equations: 0 1T 0 1 ! 1 0 0 0 cos 1 C d @L ; @L = B C B (4.31) @ A @ A _ dt @ q @q 0 1 0 0 sin 2 The actual forces in the rolling disk problem are the gravity force and the contact force which acts on the disk and the plane through the contacting point. We set up the initial velocity and position as follows: 1 0 0 1 0 0 C B C B C B C B B C B C B C B 0:1 C 0C C B B C B C B B C B C v (0) = B C q(0) = B 0:1 C 2 C C B B C B C B B C B C B C B ; 0:1 C 0C C B B @ @ A ;0:1 A 0
126
x 10
-2
-4
-6 0
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
-5
-10
-15
-20 0
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
127
0.05
0.1
0.15
0.2
0.25
0.2
0.4
0.6
0.8
1.2
1.4
1.6
1.8
128
Using RKSTAB we set up the error tolerance equal to 1.d-3. We rst try our poststabilization method proposed in Chapter 3 for nonholonomic constraint systems. As shown in Fig. 4.36 the drift with our post-stabilization is small. Then we switch to Baumgarte's stabilization. Fig. 4.37 is the drift with Baumgarte parameter = 20. The drift for Baumgarte stabilization is especially large around t = 1:6 at which the rolling disk is going to rest on the horizontal plane. Fig. 4.35 to Fig. 4.39 are the plots of the orbit of the rolling disk's center in 3-dimension, the orbit of the contact point between the disk and the horizontal plane and the z-coordinate of the rolling disk's center. For multibody systems with nonholonomic constraints the equations of motion yield semi-explicit index-2 DAEs. Compared to holonomic constraint systems which are index3 DAEs nonholonomic constraint systems have less di culties in numerical integrations. Furthermore, when the (nonholonomic) constraints are linear in the generalized velocity 68], our post-stabilization (3.76) proposed in Chapter 3 coincides with the following projection method at each successful advance integration step ~ q = q ~ ;D v = v g(q)v = 0 Therefore the numerical drifts with our post-stabilization for nonholonomic constraint systems are very small.
130
of motion which de ne the rigid body dynamic system are rst formulated and solved using a rigid body dynamic model. The calculated inertia, and sometimes the Coriolis and centrifugal forces, are then used with the externally applied forces to solve the linear structural dynamic problem for each exible component 51, 52]. The total motion of the system is then obtained by the superpositioning of the elastic deformations of the exible bodies on the system gross rigid motion. The accuracy of this approach is questionable since it does not provide for dynamical coupling of the rigid and elastic motions 51, 52]. Analysis procedures developed by Yoo and Haug 101] and Agarwal and Shabana 2] involve formulation of the equations of motion of each elastic body in terms of its \absolute" rigid body and elastic degrees-of-freedom. The con guration of each deformable body in a multibody system is identi ed by using two sets of coordinates: reference and elastic coordinates 85]. Reference coordinates de ne the location and orientation of a selected body reference. Elastic coordinates, on the other hand, describe the body deformation with respect to the body reference. The inertia coupling between the reference motion and the elastic deformation is identi ed and written in terms of the coupled sets of reference and elastic coordinates. Like that in a rigid system, the interconnection conditions of the adjacent substructures in the system are described by a set of constraint (nonlinear) equations formulated for each type of joints 46, 85]. This leads to a mixed system of di erential and algebraic equations that must be solved simultaneously. In this approach all coordinates (reference and elastic) are maintained in the nal form of dynamic equation. As high positioning accuracy is required in deformable multibody systems, the tolerances for a numerical drift can be very small. Therefore PStab could be an ideal algorithm for simulations of deformable multibody systems. In this chapter we apply PStab in a simulation of a deformable multibody system. In Section 2 we present the
131
concept of generalized coordinates for a deformable multibody system. There are basically two kinds of methods for simulating a deformable system: the assumed modes method and the nite element method 95, 85]. Using the nite element method considered in 85] we set up the equations of motion for a deformable slider-crank mechanism in Section 3. The equations of motion yield semi-explicit index-3 DAEs and the algebraic equations involve both the reference coordinates and elastic coordinates. The e ects of dynamical coupling between the reference and elastic coordinates are re ected in the mass matrix and certain force terms in the equations. In Section 4 we consider simulations of the deformable slider-crank mechanism using our code RKSTAB. The motion of the deformable slider-crank mechanism is mainly caused by an initial angular velocity and an applied torque on the rigid crank in the mechanism. For relatively small initial angular velocities we also model the mechanism into a rigid system for numerical comparison. We consider the performance of Baumgarte's stabilization and PStab on both the rigid and deformable models. In Baumgarte's method the behavior of numerical drifts appears quite di erently in the rigid and deformable models and large numerical drifts occur in both models. With PStab the numerical drifts are small for the whole time interval for both the rigid and deformable models.
qir = (RiT
iT )T
(5:1)
132
i rp Ri
Figure 5.1: A planar deformable body where Ri and i are the translational and rotation coordinates of the ith body axes. For simplicity of notation we consider a planar motion case. As shown in Fig. 5.1, the global location of an arbitrary point p on the deformable body i is then given by 85]
(5:2)
where Ri is the location of the origin of the body axes Xi1Xi2 with respect to the global frame XY and Ai is the transformation matrix from the body axes to the global axes. ui0 is the position of point p in the undeformed state and uif represents the deformable displacement at point p measured with respect to the body frame. In general the equations of motion for a deformable body can be derived from constitutive equations (A.9) and equations of equilibrium (A.7) in Appendix A. Therefore the equations of motion are normally a set of nonautomous partial di erential equations. The exact solutions of the displacement eld for a deformable structure have an in nite number of degrees of
133
freedom. An approximation is sought through replacing the displacement eld by certain shape functions S i 85]: uif = S i(x)qif (t) (5:3) where S i(x) is a matrix of spatial admissible functions, x is the space variable and qif (t) is the vector of temporal elastic generalized coordinates of body i. Using the aforementioned notations we can write the global position of an arbitrary point p on body i as
(5:4)
Therefore generalized coordinates for body i are normally de ned as those of qir and qif . Depending on the choice of the spatial function S i(x), the commonly used approaches for a deformable system are: assumed modes method and nite elements method 95, 85]. In an assumed modes method, the shape function S i(x) spans the entire body 85]. The shape function should satisfy the di erentiability requirement and be consistent with certain boundary conditions. When structures have simple geometrical shapes, such as rods, beams and plates, the shape functions (5.3) in an assumed modes method can be determined without too much di culty. In a multibody system with complex geometrical substructures, however, di culty may be encountered in de ning the assumed shape functions. In those cases the admissible functions are usually obtained by the nite element method 95]. In a nite element method, a deformable body in the system is discretized to relatively small regions called elements which are rigidly interconnected at selected nodal points 21, 85]. The shape functions S i in (5.3) are thus de ned locally on each element as polynomials. Within each element the deformation can then be described by interpolating these polynomials. The coe cients of these polynomials are de ned in terms of physical coordinates called the element nodal coordinates or elastic coordinates, which describe the displacements and slopes of selected nodal points on the element 21, 85]. By using
134
q f6 q f4
Figure 5.2: A two-dimensional beam element the connectivity between elements, the assumed displacement eld (5.3) can be written in terms of the element shape functions and nodal coordinates of the structure.
In the next section we will use a nite element method to discretize a deformable connecting rod in a slider-crank mechanism. The elements used in the discretization are two-dimensional beam elements. As shown in Fig. 5.2 a two-dimensional beam element has two nodal points. Each node has three nodal coordinates representing the j j j j longitudinal and transverse displacements ( qj f 1 qf 2 or qf 4 qf 5 ) and the slope (qf 3 or qjf 6) at the nodal point. Therefore six elastic degrees of freedom are associated with each two-dimensional beam element. Like that considered in 85, 86], the longitudinal displacement is approximated by a linear polynomial and the transverse displacement is approximated by a cubic polynomial in each beam element. The displacement eld for the j th beam element then has the form
j j T j j (uj f vf ) = uf = S qf
(5.5)
where
135
A (R1 R 2) r X n1 X1 B O l
Figure 5.3: A slider-crank mechanism with deformable connecting rod are the nodal coordinates in the element mentioned above. The matrix S j is the spacedependent element shape function 86] given by 0 1 1 ; 0 0 0 0 C Sj = B @ A 0 1 ; 3 2 + 2 3 lj ( ; 2 2 + 3) 0 3 2 ; 2 3 lj ( 3 ; 2) where = x=lj and lj is the length of the j th two-dimensional beam element.
136
point O given by n1 = sin(t) ; . In this section we consider the equations of motion for the deformable mechanism using the nite element method 85, 86]. To avoid the tedious calculations we use MAPLE 66] to conduct the symbolic computations involved in the formulation by Lagrange's equations. We also use MAPLE to generate the necessary user speci ed Fortran subroutines called in our code RKSTAB.
The connecting rod AB in the slider-crank mechanism can be discretized in a number of ways by using the nite element method. A simple discretization of rod AB is to divide rod AB into several two-dimensional beam elements. For a similar slider-crank mechanism where the crank rotates at a speci ed constant angular speeds, discretizations of the connecting rod into one, two and three equal elements are considered in 94] and good agreement in the deformations of the connecting rod is obtained using two and three nite elements. The situation here is a little bit more complicated as the rigid crank is driven by a given applied torque which depends on the derivative of the angle of the crank and therefore we have to treat the angle of the crank as an unknown variable. The gross reference motions of the connecting rod in our consideration are similar to those considered in 94]. We discretize the connecting rod AB into two equal beam elements with the length lj = l=2 in our simulations of the deformable slider-crank mechanism. Although our discussion focuses on the two elements discretization for the connecting rod, the approach we use is general and can be used for any number of elements discretizations of the connecting rod AB. When the connecting rod is discretized into two beam elements there are 12 elastic coordinates. As shown in Fig. 5.4 the two beam elements in rod AB are rigidly connected. The connectivity conditions for the two beam elements can be written in terms of the
137
2 qf4
qf5 qf4 q f9
qf8 qf7
Figure 5.4: Connection condition between two beam elements elastic coordinates as
1 q2 f 1 = qf 4 1 q2 f 2 = qf 5 1 q2 f 3 = qf 6
(5.6)
To remove the redundancy among the elastic coordinates we de ne the total vector of nodal coordinates for the deformable connecting rod as
1 1 1 1 1 2 2 2 T q = (q1 f 1 qf 2 qf 3 qf 4 qf 5 qf 6 qf 4 qf 5 qf 6)
Then the nodal coordinates in each beam element can be written in terms of the total vector of nodal coordinates by introducing Boolean matrices B 1 and B 2 :
qjf = B j q
where B1 = (I6 06 3) and B2 = (06 3 I6). Similarly we write the displacement eld on each beam element in terms of q
ujf = S j B j q
138
In the deformable slider-crank mechanism we assume that the connecting rod AB is simply supported at point A which implies
1 2 q1 f 1 = qf 2 = qf 5 = 0
The displacement eld on each element can be written in terms of qf by introducing another Boolean matrix Bc :
j T j j j (uj f vf ) = uf = S B Bc qf
(5.7)
0 0 0 0 0 0
0 0 0 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 0
1 0C C C 0C C C C 0C C C C 0C C C C 0C C A 1
Remark 5.1 The use of the Boolean matrices B j and Bc leads to a similar expression
of displacement eld on each beam element. Thus, the displacement eld on each element is written in terms of the shape function S j , (constant) Boolean matrices and the elastic generalized coordinates. When the nite elements used are identical i.e. with equal length in the two-dimensional beam elements, the shape function S j is the same. Therefore many calculations regarding the integrations and products by MAPLE on one element can be used in other elements. These Boolean matrices also provide a systematic approach for the discretization of rod AB with more elements.
139
Mass matrix of the deformable connecting rod Let qr = (R1 R2 )T be the set of reference coordinates that de ne the location of the origin of the body coordinates and the orientation of X1 X2 with respect to the global frame XY as shown in Fig. 5.3. The con guration of the connecting rod AB is determined by qr and qf . The global position of an arbitrary point p on element j of
the connecting rod can be written as
uj
0R _1 B C _C = I2 A uj AS j B j Bc B B @ C A _f q
j j where uj = uj 0 + S B Bc qf and A = @A=@ . Therefore the kinetic energy of the connecting rod is given by X j 1 X Z jT j j _p r _ pdV T2 = T = 2 Vj r j j 1 0 1 0 _ j j j R I A u AS B B 2 c C B Z C B C B C B jB T) X _C _T _ q jT I j B j Bc jT uj ~ _ C dV B C ( R B = 1 u S u f C B @ A j 2 j V @ A _f q symm: BcT B jT S jT S j B j Bc
140
0R _1 B C B C _ _T _ q _T ( R ) M B (5.8) = 1 f @ C A 2 _f q ~ = A A is a constant matrix. Matrix M in (5.8) is called the mass matrix of the where I connecting rod and it has the following structure, 0 1 j j j I A u AS B B 2 c C B C XZ B B C j jT uj jT I j Bj B ~ M = B C dV u u S c B C j j V @ A symm: BcT B jT S jT S j B j Bc 0 1 mRR mR mRf C B B C B C = B m m f C B C @ A symm: mff
In M the coupling between the gross motion and the elastic deformation is implied through matrices mR and m f which depend on and qf nonlinearly.
Remark 5.2 The mass matrix M can be assembled by MAPLE with the use of Boolean matrices B j and Bc . Consider the matrix mff for instance. mff =
BcT B jT S jT S j B j BcdV j j X T jT Z = Bc B j S jT S j dV j B j Bc V j X = BcT B jT SB j Bc
Vj j
XZ
where S is a 6 6 constant matrix which can be obtained by integrations of certain polynomials using MAPLE.
Chapter 5. Post-Stabilization in a Deformable Multibody System and shear deformation, the strain energy of the element j can be written 85, 86] as 2 0 j 12 0 2 j 123 Z l j6 j aj @ @uf A + E j I j @ @ vf A 7 Uj = 1 E 4 2 0 @x1 @ 2x1 5 dx1 0 10 j 1 j j Z l 1 j (uj ) (vj ) ] B E a 0 C @ (uf ) A dx = 2 A j 1 f f @ 0 (vf ) 0 Ej I j
0 0 00 00
141
where E j is the modulus of elasticity, aj is the cross-sectional area, I j is the second moment of area. From (5.7) the strain energy for the connecting rod can be written as X j U = U j 0 10 j T 1 j aj (Sx1) E 0 X 1 Z lj T T jT j C j ) )B @ A B j Bcqf dx1 q B B (( S ) ( S = @ A x 1 x 2 f c j T 2 0 j j (Sx2) j 0 EI 0 1 1 qT @X B T B jT K j B j B A q = 2 c f f c ff
0 0 00 00
TK q = 1 q 2 f ff f
(5.9)
The matrix Kff in (5.9) is called the sti ness matrix 21, 85]. The elastic force vector acting on the connecting rod is 85] 0 10 1 0 0 0 C R B B C B C C B C Qk = ; B B C B C 0 0 0 B C @ A@ A qf 0 0 Kff
= 0 = 0 = 0
142
where is the angle of the crank. The condition (5.10c) indicates that the y-coordinate of slider block at B is zero.
The generalized coordinates for the deformable slider-crank mechanism are de ned
q = R1 R2 qT f
(5.11)
The total kinetic energy for the mechanism is given by T = T2 + J _ 2=2 where J is the moment of inertia of the crank. The equations of motion for the deformable slider crank mechanism can be derived by using Lagrange's equation 85] ! ! d @T T ; @T T + GT = Q + Q (5.12) k e _ dt @ q @q where Qe is the vector of externally applied forces, Qk is the vector of elastic force, G is the Jacobian matrix of the constraint (5.10), is the vector of Lagrange multipliers. Equivalently we can write (5.12) in the following form. 0 10 1 0 0 1 R m m m 0 RR R rf B C B C B C B C B C B C B C B C B C B C 0 m m 0 f B C B C B C B C B C = Q + B C ; GT (5.13) B C B C B C q ; K q B C B C B C m 0 ff f f ff B C @ A @ A@ A 0 symm: J where Q is the collection of the generalized applied forces vector which includes the gravity, applied torque at O and those force terms that arise from di erentiating the kinetic energy with respect to time and with respect to the generalized coordinates.
00 00 00 00
143
0.015
0.01
0.005
0.005
0.01
0.015
0.02 0
0.01
0.02
0.03
0.04
0.05
0.06
0
0.07
Figure 5.5: Transverse de ection at the midpoint for (0) = 180 The modulus of elasticity E = 30 106 lb/in2 The mass density = 0.0007331 lb-sec2/in4 The area moment of inertia about neutral axis is then given by I = D4=64in4 where D is the diameter of the connecting rod. Other parameters of the deformable slider-crank mechanism are as follows. radius of the crank r 6 in length of connecting rod l 12 in diameter of connecting rod D 0.25 in moment of inertia of the crank J 1.0 Table 5.1: Slider-crank parameters Using RKSTAB we integrate the index-1 form of the equations of motion (5.13) along with the algebraic equations (5.10). We consider the deformations of the connecting rod
144
8 0
0.01
0.02
0.03
0.04
0.05
0.06
0
0.07
10
5 0
0.01
0.02
0.03
0.04
0.05
0.06
0
0.07
145
-1
-2
-3
-4 0
0.5
1.5
2.5
3.5
0
Figure 5.8: Drifts of deformable model with B(30,100) for (0) = 180 in the mechanism when high velocities of the crank are involved. In the mechanism the crank must be operated at a speed such that the maximum amplitude of vibrations of the connecting rod is within the allowable design limit 94]. We therefore compute the deformations of the midpoint in the connecting rod for di erent initial velocities of . The amplitudes of transverse vibration at the midpoint of the connecting rod for three di erent initial speed levels are shown in Figs. 5.5, 5.6 and 5.7. As shown in Figs. 5.5 and 5.7 the maximum viberational amplitude at initial speed (0) = 180rad/s is more than ten times the maximum vibration amplitude at the initial speed (0) = 60rad/s. The maximum de ection at the midpoint for (0) = 120 is about three times the maximum de ection at the midpoint for (0) = 60. We then consider simulations of the mechanism in the time interval 0, 4]. The absolute error and relative error tolerances in RKSTAB are 1.d-4 and 1.d-3. For (0) = 180 the numerical drifts in Baumgarte's stabilization with the Baumgarte's parameters
0 0 0 0 0
146
8 6 4 2 0 -2 -4 -6 -8
-10 0
0.5
1.5
2.5
3.5
0
Figure 5.9: Drifts of deformable model with PStab for (0) = 180 (30, 100) increase and eventually become fairly large as shown in Fig. 5.8. With PStab the numerical drifts are small and appear to have no increasing tendency in the time interval as shown in Fig. 5.9. For a relatively small initial velocity (0) = 60 we also model the slider-crank mechanism into a rigid multibody system by only considering the reference variables (R1 R2 ). The equations of motion for the rigid model is simpler and RKSTAB takes much fewer steps for the rigid system for the same time interval and similar tolerance settings. The optimal Baumgarte's parameters are di erent for the deformable and rigid models and the behavior of numerical drift with Baumgarte's method is quite di erent. As shown in Fig. 5.11 the Baumgarte's stabilization has relatively large numerical drifts for large time t in the deformable model, while for the rigid model relatively large numerical drifts occur at early time as shown in Fig. 5.12. The di erent behavior of numerical drifts also indicates the sensitivity of the Baumgarte's stabilization in di erent problems.
0
147
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8 0
0.5
1.5
2.5
3.5
0
0.5
1.5
2.5
3.5
0
148
0.5
1.5
2.5
3.5
0
Figure 5.12: Drifts in the rigid model with B(10,80) for (0) = 60
7 x 10
4
1 0
0.5
1.5
2.5
3.5
0
Figure 5.13: Drifts in the rigid model with PStab for (0) = 60
149
With PStab, however, the numerical drifts are small both in the rigid and deformable models. Since for the deformable model RKSTAB takes much smaller step sizes than those for the rigid model, smaller numerical drifts appear with PStab in the deformable model than those in the rigid model. The simulations of deformable multibody systems are more complicated than those for rigid systems. Also the appearance of the elastic coordinates could make the equations of motion sti . Therefore sti solvers could do a better job in certain cases. There are many interesting problems in the simulation of deformable multibody systems. For instance, 1. to nd more e cient formulations of equations of motion for deformable multibody systems with large translations and rotations 83] 2. to nd e cient transformation to conduct velocity transformations 20] between the Cartesian coordinates and the relative coordinates 3. to nd e cient algorithms of linear algebra and other numerical schemes for deformable systems. Our investigation for deformable multibody systems has so far focussed on controlling the numerical drifts to a desirable small amount. We will continue our study in a number of directions with the goal of fast and e cient simulations for deformable multibody systems.
Chapter 6 Conclusions
High index DAEs can be regarded as limits of very sti ODE systems and are usually ill-posed problems 17, 12]. In many cases index reduction with stabilization plays an important role in the numerical solution of semi-explicit higher index DAEs. In simulations of constrained multibody systems, the equations of motion are index-3 DAEs and an index reduction with stabilization yields better conditioned reformulations for numerical integrations. In particular when there is no other sti ness an explicit scheme can be used and this can lead to an e cient integration. In the reformulations the asymptotical stability of the invariant are important in the behavior of the numerical drifts 12, 8]. In the thesis we start with index reduction with stabilization for semi-explicit index-2 and index-3 DAEs. By investigating the underlying vector eld of a given DAE we derive a general form of stabilization formulations with the aid of certain Lyapunov functions. Our considerations are made for any vector eld with invariants and therefore can be applied to any semi-explicit high index DAEs. The stabilized forms of vector elds we proposed are di erent from the existing stabilization methods and improvements with our formulations are shown by numerical examples. In the stabilization formulations a choice can be made not only of certain parameters but also of the stabilization matrix. For semi-explicit index-2 DAEs the new stabilization formulations include Baumgarte's method with a special choice of the stabilization matrix. The invariant manifold de ned by the algebraic equations is asymptotically stable in all of our stabilization formulations. Furthermore the invariant manifold has the monotonic property along the trajectories 150
Chapter 6. Conclusions
151
of the stabilized vector eld. This monotonic property does not necessarily hold in Baumgarte's stabilization for semi-explicit index-3 DAEs. When a numerical discretization is applied the stability property of the invariant can be totally di erent in the di erence equations. In Chapter 3 we present an example which shows that an asymptotically stable invariant manifold becomes unstable after a discretization. This is one of the reasons why large drifts can also occur with Baumgarte's stabilization, and we then propose to change this situation. In fact the di erence equations resulting from a discretization of a vector eld may have a much richer dynamic behavior than their continuous counterpart 98]. We regard the di erence equations obtained from a discretization as a discrete dynamical system. Inspired by the stabilization for a vector eld with an invariant manifold considered in Chapter 2, we propose stabilization methods for the invariant manifold in the discrete dynamical system. Since the stabilization is made after a discretization step we call it a post-stabilization. With proper choice of stabilization matrix in a post-stabilization we prove that the manifold is uniformly stable in the stabilized di erence equations. Therefore a post-stabilization method restores the stability of the invariant manifold in the di erence equations and thus very small numerical drifts can be expected in the numerical solutions. Combined with a discretization scheme with local error O(hp+1 ) we show that the numerical drifts are O(h2(p+1)) in certain post-stabilization schemes. For the Euler-Lagrange equations in multibody systems our choice of post-stabilization is PStab which is described in Algorithm 3.3. Numerical examples show that PStab is e cient and the amount of CPU time spent on the post-stabilization is around 1% of the total CPU time spent on the entire integration. We then develop a numerical code RKSTAB for simulations of multibody dynamics based on PStab. The discretization scheme is an embedding Runge-Kutta formula which is modi ed from the code DOPRI(5,4) 43]. The local error estimation in the modi ed
Chapter 6. Conclusions
152
scheme uses the di erence between the stabilized 5th order solution and a modi ed 4th order solution. In RKSTAB a minor modi cation allows us to include Baumgarte's stabilization as an option. The Baumgarte parameters are left to the user. With RKSTAB we conduct a variety of simulations of multibody systems including planar systems, spatial systems, systems involving high oscillation, systems with singularities and a system with nonholonomic constraints. These numerical experiments reported in Chapter 4 show that RKSTAB is e cient, fast and reliable. In Chapter 5 we apply PStab to a deformable multibody system. Using the nite element method we discretize a deformable connecting rod in a deformable slider-crank mechanism. The equations of motion are obtained from Lagrange equations. We use MAPLE to formulate the equations of motion and generate the necessary user-speci ed Fortran subroutines called in RKSTAB. Numerical integration of the equations of motion for the deformable slider-crank mechanism is carried out by RKSTAB. We compute the relative deformations at the midpoint of the connecting rod for di erent initial velocities of the crank in the mechanism. Larger initial velocities of the crank result in larger deformations in the connecting rod. Numerical drifts in Baumgarte's stabilization and PStab are considered for di erent initial velocities of the crank. For a relatively small initial velocity of the crank we compare the numerical drifts in Baumgarte's stabilizations for both the deformable and rigid models. With PStab small numerical drifts result in the simulations while large numerical drifts always occur with Baumgarte's method for both the deformable and the rigid models. This shows that the performance of Baumgarte's stabilization is very sensitive to the problem formulation. For all problems considered PStab is robust and e cient.
The need to simulate and control the dynamics of multibody systems arises in many
Chapter 6. Conclusions
153
applications such as vehicle motion simulation, robot control, mechanism design and physically based modeling in computer graphics and vision. A particularly demanding application involves person-in-the-loop simulations, such as those involving force-re ecting haptic interfaces. In the simulation applications large systems with sparse structures have to be solved frequently. The e ciency of the simulation can be improved by incorporating suitable stabilization methods, integration schemes as well as certain sparse system algorithms. A continuation of this thesis research is needed to do e cient simulations of constrained multibody systems in order to approach the goal of real-time simulation.
Many industrial systems such as robots are subjected to a change in their kinematic structure during the functional operations 19, 20]. Mass captures, mass releases and additions or deletions of mechanical joints are possible sources of these mechanical structure changes. As time progresses, di erent sets of constraint equations are imposed, thus the dimension and rank of the system constraint Jacobian matrix depend on time, and accordingly a sequence of con guration spaces which have di erent dimension and basis has to be de ned. The trajectories prescribed by di erent bodies in the multibody system depend on a set of degrees of freedom that has variable dimension. When there is a change in the kinematic structure, impacts between system components and jump discontinuities in the system velocity vector can occur 19, 20]. Simulations and dynamical analysis of multibody systems with variable kinematic structures are needed.
It is well-known that in many applications the rigid body assumption is violated when high speed and lightweight substructures are involved in the system. In the interest of geometric exibility a nite element discretization (rather than some assumed modes methods) has to be used. The deformations at the nite element nodes become part of the generalized coordinate vector. The e ect of coupling between elastic deformation and the
Chapter 6. Conclusions
154
gross rigid body motion is then implied in the equations of motion. Usually the dimension of equations is large as the model is essentially a discretized system of partial di erential equations. The matrices involved are all large and sparse. Drifts between the adjacent substructures can be large when using Baumgarte's stabilization. Moreover, e cient nite element formulations are needed for describing the motion of deformable bodies that undergo large angular rotations. Large systems with highly oscillatory solutions typically result. Their numerical solution is a challenge.
Strain components
Consider a xed Cartesian coordinate system X1X2 X3 with origin O shown in Fig. A.1. Suppose at time t = 0 a deformable body occupies a xed region of space B0 and a point P0 2 B0. At time t the body occupies a new continuous region of space B and P0 moves to P . The displacement of P can be written as
u=
;x
(A:1)
155
156
P0 B 0
u B
X3
X
X2
X1
Figure A.1: Deformed and Undeformed State of a Flexible Body Then the strain components in the deformable body are de ned 85] by ! 3 1 @u i @uj X @uk @uk ij = 2 @xj + @xi + k=1 @xi @xj
(A:2)
where i j = 1 2 3. The strain components arise naturally in the analysis of the deformation. They are nonlinear functions of the spatial derivatives of the displacement. Because of the symmetry of the strain tensor 21] it is su cient to identify the strain vector , = ( 11 22 33 12 13 23)T (A:3) In case of small strains and rotations, the product terms in (A.2) can be neglected 21, 85]. If we switch the notation of Cartesian coordinate system to XYZ the strain vector in (A.3) can be approximated as = Du (A:4)
Appendix A. A Brief Review of Mechanics of Deformable Bodies where D is a derivative operator given by 0 1 @ 2 0 0 B C @x B C B C @ B 0 2 @y 0 C B C B C B @ B C 0 0 2 @z C 1 B C D=2B C B @ @ B C 0 C @y @x B C B C B C @ @ B 0 @z @x C B C @ A @ @ 0 @z @y
157
Stress components
In continuum mechanics two forces are encountered: surface force and body force 21]. Body forces are those which are developed without physical contact and are distributed over the volume of the continuum. Typical examples of body forces are the gravitational and electromagnetic forces. Surface forces, or the other hand, include all forces acting on the boundaries of a medium through direct contact. Stresses in a medium result from surface forces which act on some portion of the medium 28]. Stresses describe the manner in which forces acting on the boundaries of the medium are transmitted through the medium. To be speci c, let P be a point in the body and S be the area of an element of the surface that consists P . The force F which acts on S may resolved into two components: Fn and Ft, the normal and the tangential components to the area. A normal stress n and a shear stress are then de ned 28] as
n
Fn = lim S 0 S
!
t = lim S 0
!
Ft S
(A:5)
In a Cartesian coordinate system XYZ we may consider the stresses acting on planes whose outward normals are in X, Y or Z directions. The state of stress at a point can be described completely by specifying the stresses acting on the mutually perpendicular
158
yy yx zx zy zx yz yx z x yy xy xz z xx x zz
xx y xy
xz yz zz
yz
Figure A.2: Notation for stress planes through the point 28]. Therefore the stress at a point can be speci ed by a 3 3 matrix de ned as 28] 0 1 xx xy xz C B B C B C B (A.6) yx yy yz C B C @ A
zx zy zz
@ xx + @ xy + @ xz + f = a (A.7a) b1 1 @x @y @z @ yx + @ yy + @ yz + f = a (A.7b) b2 2 @x @y @z @ zx + @ zy + @ zz + f = a (A.7c) b3 3 @x @y @z where a1, a2 and a3 are the components of the acceleration vector, and fb1, fb2 and fb3 are the body force components. It can be shown that the stress tensor matrix (A.6) is
Appendix A. A Brief Review of Mechanics of Deformable Bodies symmetric and the stress component vector is de ned as 85] =(
xx yy zz xy xz yz ) T
159
(A:8)
Constitutive equations
The stress and strain vectors are not su cient to describe the mechanical behavior of a deformable body. Body deformations depend on the applied forces and the force-displacement relationship 21]. The deformation also depends on the material of the body. An additional equations known as constitutive equation, are required to complete the speci cation of the mechanical properties of a material. Constitutive relations serve to distinguish one material from another 85]. For an isotropic material, the stress components can be expressed in terms of the strain components as 85]
xx yy zz xy
= (1 + = (1 +
where E , G and are the modulus of elasticity, modulus of rigidity and Poisson's ration respectively. t = xx + yy + zz . For most materials, it is found that the strains are proportional to the applied forces 85], provided the load does not exceed the elastic limit. Mathematically it can be written as =E (A:9)
where E is a 6 6 constant matrix and it is called the matrix of the elastic constant of the material. Usually (A.9) are called the constitutive equations.
Bibliography
1] R. P. Agarwal, Di erence Equations and Inequalities. Theory, Methods, and Applications. Marcel Dekker, Inc. 1992. 2] Agrawal, O. P., and Shabana, A. A, Dynamic analysis of multibody systems using component modes, Computers and Structures, Vol. 21, No. 6(1985), 1303-1312. 3] T. Alishenas, Zur numrischen Behandlung, Stbilisierung durch Projektion und Modellierung mechanischer Systeme mit Nebenbedingungen und Invarianten, PhD thesis, Institut fur Numerische Analysis und Informatik, Konigliche Technische Hochschule, S-100 44 Stockholm, Schweden, 3/1992. 4] F.M.L. Amirouche, Computational Methods in Multibody Dynamics, Prentice-Hall, Englewood Cli s, New Jersey, 1992. 5] Th. Andrzejewki, H. G. Bock, E. Eich and R. v. Schwerin, Recent Advances in the Numerical Integration of Multibody Systems, Preprint 93 - 28, Juni 1993. 6] U. Ascher, On numerical di erential algebraic problems with application to semiconductor device simulation, SIAM J. Numer. Anal. 26 (1989), 517-538. 7] U. Ascher, H. Chin, L. Petzold and S. Reich, Stabilization of constrained mechanical systems with DAEs and invariant manifolds, the Journal of Mechanics of Structures and Machines, 23(2), 135-157(1995). 8] U. Ascher, H. Chin and S. Reich, Stabilization of DAEs and invariant manifolds, Numer. Math. 67 (1994) 131-149. 9] U. Ascher and P. Lin, Sequential regularization methods for higher index DAEs with constraint singularities: I. Linear index-2 case, SIAM J. Numer. Anal. to appear. 10] U. Ascher, R. Mattheij and R. Russell, Numerical Solution of Boundary Value Problems for Ordinary Di erential Equations, Prentice-Hall, 1988 11] U. Ascher and L. Petzold, Projected implicit Runge-Kutta methods for di erentialalgebraic equations, SIAM J. Numer. Anal. 28 (1991), 1097-1120. 12] U. Ascher and L. Petzold, Stability of computational methods for constrained dynamics systems, SIAM J. Scient. Comp. 14 (1993), 95-120. 160
Bibliography
161
13] U. Ascher and L. Petzold, Projected collocation for higher-order higher-index di erential-algebraic equations, J. Comp. Appl. Math. 43 (1992), 243-259. 14] A. K. Banerjee and M. E. Lemak, Multi- exible body dynamics capturing motioninduced sti ness, Transactions of the ASME. 58 (1991), 766-775. 15] J. Baumgarte, Stabilization of constraints and integrals of motion in dynamical systems, Comp. Methods Appl. Mech. 1 (1972): 1-16 16] H. G. Bock and R. v. Schwerin, An Inverse Dynamics ADAMS-Method for Constrained Multibody Systems, Preprint 93 - 27, Juni 1993. 17] K. Brenan, S. Campbell and L. Petzold, Numerical Solution of Initial-Value Problems in Di erential-Algebraic Equations, North-Holland, 1989. 18] S.L. Campbell and B. Leimkuhler, Di erentiation of Constraints in Di erential Algebraic Equations, CRSC Technical Report 062498-01 January 4, 1990. 19] C. W. Chang and A. A. Shabana, Spatial dynamics of deformable multibody systems with variable kinematic structure: part 1 - dynamic model, Journal of Mechanical Design, 112 (1990), 153-159. 20] C. W. Chang and A. A. Shabana, Spatial dynamics of deformable multibody systems with variable kinematic structure: part 2 - velocity transformation, Journal of Mechanical Design, 112 (1990), 160-167. 21] R. D. Cook, Concepts and applications of nite element analysis, 2nd Ed., Wiley, New York, 1981. 22] J. J. Dongarra, C. B. Moler, J. R. Bunch, G. W. Stewart, LINPACK User's Guide, SIAM, Philadelphia (1979). 23] J.R. Dormand and P.J. Prince, A family of embedded Runge-Kutta formulae, J. Comp. Appl. Math. 6 (1980), 19-26. 24] E. Eich, Convergence results for a coordinate projection method applied to mechanical systems with algebraic constraints, SIAM J. Numer. Anal., to appear. 25] E. Eich, K. Fuhrer, B. Leimkuhler and S. Reich, Stabilization and projection methods for multibody dynamics, Research report, Inst. Math., Helsinki Univ. of Technology, 1990. 26] A.Eichberger, C. Fuhrer and R. Schwertassek, The Bene ts of Parallel Multibody Simulation and its Application to Vehicle Dynamics
Bibliography
162
27] W.H. Enright, Numerical methods for systems of initial value problems - The state of the art, In: Haug, E.(ed.): Computer aided analysis and optimization of mechanical system dynamics, Springer, Berlin Heidelberg New York Tokyo(1984) 28] R. W. Fox and A. T. McDonald, Introduction to Fluid Mechanics, John Wiley & Sons, Inc. 1985. 29] K. Fuhrer and B. Leimkuhler, Numerical solution of di erential-algebraic equations for constrained mechanical motion, Numer. Math. 59 (1991), 55-69. 30] K. Fuhrer and B. Leimkuhler, A new class of generalized inverses for the solution of discretized Euler-Lagrange equations. In: Haug, E., Deyo, R.(ed.): NATO Advanced Research Workshop on Real-Time Integration Methods for Mechanical System Simulation, Snowbird, Utah 1989. Springer, Berlin Heidelberg New York Tokyo(1990) 31] K. Fuhrer and B. Leimkuhler, Formulation and numerical solution of the equations of constrained mechanical motion, DFVLR-FB 89-08, Munich, Germany, 1989. 32] C. Fuhrer and R. Schwertassek, Generation and solution of multibody system equations, J. Non-Linear Mechanics 25 (1990), 127-141. 33] Wei-Hsin Gau and A. A. Shabana, E ect of nite rotation on the propagation of elastic waves in constrained mechanical systems, Transactions of the ASME, 114 (1992), 384-393. 34] C.W. Gear, Di erential-algebraic equations, indices and integral algebraic equations, SIAM J. Numer. Anal. , 27 (1990). 35] C.W. Gear, Maintaining solution invariants in the numerical solution of ODEs, SIAM J. Sci. Stat. Comp., 7 (1986), 734-743. 36] C.W. Gear, H. H. Hsu and L. Petzold, Di erential-algebraic equations revisited, Proc. ODE Meeting, Oberwolfach, West Germany, 1981. 37] C.W. Gear, G. Gupta and B. Leimkuhler, Automatic integration of the EulerLagrange equations with constraints, J. Comput. Appl. Math. 12(1985), 77-90. 38] G.H. Golub and C.F. Van Loan, Matrix Computations, Johns Hopkins University Press, Baltimore, 1983. 39] E. Griepentrog and R. Marz, Di erential-Algebraic Equations and their Numerical Treatment, Teubner-Texte Math. 88, Teubner, Leipzig, 1986. 40] Friedemann Grupp and Bernd Simeon, Five-Link-Suspension , Benchmark-Example
Bibliography
163
41] J. Guckenheimer and P. Holmes, Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector Fields, Applied Mathematical Sciences, Vol. 42, SpringerVerlag New York Inc. 1983. 42] E. Hairer, Ch. Lubich and M. Roche, The Numerical Solution of Di erentialAlgebraic Systems by Runge-Kutta Methods, Lecture Notes in Mathematics, vol. 1409, Springer-Verlag, 1989. 43] E. Hairer S.P. N rsett and G. Wanner, Solving Ordinary Di erential Equations I: Nonsti Problems, Second Revised Edition, Springer-Verlag, 1993. 44] E. Hairer and G. Wanner, Solving Ordinary Di erential Equations II: Sti and Di erential-Algebraic Problems, Springer-Verlag, 1991. 45] Hale, J. K. Ordinary Di erential Equations, Wiley: New York, 1969. 46] E.J. Haug, Computer-Aided Kinematics and Dynamics of Mechanical System Vol.1: Basic Methods, Allyn and Bacon, 1989. 47] Haug, E., Deyo, R.(ed.) NATO Advanced Research Workshop on Real-Time Integration Methods for Mechanical System Simulation, Snowbird, Utah 1989. Springer, Berlin Heidelberg New York Tokyo(1990) 48] Edwar J. Haug, Jon G. Kuhl and Fuh Feng Tsai, Virtual Prototyping for Mechanical System Concurrent Engineering, 1992. 49] M. Hirsch, C. Pugh, and M. Shub, Invariant manifolds, Lecture Notes in Mathematics. No. 583, Springer{Verlag, 1976. 50] W. C. Hurty, Dynamic analysis of structural system using component modes, AIAA, J. Vol.3, No 4. (1965) 678-685 51] S. K. Ider and F. M. L. Amirouche, Nonlinear modeling of exible multibody systems dynamics subjected to variable constraints, Transactions of the ASME, Vol. 56, (1989), 444-450. 52] S. K. Ider and F. M. L. Amirouche, In uence of geometric nonlinearities in the dynamics of exible treelike structures , J. Guidance, Vol. 12, No. 6 (1989), 830-837. 53] A. Jain, Uni ed formulation of dynamics for serial rigid multibody systems, Journal of Guidance, Control, and Dynamics, 14 (1991), 531-542. 54] J. J. Jiang, C.L. Hsiao and A.A. Shabana, Calculation of non-linear variation of rotating beams by using tetrahedral and solid nite elements, J. Sound and Vibration 148(1991), 193-213.
Bibliography
164
55] J. B. Jonder and J. P. Meijaard, SPACAR-Computer program for dynamic analysis of exible spatial mechanisms and manipulators, In Multibody System Handbook (W. Schiehlem ed.), Springer-Verlag, 1990. 56] Ben Jonker, A nite element dynamic analysis of spatial mechanisms with exible links , Computer Methods in Applied Mechanics and Engineering 76 (1989) 17-40. 57] T. R. Kane and R. R. Ryan, Dynamics of a cantilever beam attached to a moving base, J. Guidance, 10 (1987), 139-151. 58] Y. A. Khulief and A. A. Shabana, Dynamics of multibody systems with variable kinematic structure, J. Mechanism, Transmissions, and Automation in Design, 108, (1986), 167-175. 59] J. D. Lambert, Numerical Methods for Ordinary Di erential Systems, Wiley, 1991. 60] J. P. Lasalle The Stability of Dynamical Systems, Regional Conference Series in Applied Mathematics, SIAM, 1976. 61] V. Lakshmikantham and D. Trigiante Theory of Di erence Equations: Numerical Methods and Applications Mathematics in science and engineering, Vol.181, Academic Press, 1986. 62] B. J. Leimkuhler, L.R. Petzold and C. W. Gear, On the consistent initialization of di erential-algebraic systems of equations, SIAM J. Numer. Anal. 28 (1991), 105-226. 63] G. Leister and D. Bestle, Symbolic-numerical solution of multibody systems with closed loops, Vehicle System Dynamics, 21 (1992), 129-142. 64] P. Lotstedt and L. Petzold, Numerical solution of nonlinear di erential equations with algebraic constraints I: Convergence results for backward di erentiation formulas, Math. Comp., 46 (1986), 491-516. 65] Ch. Lubich, U. Nowak, U. Pohle and Ch. Engstler, MEXX - Numerical Software for the Integration of Constrained Mechanical Multibody Systems, Preprint SC 92-12 (December 1992). 66] MAPLE V, Language Reference Manual, Springer-Verlag, 1991. 67] R. Marz, Practical Liapunov Stability Criteria for Di erential Algebraic Equations, Preprint No. 91-28. Berlin 1991. 68] J. I. Neimark and N. A. Fufaev, Dynamics of Nonholonomic Systems, American Mathematical Society, 1972.
Bibliography
165
69] P. E. Nikravesh and I. S. Chung, Application of Euler parameters to the dynamic analysis of three-dimensional constrained mechanical systems, J. Mechanical Design, Vol. 104, (1982), p785-791. 70] Orn Olafsson and Taifun Alishenas, A comparative study of the numerical integration and velocity stabilization of two mechanical test problems, TRITA-NA-9210. 71] K.C. Park and J.C. Chiou, Stabilization of computational prodedures for constrained dynamical systems, J. Guidance, Control and Dynamics II (1988), 365-370. 72] L. Petzold, Di erential/algebraic equations are not ODEs, SIAM J.Sci. Stat. Comput., 3 (1982), 367-384. 73] L. R. Petzold and P. Lotstedt, Numerical solution of nonlinear di erential equations with algebraic constraints II: Practical implications, SIAM J. Sci. Stat. Comput., 7(1986), 720-733. 74] L. Petzold, Y. Ren and T. Maly, Regularization of higher-index di erential-algebraic equations with rank-de cient constraints, Preprint, AHPCRC, University of Minnesota, 1993. 75] P.J. Prince and J.R. Dormand, Higher order embedded Runge-Kutta formulae, J. Comp. Appl. Math. 7 (1981), 67-75. 76] P.J. Rabier and W.C. Rheinboldt, A general existence and uniqueness theory for implicit equations, Di erential and integral equations. Vol.4, No.3, May 1991, 563582. 77] W.C. Rheinboldt, Di erential-algebraic systems as di erential equations on manifolds, Math. Comp., 43 (1984), 473-482. 78] R.E. Robersom and R. Schwertassek, Dynamics of Multibody Systems, SpringerVerlag, 1988. 79] Can E. Rosenthal, An order n formulation for robotic systems, The Journal of the Astronautical Sciences, 38, (1990), 511-529. 80] SD/FAST User's Manual, Version B.1.1, Symbolic Dynamics, Inc. 1991. 81] W. Schiehlen (Editor): Multibody Systems Handbook, Springer, 1990. 82] W. Schiehlen (Editor): Advanced Multibody Systems Dynamics, Simulation and Software Tools, Kluwer Academic Publishers 1993. 83] A. A. Shabana, Constrained motion of reformable bodies, International journal for numerical methods in engineering, 32 (1991), 1813-1831.
Bibliography
166
84] A. A. Shabana, Automated analysis of constrained systems of rigid and exible bodies, J. Vibration, Acoustics, Stress, and Reliability in Design, 107, (1985), 431-439. 85] A. A. Shabana, Dynamics of Multibody Systems, John Wiley and Sons, New York, 1989. 86] A. A. Shabana, Theory of Vibration, Vol II: Discrete and Continuous Systems, Springer-Verlag, New York, 1991. 87] A. A. Shabana and C. W. Chang, Connection forces in deformable multibody dynamics , Computer & Structures, 33, 1, (1989), 307-318. 88] A.A. Shabana and R.A. Wehage, A coordinate reduction technique for transient analysis of spatial substructures with large angular rotation, J. Struct. Mech. 11 (1983), 401-431. 89] A.A. Shabana and R.A. Wehage, Variable degree-of-freedom component mode analysis of inertia exible mechanical systems, J. Mech. Trans. Auto. Desi. 105. (1983). 90] A.A. Shabana and R.A. Wehage, Spatial transient analysis of inertia-variant exible mechanical systems, J. Mech. Tran. and Auto. Desi. 106, 1984. 91] L.F. Shampine, Conservation laws and the numerical solution of ODEs, Comp. and Maths. with Appls., Part b, 12, (1986), 1287-1296. 92] L.F. Shampine and M.K. Gordon, Computer Solution of Ordinary Di erential Equations: The Initial Value Problem, W. H. Freeman and Company, 1975. 93] B. Simeon, F. Grupp, C. Fuhrer and P. Rentrop, A nonlinear truck model and its treatment as a multibody system, preprint. 94] J. O. Song and E. J. Haug, Dynamic analysis of planar exible mechanisms, Computer Methods in Applied Mechanics and Engineering, 24 (1980), 359-381. 95] A. Suleman, Dynamics and Control of Evolving Space Platform: A Formulation with Applications , Ph.D. Thesis, UBC, 1992. 96] R.A. Wehage and E. J. Haug, Generalized coordinate partitioning for dimension reduction in analysis of constrained dynamic systems, J. of Mechanical Design 104 (1982), 247-255. 97] T.Y. Yang, Finite Element Structural Analysis, Prentice-Hall, 1986.
Bibliography
167
98] H. C. Yee, P. K. Sweby and D. F. Gri ths, Dynamical approach study of spurious steady-state numerical solutions of nonlinear di erential equations. 1. The dynamics of time discretization and its implications for algorithm development in computational uid dynamics NASA Technical Memorandum 102820. April 1990. 99] J. Yen, Constrained equations of motion in multibody dynamics as ODEs on manifolds, SIAM J. Numer. Anal. 30 (1993), 553-568. 100] J. Yen and L. R. Petzold, On the numerical solutions of constrained multibody dynamics system, Preprint, University of Minnesota, July 15, 1994. 101] W. S. Yoo and E. J. Haug, Dynamics of exible mechanical systems using vibration and static correction modes , ASME Design Engineering Technical Conference , 1985, Cincinnati, Ohio.