Scientific Computing (Wissenschaftliches Rechnen), TU Berlin
Course page at isis.tu-berlin.de
Room MA379
Schedule: see end of last lecture
Consultation:
Tuesday, Feb 20 10:00-12:00 MA379
Monday, Feb 26 11:00-12:00 MA379
Tuesday, 8-10 c.t., ~~A060~~ FH311
Thursday, 10-12 c.t., UNIX-Pool MA269
Consultation: Thursday, 12-13, UNIX-Pool MA269
Numerical methods focusing on partial differential equations (finite elements, finite volumes, mesh generation, linear and nonlinear solvers, iterative methods), their implementation and programming
Computer languages (mainly C++, with introduction; python)
Parallelization, visualization, software tools
Numerical methods:
G. Golub, C. van Loan Matrix Computations
R. S. Varga: Matrix Iterative Analysis
J. Shewchuk An Introduction to the Conjugate Gradient Method Without the Agonizing Pain
R. Barrett et al: Templates for the Solution of Linear Systems:Building Blocks for Iterative Methods
V. Eijkhout: Introduction to High-Performance Scientific Computing
G. Bärwolff, Script, Numerische Mathematik I (TU Berlin, in German)
G. Bärwolff, Script, Numerische Mathematik II (TU Berlin, in German)
Mesh generation: - Hang Si: Course material from 2017 International Summer School at Beihang University, handout1,
C++: look for resources on the new standard C++11
The definitive C++ book by the "Father" of the language: B. Stroustrup: The C++ Programming Language, 4th Edition
C++ in the context of Schientific Computing: P. Gottschling: Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers (C++ In-Depth)
Accessible and comprehensive online reference:http://www.cplusplus.com/
Comprenhensive but slightly formal online reference http://en.cppreference.com/w/
Another overview on C++ resources: https://isocpp.org/get-started
Tutorials
Beginner's level (covering most of the features we need): PeguinProgrammer
Comprehensive including C++11 on www.cplusplus.com
Python: look for resources on Python3
Linux
The script is developed by combining the slides (without the recapitulations at the beginning). It will be more economical to print the script than the slides.
Number | ||
---|---|---|
Script (Lectures 1-29) | 2018-02-13 | |
Script (Lectures 1-12) | 2017-11-28 | |
01 | Intro | 2017-10-17 |
02 | C++: first steps | 2017-10-19 |
03 | C++: next steps | 2017-10-24 |
04 | C++: using vectors | 2017-10-26 |
05 | Linear system solution (corrected) | 2017-11-02 |
06 | Sparse matrices+iterations (corrected) | 2017-11-07 |
07 | Numcxx + iteration complexity | 2017-11-09 |
08 | Diagonal dominance, M-Property | 2017-11-14 |
09 | ILU, steepest descend | 2017-11-16 |
10 | ILU, conjugate gradients | 2017-11-21 |
11 | Visualization tools | 2017-11-23 |
12 | Mesh generation | 2017-11-28 |
13 | The mesh generator Triangle | 2017-11-30 |
14 | Sobolev Spaces & weak formulations | 2017-12-05 |
15 | The Galerkin method | 2017-12-12 |
16 | Finite elements I | 2017-12-15 |
17 | Finite elements II | 2017-12-19 |
18 | Finite elements III | 2017-12-21 |
19 | Finite volumes I | 2018-01-09 |
20 | Finite volumes II | 2018-01-11 |
21 | Time dependent problems | 2018-01-16 |
22 | Time dependent, convergence demo | 2018-01-18 |
23 | Convection-diffusion, nonlinearity | 2018-01-23 |
24 | Convection-diffusion, nonlinearity demo | 2018-01-25 |
25 | OpenMP parallelization | 2018-01-30 |
26 | MPI parallelization | 2018-02-01 |
27 | GPU parallelization | 2018-02-06 |
28 | Iterative solver complexity | 2018-02-08 |
29 | Multigrid + wrap up | 2018-02-13 |
Due date | |
---|---|
Due Nov. 8 | 2017-10-26 |
Due Dec 15 | 2017-11-20 |
We use the numcxx library. Most examples of the course are provided as part of this library.
(besides slide uploads)
Date | |
---|---|
2017-11-28 | Script for lectures 1-12 |
2017-11-06 | numcxx doxygen documentation |
2017-10-27 | Script, links to C++ tutorials and Linux intro |
2017-10-11 | New for WS 2017/2018 |