Computational Tools for Finite Elements

**http://people.sc.fsu.edu/~jburkardt/classes/fem_2014/fem_2014.html**

**FEM_2014** is the home page for the class ISC5935,
"Selected Topics: Computational Tools for Finite Elements",
a class offered by the Department of Scientific Computing
at Florida State University, Fall Session 2014.

This is intended to be a small class. Students taking this class are expected to be able to study independently. The pace, material, and assignments for this course will be adjusted to the needs and interests of the individual students, but a significant amount of work will be expected.

Students will need to be able to write fairly complicated programs; computational algorithms will be discussed in class but the student will be required to implement them and to demonstrate their correctness.

The basic mathematical theory that underlies the finite element approach will be presented. This assumes that the student is familiar with integration by parts, normal derivatives, abstract vector spaces, approximation of one function by another, and the concept of convergence.

Students with no previous experience with finite elements should expect to write a finite element program to solve a simple one-dimensional boundary value problem, including a graphical display of the solution, and a table illustrating the behavior of the error as the approximation is improved. Upon satisfactory completion of this project, the student will choose further computational projects of interest.

A class on Finite Elements, Python, and FENICS was given by Mike Sussman at the University of Pittsburgh in the summer of 2014. You may refer to the slides for this class at ../sussman/math_3040.html

Class stuff:

- syllabus.pdf, the class syllabus
- schedule.html, the class schedule
- prelim_fem.pdf, the finite element questions from departmental preliminary exams.

Files:

- mesh2d_mod.tar.gz, a file, which you should GUNZIP and then "untar", containing the MATLAB files needed to run MESH2D.

Homework assignments:

- homework1.pdf, problem set #1 (not assigned).
- homework2.pdf, problem set #2.
- homework3.pdf, problem set #3.
- homework4.pdf, problem set #4.
- homework5.pdf, problem set #5.
- homework6.pdf, problem set #6.
- homework7.pdf, problem set #7.
- homework8.pdf, problem set #8.
- 02_potential_flow_airfoil.py, a Python code for potential flow around an airfoil.
- airfoil_exterior.xml, a mesh file for the potential flow around an airfoil.
- potential_flow01.py, a Python code for the potential flow problem.
- potential_flow_domain01.xml, a mesh file for the potential flow.
- homework9.pdf, problem set #9.
- homework10.pdf, problem set #10.

References:

- fem_book.pdf, Max Gunzburger, Janet Peterson, Finite Element Methods.
- fenics_farrell.pdf, Patrick Farrell, Implementing finite element models in Python/FEniCS.
- fenics_tutorial.pdf, Hans Petter Langtangen, A FEniCS Tutorial.
- gmsh.pdf, Christophe Geuzaine, Jean-Francois Remacle, Gmsh Reference Manual.
- mesh2d.txt, MESH2D help file.
- python_tutorial.pdf, Guido van Rossum, Fred Drake, A Python Tutorial.
- triangle.txt, Triangle help file.