Learning Outcomes:: CIVE2560 Engineering Maths and Modelling
Learning Outcomes:: CIVE2560 Engineering Maths and Modelling
Type of Feedback: Individual Feedback proforma to students (along with group feedback)
Learning Outcomes:
On completion of this assignment students should be able to:
1) Consolidate and apply knowledge of differential equations (DE’s) through application to a
mass-spring-damper (M-S-D)
2) Model and investigate the behaviour of a vibrating system (that can be described through
ODE’s) that has application to Civil Engineering
3) Use computational tool (e.g. Matlab) to solve the governing differential equations (for the
model) such that the system behaviour can be understood.
4) Use a range of tools and approaches to solve (and then compare) the governing differential
equations numerically and analytically.
5) Appreciate that it is feasible to model how a complex multi-component system (e.g. a real
structure) can be understood through extending the approaches from a simple M-S-D.
6) Appropriately visualise and summarise key findings and document them clearly as a report.
As well as your course notes you will likely find these links and videos useful for background:
https://www.youtube.com/watch?v=JbwGlTz0wqk (part1-youtube video of a mass-spring system)
https://www.youtube.com/watch?v=LdI_yl6lt94 (part 2-youtube video of a mass-spring system)
https://www.youtube.com/watch?v=oTQnHRnOEXs (alternative youtube video for m-s-d)
http://tutorial.math.lamar.edu/Classes/DE/Vibrations.aspx (some background theory)
(a)
(i) Derive governing equation of motion. For all questions we will assume there is
no friction and that mass is moving such that we can ignore any gravity effects.
Hint: Include a full diagram which should include the coordinates system used and
the forces applied on the studied object. The governing equation for this problem
should come out to be a second order ODE.
(ii) For the situation where the forcing term 𝐹 is zero (𝐹 =0) solve the governing
differential equation for the M-S-D described. Take the initial conditions to be
𝑑𝑥
𝑥(0) = −3 and 𝑑𝑡 | = 𝑥̇ (0) = 0 (i.e. initial displacement =-3m, velocity =0m/s).
𝑥=0
Now assume that: m=10 kg, k=160 N/m and there no damping (𝒃=0 N s/m).
(iii) Use Matlab’s symbolic solver (e.g. dsolve) to confirm your solution above is
correct.
Hint: You will find the sample Matlab function MSD_symbolic()helpful for this.
(iv) Plot the displacement of the mass over time for the situation outlined. Use the
initial conditions outlined above in part (ii)). Plot displacements for the first 15
seconds.
(v) Investigate the impact of adding a damping term (start with 𝒃=4 N s/m and
increase until you find critical damping (what value of 𝑏 gives critical damping?).
Hint: As well as material in your notes these links will give more detail on critical damping :
https://www.youtube.com/watch?v=_5J84Dnt2qo (short video)
http://www.acs.psu.edu/drussell/Demos/SHO/mass.html
https://www.youtube.com/watch?v=HRcjtVa1LfM
https://ocw.mit.edu/courses/mathematics/18-03sc-differential-equations-fall-2011/unit-ii-second-order-constant-
coefficient-linear-equations/damped-harmonic-oscillators/MIT18_03SCF11_s13_1text.pdf (theory)
(b) Use Matlab to implement Euler‘s method to solve the same governing
differential equation for the Mass-Spring-Damper (again take situation with no forcing
term 𝐹 = 0). To do this you will need to convert the 2nd order ode in to two 1st order
ode’s to implement in Matlab .
Consider the same initial conditions and parameters considered in (a) part (v)
Take the time step, dt, as:
(i) dt=0.01s
(ii) dt=0.004s
(iii) some other value you think will be useful based on results from b(i) and (ii)
Again plot your results and attempt to compare results for the different approaches
(including impact of step size). Briefly report key observations and identify why
these may occur.
Hint: Splitting a 2nd order ODE in to two 1st order ODE’s was done in the recent
modelling workshop so you may want to refer back to this (and lecture materials).
Hint: You may find the sample Matlab function MSD_Euler()will be helpful too for this.
(c) Use Matlab to implement the ODE45 solver (which uses a high order Runge
Kutter approach) to solve the same governing differential equation for the Mass-
Spring-Damper (again take the situation with no forcing term 𝑭 = 𝟎). Consider the
same initial conditions and parameters considered in part (b).
Investigate the impact of using the same step sizes as used in (b).
Again plot your results and compare and contrast results for different
approaches implemented in parts (a), (b), (c).
Hint: You may find the sample Matlab function MSD_ode45() & MSD_numerical_equation
helpful too for this.
(d) (i) Consider the impact of taking different values of m and k on the behaviour.
Briefly summarise any key observations.
(ii) Consider the impact of taking different initial conditions e.g. ( 𝑥(0) = 0𝑚 and
𝑥̇ (0) = 2𝑚/𝑠 (initial displacement and velocity). Briefly summarise key
observations.
Hint: In all the above you should try to include multiple graphs on the same axis so
they can be easily compared, but take care not to put on too many such that it is not
possible to see them clearly –use your judgement’.
Formative Submission Information (for hand-in date see front page):
You need to submit a maximum of 2 sides of A4 that contain the key findings from
Q1 (you need to select the important information to summarise your key findings).
Matlab code:
Some sample Matlab code (in the form of functions) are provided to help you get
started. You should use these as the basis to answer the questions. It will be
necessary for you to understand and modify these to complete the coursework. You
can download them from VLE module page (from Assessment/ModellingCW tab).
The diagram below provides a visual explanation of the different Matlab functions
provided. All these need to be saved in the same working folder.
MSD_Euler()
Implements Euler
method to solve
MSD equ,
run_ODE.m
MSD_ode45()
Run this m-file . MSD_numerical_equation
Implements ODE45
This will call the Numerical equation for the two
to solve MSD equ,
various the sample 1st order ODE’s
functions. ODE45
MSD_symbolic()
?? symbolic
Uses
solver for solve MSD
Hint: The Matlab script file run_ODE.m calls all the functions mentioned above as
well some functions to plot. As a starting point RUN THIS to help you get started with
Matlab programming.
Question 2 (35 %)
(a) For the case where m=10 kg, k=160 N/m, b=0 N s/m update your Matlab code to
find the impact of including a forcing term (take 𝑭𝟎 =200N and 𝝎𝟎 =1,2,3,4,5 rad/s).
Take the same initial displacement and velocity as in Q1(a) (𝑥(0) = −3, 𝑥̇ (0) = 0).
As in Question 1 use Matlab to calculate and compare results using both ODE45 and
symbolic approaches (only consider Euler method if you think useful-give
justification). Plot the displacement over time to compare results.
(b) For the setup outlined in 2(a) consider the case where the frequency of the
forcing term is equal to the natural frequency of the mass-spring-damper system (i.e.
𝑘
𝜔0 = 𝜔, where 𝜔 = √𝑚 ). Comment on what happens when 𝜔0 → 𝜔. Select other
sets of values for k and m where 𝜔0 = 𝜔 and investigate if you get the same
behaviour.
(c) For the set-up outlined in Q2(a), but with damping term introduced of b=2 N s/m
with 𝝎𝟎 =2 rad/s use either ODE45 or an analytical/symbolic approach to investigate
the behaviour of the mass-spring-damper system (it is suggested you plot
displacement for around the first 40-60 seconds). What do you observe happening
over time (consider amplitude and frequency)? Does this make sense? – select
some other values of b and 𝝎𝟎 to confirm.
For each of (a), (b), (c) clearly present and report your key results, findings and
conclusions.
Question 3 (30%)
A simple mass-spring-damper can be thought of as a simplified model of a real
structure. By combining multiple sets of components (i.e. mass, spring, dampers) we
can build up more complex models that better reflect the dynamic behaviour of real
structures (bridges, buildings etc).
As we include more components the problem (and associated Matlab code) can be
scaled-up to use the ideas from Q1 and Q2 to solve the more complex problems. In
Q3 we will consider a situation with two masses and three springs (see figure below).
Hint: The links below contain examples of interactive animations that provide some
examples of multi-mode mass- spring systems (more than one mass). It is highly
recommended you look at them!
http://www.cabrillo.edu/~jmccullough/Applets/Applets_by_Topic/Oscillations.html (This link
has a very useful interactive example of what you are trying to achieve -click on the ‘Couple
Oscillations and Normal Modes’ example ¾ of way down the page).
https://open.usq.edu.au/pluginfile.php/77992/mod_resource/content/3/mec3403/vibration-2/vibration-2.htm
(the animation links in the preamble at the start of this webpage will provide a very useful
reference).
For this question you need to use the ODE45 solver that you have used previously in
Q1 & Q2.
To simplify things we are only considering the situation where there is no damping
and no forcing term (𝐹0 =b=0).
(a) You will need to derive the 2 governing equations for the system containing the
two masses shown in the figure.
Hint: these will be two coupled 2nd order differential equations.
(b) You will need to write new Matlab code (including new functions) for this
question so that you can solve how the masses will move over time for different
initial conditions (e.g. so you can see how 𝑥1 and 𝑥2 change with t).
Hint: As you have two coupled 2nd order differential equations you will need to
convert these to four coupled 1st order ODE’s. You can extend the ideas discussed
here: https://www.youtube.com/watch?v=fx3bl4oA_0U (see lecture notes too)
(c) Using the Matlab code you’ve written and checked, you should consider the
behaviour of the system for the following cases.
Take m1=m2=1 kg & k1=k2=k3=20 N/m,
Investigate behaviour where initial conditions for displacement and velocity are:
(i) v1(0) = v2(0) =0 m/s (initial velocity for m1 & m2 taken to be zero)
x1(0)=2 m (initial displacement of x1from equilibrium = 2m)
x2(0)=2 m (initial displacement of x2from equilibrium = 2m)
(ii) v1(0) = v2(0) =0 m/s (initial velocity for m1 & m2 taken to be zero)
x1(0)= 1 m (initial displacement of x1from equilibrium = 1m)
x2(0)= -1 m (initial displacement of x2 from equilibrium = -1m)
(iv) v1(0) = v2(0) =0 m/s (initial velocity for m1 & m2 taken to be zero)
x1(0)=0 m (zero initial displacement for x2)
x2(0)=2 m (initial displacement of x1from equilibrium = 2m)
Now take m1=m2=1 kg & k1=20 N/m, k2=2 N/m, k3=20 N/m (the spring constant in
the middle has been changed such that it is smaller than the others). Investigate
behaviour where:
(v) v1(0) = v2(0) =0 m/s (initial velocity for m1 & m2 taken to be zero)
x1(0)=2 m (initial displacement of x1from equilibrium = 3m)
x2(0)=0 m (zero initial displacement for x2)
Hint: all the above are similar cases to the examples shown in link below (see 4 links
in the preamble):
https://open.usq.edu.au/pluginfile.php/77992/mod_resource/content/3/mec3403/vibration-2/vibration-2.htm
For each part of the questions above you should show the results graphically in a
way that allows them clearly understood and compared. In each case it is suggested
the displacement over time graphs should be selected for around the first 5-15
seconds. You should discuss the behaviour and report key finding and conclusions.
Hint: The first couple of cases will help you establish if your Matlab code is working
correctly. Use the links above (and your own intuition) to help you understand what
you should be observing in each case.
Hint: If you are struggling with the Matlab code, take a look at the MSD_ode45()
sample function (and the associated MSD_numerical_equation()function) used in Q1.
This has 2 coupled equations. In Q3 you will now have 4, so you can extend the
approach used. It is also suggested (as with Q1) that you use an mfile to set up the
variables and call the new function/s you develop (similar to the run_ODE.m ) .
The final report submission:
You need to submit a final report that should cover the key results from Questions
1,2 &3. The report should be set out so it is clear where you are presenting results
for each of the questions.
The final report should be a maximum of 7 sides of A4 (not including cover sheet,
content & appendix). The work should be submitted logically and clearly as a brief
report. Carefully selecting which information and figures to include is very important.
i) A brief overview of what is being considered in each Question along with a labelled
diagram.
ii) The governing equations for the system being considered (and versions of
governing equations where they have been manipulated such that they can be
solved with Matlab (e.g. we get two 1st order ODE’s from one 2nd ODE in Q1).
iii) Appropriately labelled axis comparing graphs of key results (put a number of
selected graphs on one set of axis to aid comparison).
iv) The key points and factors that you consider of interest or importance as
summary/conclusions (bullet points are suggested for these).
vi) You also need to include all your Matlab code from Q2 and Q3 as part of the
appendix for the report (keep the same colour convention as used in Matlab for the
code –e.g. green for comments).
Further reading/resources:
http://ocw.mit.edu/courses/mathematics/18-03sc-differential-equations-fall-2011/unit-ii-second-order-
constant-coefficient-linear-equations/damped-harmonic-oscillators/MIT18_03SCF11_s13_2text.pdf
http://ocw.mit.edu/courses/mechanical-engineering/2-003j-dynamics-and-control-i-fall-2007/matlab-
sessions/
http://tutorial.math.lamar.edu/Classes/DE/Vibrations.aspx
http://12000.org/my_notes/matlab_ODE/
https://math.libretexts.org/Bookshelves/Calculus/Book%3A_Calculus_(OpenStax)/17%3A_Second-
Order_Differential_Equations/17.3%3A_Applications_of_Second-Order_Differential_Equations