{ "nbformat": 4, "nbformat_minor": 2, "metadata": { "colab": { "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3.9.7 64-bit ('base': conda)" }, "language_info": { "name": "python", "version": "3.9.7", "mimetype": "text/x-python", "codemirror_mode": { "name": "ipython", "version": 3 }, "pygments_lexer": "ipython3", "nbconvert_exporter": "python", "file_extension": ".py" }, "interpreter": { "hash": "823bbfbda30020ce9319c70dd00014b8747d366a7cc8f488df4511a522ca037b" } }, "cells": [ { "cell_type": "markdown", "source": [ "## Example: The Darcy flow equation" ], "metadata": { "id": "r8k6R0vOzMTM" } }, { "cell_type": "markdown", "source": [ "In this example, the Darcy flow equation is used to model single phase fluid flow through a porous medium. Given an input permeability field, $ a(x) $, and the forcing function, $f(x)$, the output pressure flow $u(x)$ can be calculated using the following equation:\n", "$$\n", "-\\nabla\\cdot(a(x)\\nabla u(x)) = f(x) \\qquad x \\in (0,1)^2\n", "$$\n", "With Dirchlet boundary conditions: \n", "$$\n", "u(x) = 0 \\qquad x\\in \\partial(0,1)^2\n", "$$\n", "For this example, the forcing function $f(x) = 1$. " ], "metadata": { "id": "gXARUDah6yDq" } }, { "cell_type": "markdown", "source": [ "First, lets import the relevant utilities." ], "metadata": { "id": "4hQiyDqp-bWZ" } }, { "cell_type": "code", "execution_count": 3, "source": [ "import math\n", "from devito import div, grad, Eq, Operator, TimeFunction, Function, solve, Grid, configuration, initialize_function\n", "import numpy as np\n", "import numpy.fft as fft\n", "from numpy import linalg as LA\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.axes_grid1 import make_axes_locatable" ], "outputs": [], "metadata": { "id": "pfUqcLDs1Gmz" } }, { "cell_type": "markdown", "source": [ "Set a random seed for reproducibility:" ], "metadata": {} }, { "cell_type": "code", "execution_count": 4, "source": [ "np.random.seed(42)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "This is the class used to define a Gaussian random field for the input:" ], "metadata": { "id": "oemSkYcwfhUK" } }, { "cell_type": "code", "execution_count": 5, "source": [ "# Code edited from https://github.com/zongyi-li/fourier_neural_operator/blob/master/data_generation/navier_stokes/random_fields.py\n", "class GaussianRF(object):\n", "\n", " def __init__(self, dim, size, alpha=2, tau=3, sigma=None, boundary=\"periodic\"):\n", "\n", " self.dim = dim\n", "\n", " if sigma is None:\n", " sigma = tau**(0.5*(2*alpha - self.dim))\n", "\n", " k_max = size//2\n", "\n", " if dim == 2:\n", " wavenumers = (np.concatenate((np.arange(0, k_max, 1), \\\n", " np.arange(-k_max, 0, 1)),0))\n", " wavenumers = np.tile(wavenumers, (size,1))\n", "\n", " k_x = wavenumers.transpose(1,0)\n", " k_y = wavenumers\n", "\n", " self.sqrt_eig = (size**2)*math.sqrt(2.0)*sigma*((4*(math.pi**2)*(k_x**2 + k_y**2) + tau**2)**(-alpha/2.0))\n", " self.sqrt_eig[0,0] = 0.0\n", "\n", " self.size = []\n", " for j in range(self.dim):\n", " self.size.append(size)\n", "\n", " self.size = tuple(self.size)\n", "\n", " def sample(self, N):\n", "\n", " coeff = np.random.randn(N, *self.size)\n", " coeff = self.sqrt_eig * coeff\n", " \n", "\n", " return fft.ifftn(coeff).real" ], "outputs": [], "metadata": { "id": "NHPg4zwifI10" } }, { "cell_type": "markdown", "source": [ "Next, lets declare the variables to be used and create a grid for the functions:" ], "metadata": { "id": "pOft2icQGDCI" } }, { "cell_type": "code", "execution_count": 6, "source": [ "# Silence the runtime performance logging\n", "configuration['log-level'] = 'ERROR'\n", "\n", "# Number of grid points on [0,1]^2 \n", "s = 256\n", "\n", "# Create s x s grid with spacing 1\n", "grid = Grid(shape=(s, s), extent=(1.0,1.0))\n", "\n", "x, y = grid.dimensions\n", "t = grid.stepping_dim" ], "outputs": [], "metadata": { "id": "MSLzCGkeGMFt" } }, { "cell_type": "markdown", "source": [ "Here we produce input data to be used as permeability samples. First, the Gaussian random field class is called, then a threshold is introduced, where anything less than 0 is 4 and values above or equal to 0 is 12. This produces permeability samples similar to real world applications. We will create three different inputs." ], "metadata": { "id": "NycndcDQCkyZ" } }, { "cell_type": "code", "execution_count": 7, "source": [ "# Set up 2D GRF with covariance parameters to generate random coefficients\n", "norm_a = GaussianRF(2, s, alpha=2, tau=3)\n", "\n", "# Sample random fields\n", "# Create a threshold, either 4 or 12 (common for permeability)\n", "thresh_a = norm_a.sample(3)\n", "thresh_a[thresh_a>=0] = 12\n", "thresh_a[thresh_a<0] = 4\n", "\n", "# The inputs:\n", "w1 = thresh_a[0]\n", "w2 = thresh_a[1]\n", "w3 = thresh_a[2]" ], "outputs": [], "metadata": { "id": "oR6aTcyhAZb_" } }, { "cell_type": "markdown", "source": [ "Plotting the inputs:" ], "metadata": { "id": "cNp4LBpwfq9c" } }, { "cell_type": "code", "execution_count": 8, "source": [ "#NBVAL_IGNORE_OUTPUT\n", "# Plot to show the input:\n", "ax1 = plt.subplot(221)\n", "ax2 = plt.subplot(222)\n", "ax3 = plt.subplot(212)\n", "im1 = ax1.imshow(w1, interpolation='none')\n", "im2 = ax2.imshow(w2, interpolation='none')\n", "im3 = ax3.imshow(w3, interpolation='none')\n", "ax1_divider = make_axes_locatable(ax1)\n", "ax2_divider = make_axes_locatable(ax2)\n", "ax3_divider = make_axes_locatable(ax3)\n", "cax1 = ax1_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "cax2 = ax2_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "cax3 = ax3_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "plt.colorbar(im1, cax=cax1)\n", "plt.colorbar(im2, cax=cax2)\n", "plt.colorbar(im3, cax=cax3)\n", "ax1.title.set_text('First Input')\n", "ax2.title.set_text('Second Input')\n", "ax3.title.set_text('Third Input')\n", "plt.show()" ], "outputs": [ { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 269 }, "id": "8TJvO-MhfwKW", "outputId": "6da22b3b-03de-41ca-bebe-3ec1cb80b6c6" } }, { "cell_type": "markdown", "source": [ "There is no time dependence for this equation, so $ a $ and $ f $ are defined as `function` objects, however the output $u$ is defined as a `Timefunction` object in order to implement a pseudo-timestepping loop, using `u` and `u.forward` as alternating buffers. " ], "metadata": { "id": "6ivrhF89Ao2P" } }, { "cell_type": "code", "execution_count": 9, "source": [ "# Forcing function, f(x) = 1 \n", "f = np.ones((s, s))\n", "\n", "# Create function on grid\n", "# Space order of 2 to enable 2nd derivative\n", "# TimeFunction for u can be used despite the lack of a time-dependence. This is done for psuedotime\n", "u = TimeFunction(name='u', grid=grid, space_order=2)\n", "a = Function(name='a', grid=grid, space_order=2)\n", "f1 = Function(name='f1', grid=grid, space_order=2)" ], "outputs": [], "metadata": { "id": "Ij6oBLWc3gUQ" } }, { "cell_type": "markdown", "source": [ "Define the equation using symbolic code:" ], "metadata": { "id": "BAv2binzGrFW" } }, { "cell_type": "code", "execution_count": 10, "source": [ "# Define 2D Darcy flow equation\n", "# Staggered FD is used to avoid numerical instability\n", "equation_u = Eq(-div(a*grad(u,shift=.5),shift=-.5),f1)" ], "outputs": [], "metadata": { "id": "EdLNON8dGxVc" } }, { "cell_type": "markdown", "source": [ "SymPy creates a stencil to reorganise the equation based on `u`, but when creating the update expression, `u.forward` is used in order to stop `u` being overwritten:" ], "metadata": { "id": "8NqTAM-9GjJg" } }, { "cell_type": "code", "execution_count": 11, "source": [ "# Let SymPy solve for the central stencil point\n", "stencil = solve(equation_u, u)\n", "\n", "# Let our stencil populate the buffer `u.forward`\n", "update = Eq(u.forward, stencil)" ], "outputs": [], "metadata": { "id": "mAv0bMVgGnSX" } }, { "cell_type": "markdown", "source": [ "Define the boundary conditions and create the operator:" ], "metadata": { "id": "M2JuvZ5AG2Og" } }, { "cell_type": "code", "execution_count": 12, "source": [ "# Boundary Conditions\n", "nx = s\n", "ny = s\n", "bc = [Eq(u[t+1, 0, y],u[t+1, 1,y])] # du/dx = 0 for x=0.\n", "bc += [Eq(u[t+1,nx-1, y],u[t+1,nx-2, y])] # du/dx = 0 for x=1.\n", "bc += [Eq(u[t+1, x, 0],u[t+1,x ,1])] # du/dx = 0 at y=0\n", "bc += [Eq(u[t+1, x, ny-1],u[t+1, x, ny-2])] # du/dx=0 for y=1\n", "# u=0 for all sides\n", "bc += [Eq(u[t+1, x, 0], 0.)]\n", "bc += [Eq(u[t+1, x, ny-1], 0.)]\n", "bc += [Eq(u[t+1, 0, y], 0.)]\n", "bc += [Eq(u[t+1, nx-1, y], 0.)]\n", "\n", "op = Operator([update] + bc)" ], "outputs": [], "metadata": { "id": "jUrNjJcKG57j" } }, { "cell_type": "markdown", "source": [ "This function is used to call an operator to generate each output:" ], "metadata": { "id": "8syYE6J-C4os" } }, { "cell_type": "code", "execution_count": 13, "source": [ "'''\n", "Function to generate 'u' from 'a' using Devito\n", "\n", "parameters \n", "-----------------\n", "perm: Array of size (s, s)\n", " This is \"a\"\n", "f: Array of size (s, s)\n", " The forcing function f(x) = 1\n", " '''\n", "def darcy_flow_2d(perm, f):\n", " \n", " # a(x) is the coefficients\n", " # f is the forcing function\n", " # initialize a, f with inputs permeability and forcing\n", " f1.data[:] = f[:]\n", " initialize_function(a, perm, 0)\n", " \n", " # call operator for the 15,000th pseudo-timestep\n", " op(time= 15000)\n", " \n", " return np.array(u.data[0])" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Generate the outputs:" ], "metadata": {} }, { "cell_type": "code", "execution_count": 14, "source": [ "# Call operator for the 15,000th psuedo-timestep\n", "output1 = darcy_flow_2d(w1, f)\n", "output2 = darcy_flow_2d(w2, f)\n", "output3 = darcy_flow_2d(w3, f)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Use an assert on the norm of the results in order to confirm they are what is expected:" ], "metadata": {} }, { "cell_type": "code", "execution_count": 15, "source": [ "assert np.isclose(LA.norm(output1),1.0335084, atol=1e-3, rtol=0)\n", "assert np.isclose(LA.norm(output2),1.3038709, atol=1e-3, rtol=0)\n", "assert np.isclose(LA.norm(output3),1.3940924, atol=1e-3, rtol=0)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Plot the output:" ], "metadata": { "id": "54fdJbzSgabQ" } }, { "cell_type": "code", "execution_count": 16, "source": [ "#NBVAL_IGNORE_OUTPUT\n", "# plot to show the output: \n", "ax1 = plt.subplot(221)\n", "ax2 = plt.subplot(222)\n", "ax3 = plt.subplot(212)\n", "im1 = ax1.imshow(output1, interpolation='none')\n", "im2 = ax2.imshow(output2, interpolation='none')\n", "im3 = ax3.imshow(output3, interpolation='none')\n", "ax1_divider = make_axes_locatable(ax1)\n", "ax2_divider = make_axes_locatable(ax2)\n", "ax3_divider = make_axes_locatable(ax3)\n", "cax1 = ax1_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "cax2 = ax2_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "cax3 = ax3_divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n", "plt.colorbar(im1, cax=cax1)\n", "plt.colorbar(im2, cax=cax2)\n", "plt.colorbar(im3, cax=cax3)\n", "ax1.title.set_text('First Output')\n", "ax2.title.set_text('Second Output')\n", "ax3.title.set_text('Third Output')\n", "plt.show()" ], "outputs": [ { "output_type": "display_data", "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" } } ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 269 }, "id": "PelbjXRFgv4P", "outputId": "4d1e382c-d3ca-477e-a79d-4aa7838851be" } }, { "cell_type": "markdown", "source": [ "This output shows the flow of pressure given the permeability sample seen above. The results are as expected as a higher pressure is seen in the largest area that contains the lower permeability of 4." ], "metadata": { "id": "o_4fdGmigwnp" } } ] }