- understand how we can use the bending moment diagram to calculate the deflection of a structure
- be able to formulate and implement a numerical integration using Python
- be comfortable building data visualisations using the plotting library Plotly
- be able to apply what you learn to automate other routine engineering calculations

In this project, we’ll build a beam deflection calculator that can generate beam deflections by directly integrating the bending moment diagram. By calculating the deflection in this way, you'll complete this project with two key things:

- an understanding of how to implement numerical integration in Python - a very handy skill to have in your engineering toolkit.
- an excellent understanding of how the bending moment diagram is related to beam deflection - this is fundamental to understanding flexural behaviour!

Since our approach will require a complete bending moment diagram, we’ll add this code onto the end of our Shear Force and Bending Moment Diagram Calculator.

So at the end of this project, the final result will be a complete beam analysis code that calculates beam reactions, shear forces, bending moments and deflections.

We'll also complete a validation exercise at the end of the project using Macauley’s method (discussed in more detail here) - this will be a great review of this classic engineering analysis technique.

In our previous beam analysis project, we were limited to analysing statically determinate beams since we relied on the equations of statics. *The technique we’ll use for calculating deflection in this project is not limited to statically determinate structures*, although you will need a complete bending moment diagram to integrate.

If you’re new to Python, don’t worry – you don’t need to be a Python programmer to complete this project! Complete beginners can work through this project and pick up the programming basics along the way.

If you need help getting your coding environment setup, check out this lecture (part of another course but covers what you need to get up and running). So, with all of that out of the way, let’s get into it.