• Stars
    star
    837
  • Rank 52,622 (Top 2 %)
  • Language
    Jupyter Notebook
  • Created over 3 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Welcome to the Physics-based Deep Learning Book (v0.2)

Welcome to the Physics-based Deep Learning book (PBDL) v0.2

This is the source code repository for the Jupyter book "Physics-based Deep Learning". You can find the full, readable version online at: https://physicsbaseddeeplearning.org/

A single-PDF version is also available on arXiv: https://arxiv.org/pdf/2109.05237.pdf

PBDL

A Short Synopsis

The PBDL book contains a practical and comprehensive introduction of everything related to deep learning in the context of physical simulations. As much as possible, all topics come with hands-on code examples in the form of Jupyter notebooks to quickly get started. Beyond standard supervised learning from data, we’ll look at physical loss constraints, more tightly coupled learning algorithms with differentiable simulations, as well as reinforcement learning and uncertainty modeling. We live in exciting times: these methods have a huge potential to fundamentally change what we can achieve with simulations.

The key aspects that we will address in the following are:

  • explain how to use deep learning techniques to solve PDE problems,
  • how to combine them with existing knowledge of physics,
  • without discarding our knowledge about numerical methods.

The focus of this book lies on:

  • Field-based simulations (not much on Lagrangian methods)
  • Combinations with deep learning (plenty of other interesting ML techniques exist, but won't be discussed here)
  • Experiments as are left as an outlook (such as replacing synthetic data with real-world observations)

The name of this book, Physics-based Deep Learning, denotes combinations of physical modeling and numerical simulations with methods based on artificial neural networks. The general direction of Physics-Based Deep Learning represents a very active, quickly growing and exciting field of research.

The aim is to build on all the powerful numerical techniques that we have at our disposal, and use them wherever we can. As such, a central goal of this book is to reconcile the data-centered viewpoint with physical simulations.

The resulting methods have a huge potential to improve what can be done with numerical methods: in scenarios where a solver targets cases from a certain well-defined problem domain repeatedly, it can for instance make a lot of sense to once invest significant resources to train a neural network that supports the repeated solves. Based on the domain-specific specialization of this network, such a hybrid could vastly outperform traditional, generic solvers.

What's new?

Teasers

To mention a few highlights: the book contains a notebook to train hybrid fluid flow (Navier-Stokes) solvers via differentiable physics to reduce numerical errors. Try it out: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/diffphys-code-sol.ipynb

In v0.2 there's new notebook for an improved learning scheme which jointly computes update directions for neural networks and physics (via half-inverse gradients): https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/physgrad-hig-code.ipynb

It also has example code to train a Bayesian Neural Network for RANS flow predictions around airfoils that yield uncertainty estimates. You can run the code right away here: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/bayesian-code.ipynb

And a notebook to compare proximal policy-based reinforcement learning with physics-based learning for controlling PDEs (spoiler: the physics-aware version does better in the end). Give it a try: https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/reinflearn-code.ipynb

More Repositories

1

PhiFlow

A differentiable PDE solving framework for machine learning
Python
1,193
star
2

Solver-in-the-Loop

Solver-in-the-Loop: Learning from Differentiable Physics to Interact with Iterative PDE-Solvers
Python
139
star
3

PhiML

Intuitive scientific computing with dimension types for Jax, PyTorch, TensorFlow & NumPy
Python
47
star
4

DMCF

Guaranteed Conservation of Momentum for Learning Particle-based Fluid Dynamics (NeurIPS '22)
Python
43
star
5

autoreg-pde-diffusion

Benchmarking Autoregressive Conditional Diffusion Models for Turbulent Flow Simulation
Jupyter Notebook
43
star
6

differentiable-piso

Code repository for "Learned Turbulence Modelling with Differentiable Fluid Solvers"
JavaScript
33
star
7

dl-surrogates

C++
30
star
8

LSIM

LSiM is a learned metric to compute distance values for 2D data from numerical simulations
Python
27
star
9

Diffusion-based-Flow-Prediction

Diffusion-based flow prediction (DBFP) with uncertainty for airfoils
Jupyter Notebook
22
star
10

CG-Solver-in-the-Loop

Conjugate Gradient related code for "Solver-in-the-Loop: Learning from Differentiable Physics to Interact with Iterative PDE-Solvers"
Python
21
star
11

coord-trans-encoding

This is the source code for our paper "Towards high-accuracy deep learning inference of compressible turbulent flows over aerofoils"
Python
19
star
12

Global-Flow-Transport

Repository for our CVPR 2021 Global Flow Transport Paper
C++
18
star
13

half-inverse-gradients

Source code for the ICLR'22 paper on "Half-Inverse Gradients"
Python
16
star
14

VOLSIM

VolSiM, a CNN-based metric to compute the similarity of 3D data from numerical simulations
Python
14
star
15

SMDP

Solving Inverse Physics Problems with Score Matching
Jupyter Notebook
13
star
16

SIP

Scale-invariant Learning by Physics Inversion (NeurIPS 2022)
Python
10
star
17

unrolling

5
star
18

reconstructScalarFlows

ScalarFlow Reconstruction for Large-Scale Volumetric Data Sets of Real-world Scalar Transport Flows
4
star
19

racecar

Data-driven Regularization via Racecar Training for Generalizing Neural Networks
Python
4
star
20

DiffPhys-CylinderWakeFlow

Jupyter Notebook
4
star
21

StableBPTT

The source code the for the ICLR'24 paper "Stabilizing Backpropagation Through Time to Learn Complex Physics"
Python
3
star
22

SFBC

ICLR'24: Symmetric basis convolutions for learning lagrangian fluid mechanics
Jupyter Notebook
3
star
23

two-way-coupled-control

Python
2
star
24

Neural-Global-Transport

Repository for the ICLR '23 paper on Neural-Global-Transport
C++
1
star
25

Hybrid-Solver-for-Reactive-Flows

Python
1
star