Please pick an exercise class on mystudies.
In the first week there will only be one exercise class, namely on Friday. It will be very informal and serves the purpose of helping you setup a development environment and showing you some, hopefully, motivating examples from our own work.
The presence hours are on demand, i.e. write us an email and we will schedule a date.
Thu 08-10 | HG D 1.1 | Pratyuksh Bansal |
Fri 13-15 | HG E 1.1 | Carlos Parés-Pulido |
There will be three exercise sheets during the semester, and one smaller Serie 0 to help you get up to speed on the prerequisites and install the required libraries and compilers.
You will be able to submit your solutions online. Please note that you will need to have signed up for an exercise class on mystudies to be able to login in successfully.
exercise sheet | due by | solutions |
---|---|---|
Problems 0, Templates 0-2 | none | Solutions 0 (code), (pdf) |
Problems 1 (upd. Oct 25), Templates 1 | November 1, 2019 | Solutions 1 (code), (pdf) |
Problems 2 (upd. Nov 21), Templates 2, Data Files, Changelog, GetEigen.cmake (add. Dec 04) | December 8, 2019 | Solutions 2 (code), (pdf) |
Problems 3, Templates 3 | none | Solutions 3 (code), (pdf) |
You will need a modern C++17 compiler, CMake (3.12 or newer) and an editor or
IDE of your choosing. Futhermore, you should install a reasonably new version
of Python (3.6 and newer) is a good choice, afterall f-strings
are a nice addition to the language. Please also install the usual Python
libraries required for scientific computing numpy
,
scipy
and matplotlib
.
On Dec 04 Eigen moved repositories. Therefore, the URL in
cmake/GetEigen.cmake
is outdated. Please download and replace that
file with the one provided above.
If you're getting errors about not finding filesystem
, then
probably your compiler is too old. You either want GCC 8 or newer; or CLang 8
and newer. (I'm not sure if the version of clang is sharp. Therefore, if
filesystem is supported on clang 7 or older please let us know.)
Optionally you can chose to install clang
, including
clang-tidy
and clang-format
. You might find Valgrind
helpful. If you are not using an IDE, first of all reconsider using one, but if
you prefer not to you can still install a debugger such a GDB. Since the
projects are quite lengthy you might want to have them under version control,
using git
. As a student you can get
free private repositories on Github
(and more).
If you are having some issues getting your system ready, this guide for setup and compilation should be useful to you.
You can find here a summary of the contents of the first tutorial, including some basic discussion of techniques such as git, CMake and testing.
New: Slides on UQ. Relevant for the course: (ML)MCFVM.
New: K. Lye, S. Mishra, D. Ray - Deep Learning Observables in Computational Fluid Dynamics discusses the Machine Learning topics covered in the lecture (and quite a bit more!) and may be helpful for the last part of the course.
The largest part of the course will be based on the lecture notes (upd. Jan 15) of "Numerical methods for hyperbolic PDEs". The lecture notes for the remaining parts of the lecture will be updated during the semester and will be published in due time.
You might also find useful the lecture notes of "Computational Methods for Engineering Applications". This is not course material and is only provided as an additional resource, especially chapters 6-8 about the Finite Element Method.