Introduction to Finite Element Modelling in Geosciences
Spring Semester 2016
651-4144-00L
Lecturers: Dave A. May (dave.may@erdw.ethz.ch)
Marcel Frehner (marcel.frehner@erdw.ethz.ch)
Assistants: Patrick Sanan
Location: NO building, room D39
Sonneggstrasse 5
ETH Zentrum
Dates: July 25-29, 2016
Schedule: 9:15-13:00 (lunch) 14:00-17:00 ... and beyond for the enthusiastic
Objectives:
Learn how to program the finite element method and apply it to equations
relevant for modelling geodynamic processes. The course is given in the
form of a series of MATLAB exercises, with an introduction of the relevant
theory. The emphasis is on practical exercises, with students obtaining
knowledge of how to write their own finite element codes.
Assessment:
The best way to ensure a mark of 6.0 is to write a 2D Stokes solver and
use it to solve a geological problem - refer to PDF below for a more
detailed break-down of the requirements.
** Requirements for assessment (2016) **
Course notes:
All theory, examples and exercises are contained in this document (PDF)
Prerequisites:
Basic knowledge of MATLAB, linear algebra and partial differential equations.
If you are new to MATLAB, or wish to revise the basic matrix/vector operations,
please refer to Appendix A within the notes above.
Program:
0: Motivation (presentation)
1: Basic FE principles
Matlab example: Solves steady state 1D diffusion ("1D FEM Matlab script")
Additional notes about integration by parts - see Appendix B
Additional notes about weak forms - see Chapter 6
Supplementary presentation - "Basics of the FE Method", B. Kaus, 2011
2: Programming the FEM in 1D
3: Numerical integration and isoparametric elements
Supplementary presentation - "Numerical Integration", B. Kaus, 2011
Supplementary presentation - "Isoparametric Elements", B. Kaus, 2011
Additional notes - tabulated quadrature rules (Kwon & Bang)
4: Concept summary (presentation)
5: From 1D to 2D: The diffusion equation
Additional notes - quadratic shape functions
Matlab example: Visualization routines for 2D structured meshes (source)
6: Code verification
Matlab example: Solves 1D diffusion equation with manufactured RHS (source)
Matlab example: Computes the order of accuracy from L2 error measures (source)
Python example: Symbolically compute (manufacture) the RHS for the 1D difussion problem via MMS (source)
7: 2D Elasticity
8: 2D Stokes flow
Resources:
Numerical modelling of rock deformation (Stefan Schmalholz, 2009)
FEM-BEM notes
The Finite Element Method, Hughes (2000)
The Finite Element Method, vol. 1, Zienkiewicz and Taylor (2000)
Finite Elements and Fast Iterative Solvers, Elman, Silvester & Wathan (2005)