FINITE ELEMENT ANALYSIS OF SHELLS - EARLY ACCESS 
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
32. Visualising the plate shear forces
Expanding to a full plate element solver
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Generating a new mesh grid from a reduced set of unique x and y coordinates using NumPy.
  • Reshaping shear force data from a 1D array into a 2D grid aligned with the mesh.
  • Implementing a plotting function with widget controls for shear direction and mesh display.
  • Correcting data ordering using lexicographic sorting to ensure proper mapping onto the grid.
  • Comparing improved shear plots against initial naive visualisations and identifying remaining issues.

In this lecture, we focus on visualising shear forces using a reduced grid of data points. We begin by reconstructing the mesh grid from unique x and y coordinates, ensuring that duplicate points are removed and the grid is properly defined. We then develop a plotting function that allows us to select between different shear components and optionally display the mesh, while reshaping the shear data to align with the grid structure.

A key concept we address is the correct ordering of shear values before reshaping. We use lexicographic sorting to organise the data by y and then x coordinates so that it maps correctly onto the mesh grid. This resolves earlier visual issues such as banding caused by misaligned data. Finally, we compare the improved plots with earlier naive versions, observing more realistic shear distributions while noting that some edge discontinuities remain, which will be refined in the next lecture.

Next up

In the next lecture, we will refine these shear plots further by adding strip and edge masking to isolate the most meaningful regions of the slab.

Tags

meshgrid generationshear force visualisationnumpy lexsortdata reshapingheatmap plotting

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
33. Adding strip and edge masking to the shear plot