Lecture SS 20 Selected Topics in Scientific Computing
Practical Numerical Methods for PDEs
Requirements: Wissenschaftliches Rechnen/Scientific Computing I or II (V3E1/2/F4E1), basic programming skills in C
In this two-hour lecture without exercises, we will study computational techniques to solve partial differential equations on adaptive meshes. Adaptivity is often necessary to resolve areas of interest in a larger domain to increased accuracy, or to resolve moving phenomena in a time-stepping simulation. Using highly resolved meshes in turn motivates to consider parallel implementations, that is, numerical solutions using a network of computers with distributed local memory. In this case, selected data about both the mesh and the simulation must be made accessible by one computer for access by another.
An efficient and scalable computational approach to support such methods is that of an adaptive octree, or multiple such octrees connected to an adaptive forest. Here, each element of the mesh corresponds bijectively to a leaf of the forest. Establishing a total order on the leaves establishes a space-filling curve that has attractive properties with respect to the computational performance. We will review the fundamental concepts, definitions and algorithms and study how we can create the necessary parallel algorithms to realize a parallel adaptive numerical PDE solve.
We will provide theoretical and programming exercises for self study. Please email me to get access to this lecture.
The exams will be in the INS building on August 3rd and 4th. The times on that Monday will be 11 LD, 13 AK. The times on that Tuesday will be 11 JV, 14 TG. Please let me know if I missed anybody.
To continue with our programming exercises, I suggest two steps:
- Write a routine tree_new (p, P, l) that constructs process p’s partition of the octree. You may choose between a uniform (l >= 0) or a sparse construction (l = -1).
- Write a routine that writes the geometric data of the mesh to a file in .vtu format, which allows to use interactive visualization programs. Choose the VTK ASCII format, which is simple and easy to understand. More details and hints are available the Hausdorff school’s web page.
These tasks are slightly larger, so you are encouraged to collaborate on them.