ACCESS THE COMPLETE LIBRARY OF COURSES & TUTORIALS 
Section 4
Expanding to a full plate element solver
21. Section overview - Expanding to a full plate element solver
01:28 (Preview)
22. Procedurally generating a rectangular mesh
24:30
23. Defining plate constraints
11:08
24. Defining the self-weight force vector
10:35
25. Building the structure stiffness matrix
10:05
26. Solving the system and extracting reaction forces
28:13
27. Plotting the plate displacements
18:10
28. Building an evaluation grid for stress resultants
10:31
29. Calculating the moments and shears
22:00
30. Visualising the plate bending moments
14:13
31. Extracting shear forces
29:04
32. Visualising the plate shear forces
12:21
33. Adding strip and edge masking to the shear plot
26:04
34. Adding magnitude clipping to the shear plot
10:40
35. Building an interpolation utility function
09:53
41. Visualising OpenSeesPy shears
Benchmarking against OpenSeesPy and Pynite
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • How to visualise transverse shear (qx(q_x and qy)q_y) across a slab using triangulated contour plots.
  • How to implement masking with NumPy masked arrays to isolate a central strip of the slab.
  • How to construct and control a configurable “middle strip” using geometric bounds and strip fractions.
  • How to post-process results, including extracting maximum shear values from masked data.
  • How this workflow compares to previous bending moment visualisation and sets up further comparisons with other libraries.

In this lecture, we extend our visualisation workflow from bending moments to transverse shear in a slab, following largely the same logic but introducing masked arrays to control which regions of the slab are displayed. We define a flexible plotting function that allows us to switch between qxq_x and qyq_y shear components, and we build a triangulated contour plot based on global coordinates. A key addition is the use of NumPy masked arrays, which enables us to selectively exclude data outside a specified middle strip while still working effectively with triangulated data.

We then develop the logic for constructing this middle strip by identifying slab bounds, calculating midpoints, and defining a strip width based on a clipped fraction of the slab dimensions. Depending on whether we are examining qxq_x or qyq_y, we generate a mask that retains only the relevant region. Finally, we compute maximum shear values from the masked dataset and incorporate them into the plot, confirming that the results are qualitatively consistent with our earlier custom implementation. The lecture concludes by positioning this work within a broader comparison between OpenSeesPy, our custom code, and upcoming analysis using the PyNite library.

Next up

In the next lecture, we will build a second benchmark model using the PyNite library, providing an additional point of comparison for our results.

Tags

transverse shear visualisationNumPy masked arraystriangulated contour plotsslab analysisOpenSeesPy post-processing

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.
Next Lesson
42. Building an equivalent Pynite model