Course 6: Accelerating Physics Simulations with Deep Learning
- M. Engel, Erlangen
- N. Thuerey, München
- Guest Lecturers:
- M. Mehl, Stuttgart
- Computer Science, Mathematics, Physics, Process Engineering, Chemistry, Engineering (Bachelor from 3rd year or Master)
- Sign up:
- Ferienakademie 2018
Computer simulations are a powerful method to study physical and engineering systems such as fluids, collections of molecules, or social agents. Traditionally, differential equations form the basics of performing simulations as they dictate the time evolution. A recent, promising development is to use machine learning for model-free prediction of a systems’ behavior and to identify the appearance of spatio-temporal patterns. Deep learning with neural networks is a particularly interesting and powerful machine learning method that can be employed for this task.
This course will be a combination of presentations given by the participants and project-based team work. The presentations will cover theoretical aspects of the learning approach, discussing its limits and strengths as well as some of the current and most exciting applications in the physical sciences covered by scientific publications and online resources. In parallel, we will gather hands-on experience by implementing basic methods based on learning and neural networks to tackle some of the challenging aspects of computational fluid dynamics. You can find some examples of recent papers in this direction here and here.
Traditional methods to compute fluids with by solving the Navier-Stokes equations are typically still crucial components. Where else should the neural network learn from? Gathering enough real world measurements is typically not feasible. The trained models often can generate solutions for complex physics phenomena very efficiently. For practical implementation of the machine learning approach with neural networks, several software components will be provided as a starting point. In particular a simple flow solver and a library for neural networks (TensorFlow) will be given.
Prerequisites for this course are basic programming skills, a sympathy for numerics and stochastics and the ability to work in a team on a project involving not only theory but also real hands-on coding (C/C++, Python, and similar).