{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "Text and code provided under a Creative Commons Attribution license, CC-BY. (c) Lorena A. Barba, Olivier Mesnard, 2014. Thanks: NSF for support via CAREER award #1149784." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[@LorenaABarba](https://twitter.com/LorenaABarba)" ] }, { "cell_type": "heading", "level": 5, "metadata": {}, "source": [ "Version 0.1 -- February 2014" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Infinite row of vortices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time, you'll be on your own creating the code for this flow!\n", "\n", "The objective of this assignement is to visualize the streamlines induced by an infinite row of vortices.\n", "Because the computer does not enable the passage to the limit of an infinite number, we first consider the case of a finite number of vortices.\n", "\n", "However, it is possible to derive an analytical expression for the infinite case.\n", "\n", "Are the streamlines different from one case to the other?\n", "\n", "\n", "In this notebook, their is no Python code... not yet! Your job is to read the theory, to think how you could implement it in an efficient manner and finally to code it and visualize the results." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Vortex flow (from previous lesson)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As seen in a previous lesson, a vortex of strength $\\Gamma$ has a stream-function\n", "\n", "$$\\psi\\left(r,\\theta\\right) = \\frac{\\Gamma}{2\\pi}\\ln r$$\n", "\n", "and a velocity potential\n", "\n", "$$\\phi\\left(r,\\theta\\right) = -\\frac{\\Gamma}{2\\pi}\\theta$$\n", "\n", "From this we can derive the velocity components in a polar coordinate system\n", "\n", "$$u_r\\left(r,\\theta\\right) = 0$$\n", "\n", "$$u_\\theta\\left(r,\\theta\\right) = -\\frac{\\Gamma}{2\\pi r}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a Cartesian system, the velocity components at $\\left(x,y\\right)$ induced by a vortex, of strength $\\Gamma$ located at $\\left(x_\\text{vortex},y_\\text{vortex}\\right)$, are given by\n", "\n", "$$u\\left(x,y\\right) = +\\frac{\\Gamma}{2\\pi}\\frac{y-y_\\text{vortex}}{(x-x_\\text{vortex})^2+(y-y_\\text{vortex})^2}$$\n", "\n", "$$v\\left(x,y\\right) = -\\frac{\\Gamma}{2\\pi}\\frac{x-x_\\text{vortex}}{(x-x_\\text{vortex})^2+(y-y_\\text{vortex})^2}$$\n", "\n", "and the stream-function is\n", "\n", "$$\\psi\\left(x,y\\right) = \\frac{\\Gamma}{4\\pi}\\ln\\left((x-x_\\text{vortex})^2+(y-y_\\text{vortex})^2\\right)$$" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Adding many vortices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this assignement, we consider a useful example to illustrate the concept of a *vortex sheet*: an infinite row of vortices of equal strength $\\Gamma$ (same sign and magnitude) evenly spaced by a distance $a$. But let's start with a finite row of vortices first.\n", "\n", "\n", "The stream-function $\\psi_i$ of the $i^{th}$ vortex at a distance $r_i$ is given by:\n", "\n", "$$\\psi_i = \\frac{\\Gamma}{2\\pi}\\ln r_i$$\n", "\n", "Applying the principle of superposition, the stream-function of $N$ vortices is, then\n", "\n", "$$\\psi = \\frac{\\Gamma}{2\\pi} \\sum_{i=1}^N \\ln r_i$$\n", "\n", "And the velocity field (in Cartesian coordinates) of the row of vortices is\n", "\n", "$$u\\left(x,y\\right) = + \\frac{\\Gamma}{2\\pi} \\sum_{i=1}^N \\frac{y-y_i}{(x-x_i)^2+(y-y_i)^2}$$\n", "\n", "$$v\\left(x,y\\right) = - \\frac{\\Gamma}{2\\pi} \\sum_{i=1}^N \\frac{x-x_i}{(x-x_i)^2+(y-y_i)^2}$$\n", "\n", "where $\\left(x_i,y_i\\right)$ are the Cartesian coordinates of the $i^{\\text{th}}$ vortex.\n", "\n", "(In the next section, we'll show you how to derive a closed-form expression for the *infinite* sum of vortices. But hang on.)\n", "\n", "