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
46. Qualitative comparison across models
Benchmarking against OpenSeesPy and Pynite
Please log in or enroll to access resources

Summary

In this lecture, we'll cover the following:

  • Comparing results from three models: custom code, OpenSeesPy, and PyNite.
  • Assessing agreement in maximum displacement and deflection patterns.
  • Evaluating support reactions, particularly discrepancies at slab corners.
  • Comparing bending moments, torsional moments, and transverse shear forces.
  • Identifying sources of discrepancies due to different finite element implementations.
  • Diagnosing issues in the custom model and outlining the need for correction.

In this lecture, we walk through a comparative review of results obtained from three different finite element solutions: our custom implementation, OpenSeesPy, and PyNite. We examine key outputs including maximum displacement, reaction forces, bending and torsional moments, and transverse shear. We observe that the two benchmark models (OpenSeesPy and PyNite) show excellent agreement in both magnitude and qualitative behaviour for most results, with only minor discrepancies - primarily in transverse shear and corner reactions, attributed to differences in element formulations.

We then compare these benchmark results with those from our custom code. While the qualitative patterns (such as displacement shapes and moment distributions) are consistent, indicating that the model is structurally sound, there are notable discrepancies in magnitudes. In particular, the custom model appears too stiff, underpredicting displacements and internal forces. We conclude that the issue is correctable and will be addressed over the next few lectures to bring the results into closer alignment with the benchmark solutions.

Next up

In the next lecture, we will deepen this comparison with a systematic parameter sweep across slab thicknesses, revealing where and why the models diverge.

Tags

finite element comparisonOpenSeesPyPyNiteplate element behaviourmodel validation

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
47. Max-displacement parameter sweep across models