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
22. Procedurally generating a rectangular mesh
Expanding to a full plate element solver
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Defining plate geometry, material properties, and mesh parameters
  • Generating a structured rectangular mesh using NumPy
  • Constructing nodal coordinates and organising them into a node array
  • Developing element connectivity with consistent node ordering
  • Visualising nodes and elements, including numbering and layout checks

In this lecture, we focus on building the foundation of a finite element plate solver by working with a simple rectangular plate and a regular mesh. We begin by defining the plate geometry, material properties, and mesh spacing, then use NumPy tools such as linspace and meshgrid to efficiently generate a structured grid of nodal coordinates. From this grid, we construct a node array that systematically stores the coordinates of every point in the mesh.

We then move on to establishing element connectivity, which is where the mesh becomes a true finite element model. By looping through the grid, we identify groups of four nodes that form each plate element, ensuring that their ordering is consistent with the formulation (counterclockwise starting from the top right). We also implement and verify indexing logic to reliably determine neighbouring nodes. Finally, we visualise the mesh, plotting both nodes and elements with clear numbering, which helps confirm correctness and provides a solid platform for further development.

Next up

With the mesh in place, the next lecture focuses on defining boundary conditions by identifying and constraining the appropriate degrees of freedom.

Tags

rectangular mesh generationelement connectivityfinite element implementationNumPy meshgridplate elements

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
23. Defining plate constraints