From e0dcf28064b2712b8f220d74ef3d09e61a321748 Mon Sep 17 00:00:00 2001 From: NT Date: Thu, 9 Sep 2021 10:34:36 +0200 Subject: [PATCH] fixing typos, unifying nomenclature --- diffphys-code-ns.ipynb | 10 +- diffphys-code-sol.ipynb | 2 +- intro-teaser.ipynb | 12 +- intro.md | 11 +- overview-burgers-forw.ipynb | 200 ++++++++-------- overview-equations.md | 7 +- overview-ns-forw.ipynb | 460 ++++++++++++++++++------------------ overview.md | 26 +- physicalloss-code.ipynb | 2 +- physicalloss.md | 13 +- supervised-airfoils.ipynb | 2 +- supervised-discuss.md | 8 +- supervised.md | 4 +- 13 files changed, 381 insertions(+), 376 deletions(-) diff --git a/diffphys-code-ns.ipynb b/diffphys-code-ns.ipynb index f6b647f..7704eea 100644 --- a/diffphys-code-ns.ipynb +++ b/diffphys-code-ns.ipynb @@ -17,19 +17,19 @@ "\n", "We'll use a Navier-Stokes model with velocity $\\mathbf{u}$, no explicit viscosity term, and a smoke marker density $s$ that drives a simple Boussinesq buoyancy term $\\eta d$ adding a force along the y dimension. For the velocity this gives:\n", "\n", - "$\\begin{aligned}\n", + "$$\\begin{aligned}\n", " \\frac{\\partial u_x}{\\partial{t}} + \\mathbf{u} \\cdot \\nabla u_x &= - \\frac{1}{\\rho} \\nabla p \n", " \\\\\n", " \\frac{\\partial u_y}{\\partial{t}} + \\mathbf{u} \\cdot \\nabla u_y &= - \\frac{1}{\\rho} \\nabla p + \\eta d\n", " \\\\\n", " \\text{s.t.} \\quad \\nabla \\cdot \\mathbf{u} &= 0,\n", - "\\end{aligned}$\n", + "\\end{aligned}$$\n", "\n", "With an additional transport equation for the passively advected marker density $s$:\n", "\n", - "$\\begin{aligned}\n", + "$$\\begin{aligned}\n", " \\frac{\\partial s}{\\partial{t}} + \\mathbf{u} \\cdot \\nabla s &= 0 \n", - "\\end{aligned}$\n", + "\\end{aligned}$$\n", "\n" ] }, @@ -45,7 +45,7 @@ "With the notation from {doc}`overview-equations` the inverse problem outlined above can be formulated as a minimization problem \n", "\n", "$$\n", - "\\text{arg min}_{\\mathbf{u}_{0}} \\sum_i |f(x_{t_e,i} ; \\mathbf{u}_{0} )-y^*_{t_e,i}|^2 ,\n", + "\\text{arg min}_{\\mathbf{u}_{0}} \\sum_i \\big( f(x_{t_e,i} ; \\mathbf{u}_{0} )-y^*_{t_e,i} \\big)^2 ,\n", "$$\n", "\n", "where $y^*_{t_e,i}$ are samples of the reference solution at a targeted time $t_e$,\n", diff --git a/diffphys-code-sol.ipynb b/diffphys-code-sol.ipynb index 2ce7102..e531310 100644 --- a/diffphys-code-sol.ipynb +++ b/diffphys-code-sol.ipynb @@ -89,7 +89,7 @@ "$$\n", "\\newcommand{\\corr}{\\mathcal{C}} \n", "\\newcommand{\\vr}[1]{\\mathbf{r}_{#1}} \n", - "\\text{argmin}_\\theta | ( \\mathcal{P}_{s} \\corr )^n ( \\mathcal{T} \\vr{t} ) - \\mathcal{T} \\vr{t+n}|^2\n", + "\\text{arg min}_\\theta \\big( ( \\mathcal{P}_{s} \\corr )^n ( \\mathcal{T} \\vr{t} ) - \\mathcal{T} \\vr{t+n} \\big)^2\n", "$$\n", "\n", "To simplify the notation, we've dropped the sum over different samples here (the $i$ from previous versions).\n", diff --git a/intro-teaser.ipynb b/intro-teaser.ipynb index 77a6eae..5cc9043 100644 --- a/intro-teaser.ipynb +++ b/intro-teaser.ipynb @@ -43,11 +43,11 @@ "\n", "Let's illustrate the properties of deep learning via DP with the following example: We'd like to find an unknown function $f^*$ that generates solutions from a space $Y$, taking inputs from $X$, i.e. $f^*: X \\to Y$. In the following, we'll often denote _idealized_, and unknown functions with a $*$ superscript, in contrast to their discretized, realizable counterparts without this superscript. \n", "\n", - "Let's additionally assume we have a generic differential equation $\\mathcal P^*: Y \\to Z$ (our _model_ equation), that encodes a property of the solutions, e.g. some real world behavior we'd like to match. Later on, $P^*$ will represent time evolutions, but it could also be a constraint for conservation of mass (then $\\mathcal P^*$ would measure divergence). But to keep things as simple as possible here, the model we'll look at in the following is a mapping back to the input space $X$, i.e. $\\mathcal P^*: Y \\to X$.\n", + "Let's additionally assume we have a generic differential equation $\\mathcal P^*: Y \\to Z$ (our _model_ equation), that encodes a property of the solutions, e.g. some real world behavior we'd like to match. Later on, $P^*$ will often represent time evolutions, but it could also be a constraint for conservation of mass (then $\\mathcal P^*$ would measure divergence). But to keep things as simple as possible here, the model we'll look at in the following is a mapping back to the input space $X$, i.e. $\\mathcal P^*: Y \\to X$.\n", "\n", "Using a neural network $f$ to learn the unknown and ideal function $f^*$, we could turn to classic _supervised_ training to obtain $f$ by collecting data. This classical setup requires a dataset by sampling $x$ from $X$ and adding the corresponding solutions $y$ from $Y$. We could obtain these, e.g., by classical numerical techniques. Then we train the NN $f$ in the usual way using this dataset. \n", "\n", - "In contrast to this supervised approach, employing differentiable physics takes advantage of the fact that we can directly use a discretized version of the physical model $\\mathcal P$ and employ it to guide the training of $f$. I.e., we want $f$ to _interact_ with our _simulator_ $\\mathcal P$. This can vastly improve the learning, as we'll illustrate below with a very simple example (more complex ones will follow later on).\n", + "In contrast to this supervised approach, employing a differentiable physics approach takes advantage of the fact that we can often use a discretized version of the physical model $\\mathcal P$ and employ it to guide the training of $f$. I.e., we want $f$ to be aware of our _simulator_ $\\mathcal P$, and to _interact_ with it. This can vastly improve the learning, as we'll illustrate below with a very simple example (more complex ones will follow later on).\n", "\n", "Note that in order for the DP approach to work, $\\mathcal P$ has to be differentiable, as implied by the name. These differentials, in the form of a gradient, are what's driving the learning process.\n" ] @@ -65,7 +65,7 @@ "id": "latest-amino", "metadata": {}, "source": [ - "To illustrate these two approaches, we consider the following simplified setting: Given the function $\\mathcal P: y\\to y^2$ for $y$ in the intverval $[0,1]$, find the unknown function $f$ such that $\\mathcal P(f(x)) = x$ for all $x$ in $[0,1]$. Note: to make things a bit more interesting, we're using $y^2$ here instead of the more common $x^2$ parabola, and the _discretization_ is simply given by representing the $x$ and $y$ via floating point numbers in the computer for this simple case.\n", + "To illustrate the difference of supervised and DP approaches, we consider the following simplified setting: Given the function $\\mathcal P: y\\to y^2$ for $y$ in the interval $[0,1]$, find the unknown function $f$ such that $\\mathcal P(f(x)) = x$ for all $x$ in $[0,1]$. Note: to make things a bit more interesting, we're using $y^2$ here for $\\mathcal P$ instead of the more common $x^2$ parabola, and the _discretization_ is simply given by representing the $x$ and $y$ via floating point numbers in the computer for this simple case.\n", "\n", "We know that possible solutions for $f$ are the positive or negative square root function (for completeness: piecewise combinations would also be possible).\n", "Knowing that this is not overly difficult, a solution that suggests itself is to train a neural network to approximate this inverse mapping $f$.\n", @@ -385,9 +385,11 @@ "source": [ "## Discussion\n", "\n", - "It's a very simple example, but it very clearly shows a failure case for supervised learning. While it might seem very artificial at first sight, many practical PDEs exhibit a variety of these modes, and it's often not clear where (and how many) exist in the solution manifold we're interested in. Using supervised learning is very dangerous in such cases - we might simply and unknowingly _blur_ out these different modes.\n", + "It's a very simple example, but it very clearly shows a failure case for supervised learning. While it might seem very artificial at first sight, many practical PDEs exhibit a variety of these modes, and it's often not clear where (and how many) exist in the solution manifold we're interested in. Using supervised learning is very dangerous in such cases. We might unknowingly get an average of these different modes.\n", "\n", - "Good and obvious examples are bifurcations in fluid flow. Smoke rising above a candle will start out straight, and then, due to tiny perturbations in its motion, start oscillating in a random direction. The images below illustrate this case via _numerical perturbations_: the perfectly symmetric setup will start turning left or right, depending on how the approximation errors build up. Similarly, we'll have different modes in all our numerical solutions, and typically it's important to recover them, rather than averaging them out. Hence, we'll show how to leverage training via _differentiable physics_ in the following chapters for more practical and complex cases.\n", + "Good and obvious examples are bifurcations in fluid flow. Smoke rising above a candle will start out straight, and then, due to tiny perturbations in its motion, start oscillating in a random direction. The images below illustrate this case via _numerical perturbations_: the perfectly symmetric setup will start turning left or right, depending on how the approximation errors build up. Averaging the two modes would give an unphysical, straight flow similar to the parabola example above.\n", + "\n", + "Similarly, we have different modes in many numerical solutions, and typically it's important to recover them, rather than averaging them out. Hence, we'll show how to leverage training via _differentiable physics_ in the following chapters for more practical and complex cases.\n", "\n", "```{figure} resources/intro-fluid-bifurcation.jpg\n", "---\n", diff --git a/intro.md b/intro.md index c28015c..f67ee3c 100644 --- a/intro.md +++ b/intro.md @@ -7,17 +7,18 @@ name: pbdl-logo-large --- ``` -Welcome to the _Physics-based Deep Learning Book_ 👋 +Welcome to the _Physics-based Deep Learning Book_ (v0.1) 👋 **TL;DR**: -This document targets a practical and comprehensive introduction of everything +This document 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. +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. +We live in exciting times: these methods have a huge potential to fundamentally +change what computer simulations can achieve. --- diff --git a/overview-burgers-forw.ipynb b/overview-burgers-forw.ipynb index 02d3486..c65b47a 100644 --- a/overview-burgers-forw.ipynb +++ b/overview-burgers-forw.ipynb @@ -2,11 +2,10 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, "source": [ "# Simple Forward Simulation of Burgers Equation with phiflow\n", "\n", - "This chapter will give an introduction for how to run _forward_, i.e., regular simulations starting with a given initial state and approximating a later state numerically, with ΦFlow. The ΦFlow framework provides a set of differentiable building blocks that directly interface with deep learning frameworks. Before going for deeper and more complicated integrations, this notebook (and the next one), will show how regular simulations can be done with ΦFlow. Later on, we can use very similar code to couple them with neural networks.\n", + "This chapter will give an introduction for how to run _forward_, i.e., regular simulations starting with a given initial state and approximating a later state numerically, and introduce the ΦFlow framework. ΦFlow provides a set of differentiable building blocks that directly interface with deep learning frameworks, and hence is a very good basis for the topics of this book. Before going for deeper and more complicated integrations, this notebook (and the next one), will show how regular simulations can be done with ΦFlow. Later on, we'll show that these simulations can be easily coupled with neural networks.\n", "\n", "The main repository for ΦFlow (in the following \"phiflow\") is [https://github.com/tum-pbs/PhiFlow](https://github.com/tum-pbs/PhiFlow), and additional API documentation and examples can be found at [https://tum-pbs.github.io/PhiFlow/](https://tum-pbs.github.io/PhiFlow/).\n", "\n", @@ -23,32 +22,23 @@ " \\nu \\nabla\\cdot \\nabla u\n", "$$ \n", "\n" - ] + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Importing and loading phiflow\n", "\n", "Let's get some preliminaries out of the way: first we'll import the phiflow library, more specifically the `numpy` operators for fluid flow simulations: `phi.flow` (differentiable versions for a DL framework _X_ are loaded via `phi.X.flow` instead).\n", "\n", "**Note:** Below, the first command with a \"!\" prefix will install the [phiflow python package from GitHub](https://github.com/tum-pbs/PhiFlow) via `pip` in your python environment once you uncomment it. We've assumed that phiflow isn't installed, but if you have already done so, just comment out the first line (the same will hold for all following notebooks)." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Using phiflow version: 2.0.0rc2\n" - ] - } - ], "source": [ "#!pip install --upgrade --quiet phiflow\n", "!pip install --upgrade --quiet git+https://github.com/tum-pbs/PhiFlow@develop\n", @@ -57,11 +47,20 @@ "\n", "from phi import __version__\n", "print(\"Using phiflow version: {}\".format(phi.__version__))" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Using phiflow version: 2.0.0rc2\n" + ] + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "Next we can define and initialize the necessary constants (denoted by upper-case names):\n", "our simulation domain will have `N=128` cells as discretization points for the 1D velocity $u$ in a periodic domain $\\Omega$ for the interval $[-1,1]$. We'll use 32 time `STEPS` for a time interval of 1, giving us `DT=1/32`. Additionally, we'll use a viscosity `NU` of $\\nu=0.01/\\pi$.\n", @@ -71,13 +70,12 @@ "Phiflow is object-oriented and centered around field data in the form of grids (internally represented by a tensor object). I.e. you assemble your simulation by constructing a number of grids, and updating them over the course of time steps. \n", "\n", "Phiflow internally works with tensors that have named dimensions. This will be especially handy later on for 2D simulations with additional batch and channel dimensions, but for now we'll simply convert the 1D array into a phiflow tensor that has a single spatial dimension `'x'`.\n" - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 2, - "metadata": {}, - "outputs": [], "source": [ "N = 128\n", "STEPS = 32\n", @@ -88,34 +86,24 @@ "INITIAL_NUMPY = np.asarray( [-np.sin(np.pi * x) * 1. for x in np.linspace(-1,1,N)] ) # 1D numpy array\n", "\n", "INITIAL = math.tensor(INITIAL_NUMPY, spatial('x') ) # convert to phiflow tensor\n" - ] + ], + "outputs": [], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "\n", "Next, we initialize a 1D `velocity` grid from the `INITIAL` numpy array that was converted into a tensor.\n", "The extent of our domain $\\Omega$ is specifiied via the `bounds` parameter $[-1,1]$, and the grid uses periodic boundary conditions (`extrapolation.PERIODIC`). These two properties are the main difference between a tensor and a grid: the latter has boundary conditions and a physical extent.\n", "\n", "Just to illustrate, we'll also print some info about the velocity object: it's a `phi.math` tensor with a size of 128. Note that the actual grid content is contained in the `values` of the grid. Below we're printing five entries by using the `numpy()` function to convert the content of the phiflow tensor into a numpy array. For tensors with more dimensions, we'd need to specify the order here, e.g., `'y,x,vector'` for a 2D velocity field. (If we'd call `numpy('x,vector')` below, this would convert the 1D array into one with an additional dimension for each 1D velocity component.)" - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Velocity tensor shape: (xˢ=128)\n", - "Velocity tensor type: \n", - "Velocity tensor entries 10 to 14: [0.47480196 0.51774486 0.55942075 0.59972764 0.6385669 ]\n" - ] - } - ], "source": [ "velocity = CenteredGrid(INITIAL, extrapolation.PERIODIC, x=N, bounds=Box[-1:1])\n", "#velocity = CenteredGrid(Noise(), extrapolation.PERIODIC, x=N, bounds=Box[-1:1]) # random init\n", @@ -123,30 +111,32 @@ "print(\"Velocity tensor shape: \" + format( velocity.shape )) # == velocity.values.shape\n", "print(\"Velocity tensor type: \" + format( type(velocity.values) ))\n", "print(\"Velocity tensor entries 10 to 14: \" + format( velocity.values.numpy()[10:15] ))" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Velocity tensor shape: (xˢ=128)\n", + "Velocity tensor type: \n", + "Velocity tensor entries 10 to 14: [0.47480196 0.51774486 0.55942075 0.59972764 0.6385669 ]\n" + ] + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Running the simulation\n", "\n", "Now we're ready to run the simulation itself. To ccompute the diffusion and advection components of our model equation we can simply call the existing `diffusion` and `semi_lagrangian` operators in phiflow: `diffuse.explicit(u,...)` computes an explicit diffusion step via central differences for the term $\\nu \\nabla\\cdot \\nabla u$ of our model. Next, `advect.semi_lagrangian(f,u)` is used for a stable first-order approximation of the transport of an arbitrary field `f` by a velocity `u`. In our model we have $\\partial u / \\partial{t} + u \\nabla f$, hence we use the `semi_lagrangian` function to transport the velocity with itself in the implementation:" - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "New velocity content at t=1.0: [0.00274862 0.01272991 0.02360343 0.03478042 0.0460869 ]\n" - ] - } - ], "source": [ "velocities = [velocity]\n", "age = 0.\n", @@ -157,11 +147,20 @@ " velocities.append(v2)\n", "\n", "print(\"New velocity content at t={}: {}\".format( age, velocities[-1].values.numpy()[0:5] ))" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "New velocity content at t=1.0: [0.00274862 0.01272991 0.02360343 0.03478042 0.0460869 ]\n" + ] + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "Here we're actually collecting all time steps in the list `velocities`. This is not necessary in general (and could consume lots of memory for long-running sims), but useful here to plot the evolution of the velocity states later on.\n", "\n", @@ -170,36 +169,12 @@ "## Visualization\n", "\n", "We can visualize this 1D case easily in a graph: the following code shows the initial state in blue, and then times $10/32, 20/32, 1$ in green, cyan and purple. " - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ "# get \"velocity.values\" from each phiflow state with a channel dimensions, i.e. \"vector\"\n", "vels = [v.values.numpy('x,vector') for v in velocities] # gives a list of 2D arrays \n", @@ -212,37 +187,47 @@ "fig.plot(np.linspace(-1,1,len(vels[20].flatten())), vels[20].flatten(), lw=2, color='cyan', label=\"t=0.625\")\n", "fig.plot(np.linspace(-1,1,len(vels[32].flatten())), vels[32].flatten(), lw=2, color='purple',label=\"t=1\")\n", "pylab.xlabel('x'); pylab.ylabel('u'); pylab.legend()\n" - ] + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 5 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "This nicely shows the shock developing in the center of our domain, which forms from the collision of the two initial velocity \"bumps\", the positive one on left (moving right) and the negative one right of the center (moving left).\n", "\n", "As these lines can overlap quite a bit we'll also use a different visualization in the following chapters that shows the evolution over the course of all time steps in a 2D image. Our 1D domain will be shown along the Y-axis, and each point along X will represent one time step.\n", "\n", "The code below converts our collection of velocity states into a 2D array, repeating individual time steps 8 times to make the image a bit wider. This is purely optional, of course, but makes it easier to see what's happening in our Burgers simulation." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ "def show_state(a, title):\n", " # we only have 33 time steps, blow up by a factor of 2^4 to make it easier to see\n", @@ -265,18 +250,32 @@ "np.savez_compressed(\"./temp/burgers-groundtruth-solution.npz\", np.reshape(vels_img,[N,STEPS+1])) # remove batch & channel dimension\n", "\n", "show_state(vels_img, \"Velocity\")" - ] + ], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "This concludes a first simulation in phiflow. It's not overly complex, but because of that it's a good starting point for evaluating and comparing different physics-based deep learning approaches in the next chapter. But before that, we'll target a more complex simulation type in the next section." - ] + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Next steps\n", "\n", @@ -285,7 +284,8 @@ "- Feel free to experiment - the setup above is very simple, you can change the simulation parameters, or the initialization. E.g., you can use a noise field via `Noise()` to get more chaotic results (cf. the comment in the `velocity` cell above).\n", "\n", "- A bit more complicated: extend the simulation to 2D (or higher). This will require changes throughout, but all operators above support higher dimensions. Before trying this, you probably will want to check out the next example, which covers a 2D Navier-Stokes case." - ] + ], + "metadata": {} } ], "metadata": { @@ -309,4 +309,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} +} \ No newline at end of file diff --git a/overview-equations.md b/overview-equations.md index a176f44..b2174c5 100644 --- a/overview-equations.md +++ b/overview-equations.md @@ -27,7 +27,7 @@ $$ $$ (learn-l2) We typically optimize, i.e. _train_, -with a stochastic gradient descent (SGD) optimizer of your choice, e.g. Adam {cite}`kingma2014adam`. +with a stochastic gradient descent (SGD) optimizer of choice, e.g. Adam {cite}`kingma2014adam`. We'll rely on auto-diff to compute the gradient w.r.t. weights, $\partial f / \partial \theta$, We will also assume that $e$ denotes a _scalar_ error function (also called cost, or objective function). @@ -39,7 +39,7 @@ introduce scalar loss, always(!) scalar... (also called *cost* or *objective* f For training we distinguish: the **training** data set drawn from some distribution, the **validation** set (from the same distribution, but different data), and **test** data sets with _some_ different distribution than the training one. -The latter distinction is important! For the test set we want +The latter distinction is important. For the test set we want _out of distribution_ (OOD) data to check how well our trained model generalizes. Note that this gives a huge range of possibilities for the test data set: from tiny changes that will certainly work, @@ -131,7 +131,8 @@ and the abbreviations used in: {doc}`notation`. We solve a discretized PDE $\mathcal{P}$ by performing steps of size $\Delta t$. The solution can be expressed as a function of $\mathbf{u}$ and its derivatives: $\mathbf{u}(\mathbf{x},t+\Delta t) = -\mathcal{P}(\mathbf{u}(\mathbf{x},t), \mathbf{u}(\mathbf{x},t)',\mathbf{u}(\mathbf{x},t)'',...)$. +\mathcal{P}( \mathbf{u}_{x}, \mathbf{u}_{xx}, ... \mathbf{u}_{xx...x} )$, where + $\mathbf{u}_{x}$ denotes the spatial derivatives $\partial \mathbf{u}(\mathbf{x},t) / \partial \mathbf{x}$. For all PDEs, we will assume non-dimensional parametrizations as outlined below, which could be re-scaled to real world quantities with suitable scaling factors. diff --git a/overview-ns-forw.ipynb b/overview-ns-forw.ipynb index 2b122d7..824d674 100644 --- a/overview-ns-forw.ipynb +++ b/overview-ns-forw.ipynb @@ -2,13 +2,10 @@ "cells": [ { "cell_type": "markdown", - "metadata": { - "id": "o4JZ84moBKMr" - }, "source": [ "# Navier-Stokes Forward Simulation\n", "\n", - "Now let's target a somewhat more complex example: a fluid simulation based on the Navier-Stokes equations. This is still very simple with ΦFlow (phiflow), as differentiable operators for all steps exist. The Navier-Stokes equations (in their incompressible form) introduce an additional pressure field $p$, and a constraint for conservation of mass, as introduced in equation {eq}`model-boussinesq2d`. We're also moving a marker field, denoted by $d$ here, with the flow. It indicates regions of higher temperature, and exerts a force via a buouyancy factor $\\xi$:\n", + "Now let's target a somewhat more complex example: a fluid simulation based on the Navier-Stokes equations. This is still very simple with ΦFlow (phiflow), as differentiable operators for all steps exist there. The Navier-Stokes equations (in their incompressible form) introduce an additional pressure field $p$, and a constraint for conservation of mass, as introduced in equation {eq}`model-boussinesq2d`. We're also moving a marker field, denoted by $d$ here, with the flow. It indicates regions of higher temperature, and exerts a force via a buouyancy factor $\\xi$:\n", "\n", "$$\\begin{aligned}\n", " \\frac{\\partial \\mathbf{u}}{\\partial{t}} + \\mathbf{u} \\cdot \\nabla \\mathbf{u} &= - \\frac{1}{\\rho} \\nabla p + \\nu \\nabla\\cdot \\nabla \\mathbf{u} + (0,1)^T \\xi d\n", @@ -22,137 +19,101 @@ "We'll solve this PDE on a closed domain with Dirichlet boundary conditions $\\mathbf{u}=0$ for the velocity, and Neumann boundaries $\\frac{\\partial p}{\\partial x}=0$ for pressure, on a domain $\\Omega$ with a physical size of $100 \\times 80$ units. \n", "[[run in colab]](https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/overview-ns-forw.ipynb)\n", "\n" - ] + ], + "metadata": { + "id": "o4JZ84moBKMr" + } }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Implementation\n", "\n", "As in the previous section, the first command with a \"!\" prefix installs the [phiflow python package from GitHub](https://github.com/tum-pbs/PhiFlow) via `pip` in your python environment. (Skip or modify this command if necessary.)" - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 1, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "da1uZcDXdVcF", - "outputId": "1082dc87-796c-4b57-e72e-5790fc1444c9" - }, - "outputs": [], "source": [ "#!pip install --upgrade --quiet phiflow \n", "!pip install --upgrade --quiet git+https://github.com/tum-pbs/PhiFlow@develop\n", "\n", "from phi.flow import * # The Dash GUI is not supported on Google colab, ignore the warning\n", "import pylab" - ] + ], + "outputs": [], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "da1uZcDXdVcF", + "outputId": "1082dc87-796c-4b57-e72e-5790fc1444c9" + } }, { "cell_type": "markdown", - "metadata": { - "id": "BVV1IKVqDfLl" - }, "source": [ "## Setting up the simulation\n", "\n", "The following code sets up a few constants, which are denoted by upper case names. We'll use $40\\times32$ cells to discretize our domain, introduce a slight viscosity via $\\nu$, and define the time step to be $\\Delta t=1.5$. \n", "\n", "We're creating a first `CenteredGrid` here, which is initialized by a `Sphere` geometry object. This will represent the inflow region `INFLOW` where hot smoke is generated." - ] + ], + "metadata": { + "id": "BVV1IKVqDfLl" + } }, { "cell_type": "code", "execution_count": 2, - "metadata": { - "id": "WrA3IXDxv31P" - }, - "outputs": [], "source": [ "DT = 1.5\n", "NU = 0.01\n", "\n", "INFLOW = CenteredGrid(Sphere(center=(30,15), radius=10), extrapolation.BOUNDARY, x=32, y=40, bounds=Box[0:80, 0:100]) * 0.2\n" - ] + ], + "outputs": [], + "metadata": { + "id": "WrA3IXDxv31P" + } }, { "cell_type": "markdown", - "metadata": { - "id": "ExA0Pi2sFVka" - }, "source": [ "The inflow will be used to inject smoke into a second centered grid `smoke` that represents the marker field $d$ from above. Note that we've defined a `Box` of size $100x80$ above. This is the physical scale in terms of spatial units in our simulation, i.e., a velocity of magnitude $1$ will move the smoke density by 1 unit per 1 time unit, which may be larger or smaller than a cell in the discretized grid, depending on the settings for `x,y`. You could parametrize your simulation grid to directly resemble real-world units, or keep appropriate conversion factors in mind. \n", "\n", "The inflow sphere above is already using the \"world\" coordinates: it is located at $x=30$ along the first axis, and $y=15$ (within the $100x80$ domain box).\n", "\n", "Next, we create grids for the quantities we want to simulate. For this example, we require a velocity field and a smoke density field." - ] + ], + "metadata": { + "id": "ExA0Pi2sFVka" + } }, { "cell_type": "code", "execution_count": 3, - "metadata": {}, - "outputs": [], "source": [ "smoke = CenteredGrid(0, extrapolation.BOUNDARY, x=32, y=40, bounds=Box[0:80, 0:100]) # sampled at cell centers\n", "velocity = StaggeredGrid(0, extrapolation.ZERO, x=32, y=40, bounds=Box[0:80, 0:100]) # sampled in staggered form at face centers " - ] + ], + "outputs": [], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "We sample the smoke field at the cell centers and the velocity in [staggered form](https://tum-pbs.github.io/PhiFlow/Staggered_Grids.html). The staggered grid internally contains 2 centered grids with different dimensions, and can be converted into centered grids (or simply numpy arrays) via the `unstack` function, as explained in the link above.\n", "\n", "Next we define the update step of the simulation, which calls the necessary functions to advance the state of our fluid system by `dt`. The next cell computes one such step, and plots the marker density after one simulation frame." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 4, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 282 - }, - "id": "WmGZdOwswOva", - "outputId": "3ae4d68d-b586-4bbe-eca9-a223d7720949" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Max. velocity and mean marker density: [0.15530995, 0.008125]\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ "def step(velocity, smoke, pressure, dt=1.0, buoyancy_factor=1.0):\n", " smoke = advect.semi_lagrangian(smoke, velocity, dt) + INFLOW\n", @@ -167,11 +128,49 @@ "print(\"Max. velocity and mean marker density: \" + format( [ math.max(velocity.values) , math.mean(smoke.values) ] ))\n", "\n", "pylab.imshow(np.asarray(smoke.values.numpy('y,x')), origin='lower', cmap='magma')" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Max. velocity and mean marker density: [0.15530995, 0.008125]\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 4 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 282 + }, + "id": "WmGZdOwswOva", + "outputId": "3ae4d68d-b586-4bbe-eca9-a223d7720949" + } }, { "cell_type": "markdown", - "metadata": {}, "source": [ "A lot has happened in this `step()` call: we've advected the smoke field, added an upwards force via a Boussinesq model, advected the velocity field, and finally made it divergence free via a pressure solve.\n", "\n", @@ -187,16 +186,21 @@ "The variables we created for the fields of the simulation here are instances of the class `Grid`.\n", "Like tensors, grids also have the `shape` attribute which lists all batch, spatial and channel dimensions.\n", "[Shapes in phiflow](https://tum-pbs.github.io/PhiFlow/Math.html#shapes) store not only the sizes of the dimensions but also their names and types." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "source": [ + "print(f\"Smoke: {smoke.shape}\")\n", + "print(f\"Velocity: {velocity.shape}\")\n", + "print(f\"Inflow: {INFLOW.shape}, spatial only: {INFLOW.shape.spatial}\")\n" + ], "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Smoke: (xˢ=32, yˢ=40)\n", "Velocity: (xˢ=32, yˢ=40, vectorᵛ=2)\n", @@ -204,63 +208,46 @@ ] } ], - "source": [ - "print(f\"Smoke: {smoke.shape}\")\n", - "print(f\"Velocity: {velocity.shape}\")\n", - "print(f\"Inflow: {INFLOW.shape}, spatial only: {INFLOW.shape.spatial}\")\n" - ] + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "Note that the phiflow output here indicates the type of a dimension, e.g., $^S$ for a spatial, and $^V$ for a vector dimension. Later on for learning, we'll also introduce batch dimensions.\n", "\n", "The actual content of a shape object can be obtained via `.sizes`, or alternatively we can query the size of a specific dimension `dim` via `.get_size('dim')`. Here are two examples:" - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "source": [ + "print(f\"Shape content: {velocity.shape.sizes}\")\n", + "print(f\"Vector dimension: {velocity.shape.get_size('vector')}\")" + ], "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Shape content: (32, 40, 2)\n", "Vector dimension: 2\n" ] } ], - "source": [ - "print(f\"Shape content: {velocity.shape.sizes}\")\n", - "print(f\"Vector dimension: {velocity.shape.get_size('vector')}\")" - ] + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "The grid values can be accessed using the `values` property. This is an important difference to a phiflow tensor object, which does not have `values`, as illustrated in the code example below." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Statistics of the different simulation grids:\n", - "(xˢ=32, yˢ=40) float32 0.0 < ... < 0.20000000298023224\n", - "(xˢ=(31, 32), yˢ=(40, 39), vectorᵛ=2) float32 -0.12352858483791351 < ... < 0.15530994534492493\n", - "Reordered test tensor shape: (3, 5, 2)\n" - ] - } - ], "source": [ "print(\"Statistics of the different simulation grids:\")\n", "print(smoke.values)\n", @@ -270,39 +257,50 @@ "test_tensor = math.tensor(numpy.zeros([2, 5, 3]), spatial('x,y'), channel('vector'))\n", "print(\"Reordered test tensor shape: \" + format(test_tensor.numpy('vector,y,x').shape) )\n", "#print(test_tensor.values.numpy('y,x')) # error! tensors don't return their content via \".values\"\n" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Statistics of the different simulation grids:\n", + "(xˢ=32, yˢ=40) float32 0.0 < ... < 0.20000000298023224\n", + "(xˢ=(31, 32), yˢ=(40, 39), vectorᵛ=2) float32 -0.12352858483791351 < ... < 0.15530994534492493\n", + "Reordered test tensor shape: (3, 5, 2)\n" + ] + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "Grids have many more properties which are documented [here](https://tum-pbs.github.io/PhiFlow/phi/field/#phi.field.Grid).\n", "Also note that the staggered grid has a [non-uniform shape](https://tum-pbs.github.io/PhiFlow/Math.html#non-uniform-tensors) because the number of faces is not equal to the number of cells (in this example the x component has $31 \\times 40$ cells, while y has $32 \\times 39$). The `INFLOW` grid naturally has the same dimensions as the `smoke` grid.\n" - ] + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Time evolution\n", "\n", "With this setup, we can easily advance the simulation forward in time a bit more by repeatedly calling the `step` function." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 8, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "0hZk5HX3w4Or", - "outputId": "f7811af7-4b58-4ff6-a8b6-6e7bedefaa6e" - }, + "source": [ + "for time_step in range(10):\n", + " velocity, smoke, pressure = step(velocity, smoke, pressure, dt=DT)\n", + " print('Computed frame {}, max velocity {}'.format(time_step , np.asarray(math.max(velocity.values)) ))\n" + ], "outputs": [ { - "name": "stdout", "output_type": "stream", + "name": "stdout", "text": [ "Computed frame 0, max velocity 0.4609803557395935\n", "Computed frame 1, max velocity 0.8926814794540405\n", @@ -317,24 +315,53 @@ ] } ], - "source": [ - "for time_step in range(10):\n", - " velocity, smoke, pressure = step(velocity, smoke, pressure, dt=DT)\n", - " print('Computed frame {}, max velocity {}'.format(time_step , np.asarray(math.max(velocity.values)) ))\n" - ] + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0hZk5HX3w4Or", + "outputId": "f7811af7-4b58-4ff6-a8b6-6e7bedefaa6e" + } }, { "cell_type": "markdown", - "metadata": { - "id": "GMKKWQBLHIwP" - }, "source": [ "Now the hot plume is starting to rise:" - ] + ], + "metadata": { + "id": "GMKKWQBLHIwP" + } }, { "cell_type": "code", "execution_count": 9, + "source": [ + "pylab.imshow(smoke.values.numpy('y,x'), origin='lower', cmap='magma')" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 9 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -342,79 +369,20 @@ }, "id": "Mfl80CjZxZcL", "outputId": "92f3a9ba-d403-4799-a543-132ee8ed234c" - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAANAAAAD4CAYAAACdW2gvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOd0lEQVR4nO3de4xU93nG8e8DWS4lKRcbE+RLcWqnEaoKVh3kyG7l0tJSt5FxFUVxo5a2lkikuEqkKJKVVq2TNFKjpvFfVVUiU1MptZ3aRqAoTkIIqu3UgoBNMJi4GMcXKBdzv3rZy9s/5qy14ZxhZ+edWWZ2n4802pl3zsz8js2zZ+a3v3mPIgIza86kKz0As27mAJklOEBmCQ6QWYIDZJbwnrF8MUme8rNudDQi5lbdMaYBqpk89i9pljLwRr17/BbOLMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzhBEDJGmapK2Sfippt6QvFfVHJP1c0o7isrjtozXrMI105ekFlkbEWUk9wHOSni7u+0JEPNG+4Zl1thEDFLXTN5wtbvYUF/d3M6PBz0CSJkvaARwBNkbEluKur0raKekhSVPrPHaVpG2StrVmyGadQ6M5P5CkWcA64K+BY8AhYAqwGtgXEV8e4fHhxorWfQa2R8StVfeMahYuIk4Cm4HlEXEwanqBfweWpMdp1mUamYWbWxx5kDQdWAb8TNL8oiZgBbCrfcM060yNzMLNB9ZKmkwtcN+OiO9I+pGkuYCAHcCn2zdMs840qs9A6RfzZyDrSi36DGRmv8gBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMktwgMwSHCCzBAfILMEBMkvItPa9UdIWSa9KelzSlPYP16yzNHIEGmrtuwhYDCyXdBvwNeChiLgJOAHc17ZRmnWoEQNU9H6rau27FBjqi72WWmsrswmlqda+wD7gZET0F5vsB66t81i39rVxq6EARcRARCwGrqPWgfRDjb5ARKyOiFvrtQUy62bNtvb9CDBL0lBjxuuAA60dmlnna7a17x5qQfpYsdlKYH2bxmjWsTKtfV8GHpP0D8CLwMNtHKdZR3JrX7MRubWvWVs4QGYJDpBZggNkluAAmSU4QGYJDpBZggNkluAAmSU4QGYJDpBZggNkluAAmSU4QGYJDpBZggNkluAAmSU4QGYJjTQVuV7SZkkvF619P1vUH5R0QNKO4nJX+4dr1lkaaSrSD3w+Il6Q9D5gu6SNxX0PRcTX2zc8s842YoAi4iBwsLh+RtIe6nQhNZtoRvUZSNIC4BZgS1G6X9JOSWskza7zGLf2tXGr4bZWkt4L/Dfw1Yh4StI84Ci1RvNfAeZHxF+N8Bxua2VdKNnWSlIP8CTwrYh4CiAiDhc9sweBb1LrmW02oTQyCydqXUf3RMQ3htXnD9vsHmBX64dn1tkamYW7Hfgz4KXiFCcAXwTulbSY2lu414FPtWF8Zh3NrX3NRuTWvmZt4QCZJThAZgkOkFmCA2SW4ACZJThAZgkOkFmCA2SW4ACZJThAZgkOkFmCA2SW4ACZJThAZgkOkFmCA2SW4ACZJWRa+86RtFHS3uJnZV84s/GskSPQUGvfhcBtwGckLQQeADZFxM3ApuK22YQyYoAi4mBEvFBcPwMMtfa9G1hbbLYWWNGmMZp1rEbaWr3rkta+84q+2QCHgHl1HrMKWJUYo1nHangSoWjt+yTwuYg4Pfy+qPXGquyPFRGrI+LWem2BzLpZ0619gcND3UmLn0faM0SzztV0a19gA7CyuL4SWN/64Zl1thE7k0q6A3gWeAkYLMpfpPY56NvADcAbwMcj4vgIz+XOpNaF6ncmdWtfsxG5ta9ZWzhAZgkOkFmCA2SW4ACZJThAZgkOkFmCA2SWMKrV2AZVfwiWqv84PLXn6oaftbfvaLkYg+UaEAxUVm3s+QhkluAAmSU4QGYJDpBZgicRAFX8Z/jA7D+q3PbPr15Uqn302hOV215/zcnya02q/rB/6O1fLtV+dOiqym3XHDhQqu08/VipNjh4vvLx1jo+ApklOEBmCQ6QWYIDZJbQSFORNZKOSNo1rPagpAOSdhSXu9o7TLPO1EhTkd8GzgL/ERG/XtQeBM5GxNdH9WId0ROh/PofnH1PqfbSp3sqH/2ev7yzVIv58yu3jem/1PCodKE8Y6Yj1Z3CYt1zpdrSr8ws1Z49/W/Vj493Gh6XQaonQkQ8A1y2247ZRJX5DHS/pJ3FWzyfmcEmpGYD9K/ArwKLgYPAP9fbUNIqSdskbWvytcw6VlMBiojDETEQEYPAN4Ell9nWvbFt3GpqKY+k+cPOzHAPsOty23eSmTM+WKr9eNn0Um3yF1ZUP8Fbb5VKk7Zsr962r6/xgU2dUirF7PLEAAB/UV5m9L03nyzVblx7S+XDD596vvFx2WWNGCBJjwJ3AldL2g/8PXCnpMXUvsX1OvCp9g3RrHONGKCIuLei/HAbxmLWdbwSwSzBATJLcIDMEibcF+pu6CnPps/52w+XN1y3sfLx57eeLNVOHSzP4gGc761eDlRlxvSLpdrM91cvuZn+4VdKtamr7ijVblpb3RXoMJ6FaxUfgcwSHCCzBAfILMEBMksYt5MIVZ12AG6fsaBcfLH8ofztp6s72ry0/7pS7eJg9e8h1R9eycDx8tbTDlW18IXFxw+XanMm7S7VfnPm3MrH/8/pimVDUZ7EsJH5CGSW4ACZJThAZgkOkFmCA2SWMG5n4eoZqGhCdOqH5d7Wz/38hsrHn+kvd/WZ2VM9W1ZlsE4TpKiYszv4TvVSoHOvXVuq3f50uV/27lPVS4wiGh+vXZ6PQGYJDpBZggNkluAAmSU00lRkDfDHwJFhrX3nAI8DC6g1Ffl4RFSfZeoKCfor6+vP/qBU++S+20u1rcfLy10ArplWngU401/9e2haxcm0qiYxAM4NlCcRzvdXLwZ6/u3y/7ZTfeVJj5/0PVH9YpVn+bZmNHIEegRYfkntAWBTRNwMbCpum004zfbGvhtYW1xfC6xo7bDMukOzfweaN6yx4iFgXr0NJa0CVjX5OmYdLf2H1IiI2mlL6t6/GlgNQ6c3MRs/mp2FOyxpPtTa/ALVJ7IxG+eaPQJtAFYC/1j8XN+yEbXZmd7ykpd/erliVitOVj5+0fvK/aqXvb+6B/asKeUvqfUOVJ9g7NjF8rKdDfurZ+Ge6Xu2VFv/2ulS7cz5fZWPt9Zp5BSPjwLPA78mab+k+6gFZ5mkvcDvFbfNJpxme2MD/G6Lx2LWdbwSwSzBATJLmHDfB7rQu79U+37/6lJt+tTqjjbLppff0R6/WO/M4+XlQBcGqn9nHa14jqumVj/r/7394zqvdykv2Wk3H4HMEhwgswQHyCzBATJLmHCTCFX6B06VanOn/lbltoculJfzTZ9cPYnQU/Hr6ULF934ATlws14/1Vk8CLJj9B6Xa6ye+W7mttZePQGYJDpBZggNkluAAmSU4QGYJnoUDoDyzNlhnGczZvsFS7Vhv9SzctMnl30/v1JmFO1Ixu9c3WH4tgKC6bmPPRyCzBAfILMEBMktwgMwSUpMIkl4HzlD74kl/RNzaikF1gnof1M/0lScXztVp7XuyYnnOxTqf/8/3lycRwk3AOl4rZuF+JyKOtuB5zLqO38KZJWQDFMAPJG0vWviWSFolaZukbcnXMus42bdwd0TEAUnXABsl/axoRv8ut/a18Sx1BIqIA8XPI8A6YEkrBmXWLZo+AkmaAUyKiDPF9d8HvtyykXWo1wfLbcBn9M6v3LZnUnmJT1+d03Sfulie3Xsl3hzl6GysZd7CzQPWSRp6nv+MiO+1ZFRmXaLpAEXEa8CiFo7FrOt4GtsswQEyS/D3gep440T1x7kps/+kVDvUO6ty24GY3vDrvTlYXsxxTtUnPq83Nht7PgKZJThAZgkOkFmCA2SW4ACZJXgWbpT2nniqVJsy+5OV2x7rK58hK+p0+7mgc6Wa+113Ph+BzBIcILMEB8gswQEyS1CMYeuX2jdS653R2qxTDWyv13HKRyCzBAfILMEBMktwgMwSUgGStFzSK5JelfRAqwZl1i2aDpCkycC/AH8ILATulbSwVQMz6waZI9AS4NWIeC0iLgKPAXe3Zlhm3SEToGuBt4bd3l/UfoFb+9p41vbV2G7ta+NZ5gh0ALh+2O3riprZhJE5Av0EuFnSjdSC8wngT0d4zFEYeKO4fnXt9rjj/eo+I+3br9S7I9OZtF/S/cD3qS1wWxMRu0d4zNyh65K2jacz2g3xfnWfzL6lPgNFxHcBf23SJiyvRDBLuJIBWn0FX7udvF/dp+l9G9PvA5mNN34LZ5bgAJkljHmAxtMKbklrJB2RtGtYbY6kjZL2Fj9nX8kxNkPS9ZI2S3pZ0m5Jny3qXb1vkqZJ2irpp8V+famo3yhpS/Fv8nFJUxp9zjEN0Dhcwf0IsPyS2gPApoi4GdhU3O42/cDnI2IhcBvwmeL/U7fvWy+wNCIWAYuB5ZJuA74GPBQRNwEngPsafcKxPgKNqxXcEfEMcPyS8t3A2uL6WmDFWI6pFSLiYES8UFw/A+yhtlC4q/ctas4WN3uKSwBLgSeK+qj2a6wD1NAK7i43LyIOFtcPUTsZc9eStAC4BdjCONg3SZMl7QCOABuBfcDJiOgvNhnVv0lPIrRR1P5G0LV/J5D0XuBJ4HMRcXr4fd26bxExEBGLqS1+XgJ8KPN8Yx2gibCC+7Ck+QDFzyNXeDxNkdRDLTzfioihjvrjYt8AIuIksBn4CDBL0tCytlH9mxzrAL27gruY6fgEsGGMx9BuG4CVxfWVwPorOJamSBLwMLAnIr4x7K6u3jdJcyXNKq5PB5ZR+3y3GfhYsdno9isixvQC3AX8L7X3nn8z1q/f4n15FDgI9FF773wfcBW1Gaq9wA+BOVd6nE3s1x3U3p7tBHYUl7u6fd+A3wBeLPZrF/B3Rf0DwFbgVeC/gKmNPqeX8pgleBLBLMEBMktwgMwSHCCzBAfILMEBMktwgMwS/h+wk0eEFYj+fgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "pylab.imshow(smoke.values.numpy('y,x'), origin='lower', cmap='magma')" - ] + } }, { "cell_type": "markdown", - "metadata": { - "id": "wnbQJvA-HPSL" - }, "source": [ "Let's compute and show a few more steps of the simulation. Because of the inflow being located off-center to the left (with x position 30), the plume will curve towards the right when it hits the top wall of the domain." - ] + ], + "metadata": { + "id": "wnbQJvA-HPSL" + } }, { "cell_type": "code", "execution_count": 10, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 489 - }, - "id": "tkhCOzc0ITsj", - "outputId": "f6366c12-1eb5-4ff6-e0d7-94b806bfd8e4" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Computing time step 0\n", - "Computing time step 1\n", - "Computing time step 2\n", - "Computing time step 10\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ "steps = [[ smoke.values, velocity.values.vector[0], velocity.values.vector[1] ]]\n", "for time_step in range(20):\n", @@ -428,45 +396,50 @@ "for i in range(len(steps)):\n", " axes[i].imshow(steps[i][0].numpy('y,x'), origin='lower', cmap='magma')\n", " axes[i].set_title(f\"d at t={i*5}\")" - ] + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Computing time step 0\n", + "Computing time step 1\n", + "Computing time step 2\n", + "Computing time step 10\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 489 + }, + "id": "tkhCOzc0ITsj", + "outputId": "f6366c12-1eb5-4ff6-e0d7-94b806bfd8e4" + } }, { "cell_type": "markdown", - "metadata": {}, "source": [ "We can also take a look at the velocities. The `steps` list above already stores `vector[0]` and `vector[1]` components of the velocities as numpy arrays, which we can show next." - ] + ], + "metadata": {} }, { "cell_type": "code", "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], "source": [ "fig, axes = pylab.subplots(1, len(steps), figsize=(16, 5))\n", "for i in range(len(steps)):\n", @@ -478,27 +451,54 @@ " axes[i].imshow(steps[i][2].numpy('y,x'), origin='lower', cmap='magma')\n", " axes[i].set_title(f\"u_y at t={i*5}\")\n", " " - ] + ], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} }, { "cell_type": "markdown", - "metadata": { - "id": "ooqVxCPM8PXl" - }, "source": [ "It looks simple here, but this simulation setup is a powerful tool. The simulation could easily be extended to more complex cases or 3D, and it is already fully compatible with backpropagation pipelines of deep learning frameworks. \n", "\n", "In the next chapters we'll show how to use these simulations for training NNs, and how to steer and modify them via trained NNs. This will illustrate how much we can improve the training process by having a solver in the loop, especially when the solver is _differentiable_. Before moving to these more complex training processes, we will cover a simpler supervised approach in the next chapter. This is very fundamental: even when aiming for advanced physics-based learning setups, a working supervised training is always the first step." - ] + ], + "metadata": { + "id": "ooqVxCPM8PXl" + } }, { "cell_type": "markdown", - "metadata": {}, "source": [ "## Next steps\n", "\n", "You could create a variety of nice fluid simulations based on this setup. E.g., try changing the spatial resolution, the buoyancy factors, and the overall length of the simulation run." - ] + ], + "metadata": {} } ], "metadata": { @@ -527,4 +527,4 @@ }, "nbformat": 4, "nbformat_minor": 1 -} +} \ No newline at end of file diff --git a/overview.md b/overview.md index 74f626f..6eb40e0 100644 --- a/overview.md +++ b/overview.md @@ -66,12 +66,13 @@ as the Navier-Stokes, Maxwell's, or Schroedinger's equations. Seemingly trivial changes to the discretization can determine whether key phenomena are visible in the solutions or not. Rather than discarding the powerful methods that have been -developed in the field of numerical mathematics, it -is highly beneficial for DL to use them as much as possible. +developed in the field of numerical mathematics, this book will +show that it is highly beneficial to use them as much as possible +when applying DL. ### Black boxes and magic? -People who are unfamiliear with DL methods often associate neural networks +People who are unfamiliar with DL methods often associate neural networks with _black boxes_, and see the training processes as something that is beyond the grasp of human understanding. However, these viewpoints typically stem from relying on hearsay and not dealing with the topic enough. @@ -81,10 +82,10 @@ and "all the gritty details" are not yet fully worked out. However, this is pret for scientific advances. Numerical methods themselves are a good example. Around 1950, numerical approximations and solvers had a tough standing. E.g., to cite H. Goldstine, -numerical instabilies were considered to be a "constant source of +numerical instabilities were considered to be a "constant source of anxiety in the future" {cite}`goldstine1990history`. By now we have a pretty good grasp of these instabilities, and numerical methods -are ubiquitous, and well established. +are ubiquitous and well established. Thus, it is important to be aware of the fact that -- in a way -- there is nothing magical or otherworldly to deep learning methods. They're simply another set of @@ -142,8 +143,8 @@ the most crucial differentiation for the following topics lies in the nature of the integration between DL techniques and the domain knowledge, typically in the form of model equations via partial differential equations (PDEs). -Taking a global perspective, the following three categories can be -identified to categorize _physics-based deep learning_ (PBDL) +The following three categories can be +identified to roughly categorize _physics-based deep learning_ (PBDL) techniques: - _Supervised_: the data is produced by a physical system (real or simulated), @@ -162,12 +163,11 @@ techniques: temporal evolutions, where they can yield an estimate of the future behavior of the dynamics. -Thus, methods can be roughly categorized in terms of forward versus inverse +Thus, methods can be categorized in terms of forward versus inverse solve, and how tightly the physical model is integrated into the optimization loop that trains the deep neural network. Here, especially -the interleaved approaches -that leverage _differentiable physics_ allow for very tight integration -of deep learning and numerical simulation methods. +interleaved approaches that leverage _differentiable physics_ allow for +very tight integration of deep learning and numerical simulation methods. ## Looking ahead @@ -176,8 +176,8 @@ _Physical simulations_ are a huge field, and we won't be able to cover all possi ```{note} Rather, the focus of this book lies on: - _Field-based simulations_ (no Lagrangian methods) -- Combinations with _deep learning_ (plenty of other interesting ML techniques, but not here) -- Experiments as _outlook_ (i.e., replace synthetic data with real-world observations) +- Combinations with _deep learning_ (plenty of other interesting ML techniques exist, but won't be discussed here) +- Experiments are left as an _outlook_ (i.e., replacing synthetic data with real-world observations) ``` It's also worth noting that we're starting to build the methods from some very diff --git a/physicalloss-code.ipynb b/physicalloss-code.ipynb index b67c4f8..9bd1577 100644 --- a/physicalloss-code.ipynb +++ b/physicalloss-code.ipynb @@ -33,7 +33,7 @@ "In terms of the $x,y^*$ notation from {doc}`overview-equations` and the previous section, this reconstruction problem means we are solving\n", "\n", "$$\n", - "\\text{arg min}_{\\theta} \\sum_i |f(x_i ; \\theta)-y^*_i|^2 + R(x_i) ,\n", + "\\text{arg min}_{\\theta} \\sum_i ( f(x_i ; \\theta)-y^*_i )^2 + R(x_i) ,\n", "$$\n", "\n", "where $x$ and $y^*$ are solutions of $u$ at different locations in space and time. As we're dealing with a 1D velocity, $x,y^* \\in \\mathbb{R}$.\n", diff --git a/physicalloss.md b/physicalloss.md index ebfaceb..e2502e1 100644 --- a/physicalloss.md +++ b/physicalloss.md @@ -3,7 +3,7 @@ Physical Loss Terms The supervised setting of the previous sections can quickly yield approximate solutions with a fairly simple training process. However, what's -quite sad to see here is that we only use physical models and numerics +quite sad to see here is that we only use physical models and numerical methods as an "external" tool to produce a big pile of data 😢. We as humans have a lot of knowledge about how to describe physical processes @@ -29,16 +29,17 @@ $$ $$ where the $_{\mathbf{x}}$ subscripts denote spatial derivatives with respect to one of the spatial dimensions -of higher and higher order (this can of course also include mixed derivatives with respect to different axes). +of higher and higher order (this can of course also include mixed derivatives with respect to different axes). \mathbf{u}_t denotes the changes over time. -In this context, we can approximate the unknown u itself with a neural network. If the approximation, which we call $\tilde{\mathbf{u}}$, is accurate, the PDE should be satisfied naturally. In other words, the residual R should be equal to zero: +In this context, we can approximate the unknown $\mathbf{u}$ itself with a neural network. If the approximation, which we call $\tilde{\mathbf{u}}$, is accurate, the PDE should be satisfied naturally. In other words, the residual R should be equal to zero: $$ R = \mathbf{u}_t - \mathcal F ( \mathbf{u}_{x}, \mathbf{u}_{xx}, ... \mathbf{u}_{xx...x} ) = 0 . $$ -This nicely integrates with the objective for training a neural network: similar to before -we can collect sample solutions +This nicely integrates with the objective for training a neural network: we can train for +minimizing this residual in combination with direct loss terms. +Similar to before, we can make use of sample solutions $[x_0,y_0], ...[x_n,y_n]$ for $\mathbf{u}$ with $\mathbf{u}(\mathbf{x})=y$. This is typically important, as most practical PDEs we encounter do not have unique solutions unless initial and boundary conditions are specified. Hence, if we only consider $R$ we might @@ -47,7 +48,7 @@ therefore help to _pin down_ the solution in certain places. Now our training objective becomes $$ -\text{arg min}_{\theta} \ \alpha_0 \sum_i (f(x_i ; \theta)-y_i)^2 + \alpha_1 R(x_i) , +\text{arg min}_{\theta} \ \alpha_0 \sum_i \big( f(x_i ; \theta)-y_i \big)^2 + \alpha_1 R(x_i) , $$ (physloss-training) where $\alpha_{0,1}$ denote hyperparameters that scale the contribution of the supervised term and diff --git a/supervised-airfoils.ipynb b/supervised-airfoils.ipynb index f61535d..ad91d44 100644 --- a/supervised-airfoils.ipynb +++ b/supervised-airfoils.ipynb @@ -36,7 +36,7 @@ "With the supervised formulation from {doc}`supervised`, our learning task is pretty straight-forward, and can be written as \n", "\n", "$$\\begin{aligned}\n", - "\\text{arg min}_{\\theta} \\sum_i |f(x_i ; \\theta)-y^*_i|^2 ,\n", + "\\text{arg min}_{\\theta} \\sum_i ( f(x_i ; \\theta)-y^*_i )^2 ,\n", "\\end{aligned}$$\n", "\n", "where $x$ and $y^*$ each consist of a set of physical fields,\n", diff --git a/supervised-discuss.md b/supervised-discuss.md index 0e8bd8b..c96e454 100644 --- a/supervised-discuss.md +++ b/supervised-discuss.md @@ -92,8 +92,8 @@ models at training time later on, the NNs just adjust their weights to represent they receive, and reproduce it. Due to the hype and numerous success stories, people not familiar with DL often have -the impression that DL works like a human mind, and is able to detect fundamental -and general principles in data sets (["messages from god"](https://dilbert.com/strip/2000-01-03) anyone?). +the impression that DL works like a human mind, and is able to extract fundamental +and general principles from data sets (["messages from god"](https://dilbert.com/strip/2000-01-03) anyone?). That's not what happens with the current state of the art. Nonetheless, it's the most powerful tool we have to approximate complex, non-linear functions. It is a great tool, but it's important to keep in mind, that once we set up the training @@ -119,8 +119,8 @@ As a rule of thumb: make sure you actually train the NN on the inputs that are as similar as possible to those you want to use at inference time. This is important to keep in mind during the next chapters: e.g., if we -want an NN to work in conjunction with another solver or simulation environment, -it's important to actually bring the solver into the training process, otherwise +want an NN to work in conjunction with a certain simulation environment, +it's important to actually include the simulator in the training process. Otherwise, the network might specialize on pre-computed data that differs from what is produced when combining the NN with the solver, i.e it will suffer from _distribution shift_. diff --git a/supervised.md b/supervised.md index ccae13a..9bd507c 100644 --- a/supervised.md +++ b/supervised.md @@ -78,5 +78,5 @@ is a very attractive and interesting direction. ## Show me some code! -Let's directly look at an example for this: we'll replace a full solver for -_turbulent flows around airfoils_ with a surrogate model from {cite}`thuerey2020dfp`. +Let's finally look at a code example that trains a neural network: +we'll replace a full solver for _turbulent flows around airfoils_ with a surrogate model from {cite}`thuerey2020dfp`.