{ "cells": [ { "cell_type": "code", "execution_count": 204, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "from math import pi, sqrt\n", "import matplotlib.pyplot as plt\n", "from scipy.optimize import brentq\n", "from scipy.interpolate import Akima1DInterpolator\n", "from ipywidgets import interact\n", "\n", "plt.style.use('ggplot')\n", "plt.rcParams['font.size'] = 16.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Converging Diverging Nozzle\n", "\n", "We will assume a calorically perfect, ideal gas. We will also not include friction or heat transfer. Thus, we will assume adiabatic flow. \n", "\n", "## Getting Started\n", "Let's first set the specific heat ratio \n", "$$\\gamma = \\frac{c_p}{c_v}$$\n", "We will set a default of 1.4 for air, and define some other variables for convenience.\n" ] }, { "cell_type": "code", "execution_count": 205, "metadata": { "collapsed": true }, "outputs": [], "source": [ "g = 1.4\n", "gp = g+1\n", "gm = g-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For convenience, we will define the function:\n", "$$f(M) = M \\left[ \\frac{2}{\\gamma + 1}\\left( 1 + \\frac{\\gamma - 1}{2}M^2 \\right)\\right]^{\\frac{-(\\gamma+1)}{2(\\gamma-1)}}$$\n", "This is used in the area Mach relationship:\n", "$$\\frac{A^*}{A} = f(M)$$\n", "Rather than working with the less physically relevant parameter $A^*$, we often replace it with $f(M) A $. It is important to remember that $f(1) = 1$ as should be clear from its definition.\n", "\n", "Our most important expression is conservation of mass. Using the $f(M)$ function, conservation of mass can be expressed as:\n", "$$\\left( \\frac{P_0 A f(M)}{\\sqrt{T_0}}\\right)_1 = \\left( \\frac{P_0 A f(M)}{\\sqrt{T_0}}\\right)_2$$\n", "Because we are only concerend with adiabatic flows in this exercise, this is simplified to\n", "$$( P_0 A f(M))_1 = ( P_0 A f(M))_2$$\n", "for regions of isentropic flow this simplifes further to\n", "$$A_1 f(M_1) = A_2 f(M_2)$$\n", "Let's encapsulate $f(M)$ as a function so that we can reuse it for a given Mach number." ] }, { "cell_type": "code", "execution_count": 206, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def fM(M):\n", " return M*(2.0/gp*(1 + gm/2.0*M**2))**(-gp/2.0/gm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The equation cannot be analytic inverted. Thus, if we know the area ratio $A^*/A$ solving for the corresponding Mach number requires a root finding approach:\n", "$$froot(M) = \\frac{A^*}{A} - f(M) = 0$$\n", "Note that there are two solutions: a subsonic or a supersonic one and so we will also need to know which branch is sought. We use brent's method for root finding." ] }, { "cell_type": "code", "execution_count": 207, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def areaMach(Astar_A, speed):\n", " \"\"\"returns Mach number associated with isentropic flow for a given area ratio and flow regime\"\"\"\n", " \n", " if speed=='subsonic':\n", " return brentq(lambda M: Astar_A - fM(M), 1e-6, 1.0)\n", " \n", " elif speed=='supersonic':\n", " return brentq(lambda M: Astar_A - fM(M), 1.0, 10.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will also make heavy use of the isentropic relationships:\n", "$$\\frac{T_0}{T} = 1 + \\frac{\\gamma - 1}{2}M^2 $$\n", "$$\\frac{P_0}{P} = \\left(\\frac{T_0}{T}\\right)^{\\gamma/(\\gamma-1)} $$\n", "$$\\frac{\\rho_0}{\\rho} = \\left(\\frac{T_0}{T}\\right)^{1/(\\gamma-1)} $$" ] }, { "cell_type": "code", "execution_count": 208, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def isenT(M):\n", " return 1 + gm/2.0*M**2\n", "\n", "def isenP(M):\n", " return isenT(M)**(g/gm)\n", "\n", "def isenrho(M):\n", " return isenT(M)**(1.0/gm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These expressions can also be explictly inverted in order to solve for the Mach number given a known pressure, temperature, or density ratio. We will only need the inverse pressure expression in this exercise.\n", "$$ M = \\sqrt{\\frac{2}{\\gamma -1} \\left[\\left(\\frac{P_0}{P}\\right)^{(\\gamma-1)/\\gamma} -1 \\right]}$$" ] }, { "cell_type": "code", "execution_count": 209, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def isenM(P0_P):\n", " return sqrt(2.0/gm*(P0_P**(gm/g) - 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Geometry\n", "\n", "This is enough to get us started. First we need to define the geometry that we want to solve. We will define the radius at 5 locations along a unit length and fit an Akima spline in between. The radii can be adjusted, but note that this simulation assumes a converging diverging nozzle so if you setup a different type of geometry the simulation may crash or the results will be nonsensical." ] }, { "cell_type": "code", "execution_count": 221, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nkf75FEwK6wHo5NFEd+bZ7sm64ag37T98+DAxMTFMnz697xoYRD2tNdLnTu9JvSUlJTQ3NzN79mwM\nwyApKYl58+ZRXFwcEaeHe/q7TUxMZPny5Xi9Xt56663+aWQIRPrnUzAprAegk2/s7syz3ZN1w9GF\ntt80TV555RXuvPPOvm1gEPWk1p7OnR6OelJvdXU1AA6HI7Ds5NjSR44c6dN2BkNP38cVFRW88MIL\n/P73v+fzn/88K1eu5O233+6fxvajSP98CibdujUA9WSe7Z7OyR1uLrT9f/nLX7j22mtJTk7u2wYG\nUU9q7enc6eGoJ/WevGWpvr6exMREgMC0s5Hwod7T9/ETTzzB1VdfTXx8PN/5zncAeOaZZ7jqqqvC\ncuKgCxXpn0/BpCPrAej0ebZPOts82z1ZNxxdSPu3bNlCVlYWWVlZgWWRcEqtJ7UuW7aMFStWBL7u\nuOMOAFasWME111zTr+2+UD2pd/z48dhsNvbt2xdY1tDQgMPh6PR7Dlc9fR8fPHiw0x+at956Kx6P\nh6ampn5pb3+J9M+nYFJYD1ALFy6koKAg8Pz0ebbXrFnT6Z7Mc60bCXpS69tvv82nn36K1+ulsLCQ\njz76iCeffJLKyspQNL3Hulur2+1m5MiRga9hw4YB/rnTI+lsQnfrTUhI4Prrr2fjxo2BznRbt27l\ni1/8YsQMFNKT9/HnPvc5ioqKAs/r6uqYOHFixNR6Unt7Oz6fr9Oygfb5FCw6DT5AnWue7X+eY/t8\nc3KHu+7W+s4777Bq1SoAXn/99cD2I0aM4Pbbb+//hl+AnvxeB4Ke1Lt48WIAVq5cyZAhQzBNM7As\nEvSk1m984xs8/fTTPPfccyQnJ1NdXc1//Md/hKrpF+Tdd99lz549ALz//vvMnDkTGHifT8Gi+axF\nRETCnE6Di4iIhDmFtYiISJhTWIuIiIQ5hbWIiEiYU1iLiIiEOYW1iIhImFNYi4iIhDmFtYiISJhT\nWIuIiIS5/x8Kf8RUrw8irgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xpts = np.array([0, 0.25, 0.5, 0.75, 1.0])\n", "rpts = np.array([0.35, 0.15, 0.20, 0.27, 0.3])\n", "akima = Akima1DInterpolator(xpts, rpts)\n", "\n", "n = 200\n", "x = np.linspace(xpts[0], xpts[-1], n)\n", "r = akima(x)\n", "\n", "plt.figure()\n", "plt.plot(x, r)\n", "plt.plot(x, -r)\n", "plt.axis('equal')\n", "plt.text(1.15, 0, '$P_b$')\n", "plt.text(-0.4, 0, '$P_0$ (total)')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the geometry, defined we can now define some important quantities." ] }, { "cell_type": "code", "execution_count": 211, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# area distribution\n", "A = pi*r**2\n", "\n", "# exit area\n", "Ae = A[-1]\n", "\n", "# area of throat, and corresponding index\n", "ithroat = np.argmin(A)\n", "Athroat = A[ithroat]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cases\n", "There are a few discrete cases that each need to be considered separately, and conditions defined for when they occur: fully subsonic flow, standing shock wave, isentropic supersonic flow. The parameter we will use that dictates the nozzle behavior is the ratio of the back pressure (downstream of the exit) to the total pressure (upstream of the entrance) $P_b/P_0$. Note that the back pressure is not necessarily equal to the exit pressure (it is only equal if the exit is subsonic). We will only focus on flow in the nozzle and thus, wont discuss the under- and overexpanded cases. When $P_b/P_0 = 1$ there is no flow. As we lower the back pressure we will move through the various cases." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Case I: fully subsonic\n", "If the flow is everywhere subsonic, then under our assumptions it is also isentropic throughout. As the back pressure is lowered, the flow will accelerate, but remain subsonic, until the limiting where the throat just reaches sonic conditions. From a mass balance (isentropic) this limiting cases occurs at:\n", "$$\\begin{align}\n", "A_{throat} &= A_e f(M_e)\\\\\n", "\\Rightarrow f(M_e) &= A_{throat}/A_e\n", "\\end{align}$$\n", "We can now find the critical exit Mach number at which the throat just barely reaches sonic conditions and we still have subsonic flow throughout. If the exit Mach number was any higher, we would no longer have fully subsonic flow." ] }, { "cell_type": "code", "execution_count": 212, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# critical Mach number for subsonic flow throughout with sonic flow at throat\n", "Me_crit_sub = areaMach(Athroat/Ae, 'subsonic')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If subsonic at the exit, the back pressure matches the exit pressure, and because the flow is isentropic the total pressure is constant throughout the nozzle.\n", "$$\\frac{P_b}{P_0} = \\frac{P_e}{P_0}$$\n", "We already know the critical exit Mach number and using the isentropic relationship, we can compute the corresponding critical pressure ratio for subsonic flow throughout. As long as the pressure ratio $P_b/P_0$ is above this critical value, we will have subsonic flow throughout." ] }, { "cell_type": "code", "execution_count": 213, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# corresponding critical pressure ratio\n", "Pb_P0_crit_sub = 1.0/isenP(Me_crit_sub)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So if $$\\frac{P_b}{P_0} > \\left(\\frac{P_b}{P_0}\\right)_{crit-sub}$$ we will have subsonic flow through. \n", "We can evaluate the Mach number everywhere from the (isentropic) mass balance\n", "$$\\begin{align}\n", "A\\ f(M) &= A_e f(M_e)\\\\\n", "f(M) &= \\frac{A_e}{A} f(M_e)\n", "\\end{align}$$\n", "where the Mach number at the exit is given by the isentropic relationship" ] }, { "cell_type": "code", "execution_count": 214, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nCRchhBB+9/9ZO7QUTW07zQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Pb_P0 = 0.99\n", "M = np.zeros(n)\n", "\n", "if Pb_P0 > Pb_P0_crit_sub: # subsonic\n", " # back pressure equals exit pressure b.c. subsonic\n", " P0_Pe = 1.0/Pb_P0 \n", " \n", " # find exit Mach number from isentropic relationship\n", " Me = isenM(P0_Pe)\n", " \n", " # precompute f(Me) so we don't have to keep computing in the loop\n", " fMe = fM(Me)\n", " \n", " # iterate across all areas solving for the subsonic Mach number\n", " for i in range(n):\n", " M[i] = areaMach(Ae/A[i]*fMe, 'subsonic')\n", " \n", " # compute pressure distribution\n", " P_P0 = 1.0/isenP(M)\n", "\n", "\n", "plt.figure()\n", "plt.plot(x, M)\n", "plt.ylabel('M')\n", "\n", "plt.figure()\n", "plt.plot(x, P_P0)\n", "plt.ylabel('$P/P_0$')\n", "\n", "# plt.figure()\n", "# plt.plot(x, T_T0)\n", "# plt.ylabel('$T/T_0$')\n", "\n", "# plt.figure()\n", "# plt.plot(x, rho_rho0)\n", "# plt.ylabel('$\\\\rho/\\\\rho_0$')\n", "\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Case II: normal shock\n", "As the back pressure decreases, the throat becomes chocked. However, the back pressure is not yet low enough to permit isentropic supersonic flow through the back end of the nozzle and show a shock wave must be formed. As the back pressure is decreased the shock wave moves further back along the nozzle until it is right at the exit. As the back pressure is decreased further we have supersonic flow throughout the back end of the nozzle. We must determine the critical pressure ratio that separates the case with a shock wave from the case with isentropic supersonic flow.\n", "\n", "Computing this critical case is a little more work. The limiting case has a shock wave right at the exit. Thus, we need to find the Mach number behind a normal shock with isentropic supersonic flow all the way up to the exit. From the normal shock equations we can compute the Mach number behind the shock wave as:\n", "$$M_2 = \\sqrt{\\frac{2 + (\\gamma-1)M_1^2}{2\\gamma M_1^2 - (\\gamma-1)}}$$" ] }, { "cell_type": "code", "execution_count": 215, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def shockM(M1):\n", " \"\"\"computes the mach number behind a normal shock\"\"\"\n", " return sqrt((2 + gm*M1**2)/(2*g*M1**2 - gm))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thus, with a shock wave standing right at the exit the Mach number right behind the shock is:" ] }, { "cell_type": "code", "execution_count": 216, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Mach number ahead of shock right before exit\n", "Me_up = areaMach(Athroat/Ae, 'supersonic')\n", "\n", "# Mach number at exit (downstream of shock)\n", "Me = shockM(Me_up)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now need to determine the total pressure loss across the shock wave, so we can figure out the pressure ratio across the nozzle. Using a mass balance from the throat to exit:\n", "$$\n", "\\begin{align}\n", "( P_0 A f(M))_t &= ( P_0 A f(M))_e\\\\\n", "{P_0}_t A_t &= {P_0}_e A_e f(M_e)\\\\\n", "\\Rightarrow \\frac{{P_0}_e}{{P_0}_t} f(M_e) &= \\frac{A_t}{A_e}\\\\\n", "\\frac{{P_0}_e}{P_e}\\frac{P_e}{{P_0}_t} f(M_e)&=\\frac{A_t}{A_e}\\\\\n", "\\Rightarrow \\frac{{P_0}_t}{P_e} &=\\frac{{P_0}_e}{P_e} f(M_e)\\frac{A_e}{A_t}\\\\\n", "\\end{align}\n", "$$\n", "Because there is a shock wave, the exit pressure is again equal to the back pressure ($P_e = P_b$). Also, because there is no shock wave between the throat at the entrance, $P_0 = {P_0}_t$. Thus, the critcal pressure ratio is:\n", "$$\\frac{P_b}{P_0} =\\frac{P_e}{{P_0}_e} \\frac{1}{f(M_e)}\\frac{A_t}{A_e}$$" ] }, { "cell_type": "code", "execution_count": 217, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# corresponding critical pressure ratio\n", "Pb_P0_crit_super = Athroat/(isenP(Me)*fM(Me)*Ae)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As long as the pressure is above this critical value, a shock wave will exist in the throat. This case is a bit more difficult if we want to find the location of the shock. First we must solve for the exit Mach number using the above mass balance. However, there is no explicit solution so we must again use a root finding technique:\n", "$$froot(M_e) = f(M_e) \\frac{{P_0}_e}{P_e} - \\frac{P_0}{P_b}\\frac{A_t}{A_e} = 0$$\n", "\n", "Once we know the exit Mach number we can find the total pressure loss across the shock using the equation above and repeated here:\n", "$$\\frac{{P_0}_e}{{P_0}_t} = \\frac{A_t}{A_e}\\frac{1}{f(M_e)}$$\n", "\n", "If we know the total pressure loss across the shock, then we know the upstream Mach number from the normal Mach equations (and also the downstream Mach number).\n", "$$\\frac{{P_0}_2}{{P_0}_1} = \\left(\\frac{\\gamma +1}{2 \\gamma M_1^2 - (\\gamma - 1)}\\right)^{\\frac{1}{\\gamma-1}} \\left( \\frac{(\\gamma + 1) M_1^2}{2 + (\\gamma - 1) M_1^2}\\right)^{\\frac{\\gamma}{\\gamma-1}}$$\n", "To solve this for $M_1$ requires a root finding method\n", "\n", "Using conservation of mass from just behind the shock to the exit (isentropic) allows us to compute the area of where the shock sits:\n", "$$\\begin{align}\n", "A_s f(M_s) &= A_e f(M_e) \\\\\n", "A_s &= A_e \\frac{f(M_e)}{f(M_s)}\n", "\\end{align}$$\n", "\n", "With a known shock location we can use a mass balance from the entrance to just before the shock (subsonic solution up to throat, supersonic solution after throat).\n", "$$\\begin{align}\n", "A f(M) &= A_t \\\\\n", "f(M) &= \\frac{A_t}{A}\n", "\\end{align}$$\n", "and after the shock:\n", "$$\\begin{align}\n", "A f(M) &= A_e f(M_e) \\\\\n", "f(M) &= \\frac{A_e}{A} f(M_e)\n", "\\end{align}$$" ] }, { "cell_type": "code", "execution_count": 218, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Pb_P0 = 0.5\n", "\n", "if Pb_P0 > Pb_P0_crit_super: # shock in nozzle\n", "\n", " # exit Mach number\n", " Me = brentq(lambda M: fM(M)*isenP(M) - Athroat/Ae/Pb_P0, 1e-6, 1.0)\n", " \n", " # total pressure loss across shock\n", " P0e_P0t = Athroat/Ae/fM(Me)\n", " \n", " # Mach number ahead of shock\n", " Mup = brentq(lambda M: P0e_P0t - (gp/(2*g*M**2 - gm))**(1.0/gm)*(gp*M**2/(2 + gm*M**2))**(g/gm), 1.0, 10.0)\n", " \n", " # Mach number after shock\n", " Mdown = shockM(Mup)\n", " \n", " # area at shock location\n", " As = Ae*fM(Me)/fM(Mdown)\n", " \n", " # find closest corresponding index of shock (must be aft of throat)\n", " ishock = np.argwhere(A[ithroat:] >= As)[0][0]\n", " ishock += ithroat\n", " \n", " # solution up to shock\n", " for i in range(ithroat):\n", " M[i] = areaMach(Athroat/A[i], 'subsonic')\n", " for i in range(ithroat, ishock):\n", " M[i] = areaMach(Athroat/A[i], 'supersonic')\n", " \n", " # solution after shock\n", " fMe = fM(Me)\n", " for i in range(ishock, n):\n", " M[i] = areaMach(Ae/A[i]*fMe, 'subsonic')\n", "\n", " # isentropic pressure\n", " P_P0 = 1.0/isenP(M)\n", " \n", " # add additional pressure loss of shock\n", " P_P0[ishock:] *= P0e_P0t\n", "\n", "plt.figure()\n", "plt.plot(x, M)\n", "plt.ylabel('M')\n", "\n", "plt.figure()\n", "plt.plot(x, P_P0)\n", "plt.ylabel('$P/P_0$')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Case III: isentropic supersonic flow\n", "\n", "The last case is relatively simple. Choked flow with isentropic flow aft of the nozzle exit. The exit Mach number is supersonic and thus the exit mach number and the back pressure Mach number need not agree. When the back pressure is reduced below the previous case, but is still larger than the exit pressure the nozzle is overexpanded and oblique shocks wil exist outside of the nozzle to converge the flow and increase the pressure to match the back pressure.\n", "\n", "Conversely, if the back pressure is reduced below the exit pressure then the nozzle is underexpanded and expansion waves will exist outside of the nozzle to expand the flow and decrease the pressure to match the back pressure.\n", "\n", "If they back pressure and the exit pressure match perfectly, then the nozzle is ideally expanded." ] }, { "cell_type": "code", "execution_count": 219, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "overexpanded\n" ] }, { "data": { "image/png": "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\n1tPvQdwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nRILq/wMZ8+V71RdpcwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Pb_P0 = 0.2\n", "\n", "for i in range(ithroat):\n", " M[i] = areaMach(Athroat/A[i], 'subsonic')\n", "for i in range(ithroat, n):\n", " M[i] = areaMach(Athroat/A[i], 'supersonic')\n", "\n", "P_P0 = 1.0/isenP(M)\n", "\n", "Pe_P0 = P_P0[-1]\n", "\n", "if Pb_P0 > Pe_P0:\n", " print 'overexpanded'\n", "elif Pb_P0 == Pe_P0:\n", " print 'ideally expanded'\n", "else:\n", " print 'underexpanded'\n", "\n", "plt.figure()\n", "plt.plot(x, M)\n", "plt.ylabel('M')\n", "\n", "plt.figure()\n", "plt.plot(x, P_P0)\n", "plt.ylabel('$P/P_0$')\n", "\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interactive\n", "\n", "Let's now combine all the cases into one simulation" ] }, { "cell_type": "code", "execution_count": 220, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "None" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# an interactive version where you can change the back pressure\n", "# this will not run on nbviewer. You can view it locally if\n", "# you've installed Jupyter notebook or upload to http://try.jupyter.org\n", "\n", "@interact(Pb_P0=(0, 0.995, 0.005))\n", "def nozzle(Pb_P0=0.995):\n", " \n", " M = np.zeros(n)\n", "\n", " if Pb_P0 > Pb_P0_crit_sub: # subsonic\n", "\n", " # back pressure equals exit pressure b.c. subsonic\n", " P0_Pe = 1.0/Pb_P0 \n", "\n", " # find exit Mach number from isentropic relationship\n", " Me = isenM(P0_Pe)\n", "\n", " # precompute f(Me) so we don't have to keep computing in the loop\n", " fMe = fM(Me)\n", "\n", " # iterate across all areas solving for the subsonic Mach number\n", " for i in range(n):\n", " M[i] = areaMach(Ae/A[i]*fMe, 'subsonic')\n", "\n", " # compute pressure distribution\n", " P_P0 = 1.0/isenP(M)\n", "\n", " elif Pb_P0 > Pb_P0_crit_super: # shock in nozzle\n", "\n", " # exit Mach number\n", " Me = brentq(lambda M: fM(M)*isenP(M) - Athroat/Ae/Pb_P0, 1e-6, 1.0)\n", "\n", " # total pressure loss across shock\n", " P0e_P0t = Athroat/Ae/fM(Me)\n", "\n", " # Mach number ahead of shock\n", " Mup = brentq(lambda M: P0e_P0t - (gp/(2*g*M**2 - gm))**(1.0/gm)*(gp*M**2/(2 + gm*M**2))**(g/gm), 1.0, 10.0)\n", "\n", " # Mach number after shock\n", " Mdown = shockM(Mup)\n", "\n", " # area at shock location\n", " As = Ae*fM(Me)/fM(Mdown)\n", "\n", " # find closest corresponding index of shock (must be aft of throat)\n", " ishock = np.argwhere(A[ithroat:] >= As)[0][0]\n", " ishock += ithroat\n", "\n", " # solution up to shock\n", " for i in range(ithroat):\n", " M[i] = areaMach(Athroat/A[i], 'subsonic')\n", " for i in range(ithroat, ishock):\n", " M[i] = areaMach(Athroat/A[i], 'supersonic')\n", "\n", " # solution after shock\n", " fMe = fM(Me)\n", " for i in range(ishock, n):\n", " M[i] = areaMach(Ae/A[i]*fMe, 'subsonic')\n", "\n", " # isentropic pressure\n", " P_P0 = 1.0/isenP(M)\n", "\n", " # add additional pressure loss of shock\n", " P_P0[ishock:] *= P0e_P0t\n", "\n", " else:\n", "\n", " for i in range(ithroat):\n", " M[i] = areaMach(Athroat/A[i], 'subsonic')\n", " for i in range(ithroat, n):\n", " M[i] = areaMach(Athroat/A[i], 'supersonic')\n", "\n", " P_P0 = 1.0/isenP(M)\n", "\n", " Pe_P0 = P_P0[-1]\n", "\n", "# if Pb_P0 > Pe_P0:\n", "# print 'overexpanded'\n", "# elif Pb_P0 == Pe_P0:\n", "# print 'ideally expanded'\n", "# else:\n", "# print 'underexpanded'\n", " \n", " \n", " plt.figure(figsize=(12,4))\n", " plt.subplot(1,2,1)\n", " plt.plot(x, M)\n", " plt.ylim([0, 3])\n", " plt.ylabel('M')\n", "\n", " plt.subplot(1,2,2)\n", " plt.plot(x, P_P0)\n", " plt.plot([0.9, 1.0], [Pb_P0, Pb_P0], '--')\n", " plt.ylim([0, 1])\n", " plt.ylabel('$P/P_0$')\n", " \n", " plt.show()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.8" } }, "nbformat": 4, "nbformat_minor": 0 }