Finite Element Analysis of Plate and Shell Structures in Python

Finite Element Analysis of Plate and Shell Structures in Python

An analysis pipeline for thick and thin plate and shell structures, a roadmap from theory to toolbox

31 lessons

Get notified when we launch 🚀

After completing this course...
You will understand how the Reissner-Mindlin formulation enables us to accurately capture both thin and thick plate and shell behaviour, and the key advantages it offers over Kirchhoff plate theory.
You will understand how to turn your understanding of the fundamental mechanics of plate behaviour into a custom finite element solver written in Python.
You will have developed versatile and powerful meshing workflows that utilise Blender and the powerful open-source meshing engine, Gmesh, to create meshes to feed into your solver.
In addition to using your own custom finite element code, you will be comfortable validating your results using OpenSeesPy and Pynite, two of the most widely used open-source finite element analysis libraries
COURSE OVERVIEW

Analytical techniques are great for modelling the simplified behaviour of plate and shell structures, but we quickly run into their limitations when we stray beyond the limiting geometry or assumptions that the models are built upon.

Hyperboloid shell analysis.

Analytical modelling of a hyperboloid shell using thin plate membrane theory.

This is where finite element modelling comes into its own. In this course, we’ll cover the finite element modelling of plate and shell structures by building our own solver based on the incredibly versatile Reissner-Mindlin theory. This approach will allow us to model both thick and thin plate and shell elements, resulting in an extremely versatile and accurate analysis pipeline.

Finite element analysis of a hyperboloid capturing both membrane and bending behaviour and not limited by thin plate theory assumptions. | EngineeringSkills.com

Finite element analysis of a hyperboloid capturing both membrane and bending behaviour and not limited by thin plate theory assumptions.

Building your own solver will give you a much deeper understanding of the underlying theory. That said, we’ll also cover how to implement the same solutions using OpenSeesPy and Pynite - two free and open-source Python libraries.

To complete our modelling and analysis toolset, we’ll also cover mesh generation using vertex modelling in Blender and a more procedural and powerful workflow that uses GMSH, another incredibly powerful open-source meshing library.

Once you’ve completed this course, you’ll have a complete workflow for the analysis of plate and shell structures, backed by a fundamental understanding of the Reissner-Mindlin theory that powers it all!

🚧 This course is currently under construction

EngineeringSkills members will get access to each course section as it's finished and released. Non-members will be able to enroll on completion of the full course. Sign up above to get notified when it goes live for all users.

In the meantime, consider enrolling in Finite Element Analysis of Continuum Structures in Python. Much of what we do in this plates and shells course will be a development on material we've already covered in Finite Element Analysis of Continuum Structures in Python.

Who is this course for?

  • Engineers and student engineers that want to build a deeper understanding of the mechanics of plate and shell structures.
  • Engineers that want to leverage the power of Python and in particular open-source tools for complex structural analysis.
  • Anyone who has completed Finite Element Analysis of Continuum Structures in Python and wants to expand on what was covered in that course.
Section 1
Welcome and Setting the Scene
1. Welcome to the course - roadmap overview
Coming soon
2. Housekeeping - Python, pre-requisites and tips for success
Coming soon
3. Plate theories and why Reissner-Mindlin?
Coming soon
4. High-level primer - what are we trying to do?
Coming soon
Section 2
The Mechanics of Plate Elements
5. Section overview - The Mechanics of Plate Elements
Coming soon
6. The displacement and strain fields
Coming soon
7. Relating stress and strain - the constitutive matrix D
Coming soon
8. From stresses to stress resultants
Coming soon
9. The role of shape functions
Coming soon
10. The strain-displacement matrix, B
Coming soon
11. The Jacobian’s role in calculating B
Coming soon
12. Pause, recap and regroup
Coming soon
Section 3
Virtual Work and Calculating the Element Stiffness Matrix
13. Section overview - Virtual Work and Calculating the Element Stiffness Matrix
14. How Virtual Works leads to the element equations
Coming soon
15. A primer on numerical integration
Coming soon
16. Numerical integration applied to our element
Coming soon
17. Setting up our stiffness matrix calculation
Coming soon
18. Calculating an element stiffness matrix
Coming soon
19. Calculating the shear and bending stiffness
Coming soon
20. Calculating the equivalent nodal force vector
Coming soon
Section 4
Expanding to a full plate element solver
21. Section overview - Expanding to a full plate element solver
Coming soon
22. Procedurally generating a rectangular mesh
Coming soon
23. Defining plate constraints
Coming soon
24. Defining the self-weight force vector
Coming soon
25. Building the structure stiffness matrix
Coming soon
26. Solving the system and extracting reaction forces
Coming soon
27. Plotting the plate displacements
Coming soon
28. Extracting the bending moments
Coming soon
29. Visualising the plate bending moments
Coming soon
30. Extracting shear forces
Coming soon
31. Visualising the plate shear forces
Coming soon
Section 5
Benchmarking against OpenSeesPy and Pynite
Section 6
Meshing with GMSH and Python
Section 7
Expanding the Mechanics for Flat Shell Elements
Section 8
Building a Shell Element Solver
Section 9
Generating shell mesh data
Section 10
Benchmark case-studies
Section 11
Comparison with OpenSeesPy
Ready to get started?

Get notified when we launch 🚀

getting-started
Dr Seán Carroll
BEng (Hons), MSc, PhD, CEng MIEI, FHEA
Hi, I’m Seán, the founder of EngineeringSkills.com (formerly DegreeTutors.com). I hope you found this tutorial helpful. After spending 10 years as a university lecturer in structural engineering, I started this site to help more people understand engineering and get as much enjoyment from studying it as I do. Feel free to get in touch, follow me on LinkedIn and subscribe to me on Youtube.

Do you have some knowledge or expertise you'd like to share with the EngineeringSkills community?
Check out our guest writer programme - we pay for every article we publish.
You Might Also be Interested In...
Finite Element Analysis of Continuum Structures in Python
Finite Element Analysis of Continuum Structures in Python
Use the Isoparametric Finite Element Method to build an analysis tool for 2D structures in Python.

Frequently asked questions