Thesis Beam Analysis Tool

Perform fancy concrete section analysis in seconds with this tool made for engineers, by engineers! This was a program built in Python as part of my undergraduate thesis in Civil Engineering.

Contents

Key Points

  • A Python application used to quickly and accurately predict the performance of prestressed concrete beams after strengthening with special materials.
  • Allows users to design a virtual beam and input various (even custom) material properties for analysis.
  • The program was found to accurately predict the performance and failure modes of beams based on experimental results.

Background

This tool is used to accurately predict the performance of real bridges after they have been strengthened with special materials. It was developed for my thesis at the University of Queensland which was part of a larger study to improve the strength of ageing bridges cheaply and non-destructively.

Flexural Strengthening Of Prestressed Concrete Deck Units Using Externally Bonded Fibre Reinforced Polymer Laminates

  • Jees, what a mouthful!

Note that work was shared equally between me and my thesis partner.

Continue article: Read about the thesis and its applications

Features

The program is designed for Civil Engineers who wish to analyse a beam cross section design. A user simply inputs details about the design, and the program outputs various tables and graphs as part of the analysis.

The program can accurately predict the performance of real beams under load. This was verified through multiple experiments as part of the thesis. Furthermore, the analysis is completed in mere seconds. More advanced techniques such as FEM can take literal days to complete. This combination of speed and accuracy is why the tool was so innovative at the time.

`Python` isn't known for its pretty UIs. It has `Numpy` though so all is forgiven.

Key features:

  • A user inputs a beam design - i.e. size and position of concrete, steel bars, FRP laminates, etc.
  • A user inputs material properties - i.e. the strength of concrete, steel, FRP etc.
  • For more accurate results, a user can enter real stress/strain curves of the materials via CSV files. This is very useful in real world applications as material properties in ageing bridges can differ significantly from their original design specifications.
  • The program outputs many results such as the ultimate capacity of the beam, how much it will bend, failure modes, moment curvature plots etc.
  • Results can be exported into CSV files, and various image formats for plots.

The Tech

This tool is a desktop application built in Python and uses the CSV file format for import/export of data.

Python

  • Used for ease of development and fantastic data analysis related libraries.
  • Numpy was used for n-dimensional array support, graph interpolation, and numerical integration. It also performs well on large datasets like custom stress/strain profiles.
  • Pandas was used for data import/export and cleaning of input data.
  • Matplotlib was used for plotting functionality and plot exporting.
  • SciPy was used for its non-linear solver functions.
  • Tkinter was used for the UI. Not the prettiest library, but perfectly functional.

Continue article: Read about the theory and algorithm here