8.5 Programming Considerations

Back

Equations developed in this chapter are formulated and structured in such a way that they can be used for

developing general vibration analysis software. As the equations given above refer to bodies i and j; they

can be placed in the global coordinates accordingly. Four submatrices (6 £ 6) will be placed as follows:

Kr Kr Rpi

RT

piKr RT

piKr Rpi

2

4

3

5 will be placed; starting from position ð6ði 2 1Þ þ 1; 6ði 2 1Þ þ 1Þ

FIGURE 8.5 Shock response in the y direction.

FIGURE 8.6 Frequency response in the z direction for unbalanced engine excitation.

8-16 Vibration and Shock Handbook

© 2005 by Taylor & Francis Group, LLC

2

Kr Kr Rpj

RT

piKr RT

piKr Rpj

2

4

3

5 will be placed; starting from position ð6ði 2 1Þ þ 1; 6ð j 2 1Þ þ 1Þ

2

Kr Kr Rpi

RT

pjKr RT

pjKr Rpi

2

4

3

5will be placed; starting from position ð6ð j 2 1Þ þ 1; 6ði 2 1Þ þ 1Þ

Kr Kr Rpj

RT

pjKr RT

pjKr Rpj

2

4

3

5will be placed; starting from position ð6ð j 2 1Þ þ 1; 6ð j 2 1Þ þ 1Þ

Entry to the global stiffness matrix must be additive (a new entry is added to the previously entered values

to account for any contribution coming from other springs). In programming terms, the global stiffness

matrix is constructed based on the spring count loop. Therefore, the data structure for a spring must be

such that the end of the spring refers to the mass number. Hence, for a spring stiffness, submatrices could

be located in the global matrix according to the mass numbers to which the ends of that spring

are attached.

To start assembling the equations, the first step is to express the stiffness matrices in global coordinates.

Here, it is assumed that the stiffness values are given in three orthogonal axes. These axes will be assumed

to be the principal axes of the springs (in practice, this is not strictly correct and the assumption holds

only for small deflections). The orientation of the principal axes relative to the global coordinates can be

described in terms of Euler angles (or using direction cosines). Once the transformation matrix is

obtained, then the stiffness can be expressed in the global coordinate system Equation 8.4. In developing

one’s own software, it is important to bear in mind the way the transformation matrix is constructed.

Euler angles have to be applied one by one and the order in which they are processed is important. For

example, to orient a given body, one may assume that, initially, its local coordinates are parallel to the

principal coordinate frame. From here, the first Euler angle will rotate the body to a new orientation.

Relative to this position, the next rotation will be applied, resulting in yet another orientation. Lastly, the

third rotation will be applied relative to this orientation, giving the final position of the body under

consideration. Assuming that these rotations are a b g in the given order, the transformation matrix is

built as

T ¼ TðaÞTðbÞTðgÞ

In other words, any vector in the local coordinates will be transformed to the global coordinates in

reverse order. To explain further, any vector in the local coordinates is first transformed by TðgÞ, then

the resulting vector is transformed by TðbÞ; and finally the resulting vector is transformed by TðaÞ:

The expression X ¼ Tx processes these matrices in that order.

Transformation will apply to spring stiffness matrices and inertia matrices. Therefore, the input to the

vibration program has to account for Euler angles for each body and spring, and the order in which these

rotations are performed.

Once the transformation is completed, all that remains is to perform the appropriate matrix algebra in

order to construct the stiffness matrix for each spring and its location in the global stiffness matrix. The

inertia matrix for each mass, after expressing it in the global coordinate frame by performing matrix

transformation, will need to be placed in the appropriate location in the global inertia matrix.