4569846498

01.05.2017 Views

Multibody systems simulation software 117 referred to as sparse and the ratio of non-zero terms to the total number of matrix elements is referred to as the sparsity of the matrix. In a program such as MSC.ADAMS the sparsity of the matrix is typically in the range of 2 to 5% (Wielenga, 1987). The computer solvers that are developed in multibody systems to solve linear equations can be designed to exploit the sparsity of the [A] matrix leading to relatively fast solution times. This is one of the reasons, apart from improvements in computer hardware, that multibody systems programs can appear to solve quite complex engineering problems in seconds or minutes. These solution speeds can be quite notable when compared with other computer software such as finite elements or computational fluid dynamics programs. The solution of (3.62) follows an established approach that initially involves decomposing or factorizing the [A] matrix into the product of a lower triangular and an upper triangular matrix: [A] [L][U] (3.63) For the lower triangular matrix [L] all the elements above the diagonal are set to zero. For the upper triangular matrix [U] all the elements on and below the diagonal are set to zero. In the following step a new set of unknowns [y] is substituted into (3.63) leading to [L][U][x] [b] (3.64) [U][x] [y] (3.65) [L][y] [b] (3.66) The terms in the [L] and [U] matrices may be obtained by progressive operations on the [A] matrix where the terms in one row are all factored and then added or subtracted to the terms in another row. This process can be demonstrated by considering the expanded [A], [L] and [U] matrices as shown in (3.67) where to demonstrate the influence of sparsity some of the terms in the [A] matrix are initially set to zero: ⎡L11 0 0 0 ⎤ ⎡1 U U U ⎢L 21 L22 0 0 ⎥ ⎢ 0 1 U U ⎢ ⎥ ⎢ ⎢L31 L32 L33 0 ⎥ ⎢0 0 1 U ⎢ ⎥ ⎢ ⎣L41 L42 L43 L44 ⎦ ⎣0 0 0 1 12 13 14 23 24 (3.67) The fact that the [A] matrix is sparse leads to the [L] and [U] matrices also being sparse with subsequent savings in computer simulation time and memory storage. If we start by multiplying the rows in [L] into the first column of [U] we can begin to obtain the constants in the [L] and [U] matrices from those in the [A] matrix: L 11 A 11 L 21 A 21 L 31 A 31 L 41 A 41 34 ⎤ ⎡A11 A12 0 A14 ⎤ ⎥ ⎢A 21 0 0 A ⎥ ⎥ 24 ⎢ ⎥ ⎥ ⎢A31 0 A33 0 ⎥ ⎥ ⎢ ⎥ ⎦ ⎣A41 0 A43 A44 ⎦

118 Mutibody Systems Approach to Vehicle Dynamics In a similar manner for the second column of [U] we get: L 11 U 12 A 12 therefore U 12 A 12 /A 11 L 21 U 12 L 22 0 therefore L 22 A 21 A 12 /A 11 L 31 U 12 L 32 0 therefore L 32 A 31 A 12 /A 11 L 41 U 12 L 42 0 therefore L 42 A 41 A 12 /A 11 Moving on to the third column of [U] gives: L 11 U 13 0 therefore U 13 0 L 21 U 13 L 22 U 23 0 therefore U 23 0 L 31 U 13 L 32 U 23 L 33 A 33 therefore L 33 A 33 L 41 U 13 L 42 U 23 L 43 A 43 therefore L 43 A 43 Finishing with the multiplication of the rows in [L] into the fourth column of [U] gives: L 11 U 14 A 14 L 21 U 14 L 22 U 24 A 24 L 31 U 14 L 32 U 24 L 33 U 34 0 L 41 U 14 L 42 U 24 L 43 U 34 L 44 A 44 therefore U 14 A 14 /A 11 U 24 (A 24 A 21 A 14 /A 11 )/(A 21 A 12 /A 11 ) U 34 ((A 31 A 14 /A 11 ) (A 31 A 12 /A 11 )(A 24 A 21 A 14 /A 11 )/(A 21 A 12 /A 11 ))/A 33 L 44 A 44 A 41 A 14 /A 11 (A 41 A 12 /A 11 )(A 24 A 21 A 14 /A 11 )/(A 21 A 12 /A 11 ) A 43 ((A 31 A 14 /A 11 ) (A 31 A 12 /A 11 )(A 24 A 21 A 14 /A 11 )/ (A 21 A 12 /A 11 ))/A 13 From the preceding manipulations we can see that for this example some of the terms in the [L] and [U] matrices come to zero. Using this we can update (3.67) to give ⎡L11 0 0 0 ⎤ ⎡1 ⎢L 21 L22 0 0 ⎥ ⎢ 0 ⎢ ⎥ ⎢ ⎢L31 L32 L33 0 ⎥ ⎢0 ⎢ ⎥ ⎢ ⎣L41 L42 L43 L44 ⎦ ⎣0 U12 0 U14 ⎤ ⎡A11 A12 0 A14 ⎤ 1 0 U ⎥ ⎢ 24 A21 0 0 A ⎥ ⎥ 24 ⎢ ⎥ 0 1 U34 ⎥ ⎢A31 0 A33 0 ⎥ ⎥ ⎢ ⎥ 0 0 1 ⎦ ⎣A41 0 A43 A44 ⎦ (3.68) Consideration of (3.68) reveals that some elements in the factors [L] and [U] are non-zero where the corresponding elements in [A] are zero. Such elements, for example L 22 , L 32 , and L 42 here, are referred to as ‘fills’. Having completed the decomposition process of factorizing the [A] matrix into the [L] and [U] matrices the next step, forward–backward substitution, can commence. The first step is a forward substitution, utilizing the now known terms in the [L] matrix to find the terms in [y]. For this example if we expand

Multibody systems simulation software 117<br />

referred to as sparse and the ratio of non-zero terms to the total number of<br />

matrix elements is referred to as the sparsity of the matrix. In a program<br />

such as MSC.ADAMS the sparsity of the matrix is typically in the range of<br />

2 to 5% (Wielenga, 1987). The computer solvers that are developed in<br />

multibody systems to solve linear equations can be designed to exploit the<br />

sparsity of the [A] matrix leading to relatively fast solution times. This is<br />

one of the reasons, apart from improvements in computer hardware, that<br />

multibody systems programs can appear to solve quite complex engineering<br />

problems in seconds or minutes. These solution speeds can be quite notable<br />

when compared with other computer software such as finite elements or<br />

computational fluid dynamics programs.<br />

The solution of (3.62) follows an established approach that initially<br />

involves decomposing or factorizing the [A] matrix into the product of a<br />

lower triangular and an upper triangular matrix:<br />

[A] [L][U] (3.63)<br />

For the lower triangular matrix [L] all the elements above the diagonal are<br />

set to zero. For the upper triangular matrix [U] all the elements on and<br />

below the diagonal are set to zero. In the following step a new set of<br />

unknowns [y] is substituted into (3.63) leading to<br />

[L][U][x] [b] (3.64)<br />

[U][x] [y] (3.65)<br />

[L][y] [b] (3.66)<br />

The terms in the [L] and [U] matrices may be obtained by progressive operations<br />

on the [A] matrix where the terms in one row are all factored and<br />

then added or subtracted to the terms in another row. This process can be<br />

demonstrated by considering the expanded [A], [L] and [U] matrices as<br />

shown in (3.67) where to demonstrate the influence of sparsity some of the<br />

terms in the [A] matrix are initially set to zero:<br />

⎡L11<br />

0 0 0 ⎤ ⎡1<br />

U U U<br />

⎢L<br />

21 L22<br />

0 0 ⎥ ⎢<br />

0 1 U U<br />

⎢<br />

⎥ ⎢<br />

⎢L31 L32 L33<br />

0 ⎥ ⎢0 0 1 U<br />

⎢<br />

⎥ ⎢<br />

⎣L41 L42 L43 L44<br />

⎦ ⎣0 0 0 1<br />

12 13 14<br />

23 24<br />

(3.67)<br />

The fact that the [A] matrix is sparse leads to the [L] and [U] matrices also<br />

being sparse with subsequent savings in computer simulation time and memory<br />

storage. If we start by multiplying the rows in [L] into the first column<br />

of [U] we can begin to obtain the constants in the [L] and [U] matrices from<br />

those in the [A] matrix:<br />

L 11 A 11<br />

L 21 A 21<br />

L 31 A 31<br />

L 41 A 41<br />

34<br />

⎤ ⎡A11 A12 0 A14<br />

⎤<br />

⎥ ⎢A<br />

21 0 0 A ⎥<br />

⎥<br />

24<br />

⎢<br />

⎥<br />

⎥ ⎢A31 0 A33<br />

0 ⎥<br />

⎥ ⎢<br />

⎥<br />

⎦ ⎣A41 0 A43 A44<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!