Fundamentals of Engineering Structural Dynamics with Python

Leverage fundamental structural dynamics to build your own flexible numerical solutions in Python

$79   $49
Play Video

What you'll learn

You’ll learn what separates a static analysis from a dynamic analysis and the key role of inertia
You’ll learn how to model the influence of harmonic loading and how to characterise the transient and steady-state responses
You’ll learn how to model dynamic behaviour using spring-mass-damper models and how to simulate free vibration behaviour
You’ll learn how to use Python to implement the Piecewise Exact Method to model any form of general dynamic loading


This course has two simple objectives:

  1. To help you build a solid understanding of the core concepts in structural dynamics
  2. To equip you with some practical tools you can deploy to analyse real world dynamic structural behaviour

Structural dynamics is a topic that often intimidates students and practising engineers. This can be a big problem because not having a good grounding in dynamics, means you can’t confidently simulate, understand and ultimately design for dynamic behaviour. From bridges, to skyscrapers, as engineers, we need to be confident modelling the impact of dynamic loads on our structures. If you’ve tended to shy away from dynamics or found it confusing and intimidating, this course is for you.

We’ll make use of Python throughout the course, but more so towards the second half. This is a hands on, learn by doing course – so there are no dry Python-only lectures, if you’re not familiar with Python – no problem, you’re going to learn what you need as we go…the same way most people learn to programme! This isn’t a ‘Learn Python’ course but you will learn the Python you need, along the way.

Section 1 – Statics versus Dynamics

In section one, we’ll get your coding environment set up. We’ll be using Jupyter Notebooks. These are a hugely popular development environment used throughout science and engineering. This will allow us to get up and running with Python quickly.

After some initial housekeeping we’ll start to discuss the idea of statics versus dynamics and just what makes for a dynamic problem. This will lead us into a brief discussion of inertia. After completing this section you’ll know what differentiates a dynamic problem from a static one and when a dynamic analysis is called for.

Section 2 – Free Vibration of Single Degree of Freedom Systems

In this section we’re going to lay a lot of the groundwork and tackle much of the core theory in structural dynamics. We start by exploring lumped mass analysis and introduce the spring mass damper model. You can think of the spring mass damper model as a fundamental tool used to simulate dynamic behaviour.

We’ll spend the rest of this section examining the characteristics of the spring mass damper model and it’s free vibration behaviour. We’ll cover core concepts along the way such as natural frequency, damping regimes and the logarithmic decrement. We’ll finish out the section with some numerical worked examples and take our first dive into using Jupyter Notebooks.

Section 3 – Harmonic Excitation

This section it about understanding what happens when we introduce an external dynamic force to the system. In particular we’re going to focus on harmonic excitation. We’ll discuss why harmonic excitation is such a key phenomenon to understand and its broader relevance in dynamic analysis.

We’ll develop our understanding of transient and steady-state behaviour. We’ll then go on to characterise the steady-state behaviour and introduce the ideas of dynamic magnification factor and resonance. We’ll finish out this section with a pretty in-depth worked example that will demonstrate exactly how to practically implement everything you’ve learned in the course so far. Again, we’ll be doing this using Jupyter notebooks so you’ll get more exposure to implementing what you’ve learned in Python.

Section 4 – General Dynamic Loading

At this point we’re going to really focus in on giving you some tools to actually perform practical real-world dynamic analyses. We’ll start of by motivating our study of general dynamic loading with a brief case study discussion of human-induced vibration on the Clifton Suspension Bridge in Bristol. This case study highlights the need to have a more versatile dynamic analysis technique in your toolbox

That technique is the Piecewise Exact numerical solution method. This is a hugely versatile numerical solution technique that will equip you with the ability to go beyond harmonic excitation and simulate the influence of any time varying force. We’ll develop the concept, then implement an algorithm in a Jupyter Notebook. The power and versatility of studying structural dynamics in a coding environment will be very apparent in this section. We’ll conclude this section by exploring some of the practical considerations when implementing this and any numerical solution technique.

Who this course is for

  • Undergraduate engineering students who want to get up to speed with structural dynamics
  • Students who’ve studied structural dynamics but got lost along the way
  • Working engineers who are a little rustier than they’d like to admit on dynamics
  • Engineers and students who want to see how they can leverage Python in their work
  • Engineers and students who want a practical technique to analyse realistic dynamic loads

The codes developed in this course are for educational purposes only and are not tested or certified for use beyond the educational scope of this course. Always employ your own engineering judgement first and foremost, regardless of what the computer says!

Course Completion Certificate

Certificate of Completion 9 |
  • Download your personalised Certificate of Completion once you’ve finished all course lectures.
  • Applying for jobs? Use your Certificate of Completion to show prospective employers what you’ve been doing to improve your capabilities.
  • Independently completing an online course is an achievement. Let people know about it by posting your Certificate of Completion on your Linkedin profile or workplace CPD portfolio.

Course preview

Lecture #1: Introduction and course overview

Lecture #5: Introducing inertia

Play Video
Play Video

Course content

Statics versus Dynamics

Fundamentals of Structural Dynamics | - 1
Introduction and course overview (Preview)
Fundamentals of Structural Dynamics | - 2
Our approach to Python (Preview)
Fundamentals of Structural Dynamics | - 3
Getting started with Jupyter Notebooks
Fundamentals of Structural Dynamics | - 4
Static versus dynamic analysis (Preview)
Fundamentals of Structural Dynamics | - 5
Introducing inertia (Preview)
Fundamentals of Structural Dynamics | - 6
Dynamic response and inertia

Free Vibration of Single Degree of Freedom Systems

Fundamentals of Structural Dynamics | - 7
Section overview
Fundamentals of Structural Dynamics | - 8
Lumped mass analysis
Fundamentals of Structural Dynamics | - 9
The spring-mass-damper model
Fundamentals of Structural Dynamics | - 10
The equation of motion
Fundamentals of Structural Dynamics | - 11
Undamped free vibration
Fundamentals of Structural Dynamics | - 12
Natural frequency
Fundamentals of Structural Dynamics | - 13
Damped free vibration
Fundamentals of Structural Dynamics | - 14
Critically damped and over-damped systems
Fundamentals of Structural Dynamics | - 15
Under-damped systems
Fundamentals of Structural Dynamics | - 16
Damped natural frequency
Fundamentals of Structural Dynamics | - 17
Logarithmic decrement
Fundamentals of Structural Dynamics | - 18
Worked Example #1
Fundamentals of Structural Dynamics | - 19
Worked Example #2

Harmonic Excitation

Fundamentals of Structural Dynamics | - 20
Section overview
Fundamentals of Structural Dynamics | - 21
Harmonic forcing
Fundamentals of Structural Dynamics | - 22
Solving the equation of motion
Fundamentals of Structural Dynamics | - 23
Characterising the steady-state response
Fundamentals of Structural Dynamics | - 24
The dynamic magnification factor & resonance
Fundamentals of Structural Dynamics | - 25A
Worked Example #3 – Part A
Fundamentals of Structural Dynamics | - 25B
Worked Example #3 – Part B
Fundamentals of Structural Dynamics | - 25C
Worked Example #3 – Part C

General Dynamic Loading

Fundamentals of Structural Dynamics | - 26
Section overview
Fundamentals of Structural Dynamics | - 27
General dynamic loading and feedback
Fundamentals of Structural Dynamics | - 28
The Piecewise Exact Method – concept
Fundamentals of Structural Dynamics | - 29
The Piecewise Exact Method – development
Fundamentals of Structural Dynamics | - 30
Implementing the Piecewise Exact Method
Fundamentals of Structural Dynamics | - 31
Force segmentation
Fundamentals of Structural Dynamics | - 32
Time discretisation
Fundamentals of Structural Dynamics | - 33
Course wrap up

All Access Members can access a full text version through ...

Our members-only resource hub.

Student Feedback

Y Leung


I studied mechanical engineering before and took vibration in four semesters. The lecturer does summarize vibration in a very systematic and interesting form. It is an excellent job.

December 2020

A Majeed


The basic topics are being explained with a practical application (like the water tank) which helps us to understand them better.

December 2020

M F Ahmed


Did not have a good level of understanding of dynamics and modeling, but this course helped me quite a bit. Amazingly presented !!!

January 2021

S M Sarvade


Excellent course for all the professionals to understand the fundamentals before using the sophisticated Structural Analysis tools. As always, Dr Sean is exceptional at clearing the doubts, well before even you have them.

July 2020

S Halim


I have learnt exactly what I wanted to learn.

July 2020


Try this next...

This course is the natural next step in the study of dynamics and introduces multi-degree of freedom systems and the all- powerful modal analysis method.

Frequently Asked Questions

You’re buying lifetime access. You’ll also get all the course updates and new lessons for FREE forever. Come back to this course for reference any time in the future.

Absolutely. Even if you watched the full course, if you’re not satisfied, contact me in the first 30 days and I will give you a full refund, no questions asked. It would be helpful if you could tell me how I can improve the course for other students.

This is a video course hosted by Podia that requires you to log in and stream the videos. The course may also include downloadable PDFs, and Jupyter Notebooks.
Yes! I’ve partnered with Podia and Stripe to handle billing and provide a secure payment facility. DegreeTutors (me) never directly handle or store your credit card information.