Summary
In this lecture, we will cover the following:
- How to decide which functions belong in the analysis notebook and which belong in the utils file,
- How to migrate plotting, geometry and force vector functions across to the utils file without breaking anything,
- How to update function signatures and the corresponding call sites so that everything still works after refactoring.
The final lecture of the section is a housekeeping pass. Our analysis notebook has grown quite large, and a lot of the functions we have written are generic enough that they can live in our shared utils file instead. We work through the notebook from top to bottom, deciding what to keep local and what to move out.
While refactoring, we tidy up the headings in the notebook, remove older superseded versions of plotting code, and consolidate everything into a single, clean plotting section that calls our refactored utility functions.
After saving the utils file, restarting the kernel and re-running the notebook, everything still works and we get exactly the same polished plot as at the end of the previous lecture, but from a much leaner notebook. With this, we reach a major milestone: a complete, custom Reissner-Mindlin shell solver with clean, reusable utility code and a friendly visualisation layer.
Next up
In the next section, we will rebuild the same structure using OpenSeesPy and compare the results against our custom solver. This will serve as a useful validation step and will surface some interesting behaviours that we will need to dig into over the following sections.
Tags
Please log in or enroll to continue
If you've already enrolled, please log in to continue.
Finite Element Analysis of Plate and Shell Structures: Part 2 - Shells
Expanding from plate to shell elements - build a workflow that unlocks the behaviour of 3D shell structures
After completing this course...
- You will understand how we make the leap from Reissner-Mindlin plate elements to shell elements and what extra modelling fidelity that provides.
- You will be comfortable using a combination of GMSH and the open-source 3D modelling software, Blender, to generate custom finite element meshes.
- You will be able to use OpenSeesPy to model shell structures, as an alternative to your own custom finite element solver.
- You will have a much greater understanding of what commercial finite element packages are doing, behind the UI, allowing you to authoritatively interrogate their results.
