Machine learning in computational fluid dynamics

lecture:  
When: winter term, Tuesday, 13.00-14.30
Where: Lecture room 003, Hermann-Blenk-Str. 37
Lecture start: first week of winter term, more information on Stud.IP
Lecturer: Dr. Mariachiara Gallia
Exercise  
When: winter term, Tuesday, 14.45 - 15.30
Where: Lecture room 003, Hermann-Blenk-Str. 37
Exercise start: Second week of winter term, additional information in the lecture and on Stud.IP
Tutor: Dr. Mariachiara Gallia

Lecture goals

By attending the lecture, students will be able to:

  • describe the essential steps of the finite-volume-method, starting from the mathematical problem to discretization and iterative solution, based on a 2D transport problem in a handful of sentences, equations, or sketches for each step

  • visualize and describe in a few sentences the underpinning problems dealt with by supervised, unsupervised, and reinforcement learning based on a given dataset

  • select a suitable machine learning algorithm together with the associated inputs and outputs to solve a given fluid-mechanical problem, and outline the implementation, including the CFD simulation, as a flowchart

  • create a CFD-based parameter study, with the parameters being selected via latin hypercube sampling

  • create a surrogate model for given inputs and outputs by applying regression or classification techniques to experimental or numerical flow data

  • analyze the spatio-temporal behavior of large, high-dimensional CFD data by means of modal decomposition and derive a reduced-order model using cluster-based network modeling

  • train a neural network for active flow control by means of CFD-based deep reinforcement learning

Lecture content

Experimental and computational investigations of fluid dynamics create vast amounts of data. These data are typically massive, complex, and hard to analyze. Valuable information oftentimes remains hidden or unused. Machine learning (ML) enables the extraction of insights and value from data and is an ideal candidate to aid the analysis and modeling of fluid flows. In this lecture, you will have the chance to obtain an intuitive understanding of popular ML algorithms, apply them to real datasets, and deploy ML models in numerical flow solvers. It is noteworthy that most of the techniques are not exclusively designed for numerical data but work for experimental settings as well. The lecture is organized around five applications, which are briefly outlined below.

Predicting the stability regime of rising bubbles

We perform two-phase flow simulations of rising bubbles, gather additional data from literature, and create a robust classification model for the bubbles’ stability regime.

keywords: Basilisk, Digitizer, PyTorch, perceptron algorithm, logistic regression, multilayer perceptron, cross-validation

Klassifizierung
Mass transfer
Computing highly accurate mass transfer from rising bubbles

We map shape and velocity from two-phase flow simulations of rising bubbles to single-phase simulations and perform mass transfer simulations to overcome the high-Schmidt number problem.

keywords: Basilisk, OpenFOAM, PyTorch, TorchScript, polynomial regression, splines, neural networks

Extracting coherent structures with associated frequencies from transonic buffets

We simulate the transonic flow across a NACA-0012 airfoil displaying shock buffets and investigate flow structures associated with the buffet frequency.

keywords: OpenFOAM, PyTorch, flowTorch, singular value decomposition, dynamic mode decomposition

DMD
CNM
Real-time prediction of the flow past a cylinder

We simulate the flow past a circular cylinder and create a reduced-order model able to predict the temporal evolution over a long time period in real-time.

keywords: OpenFOAM, PyTorch, flowTorch, k-means clustering, cluster-based network modeling

Discovering active flow control strategies using deep reinforcement learning

We implement a reinforcement training loop that learns to rotate a cylinder placed in a channel flow to reduce drag and lift experienced by the cylinder.

keywords: OpenFOAM, PyTorch, TorchScript, proximal policy optimization

Zylinder