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
71. Implementing patch loading in our custom FE solver
Eliminating zero-energy displacements
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Implementing patch loading by defining loads as dictionaries containing boundary points and magnitudes
  • Identifying nodes within a polygonal patch using a Boolean mask
  • Determining which finite elements receive loading based on included nodes
  • Applying equivalent nodal forces for patch loads and assembling them into the global force vector
  • Visualising intended versus actual loaded regions and diagnosing implementation errors

In this lecture, we walk through how to implement patch loading within a finite element slab model. We define patch loads as polygonal regions with associated magnitudes, then identify all mesh nodes that fall within each region using a masking approach. From there, we determine which elements should receive loading by checking whether they contain any of these nodes, and we apply equivalent nodal forces to those elements. This approach deliberately simplifies the problem by assigning the load to entire elements, even if they only partially intersect the patch.

We also explore how to visualise both the intended patch regions and the elements that actually receive the load, which highlights the effect of mesh resolution on accuracy. We conclude by reflecting on alternative, more precise strategies, such as refining the mesh to better align with patch boundaries.

Next up

In the final lecture, we will recap what has been achieved throughout the course and look ahead to the natural next step: extending from plate elements to shell elements.

Tags

patch loadingBoolean maskingnodal force assemblyload visualisation

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
72. Wrapping up and what next?