Courseware on Finite Element Methods
Curriculum Module
Created with R2022b. Compatible with R2022b and later releases.
Description
This courseware on Finite Element Methods addresses standard and advanced Finite Element formulations for shear-deformable lightweight structures of the Timoshenko beam and Reissner-Mindlin plate types.
Moreover, the interactive courseware uses extensively the MATLAB® Live Editor and the Symbolic Math Toolbox™ for the development and the presentation.
Additionally, a comprehensive (but not exhaustive) set of MATLAB Grader assignments for this material exist. These assignments touch upon the topics mentioned in each of the chapters in the courseware syllabus. Please reach out to Andreas Apostolatos (aapostol@mathworks.com) to request access to the underlying MATLAB Grader assignments.
Please refer to the recording Introduction-to-the-Courseware-on-Finite-Element-Methods.mp4
under folder Introduction/
for a short introduction on how to use the courseware along with its main highlights
Owner/s
Andreas Apostolatos, PhD (aapostol@mathworks.com)
Contents
The repository contains the following Live Scripts and folders:
-
CoursewareonFiniteElementMethods.prj
This is the MATLAB project file which sets up all necessary dependencies -
main.mlx
This is the main document that can be used to navigate to the rest of the Live Scripts in the repository -
main_unitTests.mlx
This is the Live Script that executes the unit tests -
1_BasisFunctions/
This folder contains the Live Script addressing the construction of the Finite Element basis functionsmain_Chapter1_BasisFunctions.mlx
(This animation can be generated using script main_Chapter3_AShearDeformablePlateElement.mlx
in Chapter 3)
-
2_TimoshenkoBeam/
This folder contains the Live Script addressing the variational formulation and Finite Element approximation of the Timoshenko beam problemmain_Chapter2_ALinearStraightTimoshenkoBeamElement.mlx
-
3_ReissnerMindlinPlate/
This folder contains the Live Scripts addressing the variational formulation and Finite Element approximation of the Reissner-Mindlin plate problemmain_Chapter3_AShearDeformablePlateElement.mlx
-
4_TransverseShearLocking/
This folder contains the Live Scripts highlighting and addressing the transverse-shear locking:main_Chapter4_TransverseShearLocking_TimoshenkoBeam.mlx
main_Chapter4_Locking_ReissnerMindlinCantileverPlate.mlx
main_Chapter4_Locking_ReissnerMindlinSquarePlate.mlx
-
5_WeakDirichletBoundaryConditions/
This folder contains the Live Script addressing the weak application of Dirichlet boundary conditions for the Timoshenko beam problemmain_Chapter5_WeakBoundaryConditions_TimoshenkoBeam.mlx
-
6_HellingerReissnerFormulation/
This folder contains the Live Scripts addressing the variational formulation of the Timoshenko beam problem by means of the Hellinger-Reissner principlemain_Chapter6_HellingerReissnerFormulation_TimoshenkoBeam.mlx
main_Chapter6_HellingerReissnerFormulation_TimoshenkoBeam_Study.mlx
-
AppexA_EfficiencyConsiderations/
This folder contains the Live Scripts demonstrating the runtime performance speedup by using page-wise computation of the element stiffness matrices and sparse assemblymain_AppexA_EfficiencyCondiderationsReissnerMindlinPlate.mlx
main_AppexA_EfficiencyCondiderationsTimoshenkoBeam.mlx
-
TimoshenkoBeam/
This folder contains all functions needed for the Finite Element discretization of the Timoshenko beam problem -
EulerBernoulliBeam/
This folder contains all functions needed for the Finite Element discretization of the Bernoulli beam problem -
ReissnerMindlinPlate/
This folder contains all functions needed for the Finite Element discretization of the Reissner-Mindlin plate problem -
utilityFunctions/
This folder contains all auxiliary functions, such the computation of the basis functions, functions related to visualization and functions for the numerical integration among others -
unitTest/
This folder contains all classes and functions needed for the unit testing performed by means of the Live Scriptmain_unitTests.mlx
Concepts
Finite Element Methods, lightweight structures, Timoshenko beam, Reissner-Mindlin plate, transverse-shear locking, high-order basis functions, assumed natural strain, Hellinger-Reissner principle, slenderness study, convergence study, analytical solutions, Live Functions, Local Functions, Symbolic Math Toolbox™, plotting, unit-testing, MATLAB Projects, Git-integration
Suggested Audience
All engineering disciplines, such as, civil engineers, mechanical engineers, etc.
Workflow
Firstly, open the project file CoursewareonFiniteElementMethods.prj to have all the folder dependencies resolved. Then, open Live Script main.mlx, go to Section Quick guide, select any of the desirable Live Scripts from the list, and hit Run!
Unit-testing framework
To run the unit tests for this courseware, just type the following commands in the Command Window of MATLAB
>> suite = matlab.unittest.TestSuite.fromProject("CoursewareonFiniteElementMethods.prj");
>> run(suite)
Alternatively, start the project and then run the file main_unitTests.mlx
Release last tested
R2022b
TODO
- Add the Finite Element discretization of the Euler-Bernoulli beam using the third order Hermitian basis functions
- Add structural dynamics
Revision History
Cite As
Andreas Apostolatos (2024). Courseware on Finite Element Methods (https://github.com/MathWorks-Teaching-Resources/Courseware-on-Finite-Element-Methods/releases/tag/1.1.3), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Engineering > Aerospace Engineering >
- Engineering > Civil and Environmental Engineering >
- Engineering > Mechanical Engineering >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
unitTest/@testBasisFunctions
unitTest/@testQuadrature
unitTest/@testReissnerMindlinPlate
unitTest/@testTimoshenkoBeam
utilityFunctions
1_BasisFunctions
2_TimoshenkoBeam
3_ReissnerMindlinPlate
4_TransverseShearLocking/4_TransverseShearLocking_ReissnerMindlinCantileverPlate
4_TransverseShearLocking/4_TransverseShearLocking_ReissnerMindlinSquarePlate
4_TransverseShearLocking/4_TransverseShearLocking_TimoshenkoBeam
5_WeakDirichletBoundaryConditions
6_HellingerReissnerFormulation
AppexA_EfficiencyConsiderations
ReissnerMindlinPlate
TimoshenkoBeam
unitTest/@testBasisFunctions
unitTest/@testQuadrature
unitTest/@testReissnerMindlinPlate
unitTest/@testTimoshenkoBeam
utilityFunctions
utilityFunctions/+utilityFunctionsCantileverPlate
utilityFunctions/+utilityFunctionsTwoSidedClampedPlate
utilityFunctions/+utilityFunctionsWeakDBCTimoshenkoBeam
Version | Published | Release Notes | |
---|---|---|---|
1.1.3.0 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Courseware-on-Finite-Element-Methods/releases/tag/1.1.3 |
||
1.1.2 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Courseware-on-Finite-Element-Methods/releases/tag/1.1.2 |