{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2014 L.A. Barba, G.F. Forsyth, C. Cooper. Based on [CFDPython](https://github.com/barbagroup/CFDPython), (c)2013 L.A. Barba, also under CC-BY license." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Space & Time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Burgers' Equation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hi there! We have reached the final lesson of the series *Space and Time — Introduction to Finite-difference solutions of PDEs*, the second module of [\"Practical Numerical Methods with Python\"](https://openedx.seas.gwu.edu/courses/course-v1:MAE+MAE6286+2017/about).\n", "\n", "We have learned about the finite-difference solution for the linear and non-linear convection equations and the diffusion equation. It's time to combine all these into one: *Burgers' equation*. The wonders of *code reuse*!\n", "\n", "Before you continue, make sure you have completed the previous lessons of this series, it will make your life easier. You should have written your own versions of the codes in separate, clean Jupyter Notebooks or Python scripts." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can read about Burgers' Equation on its [wikipedia page](http://en.wikipedia.org/wiki/Burgers'_equation).\n", "Burgers' equation in one spatial dimension looks like this:\n", "\n", "$$\n", "\\begin{equation}\n", "\\frac{\\partial u}{\\partial t} + u \\frac{\\partial u}{\\partial x} = \\nu \\frac{\\partial ^2u}{\\partial x^2}\n", "\\end{equation}\n", "$$\n", "\n", "As you can see, it is a combination of non-linear convection and diffusion. It is surprising how much you learn from this neat little equation! \n", "\n", "We can discretize it using the methods we've already detailed in the previous notebooks of this module. Using forward difference for time, backward difference for space and our 2nd-order method for the second derivatives yields:\n", "\n", "$$\n", "\\begin{equation}\n", "\\frac{u_i^{n+1}-u_i^n}{\\Delta t} + u_i^n \\frac{u_i^n - u_{i-1}^n}{\\Delta x} = \\nu \\frac{u_{i+1}^n - 2u_i^n + u_{i-1}^n}{\\Delta x^2}\n", "\\end{equation}\n", "$$\n", "\n", "As before, once we have an initial condition, the only unknown is $u_i^{n+1}$. We will step in time as follows:\n", "\n", "$$\n", "\\begin{equation}\n", "u_i^{n+1} = u_i^n - u_i^n \\frac{\\Delta t}{\\Delta x} (u_i^n - u_{i-1}^n) + \\nu \\frac{\\Delta t}{\\Delta x^2}(u_{i+1}^n - 2u_i^n + u_{i-1}^n)\n", "\\end{equation}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initial and Boundary Conditions\n", "\n", "To examine some interesting properties of Burgers' equation, it is helpful to use different initial and boundary conditions than we've been using for previous steps. \n", "\n", "The initial condition for this problem is going to be:\n", "\n", "$$\n", "\\begin{eqnarray}\n", "u &=& -\\frac{2 \\nu}{\\phi} \\frac{\\partial \\phi}{\\partial x} + 4 \\\\\\\n", "\\phi(t=0) = \\phi_0 &=& \\exp \\bigg(\\frac{-x^2}{4 \\nu} \\bigg) + \\exp \\bigg(\\frac{-(x-2 \\pi)^2}{4 \\nu} \\bigg)\n", "\\end{eqnarray}\n", "$$\n", "\n", "This has an analytical solution, given by:\n", "\n", "$$\n", "\\begin{eqnarray}\n", "u &=& -\\frac{2 \\nu}{\\phi} \\frac{\\partial \\phi}{\\partial x} + 4 \\\\\\\n", "\\phi &=& \\exp \\bigg(\\frac{-(x-4t)^2}{4 \\nu (t+1)} \\bigg) + \\exp \\bigg(\\frac{-(x-4t -2 \\pi)^2}{4 \\nu(t+1)} \\bigg)\n", "\\end{eqnarray}\n", "$$\n", "\n", "The boundary condition will be:\n", "\n", "$$\n", "\\begin{equation}\n", "u(0) = u(2\\pi)\n", "\\end{equation}\n", "$$\n", "\n", "This is called a *periodic* boundary condition. Pay attention! This will cause you a bit of headache if you don't tread carefully." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Saving Time with SymPy\n", "\n", "\n", "The initial condition we're using for Burgers' Equation can be a bit of a pain to evaluate by hand. The derivative $\\frac{\\partial \\phi}{\\partial x}$ isn't too terribly difficult, but it would be easy to drop a sign or forget a factor of $x$ somewhere, so we're going to use SymPy to help us out. \n", "\n", "[SymPy](http://sympy.org/en/) is the symbolic math library for Python. It has a lot of the same symbolic math functionality as Mathematica with the added benefit that we can easily translate its results back into our Python calculations (it is also free and open source). \n", "\n", "Start by loading the SymPy library, together with our favorite library, NumPy." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy\n", "import sympy\n", "from matplotlib import pyplot\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Set the font family and size to use for Matplotlib figures.\n", "pyplot.rcParams['font.family'] = 'serif'\n", "pyplot.rcParams['font.size'] = 16" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We're also going to tell SymPy that we want all of its output to be rendered using $\\LaTeX$. This will make our Notebook beautiful!" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sympy.init_printing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start by setting up symbolic variables for the three variables in our initial condition. It's important to recognize that once we've defined these symbolic variables, they function differently than \"regular\" Python variables. \n", "\n", "If we type `x` into a code block, we'll get an error:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'x' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-4-6fcf9dfbd479>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'x' is not defined" ] } ], "source": [ "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`x` is not defined, so this shouldn't be a surprise. Now, let's set up `x` as a *symbolic* variable:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "x = sympy.symbols('x')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's see what happens when we type `x` into a code cell:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJCAYAAADkZNYtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAwUlEQVQYGVWQ3Q3CMAyE04oBKrEBbFCJDWADJDaADUB9St+QGKGMwAjtBghG6AZI2SB8l8b8WDqf7Vxd20WM0cnatq2gfUqcW8EnsAA1mINXiTNhwwcXgVKfUed8S76b4WQNOKdocktIXbtcO8Cj0xje+0psIO8Fy41tjJA7GK0JNMqfJfFvhRm1kGyY6OvTzAi0wADrD+rqiJ9iGfER6koCPd5AEsEb8DHetWiAQ6HlSK7gnhW6gO6tizxUQ5iu8gZXOlF/Vp9rRgAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x$" ], "text/plain": [ "x" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The value of `x` is $x$. Sympy is also referred to as a computer algebra system -- normally the value of `5*x` will return the product of `5` and whatever value `x` is pointing to. But, if we define `x` as a symbol, then something else happens:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABZklEQVQ4Ea2U303DQAyH04oBKtigbFCJDWADEBvABqA+JW9Vu0HDBrQbtBtAO0I2ALJB+L7rXSB5ACph6Xf+c7brs50OmqbJiqLYZVm2BM/INZgg34MN8hr+ZxrEhB9EjHpRC5I99my/qifRo4JvwRi8gDXJtB1PVpjn+Ur+HxgeX8LPEenJGU+8i6728hwsse2/h6N7l/wukO2xbXKIZ+AtVaijEy7BAnkOdsiX8EAx2dT76LPhQkyifo18GyrEcBWi4oFeAYfkKlmtNAWzIB0O7VZXRptrVqUKo63DnPKYxAZJM+T6IIbTZ26TzQJANeRYARe7Tyk4JMQn6cnPdvjkDllh26fOzdeiv/bsGcmtTrItHbKHDsP398kf2qfK4DY9PTEUga3dAuQH7ksrnKPY/JbQXY1TcKMR3QQrEBLB+0O0Lf4H1Olb1uBO2Sfld3Ud4CYcwZ6An6XkZP1RJx36j0+Y9icZucR0ZBkKdgAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 5 x$" ], "text/plain": [ "5⋅x" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5 * x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will let us manipulate an equation with unknowns using Python! Let's start by defining symbols for $x$, $\\nu$ and $t$ and then type out the full equation for $\\phi$. We should get a nicely rendered version of our $\\phi$ equation." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle e^{- \\frac{\\left(- 4 t + x - 2 \\pi\\right)^{2}}{4 \\nu \\left(t + 1\\right)}} + e^{- \\frac{\\left(- 4 t + x\\right)^{2}}{4 \\nu \\left(t + 1\\right)}}$" ], "text/plain": [ " 2 2 \n", " -(-4⋅t + x - 2⋅π) -(-4⋅t + x) \n", " ─────────────────── ─────────────\n", " 4⋅ν⋅(t + 1) 4⋅ν⋅(t + 1) \n", "ℯ + ℯ " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x, nu, t = sympy.symbols('x nu t')\n", "phi = (sympy.exp(-(x - 4 * t)**2 / (4 * nu * (t + 1))) +\n", " sympy.exp(-(x - 4 * t - 2 * sympy.pi)**2 / (4 * nu * (t + 1))))\n", "phi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's maybe a little small, but that looks right. Now to evaluate our partial derivative $\\frac{\\partial \\phi}{\\partial x}$ is a trivial task. To take a derivative with respect to $x$, we can just use:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle - \\frac{\\left(- 8 t + 2 x\\right) e^{- \\frac{\\left(- 4 t + x\\right)^{2}}{4 \\nu \\left(t + 1\\right)}}}{4 \\nu \\left(t + 1\\right)} - \\frac{\\left(- 8 t + 2 x - 4 \\pi\\right) e^{- \\frac{\\left(- 4 t + x - 2 \\pi\\right)^{2}}{4 \\nu \\left(t + 1\\right)}}}{4 \\nu \\left(t + 1\\right)}$" ], "text/plain": [ " 2 2 \n", " -(-4⋅t + x) -(-4⋅t + x - 2⋅π) \n", " ───────────── ───────────────────\n", " 4⋅ν⋅(t + 1) 4⋅ν⋅(t + 1) \n", " (-8⋅t + 2⋅x)⋅ℯ (-8⋅t + 2⋅x - 4⋅π)⋅ℯ \n", "- ─────────────────────────── - ───────────────────────────────────────\n", " 4⋅ν⋅(t + 1) 4⋅ν⋅(t + 1) " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phiprime = phi.diff(x)\n", "phiprime" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to see the non-rendered version, just use the Python print command." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-(-8*t + 2*x)*exp(-(-4*t + x)**2/(4*nu*(t + 1)))/(4*nu*(t + 1)) - (-8*t + 2*x - 4*pi)*exp(-(-4*t + x - 2*pi)**2/(4*nu*(t + 1)))/(4*nu*(t + 1))\n" ] } ], "source": [ "print(phiprime)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Now what?\n", "\n", "\n", "Now that we have the Pythonic version of our derivative, we can finish writing out the full initial condition equation and then translate it into a usable Python expression. For this, we'll use the *lambdify* function, which takes a SymPy symbolic equation and turns it into a callable function. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-2*nu*(-(-8*t + 2*x)*exp(-(-4*t + x)**2/(4*nu*(t + 1)))/(4*nu*(t + 1)) - (-8*t + 2*x - 4*pi)*exp(-(-4*t + x - 2*pi)**2/(4*nu*(t + 1)))/(4*nu*(t + 1)))/(exp(-(-4*t + x - 2*pi)**2/(4*nu*(t + 1))) + exp(-(-4*t + x)**2/(4*nu*(t + 1)))) + 4\n" ] } ], "source": [ "from sympy.utilities.lambdify import lambdify\n", "\n", "u = -2 * nu * (phiprime / phi) + 4\n", "print(u)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lambdify\n", "\n", "To lambdify this expression into a usable function, we tell lambdify which variables to request and the function we want to plug them into." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The value of u at t=1, x=4, nu=3 is 3.49170664206445\n" ] } ], "source": [ "u_lamb = lambdify((t, x, nu), u)\n", "print('The value of u at t=1, x=4, nu=3 is {}'.format(u_lamb(1, 4, 3)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Back to Burgers' Equation\n", "\n", "Now that we have the initial conditions set up, we can proceed and finish setting up the problem. We can generate the plot of the initial condition using our lambdify-ed function." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Set parameters.\n", "nx = 101 # number of spatial grid points\n", "L = 2.0 * numpy.pi # length of the domain\n", "dx = L / (nx - 1) # spatial grid size\n", "nu = 0.07 # viscosity\n", "nt = 100 # number of time steps to compute\n", "sigma = 0.1 # CFL limit\n", "dt = sigma * dx**2 / nu # time-step size\n", "\n", "# Discretize the domain.\n", "x = numpy.linspace(0.0, L, num=nx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have a function `u_lamb` but we need to create an array `u0` with our initial conditions. `u_lamb` will return the value for any given time $t$, position $x$ and $nu$. We can use a `for`-loop to cycle through values of `x` to generate the `u0` array. That code would look something like this:\n", "\n", "```Python\n", "u0 = numpy.empty(nx)\n", "\n", "for i, x0 in enumerate(x):\n", " u0[i] = u_lamb(t, x0, nu)\n", "```\n", "\n", "But there's a cleaner, more beautiful way to do this -- *list comprehension*. \n", "\n", "We can create a list of all of the appropriate `u` values by typing\n", "\n", "```Python\n", "[u_lamb(t, x0, nu) for x0 in x]\n", "```\n", "\n", "You can see that the syntax is similar to the `for`-loop, but it only takes one line. Using a list comprehension will create... a list. This is different from an *array*, but converting a list to an array is trivial using `numpy.asarray()`. \n", "\n", "With the list comprehension in place, the three lines of code above become one:\n", "\n", "```Python\n", "u = numpy.asarray([u_lamb(t, x0, nu) for x0 in x])\n", "```" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4. , 4.06283185, 4.12566371, 4.18849556, 4.25132741,\n", " 4.31415927, 4.37699112, 4.43982297, 4.50265482, 4.56548668,\n", " 4.62831853, 4.69115038, 4.75398224, 4.81681409, 4.87964594,\n", " 4.9424778 , 5.00530965, 5.0681415 , 5.13097336, 5.19380521,\n", " 5.25663706, 5.31946891, 5.38230077, 5.44513262, 5.50796447,\n", " 5.57079633, 5.63362818, 5.69646003, 5.75929189, 5.82212374,\n", " 5.88495559, 5.94778745, 6.0106193 , 6.07345115, 6.136283 ,\n", " 6.19911486, 6.26194671, 6.32477856, 6.38761042, 6.45044227,\n", " 6.51327412, 6.57610598, 6.63893783, 6.70176967, 6.76460125,\n", " 6.82742866, 6.89018589, 6.95176632, 6.99367964, 6.72527549,\n", " 4. , 1.27472451, 1.00632036, 1.04823368, 1.10981411,\n", " 1.17257134, 1.23539875, 1.29823033, 1.36106217, 1.42389402,\n", " 1.48672588, 1.54955773, 1.61238958, 1.67522144, 1.73805329,\n", " 1.80088514, 1.863717 , 1.92654885, 1.9893807 , 2.05221255,\n", " 2.11504441, 2.17787626, 2.24070811, 2.30353997, 2.36637182,\n", " 2.42920367, 2.49203553, 2.55486738, 2.61769923, 2.68053109,\n", " 2.74336294, 2.80619479, 2.86902664, 2.9318585 , 2.99469035,\n", " 3.0575222 , 3.12035406, 3.18318591, 3.24601776, 3.30884962,\n", " 3.37168147, 3.43451332, 3.49734518, 3.56017703, 3.62300888,\n", " 3.68584073, 3.74867259, 3.81150444, 3.87433629, 3.93716815,\n", " 4. ])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Set initial conditions.\n", "t = 0.0\n", "u0 = numpy.array([u_lamb(t, xi, nu) for xi in x])\n", "u0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the initial conditions set up, we can plot it to see what $u(x,0)$ looks like:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the initial conditions.\n", "pyplot.figure(figsize=(6.0, 4.0))\n", "pyplot.title('Initial conditions')\n", "pyplot.xlabel('x')\n", "pyplot.ylabel('u')\n", "pyplot.grid()\n", "pyplot.plot(x, u0, color='C0', linestyle='-', linewidth=2)\n", "pyplot.xlim(0.0, L)\n", "pyplot.ylim(0.0, 10.0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is definitely not the hat function we've been dealing with until now. We call it a \"saw-tooth function\". Let's proceed forward and see what happens. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Periodic Boundary Conditions\n", "\n", "We will implement Burgers' equation with *periodic* boundary conditions. If you experiment with the linear and non-linear convection notebooks and make the simulation run longer (by increasing `nt`) you will notice that the wave will keep moving to the right until it no longer even shows up in the plot. \n", "\n", "With periodic boundary conditions, when a point gets to the right-hand side of the frame, it *wraps around* back to the front of the frame. \n", "\n", "Recall the discretization that we worked out at the beginning of this notebook:\n", "\n", "$$\n", "\\begin{equation}\n", "u_i^{n+1} = u_i^n - u_i^n \\frac{\\Delta t}{\\Delta x} (u_i^n - u_{i-1}^n) + \\nu \\frac{\\Delta t}{\\Delta x^2}(u_{i+1}^n - 2u_i^n + u_{i-1}^n)\n", "\\end{equation}\n", "$$\n", "\n", "What does $u_{i+1}^n$ *mean* when $i$ is already at the end of the frame?\n", "\n", "Think about this for a minute before proceeding." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Integrate the Burgers' equation in time.\n", "u = u0.copy()\n", "for n in range(nt):\n", " un = u.copy()\n", " # Update all interior points.\n", " u[1:-1] = (un[1:-1] -\n", " un[1:-1] * dt / dx * (un[1:-1] - un[:-2]) +\n", " nu * dt / dx**2 * (un[2:] - 2 * un[1:-1] + un[:-2]))\n", " # Update boundary points.\n", " u[0] = (un[0] -\n", " un[0] * dt / dx * (un[0] - un[-1]) +\n", " nu * dt / dx**2 * (un[1] - 2 * un[0] + un[-1]))\n", " u[-1] = (un[-1] -\n", " un[-1] * dt / dx * (un[-1] - un[-2]) +\n", " nu * dt / dx**2 * (un[0] - 2 * un[-1] + un[-2]))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Compute the analytical solution.\n", "u_analytical = numpy.array([u_lamb(nt * dt, xi, nu) for xi in x])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the numerical solution along with the analytical solution.\n", "pyplot.figure(figsize=(6.0, 4.0))\n", "pyplot.xlabel('x')\n", "pyplot.ylabel('u')\n", "pyplot.grid()\n", "pyplot.plot(x, u, label='Numerical',\n", " color='C0', linestyle='-', linewidth=2)\n", "pyplot.plot(x, u_analytical, label='Analytical',\n", " color='C1', linestyle='--', linewidth=2)\n", "pyplot.legend()\n", "pyplot.xlim(0.0, L)\n", "pyplot.ylim(0.0, 10.0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now create an animation with the `animation` module of Matplotlib to observe how the numerical solution changes over time compared to the analytical solution.\n", "We start by importing the module from Matplotlib as well as the special `HTML` display method." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "from matplotlib import animation\n", "from IPython.display import HTML" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We create a function `burgers` to computes the numerical solution of the 1D Burgers' equation over time.\n", "(The function returns the history of the solution: a list with `nt` elements, each one being the solution in the domain at a time step.)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "def burgers(u0, dx, dt, nu, nt=20):\n", " \"\"\"\n", " Computes the numerical solution of the 1D Burgers' equation\n", " over the time steps.\n", " \n", " Parameters\n", " ----------\n", " u0 : numpy.ndarray\n", " The initial conditions as a 1D array of floats.\n", " dx : float\n", " The grid spacing.\n", " dt : float\n", " The time-step size.\n", " nu : float\n", " The viscosity.\n", " nt : integer, optional\n", " The number of time steps to compute;\n", " default: 20.\n", " \n", " Returns\n", " -------\n", " u_hist : list of numpy.ndarray objects\n", " The history of the numerical solution.\n", " \"\"\"\n", " u_hist = [u0.copy()]\n", " u = u0.copy()\n", " for n in range(nt):\n", " un = u.copy()\n", " # Update all interior points.\n", " u[1:-1] = (un[1:-1] -\n", " un[1:-1] * dt / dx * (un[1:-1] - un[:-2]) +\n", " nu * dt / dx**2 * (un[2:] - 2 * un[1:-1] + un[:-2]))\n", " # Update boundary points.\n", " u[0] = (un[0] -\n", " un[0] * dt / dx * (un[0] - un[-1]) +\n", " nu * dt / dx**2 * (un[1] - 2 * un[0] + un[-1]))\n", " u[-1] = (un[-1] -\n", " un[-1] * dt / dx * (un[-1] - un[-2]) +\n", " nu * dt / dx**2 * (un[0] - 2 * un[-1] + un[-2]))\n", " u_hist.append(u.copy())\n", " return u_hist" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Compute the history of the numerical solution.\n", "u_hist = burgers(u0, dx, dt, nu, nt=nt)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Compute the history of the analytical solution.\n", "u_analytical = [numpy.array([u_lamb(n * dt, xi, nu) for xi in x])\n", " for n in range(nt)]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = pyplot.figure(figsize=(6.0, 4.0))\n", "pyplot.xlabel('x')\n", "pyplot.ylabel('u')\n", "pyplot.grid()\n", "u0_analytical = numpy.array([u_lamb(0.0, xi, nu) for xi in x])\n", "line1 = pyplot.plot(x, u0, label='Numerical',\n", " color='C0', linestyle='-', linewidth=2)[0]\n", "line2 = pyplot.plot(x, u0_analytical, label='Analytical',\n", " color='C1', linestyle='--', linewidth=2)[0]\n", "pyplot.legend()\n", "pyplot.xlim(0.0, L)\n", "pyplot.ylim(0.0, 10.0)\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "def update_plot(n, u_hist, u_analytical):\n", " \"\"\"\n", " Update the lines y-data of the Matplotlib figure.\n", " \n", " Parameters\n", " ----------\n", " n : integer\n", " The time-step index.\n", " u_hist : list of numpy.ndarray objects\n", " The history of the numerical solution.\n", " u_analytical : list of numpy.ndarray objects\n", " The history of the analytical solution.\n", " \"\"\"\n", " fig.suptitle('Time step {:0>2}'.format(n))\n", " line1.set_ydata(u_hist[n])\n", " line2.set_ydata(u_analytical[n])" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# Create an animation.\n", "anim = animation.FuncAnimation(fig, update_plot,\n", " frames=nt, fargs=(u_hist, u_analytical),\n", " interval=100)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<video width=\"432\" height=\"288\" controls autoplay loop>\n", " <source type=\"video/mp4\" src=\"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAFzLG1kYXQAAAKgBgX//5zcRem9\n", "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTUyIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv\n", "cHlsZWZ0IDIwMDMtMjAxNyAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w\n", "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o\n", "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2\n", "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0\n", "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTkgbG9va2FoZWFkX3RocmVhZHM9\n", "MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2Nv\n", "bXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0zIGJfcHlyYW1pZD0yIGJfYWRhcHQ9\n", "MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3ZWlnaHRwPTIga2V5aW50\n", "PTI1MCBrZXlpbnRfbWluPTEwIHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhl\n", "YWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02\n", "OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAf8WWIhAAR//73iB8yy2n5Otdy\n", "EeetLq0fUO5n30vw33CIBNYj6Nmv4QUHuFLpw5MI3d/UMuE4Ain+B1YBaya47kGJ3fve+XuP5qqn\n", "ULrMKDrN4tORyg/LfT2q0hLApSPIAx1ZvPMr3XNL4pHfJwzuK10+yrAoLrLBYsuNa8EhzpxIdyPL\n", "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\n", "AAAAAQAAFAAAAAABAAAIAAAAAAEAAAAAAAAAAQAABAAAAAABAAAUAAAAAAEAAAgAAAAAAQAAAAAA\n", "AAABAAAEAAAAAAEAABQAAAAAAQAACAAAAAABAAAAAAAAAAEAAAQAAAAAAQAAFAAAAAABAAAIAAAA\n", "AAEAAAAAAAAAAQAABAAAAAABAAAUAAAAAAEAAAgAAAAAAQAAAAAAAAABAAAEAAAAAAEAAAwAAAAA\n", "AQAABAAAAAABAAAMAAAAAAEAAAQAAAAAAQAAFAAAAAABAAAIAAAAAAEAAAAAAAAAAQAABAAAAAAB\n", "AAAIAAAAAAEAABQAAAAAAQAACAAAAAABAAAAAAAAAAEAAAQAAAAAAQAAFAAAAAABAAAIAAAAAAEA\n", "AAAAAAAAAQAABAAAAAABAAAMAAAAAAEAAAQAAAAAAQAAEAAAAAACAAAEAAAAAAEAAAwAAAAAAQAA\n", "BAAAAAABAAAQAAAAAAIAAAQAAAAAAQAADAAAAAABAAAEAAAAAAEAAAgAAAAAAQAAFAAAAAABAAAI\n", "AAAAAAEAAAAAAAAAAQAABAAAAAABAAAUAAAAAAEAAAgAAAAAAQAAAAAAAAABAAAEAAAAAAEAABQA\n", "AAAAAQAACAAAAAABAAAAAAAAAAEAAAQAAAAAAQAAFAAAAAABAAAIAAAAAAEAAAAAAAAAAQAABAAA\n", "AAABAAAUAAAAAAEAAAgAAAAAAQAAAAAAAAABAAAEAAAAAAEAABQAAAAAAQAACAAAAAABAAAAAAAA\n", "AAEAAAQAAAAAAQAAFAAAAAABAAAIAAAAAAEAAAAAAAAAAQAABAAAAAABAAAUAAAAAAEAAAgAAAAA\n", "AQAAAAAAAAABAAAEAAAAAAEAABQAAAAAAQAACAAAAAABAAAAAAAAAAEAAAQAAAAAAQAAFAAAAAAB\n", "AAAIAAAAAAEAAAAAAAAAAQAABAAAAAABAAAQAAAAAAIAAAQAAAAAHHN0c2MAAAAAAAAAAQAAAAEA\n", "AABkAAAAAQAAAaRzdHN6AAAAAAAAAAAAAABkAAAimQAAB6MAAAOEAAACTAAAAgMAAAXkAAACHgAA\n", "ByYAAAM3AAAChAAAAksAAAbSAAADLwAAAiMAAAI5AAAG5AAAA0wAAAIcAAACCQAABvsAAAMEAAAC\n", "EAAAAgUAAAaJAAADDQAAAgcAAAIoAAAF+gAAAkEAAAYPAAACDgAABUwAAAMsAAAB8AAAAgwAAAWm\n", "AAAGCQAAA0cAAAIgAAACNwAABpMAAANxAAACMAAAAhIAAAYbAAACLQAABnEAAAKIAAAB5wAABqYA\n", "AAHsAAAGhAAAAmIAAAHaAAAGDgAAAegAAAW7AAAGhgAAAxMAAAG6AAABiwAABmIAAAMRAAABgQAA\n", "AbkAAAZDAAACYwAAAYsAAAF2AAAGUwAAAtAAAAFpAAABmQAABjwAAAM1AAABfQAAAZkAAAaMAAAD\n", "GAAAAacAAAGrAAAFdQAAAwAAAAHbAAABjQAABdIAAALsAAABdgAAAaAAAAVxAAACwgAAAXkAAAGo\n", "AAAEiwAAAy0AAAE3AAABVgAAAvgAAAIeAAABngAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEA\n", "AABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWp\n", "dG9vAAAAHWRhdGEAAAABAAAAAExhdmY1OC4yOS4xMDA=\n", "\">\n", " Your browser does not support the video tag.\n", "</video>" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Display the video.\n", "HTML(anim.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Array Operation Speed Increase" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Coding up discretization schemes using array operations can be a bit of a pain. It requires much more mental effort on the front-end than using two nested `for` loops. So why do we do it? Because it's fast. Very, very fast.\n", "\n", "Here's what the Burgers code looks like using two nested `for` loops. It's easier to write out, plus we only have to add one \"special\" condition to implement the periodic boundaries. \n", "\n", "At the top of the cell, you'll see the decorator `%%timeit`.\n", "This is called a \"cell magic\". It runs the cell several times and returns the average execution time for the contained code. \n", "\n", "Let's see how long the nested `for` loops take to finish." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "23.1 ms ± 344 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], "source": [ "%%timeit\n", "# Set initial conditions.\n", "u = numpy.array([u_lamb(t, x0, nu) for x0 in x])\n", "# Integrate in time using a nested for loop.\n", "for n in range(nt):\n", " un = u.copy()\n", " # Update all interior points and the left boundary point.\n", " for i in range(nx - 1):\n", " u[i] = (un[i] -\n", " un[i] * dt / dx *(un[i] - un[i - 1]) +\n", " nu * dt / dx**2 * (un[i + 1] - 2 * un[i] + un[i - 1]))\n", " # Update the right boundary.\n", " u[-1] = (un[-1] -\n", " un[-1] * dt / dx * (un[-1] - un[-2]) +\n", " nu * dt / dx**2 * (un[0]- 2 * un[-1] + un[-2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Less than 50 milliseconds. Not bad, really. \n", "\n", "Now let's look at the array operations code cell. Notice that we haven't changed anything, except we've added the `%%timeit` magic and we're also resetting the array `u` to its initial conditions. \n", "\n", "This takes longer to code and we have to add two special conditions to take care of the periodic boundaries. Was it worth it?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.52 ms ± 64.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], "source": [ "%%timeit\n", "# Set initial conditions.\n", "u = numpy.array([u_lamb(t, xi, nu) for xi in x])\n", "# Integrate in time using array operations.\n", "for n in range(nt):\n", " un = u.copy()\n", " # Update all interior points.\n", " u[1:-1] = (un[1:-1] -\n", " un[1:-1] * dt / dx * (un[1:-1] - un[:-2]) +\n", " nu * dt / dx**2 * (un[2:] - 2 * un[1:-1] + un[:-2]))\n", " # Update boundary points.\n", " u[0] = (un[0] -\n", " un[0] * dt / dx * (un[0] - un[-1]) +\n", " nu * dt / dx**2 * (un[1] - 2 * un[0] + un[-1]))\n", " u[-1] = (un[-1] -\n", " un[-1] * dt / dx * (un[-1] - un[-2]) +\n", " nu * dt / dx**2 * (un[0] - 2 * un[-1] + un[-2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yes, it is absolutely worth it. That's a nine-fold speed increase. For this exercise, you probably won't miss the extra 40 milliseconds if you use the nested `for` loops, but what about a simulation that has to run through millions and millions of iterations? Then that little extra effort at the beginning will definitely pay off. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "###### The cell below loads the style of the notebook." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<link href='http://fonts.googleapis.com/css?family=Alegreya+Sans:100,300,400,500,700,800,900,100italic,300italic,400italic,500italic,700italic,800italic,900italic' rel='stylesheet' type='text/css'>\n", "<link href='http://fonts.googleapis.com/css?family=Arvo:400,700,400italic' rel='stylesheet' type='text/css'>\n", "<link href='http://fonts.googleapis.com/css?family=PT+Mono' rel='stylesheet' type='text/css'>\n", "<link href='http://fonts.googleapis.com/css?family=Shadows+Into+Light' rel='stylesheet' type='text/css'>\n", "<link href='http://fonts.googleapis.com/css?family=Nixie+One' rel='stylesheet' type='text/css'>\n", "<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro' rel='stylesheet' type='text/css'>\n", "<style>\n", "\n", "@font-face {\n", " font-family: \"Computer Modern\";\n", " src: url('http://mirrors.ctan.org/fonts/cm-unicode/fonts/otf/cmunss.otf');\n", "}\n", "\n", "#notebook_panel { /* main background */\n", " background: rgb(245,245,245);\n", "}\n", "\n", "div.cell { /* set cell width */\n", " width: 750px;\n", "}\n", "\n", "div #notebook { /* centre the content */\n", " background: #fff; /* white background for content */\n", " width: 1000px;\n", " margin: auto;\n", " padding-left: 0em;\n", "}\n", "\n", "#notebook li { /* More space between bullet points */\n", " margin-top:0.8em;\n", "}\n", "\n", "/* draw border around running cells */\n", "div.cell.border-box-sizing.code_cell.running { \n", " border: 1px solid #111;\n", "}\n", "\n", "/* Put a solid color box around each cell and its output, visually linking them*/\n", "div.cell.code_cell {\n", " background-color: rgb(256,256,256); \n", " border-radius: 0px; \n", " padding: 0.5em;\n", " margin-left:1em;\n", " margin-top: 1em;\n", "}\n", "\n", "div.text_cell_render{\n", " font-family: 'Alegreya Sans' sans-serif;\n", " line-height: 140%;\n", " font-size: 125%;\n", " font-weight: 400;\n", " width:600px;\n", " margin-left:auto;\n", " margin-right:auto;\n", "}\n", "\n", "\n", "/* Formatting for header cells */\n", ".text_cell_render h1 {\n", " font-family: 'Nixie One', serif;\n", " font-style:regular;\n", " font-weight: 400; \n", " font-size: 45pt;\n", " line-height: 100%;\n", " color: rgb(0,51,102);\n", " margin-bottom: 0.5em;\n", " margin-top: 0.5em;\n", " display: block;\n", "}\n", "\n", ".text_cell_render h2 {\n", " font-family: 'Nixie One', serif;\n", " font-weight: 400;\n", " font-size: 30pt;\n", " line-height: 100%;\n", " color: rgb(0,51,102);\n", " margin-bottom: 0.1em;\n", " margin-top: 0.3em;\n", " display: block;\n", "}\t\n", "\n", ".text_cell_render h3 {\n", " font-family: 'Nixie One', serif;\n", " margin-top:16px;\n", " font-size: 22pt;\n", " font-weight: 600;\n", " margin-bottom: 3px;\n", " font-style: regular;\n", " color: rgb(102,102,0);\n", "}\n", "\n", ".text_cell_render h4 { /*Use this for captions*/\n", " font-family: 'Nixie One', serif;\n", " font-size: 14pt;\n", " text-align: center;\n", " margin-top: 0em;\n", " margin-bottom: 2em;\n", " font-style: regular;\n", "}\n", "\n", ".text_cell_render h5 { /*Use this for small titles*/\n", " font-family: 'Nixie One', sans-serif;\n", " font-weight: 400;\n", " font-size: 16pt;\n", " color: rgb(163,0,0);\n", " font-style: italic;\n", " margin-bottom: .1em;\n", " margin-top: 0.8em;\n", " display: block;\n", "}\n", "\n", ".text_cell_render h6 { /*use this for copyright note*/\n", " font-family: 'PT Mono', sans-serif;\n", " font-weight: 300;\n", " font-size: 9pt;\n", " line-height: 100%;\n", " color: grey;\n", " margin-bottom: 1px;\n", " margin-top: 1px;\n", "}\n", "\n", ".CodeMirror{\n", " font-family: \"Source Code Pro\";\n", " font-size: 90%;\n", "}\n", "\n", ".alert-box {\n", " padding:10px 10px 10px 36px;\n", " margin:5px;\n", "}\n", "\n", ".success {\n", " color:#666600;\n", " background:rgb(240,242,229);\n", "}\n", "</style>\n", "\n", "<script>\n", " MathJax.Hub.Config({\n", " TeX: {\n", " extensions: [\"AMSmath.js\"],\n", " equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n", " },\n", " tex2jax: {\n", " inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n", " displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n", " },\n", " displayAlign: 'center', // Change this to 'center' to center equations.\n", " \"HTML-CSS\": {\n", " styles: {'.MathJax_Display': {\"margin\": 4}}\n", " }\n", " });\n", " MathJax.Hub.Queue(\n", " [\"resetEquationNumbers\", MathJax.InputJax.TeX],\n", " [\"PreProcess\", MathJax.Hub],\n", " [\"Reprocess\", MathJax.Hub]\n", " );\n", "</script>\n" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "css_file = '../../styles/numericalmoocstyle.css'\n", "HTML(open(css_file, 'r').read())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (MAE6286)", "language": "python", "name": "py36-mae6286" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 1 }