Summary
In this lecture, we'll cover the following:
- Consolidating previously developed meshing functions into a reusable
mesh utilsPython file. - Adapting the element reordering function for internal use within the
mesh utilsfile. - Updating the mesh generation function to include optional arguments (node reordering and log suppression)
- Preparing the workflow for integration with a finite element analysis pipeline
In this lecture, we focus on refactoring and organising the functionality developed so far into a dedicated utility module. We take previously written functions, such as element reordering, mesh generation, and visualisation, and migrate them into a single script, making them easier to reuse across different notebooks. As part of this process, we adapt certain functions for internal use, streamline their interfaces, and introduce optional arguments to improve flexibility, such as automatic node reordering and suppression of gmsh log output.
We then demonstrate how this modular approach simplifies the workflow by reducing the amount of code needed in a notebook to just a couple of function calls. By encapsulating complexity within the utility file, we make mesh generation and visualisation more efficient and maintainable.
Next up
With the meshing utilities in place, the next section focuses on running finite element analyses using these custom-generated meshes.
Tags
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.