101-0158-01L  Method of Finite Elements I

SemesterSpring Semester 2021
LecturersE. Chatzi, P. Steffen
Periodicityyearly recurring course
Language of instructionEnglish


AbstractThe course introduces students to the fundamental concepts of the Method of Finite Elements, including element formulations, numerical solution procedures and modelling details. We aim to equip students with the ability to code algorithms (based on Python) for the solution of practical problems of structural analysis.
DISCLAIMER: the course is not an introduction to commercial software.
ObjectiveThe Direct Stiffness Method is revisited and the basic principles of Matrix Structural Analysis are overviewed.
The basic theoretical concepts of the Method of Finite Elements are imparted and perspectives for problem solving procedures are provided.
Linear finite element models for truss and continuum elements are introduced and their application for structural elements is demonstrated.
The Method of Finite Elements is implemented on practical problems through accompanying demonstrations and assignments.
Content1) Introductory Concepts
Matrices and linear algebra - short review.

2) The Direct Stiffness Method
Demos and exercises in MATLAB or Python

3) Formulation of the Method of Finite Elements.
- The Principle of Virtual Work
- Isoparametric formulations
- 1D Elements (truss, beam)
- 2D Elements (plane stress/strain)
Demos and exercises in MATLAB or Python

4) Practical application of the Method of Finite Elements.
- Practical Considerations
- Results Interpretation
- Exercises, where structural case studies are modelled and analyzed
Lecture notesThe lecture notes are in the form of slides, available online from the course webpage:
https://chatzi.ibk.ethz.ch/education/method-of-finite-elements-i.html
LiteratureStructural Analysis with the Finite Element Method: Linear Statics, Vol. 1 & Vol. 2 by Eugenio Onate (available online via the ETH Library)

Supplemental Reading
Bathe, K.J., Finite Element Procedures, Prentice Hall, 1996.
Prerequisites / NoticePrior basic knowledge of Python is necessary.