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.
Times and Dates
Times: | Thu | 16: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
- Getting started with NumPy, SciPy, matplotlib...
- The Python Tutorial, Version 3.5.1
- The Python Tutorial, Version 2.7.8
- FEniCS documentation