6.3 Systems with Two or More Degrees of Freedom

Back

A system that requires more than one coordinate to describe its motion is a multi-DoF system. These

systems differ from single-DoF systems in that n DoF are described by n simultaneous differential

equations and have n natural frequencies. When these systems are written in matrix notation, they look

TABLE 6.3 Absolute Error for Centered Difference and for the Fourth-Order

Runge – Kutta

Time t Error for Central

Difference

Error for Runge – Kutta

All Times 1.0 £ 1023

0 0 0

0.02 0.0001 0.0

0.04 0.0003 0.0100

0.06 0.0006 0.0180

0.08 0.0008 0.0600

0.10 0.0008 0.0300

0.12 0.0009 0.0400

0.14 0.0006 0.0200

0.16 0.0000 0.0100

0.18 0.0008 0.0300

0.20 0.0017 0.0700

0.22 0.0026 0.0500

0.24 0.0030 0.1100

0.26 0.0026 0.1000

0.28 0.0015 0.0700

0.30 0.0003 0.0100

0.32 0.0022 0.0700

0.34 0.0040 0.1300

0.36 0.0050 0.1900

0.38 0.0050 0.2100

0.40 0.0039 0.1900

0.42 0.0017 0.1200

0.44 0.0011 0.0200

0.46 0.0037 0.1300

0.48 0.0062 0.2100

6-8 Vibration and Shock Handbook

© 2005 by Taylor & Francis Group, LLC

just like the single-DoF system. The equations of motion of a viscously damped multi-DoF system can be

written as follows:

½M􀀉x€ þ ½C􀀉x_ þ ½K􀀉x ¼ f

where ½M􀀉; ½C􀀉; and ½K􀀉 are the mass, damping, and stiffness matrices, respectively; x is the displacement

vector; and f is the force vector. Both the central difference method and Runge – Kutta can be applied to

the matrix equation. The method follows exactly that given above where the scalar quantities are replaced

by the matrix quantities.

6.3.1 Example

As an example, consider the two-DoF system

shown in Figure 6.3.

In this example, k1 ¼ k2 ¼ 36 KN=m; m1 ¼

100 kg; m2 ¼ 25 kg; and f ¼ 4000 N for t . 0

and 0 for t # 0: The initial conditions are all

zero, i.e., x1 ¼ x_1 ¼ x2 ¼ x_2 ¼ 0: The equation of

motion for this system is

100x€1 þ 36;000x1 2 36;000ðx2 2 x1Þ ¼ 0

25x€2 þ 36;000ðx2 2 x1Þ ¼ f

This can be written in matrix notation as

100 0

0 25

" #

x€ þ 36;000

2 21

21 1

" #

¼ f

where x ¼ ðx1; x2Þt and f ¼ ð0; f Þt :

6.3.1.1 Centered Difference

Using the centered difference approximation for the second derivatives, one obtains the following two

recurrence relations

xiþ1

1 ¼ ð2720xi

1 þ 360xi

2ÞDt2 þ 2xi

1 2 xi21

1

xiþ1

2 ¼ ð1440ðxi

1 2 xi

2Þ þ 160ÞDt2 þ 2xi

2 2 xi21

2

These two equations are only valid for i $ 3: From the single-DoF system, we know that this method is

not self-starting. In order to compute x2

1 and x2

2 ; one needs to use an additional equation, which one

obtains from the Taylor expansion. First one needs to compute the initial acceleration for the system.

This is obtained from the differential equation and the initial data. For this problem, the initial

acceleration is given by x€1 ¼ 0 and x€2 ¼ 160: Next, values for x21

1 and x21

2 are computed from the Taylor

expansion

x21

1 ¼ x0

1 2 Dtx_1 þ

Dt2

2

x€1 ¼ 0

x21

2 ¼ 80Dt2

Now, the recurrence relations can be used to compute the rest of the terms. An example of the

MATLAB code for this calculation is the following.

FIGURE 6.3 Two-DoF system. (Source: Thomson and

Dahleh 1998. Theory of Vibration Applications, 5th ed.

With permission.)

Numerical Techniques 6-9

© 2005 by Taylor & Francis Group, LLC

6.3.1.2 Pseudocode for Example 6.3.1

The following is a MATLAB m file for Example 6.3.1.

clear

deltat ¼ 0.01;

deltsq ¼ deltat p deltat;

x2ð1Þ ¼ 0;

x1ð1Þ ¼ 0;

x2(2) ¼ 160/2 p deltsq;

x1(2) ¼ (60 px2(2)pdeltsq)/(1 þ 120 p deltsq);

x2ddot(2) ¼ 1440p(x1(2) 2 x2(2)) þ 160;

x1ddot(2) ¼ 2 720px1(2) þ 360px2(2);

for i ¼ 3:51

x2(i) ¼ x2ddot(i 2 1)pdeltsq þ 2 p x2(i 2 1) 2 x2(i 2 2);

x1(i) ¼ x1ddot(i 2 1)pdeltsq þ 2px1(i 2 1) 2 x1(i 2 2);

x2ddot(i) ¼ 1440p(x1(i) 2 x2(i)) þ 160;

x1ddot(i) ¼ 2 720 p x1(i) þ 360 p x2(i);

end

Figure 6.4 gives the displacement of x1 and x2 over time for Example 6.3.1.

6.3.1.3 Runge – Kutta

Alternately, the system of second-order equations can be integrated using the fourth-order Runge –

Kutta method. In order to use Runge – Kutta, the second-order system has to be written as a system

of first-order equations. The following second-order system

x€1 ¼ 2720x1 þ 360x2

x€2 ¼ 1440ðx1 2 x2Þ þ 160

0.45

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

0

−0.05

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

x1

x2

FIGURE 6.4 Displacement versus time. (Source: Thomson and Dahleh 1998. Theory of Vibration Applications,

5th ed. With permission.)

6-10 Vibration and Shock Handbook

© 2005 by Taylor & Francis Group, LLC

becomes the following first-order system

x_1 ¼ x3

x_2 ¼ x4

x_3 ¼ 2720x1 þ 360x2

x_4 ¼ 1400ðx1 2 x2Þ þ 160

Two new variables have been introduced.

6.3.1.4 Integrating Ordinary Differential Equations Using MATLAB

There are several ODE solvers in MATLAB, especially in version six. The discussion here will be limited

to the least complicated solvers. These are ode23 and ode45, which are implementations of a secondand

third-order, and a fourth- and fifth-order solver, respectively. Like all Runge – Kutta methods, these

solvers work on first-order equations. If the equation is of higher order, it needs to be converted to a

system of first-order equations. Then the equation should be written in vector form, i.e., x0 ¼ f ðx; tÞ:

The user must write a MATLAB function routine which computes the values of f ¼ ðf1; f2; …fnÞ given

the values of ðx; tÞ: Once this function files exists, it can be used as input in either ode23 or ode45. The

function call details are given in the on-line help facility in MATLAB. See the Appendix for an

introduction to MATLAB.

6.3.2 Summary of Two-Degree-of-Freedom System

1. Equation of motion: ½M􀀉x€ þ ½C􀀉x_ þ ½K􀀉x ¼ f:

2. Centered difference for systems of equations.

3. Runge – Kutta methods.

4. MATLAB commands for solution of ordinary differential equations — ode23 and ode45.