Summary
In this lecture, we'll cover the following:
- Implementing the assumed transverse shear formulation in the element stiffness function.
- Simplifying the numerical integration to a Gauss quadrature scheme.
- Precomputing mid-side sampling quantities: the shear strain–displacement matrix and Jacobian-based matrix.
- Constructing the substitute strain–displacement matrix using precomputed components.
- Verifying the implementation against our OpenSeesPy reference model.
In this lecture, we implement the assumed transverse shear approach to eliminate shear locking and correct the previously observed spurious displacements. We modify the element stiffness function by introducing a new version that uses a simplified Gauss quadrature and removes the need to specify separate sampling schemes for bending and shear. The key development is the precomputation of matrices at mid-side sampling points, where we assemble a stacked shear strain–displacement matrix and a block-diagonal matrix of Jacobians, both of which are reused during integration.
We then construct the substitute strain–displacement matrix within the Gauss integration loop using a compact formulation that combines the inverse Jacobian, a derived transformation matrix, and the precomputed quantities. This updated matrix replaces the original shear formulation in the stiffness calculation. We confirm that the results closely match those from an OpenSeesPy model, demonstrating that the assumes transverse shear formulation successfully resolves shear locking and produces accurate displacements. The lecture concludes with the code reaching a stable, validated state, ready for further extensions.
Next up
With the core element formulation now corrected and validated, the next lecture extends the solver by implementing point loads.
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 1 - Plates
An analysis pipeline for thick and thin plate structures, a roadmap from theory to toolbox
After completing this course...
- You will understand how Reissner-Mindlin theory enables us to accurately capture both thin and thick plate behaviour.
- You will understand how to turn the fundamental mechanics of plate behaviour into a custom finite element solver written in Python.
- You will have developed meshing workflows that utilise the powerful open-source meshing engine, GMSH.
- In addition to using your own custom finite element code, you will be comfortable validating your results using OpenSeesPy and Pynite.