FINITE ELEMENT ANALYSIS OF SHELLS - NEW LECTURES 
Updated 14 January 2026
Reading time: 25 mins

Calculating response factors for floor vibration and assessing performance

Part 2: Implementing low and high-frequency floor vibration analyses in Python
[object Object]
by Dr Seán Carroll
Download the complete Jupyter Notebook file for this tutorial.

Download the complete Jupyter Notebook file for this tutorial.

Welcome to part 2 in this occupant-induced floor vibration series. If you haven’t read part 1, do that now - it covers all of the background to the calculations we’ll be implementing in this tutorial.

Here, in part 2, our aim is to implement both the low and high-frequency analysis procedures we discussed previously. My guess is that, even after reading through part 1, you still have some questions about how the analysis workflows are implemented. We want to address these questions so that you walk away from this tutorial able do directly apply these methods to your own structures.

Make sure to download the complete Python code that goes with this tutorial (linked above). I’ve prepared a Jupyter Notebook that captures everything we’re going to cover and runs from start to finish with one click. It should be a really handy reference to look at in parallel to reading this tutorial.

We’ll cover two design examples:

  • a low-frequency footbridge analysis
  • and a high-frequency floorplate analysis.

The type of structure (linear footbridge versus 2D planar floorplate) only influences the determination of modal characteristics. You can apply either of the analyses demonstrated below to any ‘walking structure’ you like - once you can determine the modal properties.

Ok, with all that said, let’s dive in!

Engineering Essentials Membership

Engineering tutorials,
written by an engineer — not a model.

Read the rest, download the resources and unlock the full archive. This is independent, human-crafted engineering content. An Essentials Membership gets you access to all member-only tutorials and helps keep the lights on for a learning platform built by engineers, for engineers.

  • The complete archiveAll member-only tutorials in the archive with new expertly researched deep dives added regularly.
  • Full, runnable Python sourceThe complete source for every project, not trimmed snippets. Run it, break it, learn from it.
  • Video walkthroughsWatch video walkthroughs, with the reasoning behind how and why each step was implemented.
  • Made by an engineer, not a modelEvery line is written, tested and debugged by a human. Your membership is what keeps it that way.
Support the work

Essentials Membership

  • Instant access to the full archive
  • 28-day refund, no questions
  • Cancel anytime
  • Your card and subscription are handled by Stripe

Already a member? Log in

Want all video courses too?
Upgrade to All Access Membership for the complete library of in-depth video courses on top of everything in Essentials.Explore All Access Membership

Featured Tutorials and Guides

If you found this tutorial helpful, you might enjoy some of these other tutorials.