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
52. Visualising the custom mesh
Meshing with GMSH and Python
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Writing a function to visualise a 2D finite element mesh.
  • Extracting and organising mesh data (nodes, coordinates, elements, corners).
  • Plotting quadrilateral elements while filtering out points and lines.
  • Adding optional features: node display, element display, and labelling.
  • Handling mesh data issues (e.g. reshaping coordinate arrays).
  • Demonstrating the effect of mesh density and subdivision.

In this lecture, we build a custom function to visualise a 2D finite element mesh with flexible display options. We extract key data from the mesh structure, including node tags, coordinates, and element connectivity, and create a utility mapping between node tags and indices. We then focus on plotting only quadrilateral elements, ensuring they are displayed correctly by closing their geometry, and introduce optional features such as showing or hiding nodes, elements, and their respective labels.

We also address a practical issue with data formatting, correcting the structure of the nodal coordinate array to enable proper plotting. Beyond basic visualisation, we enhance the function by adding element-centred labels, boundary outlines, and node annotations with offsets for clarity. Finally, we explore how mesh density affects the visual output and preview upcoming extensions to the meshing process, including handling openings and enforcing specific node locations, as well as ensuring correct element node ordering for compatibility with the finite element solver.

Next up

In the next lecture, we will address an important practical issue: ensuring that element node ordering is consistent and compatible with our finite element solver.

Tags

mesh visualisationquadrilateral elementsnode labellingfinite element mesh

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
53. Correcting the element node order