Go to file
2022-03-11 16:20:22 +08:00
latex-helpers pdf export update 2021-04-22 10:26:01 +08:00
resources updated physical loss chapter 2022-02-23 10:56:53 +01:00
temp notebooks update 2021-01-07 19:28:50 +08:00
_config.yml restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
_toc.yml minor cleanup 2022-03-07 08:43:59 +08:00
.gitignore Initial commit 2021-01-04 16:32:39 +08:00
bayesian-code.ipynb updated graphs for BNN code, removed phiflow warnings via json-cleanup script 2021-08-22 14:04:14 +02:00
bayesian-intro.md corrections from Nuttapong, thanks 2021-10-08 09:07:56 +02:00
diffphys-code-burgers.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-code-control.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-code-ns.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-code-sol.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-discuss.md minor cleanup 2022-03-07 08:43:59 +08:00
diffphys-dpvspinn.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys-examples.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
diffphys.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
favicon.ico updated config and overview 2021-08-30 19:39:02 +02:00
fixup-latex.py minor tweaks 2021-09-16 16:58:30 +02:00
intro-teaser.ipynb Change deprecated 'lr' argument to 'learning_rate' 2021-12-03 12:24:21 +01:00
intro.md minor tweaks 2021-09-16 16:58:30 +02:00
json-cleanup-for-pdf.py updated graphs for BNN code, removed phiflow warnings via json-cleanup script 2021-08-22 14:04:14 +02:00
json-ipynb-removeImgs.py script cleanup 2021-06-30 19:35:47 +02:00
LICENSE Initial commit 2021-01-04 16:32:39 +08:00
make-pdf.sh minor tweaks 2021-09-16 16:58:30 +02:00
notation.md corrections Maximmilian intro chapter 2021-07-06 17:43:16 +02:00
others-GANs.md Consistent caps in sub-headings 2021-08-20 16:51:41 +02:00
others-intro.md last round of updates from Maxi, minor fixes 2021-07-23 12:55:23 +02:00
others-lagrangian.md added know your data section, minor cleanup 2021-08-03 21:55:42 +02:00
others-metrics.md cleanup, added other topics chapter 2021-04-14 19:08:51 +08:00
others-timeseries.md corrections from Nuttapong, thanks 2021-10-08 09:07:56 +02:00
outlook.md updated logo 2021-09-03 11:14:53 +02:00
overview-burgers-forw.ipynb fixed burgers initialization 2022-02-05 16:52:05 +01:00
overview-equations.md update physgrad intro 2022-03-11 15:33:42 +08:00
overview-ns-forw.ipynb fixed phiflow diffusion scaling; switched to main branch instead of develop 2021-12-28 15:53:32 +01:00
overview.md updated physical loss chapter 2022-02-23 10:56:53 +01:00
physgrad-code.ipynb some HIG PG discussion 2022-02-05 16:53:49 +01:00
physgrad-comparison.ipynb udpate of simple comparison code 2022-03-11 16:20:22 +08:00
physgrad-discuss.md added HIG toy graphs, some fine tuning 2022-02-05 16:53:49 +01:00
physgrad-hig-code.ipynb first version of HIGs 2022-02-05 16:53:49 +01:00
physgrad-hig.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
physgrad-nn.md renamed z to y, sensitivity section updates 2022-02-05 16:53:49 +01:00
physgrad.md udpate of simple comparison code 2022-03-11 16:20:22 +08:00
physicalloss-code.ipynb updated physical loss chapter 2022-02-23 10:56:53 +01:00
physicalloss-discuss.md updated physical loss chapter 2022-02-23 10:56:53 +01:00
physicalloss.md fixed Burgers eq, thanks to YuSha 2022-03-04 02:21:23 +01:00
README.md added pdf link 2021-09-14 11:11:35 +02:00
references.bib first version of HIGs 2022-02-05 16:53:49 +01:00
references.md initial checkin 2021-01-04 16:36:09 +08:00
reinflearn-code.ipynb restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
reinflearn-intro.md restructured and updated diffphys chapter 2022-03-06 14:44:18 +08:00
supervised-airfoils.ipynb cleanup of U-net architecture 2021-11-19 11:05:16 +01:00
supervised-discuss.md updated physical loss chapter 2022-02-23 10:56:53 +01:00
supervised.md fixing typos, unifying nomenclature 2021-09-09 10:34:36 +02:00

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

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, well 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 wont be discussed here)
  • Experiments as are left as an outlook (i.e., 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.

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

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