Skip to main content

Legacy display Course

This is an archived course. The content might be broken.

Practical Lab Numerical Simulation winter semester 2016/17:

Programming Methods in Scientific Computing (P4E1)

Automated Solutions of Differential Equations by the Finite Element Method: the FEniCS Project

Dr. Einar Smith

The FEniCS Project is a a steadily growing collaborative project for the development of innovative concepts and tools for automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods. It provides a collection of free software with an extensive list of features, which can be embedded into the Python or C++ programming languages. In this Practical Training course we discuss the Foundations of the Finite Element Method and its implementation within the FEniCS-Software, with emphasis on applications in structural mechanics and fluid mechanics. The course is mainly aimed at master students. It can be seen as a compendium and extension of other courses on numerical solutions of differential equations, but also as a course in the use of advanced numerical programming methods.

In particular we shall be concerned with:

  • A short Introduction to differential equations and to the foundations of the Finite Element Method.
  • The neccessary Python-concepts needed for an applications of the FEniCS-software.
  • Applications ranging from simple examples of ordinary first order differential equations to real world problems for instance in Fluid mechanics.
  • Advanced topics concerning the internal FEniCS-architecture. We shall discuss the underlying C++ strucure and the techniques that permit a wrapping into the Python language. To this end it will be neccesay to consider also somewhat more advanced object-oriented concepts behind class-constructions in the two languages.
  • General generation methods for meshes or grids needed in the discrete approximation. Here we shall discuss how to generate such meshes in the programing-environment MATLAB and how to import them into FEniCS.
The topics will be presented in a lecture of 2 hours pr week. The practical training is then divided into sets of homework exercises, which will require about 4-6 hours a week. Modern Linux-Workstation are provieded in the INS. The FEniCS software can however also be freely installed on the participants own PCs.

Times and Dates

Times:Thu16:00h – 18:00h
Room:Seminarraum 6.020, Wegelerstrße 6, upon need Praktikumsraum 6.012
Preliminary:Thursday, 2016-10-20, 16:00h, Seminarraum 6.020, Wegelerstß 6

Software

Python offers installation managers for Linux, Windows, OS X an. For Python and basic packages needed for the installation of FEniCS there is a packet manager pip. Please note that a Windows installation of FEniCS is very involved and out of the scope of this lab course. FEniCS installations are available on the workstations in the computer lab 6.012.

Tutorials and References

Materials

Lecture notes and exercise sheets are protected by password. Please inquire the password from Dr. Einar Smith.

Notes

Exercise sheets

  1. Aufgabenblatt Master 1.pdf
  2. Aufgabenblatt Master 2.pdf
  3. Aufgabenblatt Master 3.pdf
  4. Aufgabenblatt Master 4.pdf
  5. Aufgabenblatt Master 5.pdf