{ "cells": [ { "cell_type": "markdown", "id": "9da99ad1", "metadata": {}, "source": [ "# Stokes flow between two plates\n", "***" ] }, { "attachments": {}, "cell_type": "markdown", "id": "57965573", "metadata": {}, "source": [ "## Introduction\n", "Stokes equations describe a Newtonian fluid for very small Reynolds number\n", "\n", "$$\\mathrm{Re} = \\frac{\\rho L_\\mathrm{char} U_\\mathrm{char}}{\\mu},$$\n", "\n", "where $L_\\mathrm{char}$ and $U_\\mathrm{char}$ are characteristic length and speed, $\\mu$ is dynamic viscosity and $\\rho$ is density. Stokes equations are suitable for mesoscopic problems and for fluids with high viscosity, like syrups and molasses. The strong formulation of stationary and incompressible Stokes flow reads\n", "\n", "$$ \\nabla \\cdot \\mathbf{u} = 0 $$\n", "$$ -\\nabla p + \\mu \\Delta \\mathbf{u} = \\mathbf{0}.$$\n", "\n", "The system has unkowns $\\mathbf{u}$ (velocity) and $p$ (pressure). \n", "\n", "As an educational example, consider two-dimensional flow between two parallel plates separated by distance $2R$. At the inflow (left), there is a rather strange velocity profile described by a quintic polynomial\n", "\n", "$$ \\mathbf{u}(x,y) = \\frac{5}{8} \\left(1 - \\frac{y}{R} \\right) \\left( 1 + \\frac{y}{R} \\right)^4 \\, \\hat{\\mathbf{x}}, \\quad (x,y) \\in \\Gamma_\\mathrm{in}.$$\n", "\n", "Let there be no slip on the surface of plates (top and bottom)\n", "\n", "$$ \\mathbf{u}(x,y) = \\mathbf{0}, \\quad (x,y) \\in \\Gamma_\\mathrm{wall}$$\n", "\n", "and outlfow condition (right)\n", "\n", "$$ (-p \\mathbb{I} + \\mu \\nabla \\mathbf{u}) \\mathbf{n} = \\mathbf{0}, \\quad (x,y) \\in \\Gamma_\\mathrm{out}.$$\n", "\n", "What kind of velocity profile will be at the outflow?\n", "\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "10afd26e", "metadata": {}, "source": [ "## Weak formulation\n", "\n", "First, we multiply by a pair of test functions $\\mathbf{v}, q$ and integrate\n", "$$ \\int_\\Omega q \\nabla \\cdot \\mathbf{u} \\; \\mathrm{d}\\mathbf{x} = 0, $$\n", "$$ \\int_\\Omega (-\\mu \\Delta \\mathbf{u} + \\nabla p) \\cdot \\mathbf{v} \\; \\mathrm{d}\\mathbf{x} = 0. $$\n", "\n", "We impose that $\\mathbf{v}$ vanishes on both Dirichlet boundaries $\\Gamma_\\mathrm{in}$, $\\Gamma_\\mathrm{plates}$. In the next step, we integrate by parts in the second expression to remove second derivatives. By virtue of boundary conditions, no surface integrals appear in the process.\n", "\n", "$$ \\int_\\Omega q \\nabla \\cdot \\mathbf{u} \\; \\mathrm{d}\\mathbf{x} = 0, $$\n", "$$ \\int_\\Omega \\left( \\mu \\nabla \\mathbf{u} \\cdot \\nabla \\mathbf{v} - p \\nabla \\cdot \\mathbf{v} \\right) \\; \\mathrm{d}\\mathbf{x} = 0. $$\n", "\n", "The equations can be added together to obtain a nicely symmetrical form:\n", "\n", "$$ \\int_\\Omega \\left( \\mu \\nabla \\mathbf{u} \\cdot \\nabla \\mathbf{v} - p \\nabla \\cdot \\mathbf{v} - q \\nabla \\cdot \\mathbf{u} \\right) \\; \\mathrm{d}\\mathbf{x} = 0. $$\n", "\n", "Compared to the strong formulation (four scalar equations for every point of $\\Omega$) it may seem we lost information. However, this is not true because the functions $q, \\mathbf{v}$ were arbitrary (up to the bounary condition imposed and certain integrability assumptions). The finite element method samples $\\Omega$ into mesh and replaces $\\mathbf{u}, p, \\mathbf{v}, q$ with piece-wise polynomial approximations. This leads to a linear system of $N$ equations (for every degree of freedom that *test functions* $\\mathbf{v}, q$ have) and $N$ unknowns (for every degree of freedom that *trial functions* $\\mathbf{u}, p$ have).\n", "\n", "We know how to solve linear systems but calculating it on paper would be a nightmare. It is better to ask FEniCS to do the dirty job." ] }, { "cell_type": "markdown", "id": "3be5959b", "metadata": {}, "source": [ "## FEniCS implementation" ] }, { "cell_type": "markdown", "id": "b414b9f7", "metadata": {}, "source": [ "Import **dolfin** (FEniCS backend), **matplotlib.pyplot** (for plots), **numpy** (for arrays) and **time** (for benchmarking)." ] }, { "cell_type": "code", "execution_count": 2, "id": "fed90f77", "metadata": {}, "outputs": [], "source": [ "import dolfin as df\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from time import time" ] }, { "cell_type": "markdown", "id": "3a2bd314", "metadata": {}, "source": [ "Create mesh." ] }, { "cell_type": "code", "execution_count": 3, "id": "1e5c5ccb", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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LF26FB07dpReWy0KVV9fj8jISNx///3o0aOHNLa2tlY4vu222zB69Ghp7PXr17Wv3W430tLSsHDhQjQ0NKChocG0zZWVlejWrRt+8YtfICYmRnptp9MJQN+B/L777kP//v1t/e6mTJmCiRMnNtlm+qZvM+ibvo2Eu2+1bUa3bQ23B7DJX/7yF1y8eLHVrkcIIYSEMuvWrWvV6/ny95sTdgkhhBASUvBjI5v84z/+I86cOYM+ffogNja2yfiLFy/C5XJhwIABltuVA42P93766SekpqYiKirKMvb69esoKipCSkqK5eecQONjvZKSEnTt2hU9evRoss1XrlzB1atXkZyc3OSeFbW1tTh79ixSU1MRHR1tGVtfX4+ioiIkJSVJS2t74na7ce7cOURHR9vajr2yshKlpaVISUmx/KwaaHxEW1RUhNTUVMTExFjGulwunDlzBomJibae4NG3Dn2L0LcOfYuEom/148BA7msE8GMjQgghhAQB/NiIEEIIIWELBy+EEEIICSk4eCGEEEJISMHBCyGEEEJCCg5eCCGEEBJScPBCCCGEkJCCgxdCCCGEhBRhV6ROLVtTWVkZ4JYQQgghxC7q32075efCbvBSVVUFAEhKSgpwSwghhBDiK1VVVejatatlTNhV2HW73bhw4QI6d+7cZBlnX6msrERSUhJ++umnsKzey/sLfcL9HsP9/oDwv0feX+jjr3tUFAVVVVXo168fOnSwntUSdk9eOnTogAEDBvj1/9GlS5ewTUqA9xcOhPs9hvv9AeF/j7y/0Mcf99jUExcVTtglhBBCSEjBwQshhBBCQgoOXnwgJiYG69ata3K79VCF9xf6hPs9hvv9AeF/j7y/0CcY7jHsJuwSQgghJLzhkxdCCCGEhBQcvBBCCCEkpODghRBCCCEhBQcvhBBCCAkpOHghhBBCSEjRrgcvr776KgYNGoROnTohIyMDR44csYzPyspCWloaOnXqhNGjR+Ozzz4Tvq8oCp599ln07dsXsbGxmDVrFk6dOuXPW2gSX+7x9ddfx5QpU5CQkICEhATMmjXLK/7BBx9ERESE8G/evHn+vg1TfLm/t956y6vtnTp1EmKCzaEv9zdt2jSv+4uIiMCCBQu0mGDyt3//ftx+++3o168fIiIisHXr1iZ/Zt++fRg3bhxiYmJw44034q233vKK8fV17U98vccPP/wQs2fPRq9evdClSxdMmjQJO3bsEGKee+45L4dpaWl+vAtzfL2/ffv2SXPU4XAIcaHsUPYai4iIwMiRI7WYYHH4+9//Hrfccgs6d+6M3r17Y9GiRSgsLGzy54Lhb2G7Hbxs2rQJa9aswbp165Cbm4v09HTMnTsXly5dksYfOnQI999/Px566CHk5eVh0aJFWLRoEb799lst5g9/+AP+8z//E6+99hq++uor3HDDDZg7dy5qa2vb6rYEfL3Hffv24f7778fevXtx+PBhJCUlYc6cOTh//rwQN2/ePFy8eFH7t2HDhra4HS98vT+gsZy1Z9tLSkqE7weTQ1/v78MPPxTu7dtvv0XHjh1x7733CnHB4q+6uhrp6el49dVXbcWfPXsWCxYswPTp03Hs2DH85je/wcMPPyz8cW9OTvgTX+9x//79mD17Nj777DMcPXoU06dPx+233468vDwhbuTIkYLDAwcO+KP5TeLr/akUFhYK7e/du7f2vVB3+Oc//1m4t59++gndu3f3eh0Gg8MvvvgCjz/+OL788kvs3LkT9fX1mDNnDqqrq01/Jmj+FirtlAkTJiiPP/64dtzQ0KD069dP+f3vfy+Nv++++5QFCxYI5zIyMpR/+qd/UhRFUdxut5KYmKj8+7//u/b9iooKJSYmRtmwYYMf7qBpfL1HIy6XS+ncubPy9ttva+ceeOAB5c4772ztpjYLX+/vb3/7m9K1a1fT6wWbw5b6+9Of/qR07txZcTqd2rlg8ucJAGXLli2WMb/97W+VkSNHCueWLFmizJ07Vztu6e/Mn9i5RxkjRoxQnn/+ee143bp1Snp6eus1rJWwc3979+5VACjl5eWmMeHmcMuWLUpERIRSXFysnQtWh5cuXVIAKF988YVpTLD8LWyXT16uX7+Oo0ePYtasWdq5Dh06YNasWTh8+LD0Zw4fPizEA8DcuXO1+LNnz8LhcAgxXbt2RUZGhuk1/Ulz7tHItWvXUF9fj+7duwvn9+3bh969e2PYsGFYtWoVrly50qptt0Nz78/pdCI5ORlJSUm488478d1332nfCyaHreHvjTfewNKlS3HDDTcI54PBX3No6jXYGr+zYMPtdqOqqsrrNXjq1Cn069cPgwcPxrJly/Djjz8GqIXNY8yYMejbty9mz56NgwcPaufD0eEbb7yBWbNmITk5WTgfjA6vXr0KAF755kmw/C1sl4OXy5cvo6GhAX369BHO9+nTx+uzVxWHw2EZr/7Xl2v6k+bco5F//dd/Rb9+/YQknDdvHt555x3s3r0bL730Er744gvcdtttaGhoaNX2N0Vz7m/YsGF48803sW3bNqxfvx5utxuZmZk4d+4cgOBy2FJ/R44cwbfffouHH35YOB8s/pqD2WuwsrISNTU1rZLzwcbLL78Mp9OJ++67TzuXkZGBt956C9nZ2fif//kfnD17FlOmTEFVVVUAW2qPvn374rXXXsMHH3yADz74AElJSZg2bRpyc3MBtE6/FUxcuHAB27dv93odBqNDt9uN3/zmN/iHf/gHjBo1yjQuWP4WRrbalUhY8eKLL2Ljxo3Yt2+fMKl16dKl2tejR4/GTTfdhNTUVOzbtw8zZ84MRFNtM2nSJEyaNEk7zszMxPDhw/G///u/eOGFFwLYstbnjTfewOjRozFhwgThfCj7a2+8//77eP7557Ft2zZhTshtt92mfX3TTTchIyMDycnJ+Pvf/46HHnooEE21zbBhwzBs2DDtODMzE0VFRfjTn/6Ed999N4At8w9vv/02unXrhkWLFgnng9Hh448/jm+//TZg86d8pV0+eenZsyc6duyI0tJS4XxpaSkSExOlP5OYmGgZr/7Xl2v6k+bco8rLL7+MF198EZ9//jluuukmy9jBgwejZ8+eOH36dIvb7AstuT+VqKgojB07Vmt7MDlsyf1VV1dj48aNtjrBQPlrDmavwS5duiA2NrZVciJY2LhxIx5++GH8/e9/93pEb6Rbt24YOnRoSDiUMWHCBK3t4eRQURS8+eabWLFiBaKjoy1jA+1w9erV+OSTT7B3714MGDDAMjZY/ha2y8FLdHQ0xo8fj927d2vn3G43du/eLbwz92TSpElCPADs3LlTi09JSUFiYqIQU1lZia+++sr0mv6kOfcINM4Sf+GFF5CdnY2bb765yf/PuXPncOXKFfTt27dV2m2X5t6fJw0NDTh58qTW9mBy2JL7y8rKQl1dHZYvX97k/ydQ/ppDU6/B1siJYGDDhg1YuXIlNmzYICxzN8PpdKKoqCgkHMo4duyY1vZwcQg0ruQ5ffq0rTcRgXKoKApWr16NLVu2YM+ePUhJSWnyZ4Lmb2GrTf0NMTZu3KjExMQob731lvL9998rjz76qNKtWzfF4XAoiqIoK1asUJ5++mkt/uDBg0pkZKTy8ssvK/n5+cq6deuUqKgo5eTJk1rMiy++qHTr1k3Ztm2bcuLECeXOO+9UUlJSlJqamja/P0Xx/R5ffPFFJTo6Wtm8ebNy8eJF7V9VVZWiKIpSVVWlPPXUU8rhw4eVs2fPKrt27VLGjRunDBkyRKmtrQ36+3v++eeVHTt2KEVFRcrRo0eVpUuXKp06dVK+++47LSaYHPp6fyqTJ09WlixZ4nU+2PxVVVUpeXl5Sl5engJA+eMf/6jk5eUpJSUliqIoytNPP62sWLFCiz9z5owSFxen/Mu//IuSn5+vvPrqq0rHjh2V7OxsLaap31lb4+s9vvfee0pkZKTy6quvCq/BiooKLebJJ59U9u3bp5w9e1Y5ePCgMmvWLKVnz57KpUuXgv7+/vSnPylbt25VTp06pZw8eVL59a9/rXTo0EHZtWuXFhPqDlWWL1+uZGRkSK8ZLA5XrVqldO3aVdm3b5+Qb9euXdNigvVvYbsdvCiKovzXf/2XMnDgQCU6OlqZMGGC8uWXX2rfmzp1qvLAAw8I8X//+9+VoUOHKtHR0crIkSOVTz/9VPi+2+1Wfve73yl9+vRRYmJilJkzZyqFhYVtcSum+HKPycnJCgCvf+vWrVMURVGuXbumzJkzR+nVq5cSFRWlJCcnK4888kjAOhVF8e3+fvOb32ixffr0UebPn6/k5uYK1ws2h77maEFBgQJA+fzzz72uFWz+1GWzxn/qPT3wwAPK1KlTvX5mzJgxSnR0tDJ48GDlb3/7m9d1rX5nbY2v9zh16lTLeEVpXB7et29fJTo6Wunfv7+yZMkS5fTp0217Y/+Hr/f30ksvKampqUqnTp2U7t27K9OmTVP27Nnjdd1QdqgojUuDY2Njlb/85S/SawaLQ9l9ARBeV8H6tzDi/26AEEIIISQkaJdzXgghhBASunDwQgghhJCQgoMXQgghhIQUHLwQQgghJKTg4IUQQgghIQUHL4QQQggJKTh4IYQQQkhIwcELIYQQQkIKDl4IIYQQElJw8EIIIYSQkIKDF0IIIYSEFP8fWaySLBOu2AQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R = 0.5 # half of distance between plates\n", "L = 2.0 # length\n", "n_x = 40 # x-resolution\n", "n_y = 20 # y-resolution\n", "mesh = df.RectangleMesh(df.Point(0, -R), df.Point(L, R), n_x, n_y)\n", "\n", "df.plot(mesh)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "bce609a8", "metadata": {}, "source": [ "Identify boundaries." ] }, { "cell_type": "code", "execution_count": 4, "id": "00772fbb", "metadata": {}, "outputs": [], "source": [ "# define boundary as a class\n", "class Inflow(df.SubDomain):\n", " def inside(self, x, on_boundary):\n", " return on_boundary and df.near(x[0], 0.0)\n", "\n", "inflow = Inflow()\n", "\n", "# or with AutoSubDomain\n", "outflow = df.AutoSubDomain(lambda x, on_boundary: on_boundary and df.near(x[0], L))\n", "walls = df.AutoSubDomain(lambda x, on_boundary: on_boundary and df.near(abs(x[1]), R))\n", "\n", "# mark boundary parts\n", "bdary = df.MeshFunction('size_t', mesh, mesh.topology().dim()-1, 0)\n", "inflow.mark(bdary, 1)\n", "outflow.mark(bdary, 2)\n", "walls.mark(bdary, 3)" ] }, { "cell_type": "markdown", "id": "2e555da1", "metadata": {}, "source": [ "Define mixed function space for pressure and velocity. (In this example, we will use Taylor-Hood elements, which are quadratic in velocity and linear in pressure. There is a deep reason for having extra degrees of freedom in velocity. Mixed spaces with identical finite elements for $u$ a $p$ usually fail as they do not satisfy [Babuška-Brezzi condition](https://en.wikipedia.org/wiki/Ladyzhenskaya%E2%80%93Babu%C5%A1ka%E2%80%93Brezzi_condition).)" ] }, { "cell_type": "code", "execution_count": 16, "id": "0ae9986f", "metadata": {}, "outputs": [], "source": [ "Ev = df.VectorElement(\"CG\", mesh.ufl_cell(), 2)\n", "Ep = df.FiniteElement(\"CG\", mesh.ufl_cell(), 1)\n", "E = df.MixedElement([Ev, Ep]) # Taylor-Hood mixed element\n", "W = df.FunctionSpace(mesh, E)" ] }, { "cell_type": "markdown", "id": "870e69de", "metadata": {}, "source": [ "Declare boundary conditions." ] }, { "cell_type": "code", "execution_count": 17, "id": "91688f51", "metadata": {}, "outputs": [], "source": [ "v_wall = df.Constant((0.0, 0.0))\n", "v_inflow = df.Expression((\"5.0/8.0*(1.0 - x[1]/R)*pow(1.0 + x[1]/R, 4)\", \"0\"), degree = 2, R = R) \n", "bc_wall = df.DirichletBC(W.sub(0), v_wall, bdary, 3)\n", "bc_inflow = df.DirichletBC(W.sub(0), v_inflow, bdary, 1)\n", "bc = [bc_inflow, bc_wall]" ] }, { "cell_type": "markdown", "id": "ea6b7bcd", "metadata": {}, "source": [ "Write variational formulation." ] }, { "cell_type": "code", "execution_count": 18, "id": "0a75922b", "metadata": {}, "outputs": [], "source": [ "mu = df.Constant(1.0) # dynamic viscosity\n", "f = df.Constant((0.0, 0.0)) # external force\n", "u, p = df.TrialFunctions(W)\n", "v, q = df.TestFunctions(W)\n", "a = mu*df.inner(df.grad(u), df.grad(v))*df.dx - p*df.div(v)*df.dx - q*df.div(u)*df.dx\n", "b = df.inner(f,v)*df.dx" ] }, { "attachments": {}, "cell_type": "markdown", "id": "53f83c2b", "metadata": {}, "source": [ "Plot sparsity pattern of the linear system. (The matrix is symmetric and sparse like in Poisson problem. However, closer inspection reveals that some diagonal elements are zero. This indicates that the matrix cannot be positive-definite. In fact, it has both positive and negative eigenvalues.)" ] }, { "cell_type": "code", "execution_count": 19, "id": "07af2087", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A, _ = df.assemble_system(a, b, bc)\n", "A = A.array()\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2)\n", "ax1.spy(A)\n", "ax2.spy(A[1:20,1:20])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "3988c122", "metadata": {}, "source": [ "Solve the linear problem using *mumps* direct sparse linear solver." ] }, { "cell_type": "code", "execution_count": 20, "id": "468a7767", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "elapsed = 0.05170130729675293\n", "Solving linear variational problem.\n" ] } ], "source": [ "w = df.Function(W)\n", "problem = df.LinearVariationalProblem(a, b, w, bc)\n", "solver = df.LinearVariationalSolver(problem)\n", "solver.parameters['linear_solver'] = 'mumps'\n", "\n", "tick0 = time()\n", "solver.solve()\n", "tick1 = time()\n", "print(\"elapsed = \", tick1 - tick0)" ] }, { "cell_type": "markdown", "id": "e11b2cbc", "metadata": {}, "source": [ "Show results with pyplot." ] }, { "cell_type": "code", "execution_count": 10, "id": "555eb950", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Plot of u[0] \n", "\n", "Object cannot be plotted directly, projecting to piecewise linears.\n" ] }, { "data": { "image/png": "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eccBz1vveSeE7uvGiIiIiEIiciM+RERERHYYPkRERBQbDB8iIiKKDYYPERERxQbDh4iIiGKjIsJnzZo1mDhxItLpNJqamvDiiy+WfP7999+P448/Hul0GqeccgoeffTRgt8XQuCaa67BuHHjUFdXh+bmZrz66qs6T0GJzHnfdtttOPPMMzFixAiMGDECzc3NA57/uc99DolEouDXueeeq/s0pMmc95133jngnNLpdMFzovh+f/zjHx9w3olEAnPnzs0/J+zv9zPPPIN58+Zh/PjxSCQSeOihh8q+ZvPmzfjoRz+KVCqFj3zkI7jzzjsHPEf254XfZM/7wQcfxNlnn43Ro0ejvr4eM2fOxG9+85uC51x77bUD3uvjjz9e41nIkz3vzZs3W/4Zb21tLXhe1N5vq7+3iUQCJ510Uv45lfB+r1y5EqeddhqGDh2KMWPGYP78+di1a1fZ1/nx+R368Ln33nuxdOlStLS0YNu2bZgyZQrmzJmDffv2WT7/+eefx0UXXYTLLrsM27dvx/z58zF//ny8/PLL+efccMMNuPnmm7F27Vq88MILGDx4MObMmYPu7m6/Tqss2fPevHkzLrroIjz11FPYsmULGhsbcc455+Ddd98teN65556L999/P/9r3bp1fpyOY7LnDeRu624+pzfffLPg96P4fj/44IMF5/zyyy+juroa//zP/1zwvDC/3x0dHZgyZQrWrFnj6Pl79uzB3LlzcdZZZ2HHjh246qqrsHjx4oIIUPnz4zfZ837mmWdw9tln49FHH8XWrVtx1llnYd68edi+fXvB80466aSC9/rZZ5/VcfjKZM/bsGvXroLzGjNmTP73ovh+//jHPy4437fffhsjR44c8Hc77O/3008/jSuuuAK/+93v8PjjjyOTyeCcc85BR0eH7Wt8+/wWITdjxgxxxRVX5P+5v79fjB8/XqxcudLy+RdccIGYO3duwWNNTU3iC1/4ghBCiGw2KxoaGsQPfvCD/O8fOHBApFIpsW7dOg1noEb2vIv19fWJoUOHirvuuiv/2KJFi8T555/v9aF6Sva877jjDjFs2DDb7cXl/b7xxhvF0KFDxaFDh/KPVcL7bQAgNmzYUPI53/jGN8RJJ51U8NiCBQvEnDlz8v/s9t+j35yct5UTTzxRrFixIv/PLS0tYsqUKd4dmGZOzvupp54SAMRf//pX2+fE4f3esGGDSCQS4o033sg/VmnvtxBC7Nu3TwAQTz/9tO1z/Pr8DvWIT29vL7Zu3Yrm5ub8Y1VVVWhubsaWLVssX7Nly5aC5wPAnDlz8s/fs2cPWltbC54zbNgwNDU12W7TbyrnXayzsxOZTGbAt9xu3rwZY8aMweTJk/GlL30JH3zwgafH7obqeR86dAgTJkxAY2Mjzj//fPzxj3/M/15c3u/bb78dF154IQYPHlzweJjfb1nl/m578e+xEmSzWbS3tw/4u/3qq69i/PjxmDRpEi6++GK89dZbAR2ht6ZOnYpx48bh7LPPxnPPPZd/PC7v9+23347m5mZMmDCh4PFKe78PHjwIACW/ed2vz+9Qh8/+/fvR39+PsWPHFjw+duzYAfO8htbW1pLPN/5XZpt+UznvYt/85jcxfvz4gj8g5557Ln7+859j06ZNuP766/H000/jk5/8JPr7+z09flUq5z158mT87Gc/w8MPP4z/+Z//QTabxemnn4533nkHQDze7xdffBEvv/wyFi9eXPB42N9vWXZ/t9va2tDV1eXJ35tKsHr1ahw6dAgXXHBB/rGmpibceeed2LhxI37yk59gz549OPPMM9He3h7gkbozbtw4rF27Fr/4xS/wi1/8Ao2Njfj4xz+Obdu2AfDm52TYvffee/j1r3894O92pb3f2WwWV111Fc444wycfPLJts/z6/O7xvEzqWKsWrUK69evx+bNmwsW+l544YX5/3/KKafg1FNPxTHHHIPNmzdj9uzZQRyqazNnzsTMmTPz/3z66afjhBNOwH/+53/iuuuuC/DI/HP77bfjlFNOwYwZMwoej+L7HXf33HMPVqxYgYcffrhgrcsnP/nJ/P8/9dRT0dTUhAkTJuC+++7DZZddFsShujZ58mRMnjw5/8+nn346Xn/9ddx444347//+7wCPzD933XUXhg8fjvnz5xc8Xmnv9xVXXIGXX345NOuQQj3iM2rUKFRXV2Pv3r0Fj+/duxcNDQ2Wr2loaCj5fON/ZbbpN5XzNqxevRqrVq3CY489hlNPPbXkcydNmoRRo0bhtddec33MXnBz3oba2lr83d/9Xf6cov5+d3R0YP369Y5+2IXt/ZZl93e7vr4edXV1nvz5CbP169dj8eLFuO+++wZMBxQbPnw4jjvuuIp9r+3MmDEjf05Rf7+FEPjZz36GhQsXIplMlnxumN/vJUuW4Je//CWeeuopHHnkkSWf69fnd6jDJ5lMYtq0adi0aVP+sWw2i02bNhX8V77ZzJkzC54PAI8//nj++UcffTQaGhoKntPW1oYXXnjBdpt+UzlvILfa/brrrsPGjRsxffr0svt555138MEHH2DcuHGeHLdbqudt1t/fj5deeil/TlF+v4HcpZ89PT347Gc/W3Y/YXu/ZZX7u+3Fn5+wWrduHS699FKsW7eu4JYFdg4dOoTXX3+9Yt9rOzt27MifU5TfbyB3VdRrr73m6D9qwvh+CyGwZMkSbNiwAU8++SSOPvrosq/x7fNball2ANavXy9SqZS48847xZ/+9Cdx+eWXi+HDh4vW1lYhhBALFy4Uy5Ytyz//ueeeEzU1NWL16tVi586doqWlRdTW1oqXXnop/5xVq1aJ4cOHi4cfflj83//9nzj//PPF0UcfLbq6unw/Pzuy571q1SqRTCbFAw88IN5///38r/b2diGEEO3t7eLqq68WW7ZsEXv27BFPPPGE+OhHPyqOPfZY0d3dHcg5WpE97xUrVojf/OY34vXXXxdbt24VF154oUin0+KPf/xj/jlRfL8NH/vYx8SCBQsGPF4J73d7e7vYvn272L59uwAgfvSjH4nt27eLN998UwghxLJly8TChQvzz9+9e7cYNGiQ+PrXvy527twp1qxZI6qrq8XGjRvzzyn37zEMZM/77rvvFjU1NWLNmjUFf7cPHDiQf87XvvY1sXnzZrFnzx7x3HPPiebmZjFq1Cixb98+38/Pjux533jjjeKhhx4Sr776qnjppZfEV77yFVFVVSWeeOKJ/HOi+H4bPvvZz4qmpibLbVbC+/2lL31JDBs2TGzevLngz21nZ2f+OUF9foc+fIQQ4pZbbhFHHXWUSCaTYsaMGeJ3v/td/vdmzZolFi1aVPD8++67Txx33HEimUyKk046SfzqV78q+P1sNiu++93virFjx4pUKiVmz54tdu3a5cepSJE57wkTJggAA361tLQIIYTo7OwU55xzjhg9erSora0VEyZMEJ///OdD9QPCIHPeV111Vf65Y8eOFeedd57Ytm1bwfai+H4LIcQrr7wiAIjHHntswLYq4f02Llcu/mWc56JFi8SsWbMGvGbq1KkimUyKSZMmiTvuuGPAdkv9ewwD2fOeNWtWyecLkbusf9y4cSKZTIojjjhCLFiwQLz22mv+nlgZsud9/fXXi2OOOUak02kxcuRI8fGPf1w8+eSTA7YbtfdbiNwl2nV1deKnP/2p5TYr4f22OmcABX9ng/r8TvztAImIiIgiL9RrfIiIiIi8xPAhIiKi2GD4EBERUWwwfIiIiCg2GD5EREQUGwwfIiIiig2GDxEREcUGw4eIiIhig+FDREREscHwISIiothg+BAREVFsMHyIiIgoNhg+REREFBsMHyIiIooNhg8RERHFBsOHiIiIYoPhQ0RERLHB8CEiIqLYYPgQERFRbDB8iIiIKDYYPkRERBQbDB8iIiKKDYYPERERxQbDh4iIiGKD4UNERESxwfAhIiKi2GD4EBERUWwwfIiIiCg2GD5EREQUGwwfIiIiig2GDxEREcVGTdAHoEN3dzd6e3uDPgwiIiKSkEwmkU6nte4jcuHT3d2NwXVjkEV70IdCREREEhoaGrBnzx6t8RO58Ont7UUW7fh/yW8hAfl/cSOyKaX9DhVJpde5fe0gofYWDhXqs5yDFGdIByOhvM/BLiZlB9Vm1faZ7lfeZ10qo/a6OvWRStV9puq6lfeZTqkfb7quR+l1tS72mVLep9q/Wzf7BIDatNp+a13sszqt9u+3drD6+1Lt5ngHqe23ysXxYpDin4ch6n+OxKA+pddlhyrvEn2D1X9mZxT2296exYmT96C3t5fhoyKBNKoS8v/iqhVeAwDVUI+XGhevrVV8C2tRrbzPpGI0pRLqf4lS6i9FOqEWPnUJtR80AFBXpfa+DKpSf1/qqtVem1bfJdI16kWaVvzpk6x18eeoVnGfSRf7TArl19aq/XcYalNqf+YBoCatdry1afV9Vtep/0dGdZ3afqsGqe8TgxTPdbD6vyMxWO19yQ5R//PXN0T973emXvml2nFxMxEREcUGw4eIiIhig+FDREREscHwISIiothg+BAREVFsMHyIiIgoNhg+REREFBsMHyIiIooNhg8RERHFBsOHiIiIYoPhQ0RERLHB8CEiIqLYYPgQERFRbDB8iIiIKDYYPkRERBQbDB8iIiKKDYYPERERxQbDh4iIiGKD4UNERESxwfAhIiKi2GD4EBERUWzUBH0Augh0IyvkX9cvFF4EoF/0K70OAPpcvDYj1N7CjFBv3l7FXu4RCeV91qi9LQCAapFVfJ36+4JsRvF1vcq7FP1q++zv71beZ3+f+vH29/Uova43o77PTI3aPmurFN9PAL3V6serul83x1udUNxndZ+Lffr/2qoqF3+/ofhaF/sUij+Psuo/dtGn+HkIACp/itrb1X5Wy4pc+CSTSTQ0NKC19ftKr9/v8fGQR9z8fVD7rFN/HRERKWloaEAymdS6j4QQLpIupLq7u9HbK/9fWW1tbWhsbMTbb7+N+vp6DUcWDnE5TyA+58rzjJ64nCvPM3rcnGsymUQ6ndZ0ZDmRG/EBgHQ67epfXH19feT/YALxOU8gPufK84yeuJwrzzN6wnquXNxMREREscHwISIiothg+JikUim0tLQglUoFfShaxeU8gficK88zeuJyrjzP6An7uUZycTMRERGRFY74EBERUWwwfIiIiCg2GD5EREQUGwwfIiIiig2GDxEREcVG7MJnzZo1mDhxItLpNJqamvDiiy+WfP7999+P448/Hul0GqeccgoeffRRn47UHZnzvO2223DmmWdixIgRGDFiBJqbm8v+ewkL2ffTsH79eiQSCcyfP1/vAXpI9lwPHDiAK664AuPGjUMqlcJxxx1XEX9+Zc/zpptuwuTJk1FXV4fGxkZ89atfRXe3+hev+uGZZ57BvHnzMH78eCQSCTz00ENlX7N582Z89KMfRSqVwkc+8hHceeed2o/TLdnzfPDBB3H22Wdj9OjRqK+vx8yZM/Gb3/zGn4N1SeU9NTz33HOoqanB1KlTtR2fV1TOs6enB9/+9rcxYcIEpFIpTJw4ET/72c/0H6yNWIXPvffei6VLl6KlpQXbtm3DlClTMGfOHOzbt8/y+c8//zwuuugiXHbZZdi+fTvmz5+P+fPn4+WXX/b5yOXInufmzZtx0UUX4amnnsKWLVvQ2NiIc845B++++67PRy5H9jwNb7zxBq6++mqceeaZPh2pe7Ln2tvbi7PPPhtvvPEGHnjgAezatQu33XYbjjjiCJ+PXI7sed5zzz1YtmwZWlpasHPnTtx+++2499578a1vfcvnI5fT0dGBKVOmYM2aNY6ev2fPHsydOxdnnXUWduzYgauuugqLFy8OfRTInuczzzyDs88+G48++ii2bt2Ks846C/PmzcP27ds1H6l7sudqOHDgAC655BLMnj1b05F5S+U8L7jgAmzatAm33347du3ahXXr1mHy5Mkaj7IMESMzZswQV1xxRf6f+/v7xfjx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Plot of u[1] \n", "\n", "Object cannot be plotted directly, projecting to piecewise linears.\n" ] }, { "data": { "image/png": "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u1YAEHfccYdYu3at+Oc//ymEEGL27Nni4osvTm7/j3/8Q/To0UPccMMNYuPGjWLBggWiuLhYLFmyJLmN299jLlBt95NPPilKSkrEggULDP+29+3bl9zm+uuvFytXrhRbt24Vq1atErW1taJfv35i9+7dGW+fHdV233nnneKFF14Qn376qVi/fr348Y9/LIqKisRrr72W3KYQP2/NRRddJGpqaiyPmQ+f99VXXy0qKirEypUrDT+3Bw4cSG6Tret3zgcfIYS49957xZAhQ0Q0GhWjRo0S77zzTvK1sWPHiksvvdSw/bPPPiuOOeYYEY1GxQknnCD++te/Gl5PJBLiF7/4hRg4cKCIxWJi3LhxYtOmTZloihKVdh9++OECQMpj7ty5QgghDhw4IMaPHy/69+8vSktLxeGHHy6uuOKKnPqC0Ki0+yc/+Uly24EDB4qzzz5bfPDBB4bjFeLnLYQQn3zyiQAgXn311ZRj5cPnrU1XNj+0dl566aVi7NixKfuccsopIhqNiiOOOEI8+uijKcd1+nvMBartHjt2rOP2QnRP6x80aJCIRqPi0EMPFeeff77YvHlzZhvmQrXdt912mzjyyCNFPB4Xffv2FWeccYZYvnx5ynEL7fMWonuKdllZmXjwwQctj5kPn7dVmwEY/s1m6/od+eoEiYiIiApeTo/xISIiIvITgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYUGgw8RERGFBoMPERERhQaDDxEREYVGSbZPIAitra1ob2/P9mkQERGRgmg0ing8Huh7FFzwaW1tRc+yAUigKdunQkRERAqqqqqwdevWQMNPwQWf9vZ2JNCEQ6L/iwjk/+IqEjHl9+qJUuV9egn1fXoI9Y+plyhW3gcA4kK997Onhx7THsp7AD08dMzGSxLq7xNT3yce6/SwT4eHfdQrmV7eJxZXf59oVH0fL+9T6uHvwNv7qH+mJbE25X2iHs6txMNnCgDFcfX9SrycX5n6+xR7eJ8iD+/jZZ9ID/Vzi8TVf35ETy/7qH9fdXn4Au7qGVHep6On2vZNTQkcP3wr2tvbGXy8iCCOooj8X1xxRD34FCOqvE+Jh7BU6uFj8rIPAEQ9hJioh7AUU/835GmfeMRDiIl0Ke9TVuQh+BSpf0ZlReqBNl7sZR8PPwclHn4OStQ/1Gip+j4xD/uUlqq3pzQqlPeJqn+NoET968rzfiVx9TZ52ae4TP3falGZ+vsU9VB/n0gP9X9DEQ/nJnp62KeX+s92l2Ig6d7HQ/Dppf4+mcDBzURERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBoMPkRERBQaDD5EREQUGgw+REREFBol2T6BoAi0IiHkt+8SChtr+6BLeZ9O0am8T4dQ/5g6RLHyPgBQLNSzcKmH/Fyi/teNYg/7RERCeZ8iD/sgof65ikSHh33alfdJdKm/T1eX+vt0dKrv0+lhn/YOD+dWrL5PaZH6Z1pSpP4+UQ/7lETUP1MAKPawn5f3Komo/90VQ32fIk/7qH9vR7zsk1DfR3h4HwH176suD19xXYmI8j4diu/T1OThxDyICOHhip/DWltbMWzYMNTX12f7VIiIiEhBVVUVtm7ding8Hth7FFzwAbrDT3u7/G9RjY2NqK6uxvbt21FeXh7gmWVGobUHKLw2sT25rdDaAxRem9ie3Oa1PdFoNNDQAxRoV1c8Hvf0F1deXl4QP3CaQmsPUHhtYntyW6G1Byi8NrE9uS0X28PBzURERBQaDD5EREQUGgw+AGKxGObOnYtYLJbtU/FFobUHKLw2sT25rdDaAxRem9ie3JbL7SnIwc1EREREVljxISIiotBg8CEiIqLQYPAhIiKi0GDwISIiotBg8CEiIqLQCE3w2bt3L6ZPn47y8nJUVlZi5syZ2L9/v+M+Z5xxBiKRiOHxgx/8wHLbPXv24LDDDkMkEsG+ffsCaIGRl/ZohBCYNGkSIpEIXnjhBcNr7733HsaNG4fKykr06dMHEyZMwIcffhhAC4yCaM+HH36IadOmobq6GmVlZTjuuONw9913B9QCIy/tueqqq3DkkUeirKwM/fv3x5QpU/DJJ5+kbPfYY4/hpJNOQjwex4ABA3DNNdcE1YykoNqzbds2TJ48GT169MCAAQNwww03oLNT/caTXqi2ae/evbjuuuswfPhwlJWVYciQIfjRj36EhoYGy+3z4TvhwQcfxBlnnIHy8nLb8/z73/+OKVOmoF+/figvL8d//Md/YMWKFQG14qAg2vPZZ59h5syZGDZsGMrKynDkkUdi7ty5Src48spLe1pbW3HNNdfgkEMOQa9evXDuuedi165dKdtl6jthwYIFGDp0KOLxOGpqavDuu+86bv/cc8/h2GOPRTwex4gRI/DSSy8ZXhdC4KabbsKgQYNQVlaG2tpafPrpp4Gcu/mNQ2HixIni5JNPFu+884548803xVFHHSWmTZvmuM/YsWPFFVdcIXbu3Jl8NDQ0WG47ZcoUMWnSJAFA/Pvf/w6gBUZe2qO54447kue6aNGi5PNNTU2ib9++4rLLLhOffPKJ2LBhgzj33HPFwIEDRXt7e0At6RZEex5++GHxox/9SKxcuVJs2bJF/OEPfxBlZWXi3nvvDagVB3lpzwMPPCBef/11sXXrVrFmzRpxzjnniOrqatHZ2Znc5re//a0YPHiwePLJJ8XmzZvFhx9+KBYvXhx0cwJpT2dnpzjxxBNFbW2tWLt2rXjppZdEv379xJw5cwJvjxDqbVq/fr347ne/K1588UWxefNmsWzZMnH00UeLc88913L7fPhOuPPOO8W8efPEvHnzbM/z6KOPFmeffbb48MMPxd///nfxwx/+UPTo0UPs3LkzoJZ0C6I9L7/8srjsssvEK6+8IrZs2SIWL14sBgwYIK6//voAW9LNS3t+8IMfiOrqarFs2TLx/vvvi9NOO02MGTPGsE2mvhMWLlwootGoeOSRR8RHH30krrjiClFZWSl27dpluf2qVatEcXGxuP3228XHH38sbrzxRlFaWirWr1+f3ObWW28VFRUV4oUXXhAffvih+K//+i8xbNgw0dLS4vv564Ui+Hz88ccCgHjvvfeSz7388ssiEomIHTt22O43duxY8eMf/9j1+L/73e/E2LFjxbJlyzLyJee1PUIIsXbtWnHooYeKnTt3pgSF9957TwAQ27ZtSz73t7/9TQAQn376qe/t0ATVHis//OEPxZlnnunHadtKpz16H374oQAg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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Plot of p \n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u, p = w.split()\n", "u.rename(\"u\", \"velocity\")\n", "p.rename(\"p\", \"pressure\")\n", "\n", "for unknown in u[0], u[1], p:\n", " print(\"Plot of\", unknown, \"\\n\")\n", " figure = df.plot(unknown, cmap=plt.cm.plasma)\n", " plt.colorbar(figure)\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "81d7a6da", "metadata": {}, "source": [ "Plot velocity profile at the ouflow. Compare it to a parabolic profile (Poiseuille flow)." ] }, { "cell_type": "code", "execution_count": null, "id": "e318192c", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABmeUlEQVR4nO3deXxTVfrH8U+S7tCF0tIdiuwIgqIgIAqKIiqCDIrgioob/gSZcZRxwWUUdZQBlXFBwBVBEBAFUdkUEUFAFFR2KqV0Y+lC9yb390fSDVpsgfYm7ff9evUFvfdJ8iRNzn1y7rnnWAzDMBARERExidXsBERERKRhUzEiIiIiplIxIiIiIqZSMSIiIiKmUjEiIiIiplIxIiIiIqZSMSIiIiKmUjEiIiIipvIyO4HqcDgcHDx4kMDAQCwWi9npiIiISDUYhkF2djbR0dFYrVX3f3hEMXLw4EHi4uLMTkNEREROQWJiIrGxsVXu94hiJDAwEHA+maCgIJOzERERkerIysoiLi6u9DheFY8oRkpOzQQFBakYERER8TB/NcRCA1hFRETEVCpGRERExFQqRkRERMRUHjFmRERE3I9hGBQXF2O3281ORUxis9nw8vI67Wk3VIyIiEiNFRYWkpycTG5urtmpiMkCAgKIiorCx8fnlO9DxYiIiNSIw+Fg37592Gw2oqOj8fHx0YSUDZBhGBQWFpKens6+ffto06bNSSc2OxkVIyIiUiOFhYU4HA7i4uIICAgwOx0xkb+/P97e3vz5558UFhbi5+d3SvejAawiInJKTvVbsNQvZ+J9oHeSiIiImKrGxch3333HoEGDiI6OxmKxsGjRor+8zerVqznvvPPw9fWldevWvPvuu6eQqoh4NIcdUldDwsfOfx2VXIFRnRgRqXdqPGYkJyeHLl26cMcddzB06NC/jN+3bx9XX3019957Lx999BErVqzgrrvuIioqigEDBpxS0iLiZhx2SF8DecngHwXhfcBqK9ufuAA2jYXcA2XbAmKh21SIG1r9mOo+noh4lBr3jAwcOJB///vfXHfdddWKf/PNN2nZsiWvvPIKHTp04IEHHmDYsGH897//rXGyIuKGEhfA4nhY0Q9+GOn8d3G8c3vJ/jXDKhYZALlJzu2JC6oXU93HEzmJ22+/HYvFwgsvvFBh+6JFi0qvCHr33XcJCQmp9PblzwgkJCRgsViw2WwkJSVViEtOTi6dfyMhIaFCfGU/P/74Y+ljl2yzWq1ERUUxfPhw9u/fX+H++/bty7hx4yps2717N6NGjSI2NhZfX19atmzJiBEj2Lhx4wnP45577sFmszFv3rwT9j311FN07dq10udfW2r9app169bRv3//CtsGDBhwwotYXkFBAQUFBaW/Z2Vl1VZ6IvJXTtYLUVJEYFS8jauIKOg5l+T1k0jKPoekonCSCpuR5WgEgAUDsGD5dI3z9+I7Srd7W4qJ9kkn1ieVWO90YjY8jH/MYEj67KSPR5/5Zb0o6j2RKvj5+fHiiy9yzz330KRJk9O+v5iYGN5//30mTJhQuu29994jJibmhCICYPny5Zx99tkVtjVt2rT0/0FBQezYsQPDMNi3bx/3338/119/PevXr68yh40bN3LZZZfRqVMn3nrrLdq3b092djafffYZf//73/n2229LY3Nzc5kzZw7//Oc/mTlzJtdff/3pPP0zotaLkZSUFCIiIipsi4iIICsri7y8PPz9/U+4zaRJk3j66adrOzUR+SsnO3USMxg2jcUwDPYUxPJTztnsK4gmqahZaeGR/msA8OwZSSXst2XEWA4S6/UwsT5pxPmk0tV/Jx3892GzOAALbBrnzCvps+qf8pHTZhgGeUXmjO/x97bVeI6T/v37s3v3biZNmsRLL7102jncdtttzJo1q0IxMmvWLG677TaeffbE93/Tpk2JjIys8v4sFkvp/qioKO68804efPBBsrKyKl253jAMbr/9dtq0acOaNWsqXN3StWtXxo4dWyF+3rx5dOzYkUcffZTo6GgSExOJi4ur8fM+k9xynpEJEyYwfvz40t+zsrJMf6FEGpwqej3sOcn88fU/2RCUxoZdt/BTztkctodUeTf+lnyifdKJ8U4jxiedJraynk7D1T9S8n9wHlTyHL4cLAznQFEzDhRGcMwRwKFcOERLfqFlhfsPtB7jgka/06PRNro33kanrc/h/dtTJ+Rdae+JnBF5RXY6PvmVKY/9+zMDCPCp2aHMZrPx/PPPM3LkSB588EFiY2NPK4drr72WN998k++//56LLrqI77//nqNHjzJo0KBKi5GaSEtLY+HChdhsNmy2ynv2tmzZwm+//cbs2bMrvcz2+FNOM2bM4OabbyY4OJiBAwfy7rvv8sQTT5xWnqer1ouRyMhI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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Y = np.linspace(-0.5, 0.5)\n", "U_num = [u(L, y)[0] for y in Y]\n", "U_max = max(U_num)\n", "U_poi = [U_max*(1.0 - (y/R)**2) for y in Y]\n", "plt.plot(Y, U_num, label='NUMERICAL')\n", "plt.scatter(Y, U_poi, label='POISEUILLE', color='orange')\n", "plt.legend()\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "3f3bddcf", "metadata": {}, "source": [ "## Exercises \n", "1) In the definition of `v_inflow`, why is there `5.0/8.0` and not `5/8`?\n", "2) Can we prevent the emergence of Poiseuille flow by making $\\mu$ very small or inflow speed very large?\n", "3) Can we use conjugate gradient method to solve the algebraic system?\n", "4) Try mixed elements other than Tayler-Hood from the list below. (Spoiler: the first two will not work very well.)\n", " * CG 1 for velocity, CG 1 for pressure\n", " * CG 2 for velocity, CG 2 for pressure\n", " * CG 2 for velocity, DG 0 for pressure (DG stands for Discontinuous Galerkin)\n", " * CR 1 for velocity, DG 0 for pressure (CR stands for Crouzeix-Raviart)\n", " * MINI element:\n", " ```\n", " Ev1 = df.FiniteElement(\"CG\", mesh.ufl_cell(), 1)\n", " Ev2 = df.FiniteElement(\"Bubble\", mesh.ufl_cell(), mesh.geometry().dim()+1)\n", " Ev = df.VectorElement(df.NodalEnrichedElement(Ev1, Ev2))\n", " Ep = df.FiniteElement(\"CG\", mesh.ufl_cell(), 1)\n", " ```\n", "5) Experiment with different inflow conditions and non-zero external forces." ] }, { "cell_type": "markdown", "id": "8d5d886d", "metadata": {}, "source": [ "## Complete code" ] }, { "cell_type": "code", "execution_count": null, "id": "b7ff850c", "metadata": {}, "outputs": [], "source": [ "import dolfin as df\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from time import time\n", "\n", "\n", "# Create mesh.\n", "\n", "R = 0.5 # half of distance between plates\n", "L = 2.0 # length\n", "n_x = 40 # x-resolution\n", "n_y = 20 # y-resolution\n", "mesh = df.RectangleMesh(df.Point(0, -R), df.Point(L, R), n_x, n_y)\n", "\n", "df.plot(mesh)\n", "plt.show()\n", "\n", "\n", "# Identify boundaries.\n", "\n", "# define boundary as a class\n", "class Inflow(df.SubDomain):\n", " def inside(self, x, on_boundary):\n", " return on_boundary and df.near(x[0], 0.0)\n", "\n", "inflow = Inflow()\n", "\n", "# or with AutoSubDomain\n", "outflow = df.AutoSubDomain(lambda x, on_boundary: on_boundary and df.near(x[0], L))\n", "walls = df.AutoSubDomain(lambda x, on_boundary: on_boundary and df.near(abs(x[1]), R))\n", "\n", "# mark boundary parts\n", "bdary = df.MeshFunction('size_t', mesh, mesh.topology().dim()-1, 0)\n", "inflow.mark(bdary, 1)\n", "outflow.mark(bdary, 2)\n", "walls.mark(bdary, 3)\n", "\n", "\n", "# Define mixed function space for pressure and velocity.\n", "\n", "Ev = df.VectorElement(\"CG\", mesh.ufl_cell(), 2) # 2 = quadratic elements\n", "Ep = df.FiniteElement(\"CG\", mesh.ufl_cell(), 1) # 1 = linear elements\n", "E = df.MixedElement([Ev, Ep]) # Taylor-Hood mixed element\n", "W = df.FunctionSpace(mesh, E)\n", "\n", "\n", "# Declare boundary conditions.\n", "\n", "v_wall = df.Constant((0.0, 0.0))\n", "v_inflow = df.Expression((\"5.0/8.0*(1.0 - x[1]/R)*pow(1.0 + x[1]/R, 4)\", \"0\"), degree = 2, R = R) \n", "bc_wall = df.DirichletBC(W.sub(0), v_wall, bdary, 3)\n", "bc_inflow = df.DirichletBC(W.sub(0), v_inflow, bdary, 1)\n", "bc = [bc_inflow, bc_wall]\n", "\n", "\n", "# Write variational formulation.\n", "\n", "mu = df.Constant(1.0) # dynamic viscosity\n", "f = df.Constant((0.0, 0.0)) # external force\n", "u, p = df.TrialFunctions(W)\n", "v, q = df.TestFunctions(W)\n", "a = mu*df.inner(df.grad(u), df.grad(v))*df.dx - p*df.div(v)*df.dx - q*df.div(u)*df.dx\n", "b = df.inner(f,v)*df.dx\n", "\n", "\n", "# Plot sparsity pattern of the linear system.\n", "\n", "A, _ = df.assemble_system(a, b, bc)\n", "A = A.array()\n", "\n", "fig, (ax1, ax2) = plt.subplots(1, 2)\n", "ax1.spy(A)\n", "ax2.spy(A[1:20,1:20])\n", "plt.show()\n", "\n", "\n", "# Solve the linear problem using *mumps* direct sparse linear solver.\n", "\n", "w = df.Function(W)\n", "problem = df.LinearVariationalProblem(a, b, w, bc)\n", "solver = df.LinearVariationalSolver(problem)\n", "solver.parameters['linear_solver'] = 'mumps'\n", "\n", "tick0 = time()\n", "solver.solve()\n", "tick1 = time()\n", "print(\"elapsed = \", tick1 - tick0)\n", "\n", "\n", "# Show results with pyplot.\n", "\n", "u, p = w.split()\n", "u.rename(\"u\", \"velocity\")\n", "p.rename(\"p\", \"pressure\")\n", "\n", "for unknown in u[0], u[1], p:\n", " print(\"Plot of\", unknown, \"\\n\")\n", " figure = df.plot(unknown)\n", " plt.colorbar(figure, location='bottom')\n", " plt.show()\n", "\n", "\n", "# Plot velocity profile at the ouflow. Compare it to a parabolic profile (Poiseuille flow).\n", "\n", "Y = np.linspace(-0.5, 0.5)\n", "U_num = [u(L, y)[0] for y in Y]\n", "U_max = max(U_num)\n", "U_poi = [U_max*(1.0 - (y/R)**2) for y in Y]\n", "plt.plot(Y, U_num, label='NUMERICAL')\n", "plt.scatter(Y, U_poi, label='POISEUILLE', color='orange')\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.6" }, "vscode": { "interpreter": { "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" } } }, "nbformat": 4, "nbformat_minor": 5 }