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
16. Numerical integration applied to our element
Virtual Work and Calculating the Element Stiffness Matrix
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Transforming the element stiffness matrix integral from physical to natural coordinates using the Jacobian matrix.
  • Applying Gauss quadrature to evaluate the double integral.
  • Understanding sampling points and weighting in two-dimensional integration.
  • Extending the same numerical integration approach to compute equivalent nodal force vectors.

In this lecture, we focus on how to adapt the element stiffness matrix formulation so it can be evaluated efficiently in natural coordinates. We begin by recognising that while the strain–displacement matrix depends on the natural coordinates (r,s)(r, s), the area element dA\mathrm{d}A is defined in physical space. To resolve this mismatch, we derive an expression for dA\mathrm{d}A in terms of (r,s)(r, s) using the determinant of the Jacobian matrix. This allows us to rewrite the entire stiffness matrix integral consistently in the natural coordinate system.

We then apply Gauss quadrature to approximate the resulting double integral. By sampling the integrand at specific points in the (r,s)(r, s) domain and applying appropriate weights, we convert the integration into a double summation. For a two-point Gauss scheme in each direction, this leads to four sampling points across the element. We evaluate the strain–displacement matrix, constitutive matrix, and Jacobian determinant at each of these points and sum their contributions. The same procedure is also extended to compute equivalent nodal force vectors for distributed loads.

Overall, we see that what initially appears to be a complex integral becomes a structured and computationally manageable process through coordinate transformation and numerical integration. This sets the stage for implementing these ideas numerically and explicitly constructing the element stiffness matrix.

Next up

With the integration framework in place, in the next lecture we begin the hands-on implementation by setting up our Python environment and defining the inputs for a stiffness matrix calculation.

Tags

Jacobian transformationGauss quadratureelement stiffness matrixnatural coordinatesfinite element integration

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
17. Setting up our stiffness matrix calculation