{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# PDE python exercise 7" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In this exercise we are interested to solve the advection equation defined as:\n", "\n", "$$ \\frac{\\partial u}{\\partial t} + a_0 \\frac{\\partial u}{\\partial x} = 0 $$\n", "\n", "where $a_0$ is a positive constant.\n", "\n", "Here are therefore interested by how a pressure wave $u$ is moving through a compressible fluid enclosed into a cylindrical pipe. To this end, we are considering a one dimensional problem (along $x$) which we will observe through time $t$.\n", "\n", "Our cylindrical pipe is defined to be of length 1 (see figure below) and we are looking at the pressure wave travelling for a time of 0.5. The initial conditions for this PDE are defined below where we give an initial shape to the pressure wave. The wave is assumed to travel with a constant velocity $a_0$ equal to 1.\n" ] }, { "attachments": { "image.png": { "image/png": "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Z4FqU9TEqKRO5WpSC0tSHyzVRr3yyivWqVMnGzBggKsVzPeovyAfAp8gFZYhgAACRSqgoEdNVWoe0o1q4cKFkTP95ptvXG2OAoh4SQFJvL49GlquX/v169e31157za6//nq75557XPPHM888Y/369YuXbZnlyiuoY7A6Descli1bVmYflUtBSK7TF198YbVq1SpzWJVVKRND7tX0N3/+fFOzmoLWBQsWRI6nwOqxxx5zf/PmzYss//rrr+2ll15yNUOaGHjcuHE2efLkyPp4b9avX2/qq6RrqPT555/bU089ZTrPZJL6HqkW7IILLrAbb7zRBUHKI9mkTuJ///vfnZvKPXHiRHceqQTOiY5F5+ZEOqxDAAEEikxg9OjRds4557j+J99++627mR522GHuLN944w1Xk9CsWbO4Z/3pp59ao0aNAterz4kCHz1ySDUSav544oknrH379q4JRB2Tk02q0alSpUqZzb1lujnHJo3sUvnKSzr/oMAp3n7yUIfieCmdssbLK95y74kGqpFT4KfPSmryUi2XOnjLXX2iXn31Vbvhhhvcep3nzTff7N4feuihpuY3Bbb777+/Wxb7n//85z8uyLnssstcX6qXX37Z1eBUr17dBcrqy5NsOuKII1wAs3jxYrv33ntdLd2QIUOsZcuWcbNQcKamVDVdduzY0Y4//ngXOJ111lm2atUqU7kqmgh8KirI/ggggEABCaxZs8ZatWplCnJUe6CRR17SqCgFKV5w4S33XtWMpX1UWxSbVCOhvLznLOpmp/ennHKK21S/+GvUqBG7W9zP3o09doN4y7Vd3bp1TbUc5aUxY8aUt0lK6+OVSQGKUrz1qRxEQYuum2phvGumIOT222+35cuXR67Zb37zG9fXRrUuxxxzjF100UV27bXXuqkAWrdu7aYGiBf0qDwK8DRVgb4D6kv08MMPu79JkybZ1VdfnUqRI9uq70/37t1d5+c5c+bEDXwUdK1bt85OPfVUt6/c1LSpv7Zt27o8vEx1zqrdat68uZvKwFuezCuBTzJKbIMAAggUicCgQYPcmegGd9xxx7lmKe/U1ITyy1/+0vtY5lWTFioFNUGpI7L+vKSOuJpXx+uTkkrQozy0n2aGjk1ec0dQ05I6GG/ZsiV2l6x/VlmDaqASlTUThVLtnYIYf6CqvjaqadP1VeCjJMef/exnbi4k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Ojcnvojq3Hz55Zcn3oi1CCCAAAIIIFBGIJSBD52by1wnFiCAAAIIIIBABgRCGfjQxyfxlaVzc2If1iKAAAIIIBBPIJSdm+njE+9y/W85nZsT+7AWAQQQQACBeALU+MSTCfFyOjeH+OJQNAQQQACBUAuEMvChxifxd4bOzYl9WIsAAggggEA8gVAGPozqine5WI4AAggggAACFREIZeDDqK7El5TOzYl9WIsAAggggEA8gVB2bmZUV7zL9b/ldG5O7MNaBBBAAAEE4gmEMvCJV1iW/09AnZs3bNiQ0QfDYosAAmUFNm7caPfff78tWbLE1q1bZyeffLKdd955tnXrVvvjH/9oixcvNvVJ1LLOnTuXzYAlCCAQOoFQNnVJSf+YkIIF6Nwc7MJSBJIRUMAyf/78cjdds2aN9enTx7p3726PPvqoPfTQQ/arX/3KHnnkEbviiitcoDNy5EjbtGmT22blypXl5skGCCCQf4HQBj5q7iIhgAACmRbYZZdd7Pjjj7ejjjrKBTOrV68OPISCnDvvvNN+9rOfufX169e3n//853bVVVdZ06ZNrXXr1jZz5kx76qmnTP9eValSJTAfFiKAQLgEQhv4hIspXKWhc3O4rgelKSyBQYMG2dKlS23YsGE2e/Zsa9asmZ155pk2YcIE27ZtmzuZd9991/bee2874IADok5ODwfevHmzXXrppW750Ucfbbfffru9+uqrND1HSfEBgfAKVNrZpNRkZ/GWhqmITz75pF1//fV23HHHuV9SGuWlX1T603sNd9erkvfee/Uv03vt4zWb+bdJZV3stvqslCi//21Rdpug/bTMX05v36BlsceMl1+85UH7e8eLfQ06fuw2/s+p5K39sr19quVPdftslj/VsgRtH698Qdsmuywoz6BlsfnFfg7aJ3ZZvH0UnGzfvt2qV68e+fr59/Xv5y33XrXD7rvvbmrG8pLy+/bbb+2dd96x9evX29NPP22q3Tn44INdzY63nZq06tSpYwceeGBSTWXefrwigECoBOaGsnNzzZo1bd9993WBj4IW/ekfLu+9/x827733Kl7/e/8/eP7l2i7ZdbHb6rNSovz+t0XZbYL2i7fMX75U84uXZ2yZvXyDXlPZNt7xgvL1loUt/yBvr6xBr9ksf6plCdo+XvmClgftH7QsaN+gZbH7xn4O2id2Wbx93nvvPZsz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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "![image.png](attachment:image.png)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In this exercise you have to:\n", "\n", "1. Express the upwind scheme for the given advection equation\n", "2. Make a function which takes in the number of grid points along the $x$ axis and the number of timesteps and return the pressure as a matrix (i.e. as function of time and space). The initial conditions for the pressure wave, its velocity as well as the CFL number have to be computed inside the function.\n", "3. Run the simulation for 100 points along the $x$ axis and 100 timesteps. Plot the distribution of the pressure along the pipe for timesteps number 10, 50 and 99. Can you comment on what you can observe?\n", "4. Run two more simulations (with the same grid size) but this time with 200 and 51 timesteps (i.e. time = np.linspace(0.0,0.5,200) and time = np.linspace(0.0,0.5,51)). Plot the distribution of the pressure along the pipe at the end of the simulation. Can you comment on what you can observe?\n", "5. Run a final simulation with 50 timesteps and compare it to the one carried out with 51 timesteps. What can you conclude?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.9.10" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "072f120aa02d08ea61d001fa93115a43c81ff98089754e42d3890c56566da5f7" } } }, "nbformat": 4, "nbformat_minor": 2 }