Overview
This section will begin by looking at a single degree of freedom (DOF) dynamic system and then expand that understanding to multi-DOF systems and then examine how extremely large DOF systems can be analysed.
Objective
-
The student will examine the analysis of single, multi- and extremely large Degree of Freedom Systems.
This section will begin by examining how a simple single degree of freedom (DOF) system can be analysed using well understood mathematical tools. This understanding will then be extended to multi-DOF systems which require the use of systems of equations combined into a matrix equation which can be solved using computer mathematical analysis tools.
The discussion will then examine how this can further be extended to very large DOF systems are developed using Finite Element Models (FEM) and results determined using in Finite Element Analysis (FEA). In the process, solution using state-space approaches will be discussed.
Topic 1 - Single Degree of Freedom System
Let us consider the general equation of motion for a simple spring-mass system, such as the spring-mass-damper system shown in the figure.
The equation of motion will be: , where m is mass, c is damping, k is spring rate, x is displacement, and x’ and x” are its derivatives (velocity and acceleration) and f(t) is a forcing function that varies with time. We will now examine a couple of equations of this form (starting with and undamped system, where c=0)
Application
Consider the system , with initial conditions and
Take the Laplace Transform
Solve for X(s) in the frequency domain
Inverse transform to get back to the time domain
The response will be made up of two bits. The first, will be a sinusoidal response at the natural frequency and the other will be a sinusoidal response at frequency , from the frequency of the external input.
Topic 2 - Multi-Degree of Freedom System
Let us now consider the general equation of motion for the multi-degree of freedom system with three masses and 4 springs as shown in the next figure.
The equations would be:
which can be compiled into a matrix expression as shown:
Application 1
We can treat the system just described as a static deflection problem, where the weight of each mass will be balanced by the force in each spring. The weight of each mass can be expressed as a column matrix [F] of three force terms found by multiplying the acceleration of gravity (g = 9.8 m/sec2) times each mass.
Then the equation
is
The deflection that the system will experience under the effect of the weight [X] can be found using matrix operations involving the inverse of [K]:
This can be done easily using a computer mathematics routine such as MATLAB by defining the two matrices, inverting the K matrix and multiplying it by the F matrix
>> K = [80 -30 0; -30 70 -40; 0 -40 60]
K =
80 -30 0
-30 70 -40
0 -40 60
>> F = [9.8; 29.4; 98]
F =
9.8000
29.4000
98.0000
>> X = inv(K)*F
X =
1.2727
3.0673
3.6782
So mass 1 will deflect 1.2727, mass 2 will deflect 3.0673 and mass 3 will deflect 3.6782 under these static weights.
Application 2
We can also view this as a dynamic problem, where the system is displace and released. This will cause all three bits to oscillate in simple harmonic motion, i.e. it will look like a cosine wave.
We can assume a solution that looks like a displacement of
So the first derivative of displacement (velocity) is
And the second derivative of displacement (acceleration) is
Thus, we can also write
Since the matrix expression is
The above allows us to express the matrix equation as
Let and define a new matrix and this develops into an eigenvalue form
So taking the determinant yields the system’s characteristic equation
Plugging in the values we had in the example problem
We can use MATLAB to find the system’s eigenvalues via the following commands
>> M = [1 0 0; 0 3 0; 0 0 10]
M =
1 0 0
0 3 0
0 0 10
>>K = [80 -30 0; -30 70 -40; 0 -40 60]
K =
80 -30 0
-30 70 -40
0 -40 60
>>A = inv(M)*K
A =
80.0000 -30.0000 0
-10.0000 23.3333 -13.3333
0 -4.0000 6.0000
>>lambda = eig(A)
lambda =
84.9248
21.6116
2.7969
And the results tell us that our system eigenvalues are 2.8, 21.6 and 84.9
Recalling that is related to our system natural frequency by or
We can find the natural frequencies:
Now recall that each eigenvalue has an associated eigenvector. These eigenvectors correspond to the mode shapes of the vibratory system. In this case, they tell us that at the first natural frequency, the associated mode shape, from the first eigenvector will indicate the relative motions of the masses.
We can use MATLAB to get the eigenvalues and eigenvectors using
[V,D] = eig(A)
V =
-0.9868 -0.4456 0.2360
0.1620 -0.8672 0.6074
-0.0082 0.2222 0.7585
D =
84.9248 0 0
0 21.6116 0
0 0 2.7969
Normalising these eigenvectors yields the vibratory mode shapes
The first eigenvector corresponds to the vibrational mode shape occurring at the first natural frequency of 1.67 rad/sec (16 hz), which means the motion of the masses is as shown
Vibratory modes for 2nd and 3rd natural frequencies can be found similarly. A negative sign means vibratory motion is out-of-phase (motion is up for one mass, down for the other).
Topic 3 - Large Degree of Freedom Systems
We could expand the concept just discussed to larger and more complex degree of freedom models. For example, the next figure shows how we might represent an airplane wing as four springs and four masses. Of course, if that does not give us enough refinement, we could go with 10 springs and masses……or 20……or 100…….or 1000. As far as the computer is concerned, it can solve a 100 by 100 matrix equation just as easily as a 3 by 3. It just uses a bit more time and electrical power to do the calculations. Similarly, we could represent the chassis, suspension, and tires of a car as masses and springs and dampers as shown in the next figure.
In each of these cases we are approximating a continuous structure, representing it as a finite number of discrete masses and connecting springs. This approach is therefore known as Finite Element Modeling (FEM) and Finite Element Analysis (FEA).
Topic 4 - State Space Approach
Click on the headings below to see each approach.
Another approach for modelling and analysing a complex system is known as the state space approach. Let us once again begin by examining a simple spring-mass-damper system, this time with an externally applied time varying force u.
The equation of motion will be:
Rearranging:
Let’s define some new variables and
Therefore and
We can rewrite the equation of motion:
Combine this last equation and the relationship to create a matrix equation (Let’s call this Equation One for future reference)
This is called the State Equation.
Laplace Transform this matrix equation:
And solve for
This next equation is called the Output Equation and relates our variables to each other
Laplace Transform this:
Solve for from the State Equation and place it into the Output Equation
From this we can create the Transfer Function relating the input to the output
Recall how you invert a matrix
So use this in our problem
Inverse Laplace Transform this and you have y(t), which is the deflection y of our spring-mass-damper system as a function of time.
So long as we can define the matrices then we can then get the transfer function
And from we can get
And Inverse Transform to get which would be a column matrix containing all of the individual y displacement terms.
We should also note that for a dynamic problem in harmonic motion, the Matrix can serve as the same matrix that we previously used to in our eigen-solution to find the system’s natural frequencies.
There are multiple ways to arrive at the state space form. One way, applicable to a second order system, is to define the coefficients of the y and u terms thusly:
If we choose state space variables of
where and
where
Using these to substitute for y and y’ and y” back into the second order equation above, and we have
Now substituting for and
Eliminating terms common to each side and rearranging
Recall we defined so
Remember this relationship for
Eliminating terms common to each side and rearranging
To make this more manageable, let’s define
So the previous equation becomes
Take this equation and the one for x’ (I told you to remember it) and form a matrix equation And recognize that it is a state space equation
which has an accompanying Output equation
We said before that as long as we can define the matrices then we can then get the transfer function . MATLAB will help us do that as will be shown in the following example labelled Application 1.
However, before we go there, let us consider another way that we could arrive at the same point. Consider again the second order system
Using Laplace, we could create the system’s Transfer Function
Let us split this into two bits
and
Note that this is merely the reverse of what we did in the problem of the unbalanced rotor having a transfer function to its machine and the machine having a transfer function to the floor in the Frequency Domain discussion Topic 3 Application 1 example. There we combined two transfer functions into one. Here we are doing the reverse.
These would give us
If we now define
which also means
Substitute these and rearrange a bit
Combine these two equations so as to eliminate
And recognize that if written as a matrix equation this is in the form of an Output Equation
Take the equations above for and and create a matrix equation (which turns out to be a state space equation)
We said before that as long as we can define the matrices [A] [B] [C] and [D] then we can then get the transfer function [G(s)]. MATLAB will help us do that as will be shown in the following example labelled Application 2
Application 1
Consider the racecar on a transporter trailer as shown, with vehicle mass (m = 10kg) and a spring rate (k = 100 N/m) and damping (b = 20N-sec/m) created by the attachments of the car to the trailer. Let u and y be the deflections of the trailer and the car respectively.
We will use solution Approach 2 as developed in this topic.
Assume that the system is at rest until t = 0, at which time the trailer begins moving with a constant velocity u’ = 1 m/sec.
Let us apply Newton’s Second Law (F = ma) to construct the system equation
Rearrange
Divide by m
Rewrite as
And we find that this is in one of the forms previously described in solution Approach 2
Where:
We previously developed:
So
We previously said that if we could define [A], [B], [C] and [D] then we could get a solution. And the easiest way to do so is in MATLAB using the ss command to tell it that we are giving it a state space form, with commands as follows:
>>A = [0 1; -10 -2]
>>B = [2; 6]
>>C = [1 0]
>>D = 0
>>sys = ss(A,B,C,D)
These commands define our four state space form matrices and then create a system response (which we named sys) using the matrices we just defined
We can also create a plot of this response, from time 0 to time 4 in steps of 0.01 using the commands
>> t = 0:0.01:4
>> u = t
>>lsim(sys,u,t)
Where the blue line shows the motion of the trailer, u. And the red line shows the motion of the racecar, y, which begins by lagging, then oscillating, and finally stabilises to moving in unison with the trailer.
Application 2
Consider a motorcycle suspension as shown, if input comes from a bump in the road as also shown. The following values are given
We will use solution Approach 3 as developed in this section. Let us use our old friend, Newton’s Second Law of Motion to develop the equations of motion.
Substituting the m, k and b values given and rearranging
Let’s divide all values equally by 10 in the first equation and 100 in the second equation to simplify
Laplace Transform
Combining
Rearranging to get the transfer function
Referring back to the process followed in solution Approach 3,
If we define variables
Then our state space equation is
And our Output equation is
And off we can go to MATLAB
>>A = [0 1 0 0; 0 0 1 0; 0 0 0 1; -10 -15 -12 -6]
>>B = [0; 0; 0; 1]
>>C = [10 15 5 0]
>>D = 0
>>sys = ss(A,B,C,D)
And the response is shown here with the input u in red and the response y in green, indicating that the response is more rounded than the input because it is tending toward a sinusoidal response rather than the saw-tooth shaped input. Also, we can see that the damping causes the response to die out with time.
Application 3
MATLAB also lets us go back and forth between the state space and the transfer fucntion expressions using the commands tf2ss (transfer function to state space) and ss2tf (state space to transfer function).
Let us use the state space matrices fromt eh previous example and change to the transfer fucntion using the command ss2tf(A,B,C,D,iu) where iu is the number of inputs to the system (1 in our case).
>> A = [0 1 0 0; 0 0 1 0; 0 0 0 1; -10 -15 -12 -6]
A =
0 1 0 0
0 0 1 0
0 0 0 1
-10 -15 -12 -6
>> B = [0; 0; 0; 1]
B =
0
0
0
1
>> C = [10 15 5 0]
C =
10 15 5 0
>> D = 0
D =
0
>> [num,den] = ss2tf(A,B,C,D,1)
num =
0 0 5 15 10
den =
1.0000 6.0000 12.0000 15.0000 10.0000
These results would mean that the transfer function was
Which can be seen to be the same transfer function that was generated in the previous example.
We can reverse this process if we define the numerator of the transfer function as num, define the denominator of the transfer function as den, and change to state space using the command [A,B,C,D] = tf2ss(num,den)
>> [A,B,C,D] = tf2ss(num,den)
A =
-6.0000 -12.0000 -15.0000 -10.0000
1.0000 0 0 0
0 1.0000 0 0
0 0 1.0000 0
B =
1
0
0
0
C =
0 5 15 10
D =
0
And we are back where we started.
Application 4
Find the natural frequencies of the system of three masses shown in the figure, with a spring and damper between each and force f1t applied to mass 1.
Since we are after a dynamic solution, we will use solution Approach 1 as developed in this topic.
Write the equations of motion:
Arrange as a matrix equation
Develop a state space form by defining
And
The inverse of the mass matrix is
Recall from what we did before that the state space matrix A should achieve [Y’] = [A][Y] and this can be achieved from
As discussed in solution Approach 1, we could now do an eigen-solution using matrix A and generate the eigenvalues (which as previously discussed lead to the natural frequencies) and the eigenvectors (which as previously discussed lead to the vibration mode shapes).
Summary
- Equations describing the response of a system (under either static or dynamic conditions) can be created for a system with any number of degrees of freedom.
- For multi-degree of freedom systems, the equations just described can be compiled into a matrix equation
- Computer mathematics routines such as MATLAB are very useful for manipulating the matrix equations to find solutions.
- Finite Element Analysis routines can perform all of the steps above for extremely large systems.
- The state space approach can be utilised to develop a solution form that results in a relationship defining system response with respect to time, or a dynamic solution providing eigen-solutions.
- It is possible to go back and forth between the state space representation and a transfer function representation, and MATLAB will aid us in doing this.
TASK 1
Tutorial problems will allow the student to practice the concepts shown in this discussion.
References and Bibliography
Ogata, K. (2004). System Dynamics, 4th edition. Upper Saddle River, USA: Pearson Prentice Hall.