{ "cells": [ { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 0, "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 0, "nbgrader": { "grade": false, "grade_id": "cell-0a4af3607542b85a", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "# Introduction" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 0, "nbgrader": { "grade": false, "grade_id": "cell-6f2c0b04c4f4fdf6", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "Let us recall that $J_{EC}$ and $J_{WC}$ represent the flux of mass [M/T] towards the center. If these are positive, the mass in the center will increase. If there is a source of mass in the center, the mass will increase as well. Therefore, the steady-state equation writes:\n", "\n", "\\begin{equation}\n", "J_{EC}+J_{WC} + Q = 0\n", "\\end{equation}\n", "\n", "With Q being written in terms of mg/s (Q: [M/T]) . Therefore mass balance equation with a source term writes:\n", "\n", "\\begin{equation}\n", "\\left( -2 \\frac{D\\theta}{\\Delta x} c_{\\left[i\\right]} + \\frac{D\\theta}{\\Delta x}c_{\\left[i-1\\right]} + \\frac{D\\theta}{\\Delta x} c_{\\left[i+1\\right]} \\right) \\Delta y \\Delta z + q \\Delta x \\Delta y \\Delta z = 0\n", "\\end{equation}\n", "\n", "with $q$ being the volumetric source ([M/T/L$^3$])\n", "\n", "We can rearrange the latter equation as:\n", "\n", "\\begin{equation}\n", "\\left( 2\\frac{D\\theta}{\\Delta x} c_{\\left[i\\right]} - \\frac{D\\theta}{\\Delta x}c_{\\left[i-1\\right]} - \\frac{D\\theta}{\\Delta x} c_{\\left[i+1\\right]} \\right) \\Delta y \\Delta z = q \\Delta x \\Delta y \\Delta z\n", "\\end{equation}\n", "\n", "We can also divide everything by $\\Delta x \\Delta y \\Delta z$:\n", "\n", "\\begin{equation}\n", "\\frac{1}{\\Delta x} \\left( 2\\frac{D\\theta}{\\Delta x} c_{\\left[i\\right]} - \\frac{D\\theta}{\\Delta x}c_{\\left[i-1\\right]} - \\frac{D\\theta}{\\Delta x} c_{\\left[i+1\\right]} \\right) = q\n", "\\end{equation}\n", "\n", "which gives\n", "\\begin{equation}\n", "2\\frac{D\\theta}{\\Delta x^2} c_{\\left[i\\right]} - \\frac{D\\theta}{\\Delta x^2}c_{\\left[i-1\\right]} - \\frac{D\\theta}{\\Delta x^2} c_{\\left[i+1\\right]} = q\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-98a865dfd995366b", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "import matplotlib.animation as animation\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from IPython.display import display\n", "from IPython.display import HTML\n", "from numpy.testing import assert_allclose\n", "\n", "# the next two imports are to show animations and video!" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-bd0b49f6ae1acef3", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "# this function deals with harmonic averaging when diffusion is not the same everywhere.\n", "# It doesn't change anything when diffusion is homogeneous but \n", "# you can try to see how it affects the behavior.\n", "# To modify a read-only cell, create a new cell below and copy these lines\n", "# into that cell\n", "\n", "\n", "def avg(Di, Dj):\n", " \"\"\"\n", " Computes the harmonic average between two values Di and Dj\n", " Returns 0 if either of them is zero\n", " \"\"\"\n", " if (Di * Dj) == 0:\n", " return 0\n", " else:\n", " return 2 / (1 / Di + 1 / Dj)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-54d67b8f8547140a", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "def Build_1D_Inhomo_Matrix_Source(bc_left, bc_right, n, D, Width, poro, Q):\n", " \"\"\"\n", " Constructs a coefficient matrix and an array with varying diffusion coefficient and a source term\n", "\n", " Parameters\n", " ----------\n", " bc_left: (float)\n", " left boundary condition (mg/L)\n", " bc_right: (float)\n", " right boundary condition (mg/L)\n", " n: (int)\n", " number of cells\n", " D: (float vector)\n", " values of the diffusion coefficient ((dm)^2/day)\n", " Width: (float)\n", " Total phyiscal width of the domain (dm)\n", " poro: (float)\n", " porosity value\n", " Q: (float vector)\n", " volumetric source term (mg/L/day)\n", "\n", " Returns\n", " -------\n", "\n", " A: nxn float array\n", " b: vector of length n\n", "\n", " that solve the\n", " discretized 1D diffusion problem Ax = b\n", " \"\"\"\n", " Matrix = np.zeros((n, n))\n", " RHS = np.zeros(n)\n", " dx = Width / (n - 1)\n", " coef = poro / dx / dx\n", " for i in range(n):\n", " if i == 0:\n", " RHS[i] = bc_left\n", " Matrix[i, i] = 1\n", " elif i == n - 1:\n", " RHS[i] = bc_right\n", " Matrix[i, i] = 1\n", " else:\n", " RHS[i] = Q[i]\n", " East = coef * avg(D[i], D[i + 1])\n", " West = coef * avg(D[i], D[i - 1])\n", " Matrix[i, i] = East + West\n", " Matrix[i, i + 1] = -East\n", " Matrix[i, i - 1] = -West\n", " return Matrix, RHS" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Initial conditions" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-b41a29613812db59", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "We will use similar conditions than in the previous assignment. However, it is a good practise to use units which are representative of the current problem, otherwise we have to deal with very large or very small numbers.\n", "\n", "The diffusion coefficient of solutes in pure water is usually 2$\\times$10$^{-9}$ m$^2$/s. Concentrations are usually expressed in mg/L, corresponding to mg/dm$^3$. To avoid future unit problems, let us define\n", "\n", "- one day as the time unit\n", "- one dm as the length unit (leading to Liters being the adequate volume unit)\n", "- mg as the mass unit\n", "\n", "In these units, the diffusion is expressed in dm$^2$/day, the width in dm, and the rate in mg/L/day.\n", "We will here change the values of the parameters used previously.." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "lines_to_next_cell": 2, "nbgrader": { "grade": false, "grade_id": "cell-b9bd7eaf90619a64", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "c_left = 1 # mg/L\n", "c_right = 0 # mg/L\n", "n = 51\n", "Diff = 2e-9 * 100 * 24 * 3600 # dmĀ²/day\n", "D = Diff * np.ones(n)\n", "Q = np.zeros(n)\n", "Q0 = 5e-2 # mg/L/day\n", "Q[int(n / 4) : int(n / 2)] = Q0 # mg/L/day\n", "Width = 2 # dm\n", "poro = 0.4\n", "nTstp = 201\n", "dt = 0.5 # days\n", "\n", "c_init = np.zeros((nTstp, n))\n", "c_init[:, 0] = 1 # Boundary condition" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# If you want to change the parameters value, you are welcome to do so here.\n", "# But know that your results will be tested based on the parameters given above\n", "# We encourage you to try different things\n", "# For example, you change the diffusion at certain places, change the source term, ...\n", "# Trying out these things will help you build physical intuition\n", "# So we leave this cell for you to change these parameters.\n", "# As before, make a writeable copy of that cell to make changes\n", "#\n" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-e983be851ed2d326", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "## Save these into a dict for later use" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "lines_to_next_cell": 2, "nbgrader": { "grade": false, "grade_id": "cell-b19ecc741595f838", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "init_dict = dict(\n", " c_left=c_left,\n", " c_right=c_right,\n", " c_init=c_init,\n", " n=n,\n", " Diff=Diff,\n", " D=D,\n", " Q=Q,\n", " Width=Width,\n", " poro=poro,\n", " nTstp=nTstp,\n", " dt=dt,\n", ")" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-8ce4321aef65caa0", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "# Steady state" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-1a17c575606df6ff", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Concentration (mg/L)')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, Width, n)\n", "A, b = Build_1D_Inhomo_Matrix_Source(c_left, c_right, n, D, Width, poro, Q)\n", "\n", "c_final = np.linalg.solve(A, b)\n", "plt.plot(x, c_final, label=\"Concentration\")\n", "plt.xlabel(\"x-axis (dm)\")\n", "plt.ylabel(\"Concentration (mg/L)\")" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-ec63e59809fdbde1", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "# Transient behavior" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-7adbd2fb47c2104c", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "The transient behavior that we have discussed in the previous notebook simply adds these terms to the previous equation.\n", "\n", "\\begin{equation}\n", "J_{EC}+J_{WC} + Q = \\frac{dm}{dt}\n", "\\end{equation}\n", "\n", "Using the same developements expressed before, using\n", "\n", "\\begin{equation}\n", "\\frac{d\\theta c}{dt} = \\theta \\frac{c(t+\\Delta t) - c(t)}{\\Delta t}\n", "\\end{equation}\n", "\n", "In the following equation, we will write $c(t+\\Delta t)$ as $c_i$ (i being the subscript referring to the position index), while $c(t)$ is the old concentration at the same point $c_{i}(\\text{old})$.\n", "\n", "\\begin{equation}\n", "\\frac{\\theta c_{i}}{\\Delta t} + 2\\frac{D\\theta}{\\Delta x^2} c_{i} - \\frac{D\\theta}{\\Delta x^2}c_{i-1} - \\frac{D\\theta}{\\Delta x^2} c_{i+1} = q + \\frac{\\theta c_{i}(\\text{old})}{\\Delta t}\n", "\\end{equation}\n", "\n", "So we can solve this problem by using the same matrixes used before, but we need to add extra terms.\n", "\n", "Based on the previous assignment, most of these terms are already incorporated in the matrix A and b. There are only a couple of terms to add to be able to solve the transient problem. We will keep the structure of matrix A and b defined.\n", "\n", "You have got to modify the next cell (keep its original structure), and incorporate these new terms in the defined arrays Abis and Bbis." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "nbgrader": { "grade": true, "grade_id": "cell-89ed183cacbcbc6d", "locked": false, "points": 5, "schema_version": 1, "solution": true } }, "outputs": [], "source": [ "# HERE YOU HAVE TO ADD TWO LINES OF CODE (see commented lines). \n", "# WE RECOMMEND THAT YOU DO NOT CHANGE ANYTHING ELSE\n", "# Refer to the equations developed before!\n", "\n", "\n", "def calc_conc(\n", " Diff=None,\n", " D=None,\n", " Width=None,\n", " c_left=None,\n", " c_right=None,\n", " poro=None,\n", " Q=None,\n", " c_init=None,\n", " n=None,\n", " nTstp=None,\n", " dt=None,\n", "):\n", "\n", " x = np.linspace(0, Width, n)\n", " A, b = Build_1D_Inhomo_Matrix_Source(c_left, c_right, n, D, Width, poro, Q)\n", "\n", " c = c_init\n", " Abis = np.zeros((n, n))\n", " Bbis = np.zeros(n)\n", "\n", " for t in range(nTstp - 1):\n", " for i in range(n):\n", " Abis[i, i] = 0 # Here is where you need to change!\n", " Bbis[i] = 0 # Here is where you need to change!\n", " Aa = A + Abis\n", " bb = b + Bbis\n", " c[t + 1, :] = np.linalg.solve(Aa, bb)\n", "\n", " return x, c\n", "\n", "\n", "### BEGIN SOLUTION\n", "def calc_conc(\n", " Diff=None,\n", " D=None,\n", " Width=None,\n", " c_left=None,\n", " c_right=None,\n", " poro=None,\n", " Q=None,\n", " c_init=None,\n", " n=None,\n", " nTstp=None,\n", " dt=None,\n", "):\n", "\n", " x = np.linspace(0, Width, n)\n", " A, b = Build_1D_Inhomo_Matrix_Source(c_left, c_right, n, D, Width, poro, Q)\n", "\n", " c = c_init\n", " Abis = np.zeros((n, n))\n", " Bbis = np.zeros(n)\n", "\n", " for t in range(nTstp - 1):\n", " for i in range(n):\n", " Abis[i, i] = poro / dt # Here is where you need to change!\n", " Bbis[i] = c[t, i] * poro / dt # Here is where you need to change!\n", " Aa = A + Abis\n", " bb = b + Bbis\n", " c[t + 1, :] = np.linalg.solve(Aa, bb)\n", "\n", " return x, c\n", "\n", "\n", "### END SOLUTION" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-41e25b3ba511d765", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x, c = calc_conc(**init_dict)\n", "\n", "plt.plot(x, c_final, label=\"Asymptotic concentration\")\n", "plt.plot(x, c[0, :], label=\"Initial concentration\")\n", "plt.plot(x, c[10, :], label=\"Concentration after 10 timestep\")\n", "plt.plot(x, c[30, :], label=\"Concentration after 30 timesteps\")\n", "plt.plot(x, c[60, :], label=\"Concentration after 60 timesteps\")\n", "plt.plot(x, c[nTstp - 1, :], label=\"Concentration after 200 timesteps\")\n", "plt.xlabel(\"x-axis (dm)\")\n", "plt.ylabel(\"Concentration (mg/L)\")\n", "plt.legend(bbox_to_anchor=(1.01, 1), loc=\"upper left\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next cell tests one of the cell concentrations" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "nbgrader": { "grade": true, "grade_id": "cell-e3dd3d495d9a1bd8", "locked": true, "points": 3, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "# Hidden test for a cell concentration (our choice of cell)\n", "### BEGIN HIDDEN TESTS\n", "assert_allclose(c[100][11], 1.69, rtol=1e-2)\n", "### END HIDDEN TESTS" ] }, { "cell_type": "markdown", "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-faad482a85fd293b", "locked": true, "schema_version": 1, "solution": false } }, "source": [ "What is the concentration at 1.6 dm from the left boundary condition after 60 days?\n", "Put this value in the variable answer in the next cell.\n", "That is, replace the line\n", "answer = -1\n", "with your answer" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-b73f549641823e89", "locked": false, "schema_version": 1, "solution": true } }, "outputs": [], "source": [ "answer = -1\n", "### BEGIN SOLUTION\n", "answer = c[120][40]\n", "### END SOLUTION" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "nbgrader": { "grade": true, "grade_id": "cell-fecfbea162708f5a", "locked": true, "points": 2, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "# Hidden test for answer\n", "### BEGIN HIDDEN TESTS\n", "assert_allclose(answer, 0.65, rtol=1e-2)\n", "### END HIDDEN TESTS" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "lines_to_next_cell": 2, "nbgrader": { "grade": false, "grade_id": "cell-22d5514ace8b854a", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "\n", "def make_animation(init_dict):\n", " image_list = []\n", " x, c = calc_conc(**init_dict)\n", " fig, ax = plt.subplots()\n", " ax.set_xlim((0, 2.0))\n", " ax.set_ylim((0, 2.5))\n", " nsteps, nvals = c.shape\n", " for index in range(nsteps):\n", " line = ax.plot(x, c[index, :], \"r-\", lw=2)\n", " image_list.append(line)\n", " return fig, image_list\n", "\n", "\n", "fig, image_list = make_animation(init_dict)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# If you want to see the animation, just change movie to True\n", "# (might not work depending on your config and browser, working\n", "# for chrome on macos\n", "\n", "movie = True" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-e09cb384b6b1f9c5", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [], "source": [ "if movie:\n", " anim = animation.ArtistAnimation(\n", " fig, image_list, interval=50, blit=True, repeat_delay=1000\n", " )" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "nbgrader": { "grade": false, "grade_id": "cell-61cb781fde1572ce", "locked": true, "schema_version": 1, "solution": false } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if movie:\n", " out = HTML(anim.to_html5_video())\n", " display(out)" ] } ], "metadata": { "celltoolbar": "Create Assignment", "jupytext": { "cell_metadata_filter": "all", "formats": "ipynb", "notebook_metadata_filter": "all", "text_representation": { "extension": ".py", "format_name": "percent", "format_version": "1.2", "jupytext_version": "1.0.0-rc5" } }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.7" }, "nbsphinx": { "execute": "never" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }