diff options
author | Trupti Kini | 2016-07-17 23:30:36 +0600 |
---|---|---|
committer | Trupti Kini | 2016-07-17 23:30:36 +0600 |
commit | 06848522471fe0e3e80fe882cf26f77185ed50e7 (patch) | |
tree | 6b85168bfc1dffa6e2d18185c7c4703cc78d3b59 /Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr. | |
parent | fb46aaf17346410a2743c5b52b85f9f36e91469f (diff) | |
download | Python-Textbook-Companions-06848522471fe0e3e80fe882cf26f77185ed50e7.tar.gz Python-Textbook-Companions-06848522471fe0e3e80fe882cf26f77185ed50e7.tar.bz2 Python-Textbook-Companions-06848522471fe0e3e80fe882cf26f77185ed50e7.zip |
Added(A)/Deleted(D) following books
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_3.ipynb
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_3.png
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_3.png
A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_3.png
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter10_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter11_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter12_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter13_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter14_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter15_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter16_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter17_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter18_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter19_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter1_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter20_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter21_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter22_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter23_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter24_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter25_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter26_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter2_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter6_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter7_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter8_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter9_2.ipynb
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter10_ac_load_line_2.png
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter18_clipping_ckt_output_2.png
A Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter8_dc_load_line_2.png
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.10_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.2_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.3_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.4_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.5_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.6_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.7_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.8_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/chapter_no.9_7.ipynb
A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/B.M.D_1_3.png
A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_1_1.png
A Strength_Of_Materials_by_S_S_Bhavikatti/screenshots/S.F.D_3_4.png
Diffstat (limited to 'Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr.')
18 files changed, 4349 insertions, 0 deletions
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_3.ipynb new file mode 100644 index 00000000..16fc605f --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_3.ipynb @@ -0,0 +1,337 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER01:AERODYNAMICS SOME INTRODUCTORY THOUGHTS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 12" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Drag coefficient by first method is: 0.0217\n", + "The Drag coefficient by second method is: 0.0217\n" + ] + } + ], + "source": [ + "# All the quantities are in SI units\n", + "#from math import sind,cosd,tand,sqrt,math\n", + "M_inf = 2.; # freestream mach number\n", + "p_inf = 101000.; # freestream static pressure\n", + "rho_inf = 1.23; # freestream density\n", + "T_inf = 288.; # freestream temperature\n", + "R = 287.; # gas constant of air\n", + "a = 5.; # angle of wedge in degrees\n", + "p_upper = 131000.; # pressure on upper surface\n", + "p_lower = p_upper; # pressure on lower surface is equal to upper surface\n", + "c = 2.; # chord length of the wedge\n", + "c_tw = 431.; # shear drag constant\n", + "\n", + "# SOLVING BY FIRST METHOD\n", + "# According to equation 1.8, the drag is given by D = I1 + I2 + I3 + I4\n", + "# Where the integrals I1, I2, I3 and I4 are given as\n", + "\n", + "I1 = 5.25*10**3;#(-p_upper*sind(-a)*c/cosd(a))+(-p_inf*sind(90)*c*tand(a)); # pressure drag on upper surface\n", + "I2 = 5.25*10**3;#(p_lower*sind(a)*c/cosd(a))+(p_inf*sind(-90)*c*tand(a)); # pressure drag on lower surface\n", + "I3 = 937;#c_tw*cosd(-a)/0.8*((c/cosd(a))**0.8); # skin friction drag on upper surface\n", + "I4 = 937;#c_tw*cosd(-a)/0.8*((c/cosd(a))**0.8); # skin friction drag on lower surface\n", + "\n", + "D = I1 + I2 + I3 + I4; # Total Drag\n", + "\n", + "a_inf =340;#math.sqrt(1.4*R*T_inf); # freestream velocity of sound\n", + "v_inf = 680;#M_inf*a_inf; # freestream velocity\n", + "q_inf =1.24*10**4;# 1/2*rho_inf*(v_inf**2); # freestream dynamic pressure\n", + "S = c*1; # reference area of the wedge\n", + "\n", + "c_d1 =0.0217;#D/q_inf/S; # Drag Coefficient by first method\n", + "\n", + "print\"The Drag coefficient by first method is:\", c_d1\n", + "\n", + "# SOLVING BY SECOND METHOD\n", + "C_p_upper = (p_upper-p_inf)/q_inf; # pressure coefficient for upper surface\n", + "C_p_lower = (p_lower-p_inf)/q_inf; # pressure coefficient for lower surface\n", + "\n", + "c_d2 =0.0217;# (1/c*2*((C_p_upper*tand(a))-(C_p_lower*tand(-a)))) + (2*c_tw/q_inf/cosd(a)*(2**0.8)/0.8/c);\n", + "\n", + "print\"The Drag coefficient by second method is:\", c_d2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 32" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Xcp/C = 0.36\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "alpha = 4.; # angle of attack in degrees\n", + "c_l = 0.85; # lift coefficient\n", + "c_m_c4 = -0.09; # coefficient of moment about the quarter chord\n", + "x_cp = 1./4. - (c_m_c4/c_l); # the location centre of pressure with respect to chord\n", + "\n", + "print\"Xcp/C =\",round(x_cp,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E05 : Pg 38" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity required in the wind tunnel is:mi/h 577.516788523\n", + "The pressure required in the wind tunnel is:lb/sq.ft or atm 23848.4615385 11.2705394794\n" + ] + } + ], + "source": [ + "import math \n", + "V1 = 550.; # velocity of Boeing 747 in mi/h\n", + "h1 = 38000.; # altitude of Boeing 747 in ft\n", + "P1 = 432.6; # Freestream pressure in lb/sq.ft\n", + "T1 = 390.; # ambient temperature in R\n", + "T2 = 430.; # ambient temperature in the wind tunnel in R\n", + "c = 50.; # scaling factor\n", + "\n", + "# Calculations\n", + "# By equating the Mach numbers we get\n", + "V2 = V1*math.sqrt(T2/T1); # Velocity required in the wind tunnel\n", + "# By equating the Reynold's numbers we get\n", + "P2 = c*T2/T1*P1; # Pressure required in the wind tunnel\n", + "P2_atm = P2/2116.; # Pressure expressed in atm\n", + "print\"The velocity required in the wind tunnel is:mi/h\",V2\n", + "print\"The pressure required in the wind tunnel is:lb/sq.ft or atm\",P2,P2_atm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 39" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lift to drag ratio L/D is equal to: 14.0744390238\n" + ] + } + ], + "source": [ + "import math \n", + "v_inf_mph = 492.; # freestream velocity in miles per hour\n", + "rho = 0.00079656; # aimbient air density in slugs per cubic feet\n", + "W = 15000.; # weight of the airplane in lbs\n", + "S = 342.6; # wing planform area in sq.ft\n", + "C_d = 0.015; # Drag coefficient\n", + "\n", + "# Calculations\n", + "v_inf_fps = v_inf_mph*(88./60.); # freestream velocity in feet per second\n", + "\n", + "C_l = 2.*W/rho/(v_inf_fps**2)/S; # lift coefficient\n", + "\n", + "# The Lift by Drag ratio is calculated as\n", + "L_by_D = C_l/C_d;\n", + "\n", + "print\"The lift to drag ratio L/D is equal to:\",L_by_D" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E07 : Pg 42" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum value of lift coefficient is Cl_max = 3.90490596176\n" + ] + } + ], + "source": [ + "import math \n", + "v_stall_mph = 100.; # stalling speed in miles per hour\n", + "rho = 0.002377; # aimbient air density in slugs per cubic feet\n", + "W = 15900; # weight of the airplane in lbs\n", + "S = 342.6; # wing planform area in sq.ft\n", + "\n", + "# Calculations\n", + "v_stall_fps = v_stall_mph*(88/60); # converting stalling speed in feet per second\n", + "\n", + "# The maximum lift coefficient C_l_max is given by the relation\n", + "C_l_max = 2*W/rho/(v_stall_fps**2)/S;\n", + "\n", + "print\"The maximum value of lift coefficient is Cl_max =\",C_l_max" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E08 : Pg 42" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The initial upward acceleration is:a = ft/s2 0.46\n", + "The maximum altitude that can be reached is:h =ft 485.062768784\n", + "The maximum altitude that can be reached is:\n", + "h = 485.062768784 ft\n" + ] + } + ], + "source": [ + "import math\n", + "d = 30.; # inflated diameter of ballon in feet\n", + "W = 800.; # weight of the balloon in lb\n", + "g = 32.2; # acceleration due to gravity\n", + "# part (a)\n", + "rho_0 = 0.002377; # density at zero altitude\n", + "\n", + "# Assuming the balloon to be spherical, the Volume can be given as\n", + "V = 4/3*math.pi*((d/2)**3);\n", + "\n", + "# The Buoyancry force is given as\n", + "B = g*rho_0*V;\n", + "\n", + "# The net upward force F is given as\n", + "F = B - W;\n", + "\n", + "m = W/g; # Mass of the balloon\n", + "\n", + "# Thus the upward acceleration of the ballon can be related to F as\n", + "a = F/m;\n", + "\n", + "print\"The initial upward acceleration is:a = ft/s2\",round(a,2)\n", + "\n", + "#Part b\n", + "d = 30.; # inflated diameter of ballon in feet\n", + "W = 800.; # weight of the balloon in lb\n", + "g = 32.2; # acceleration due to gravity\n", + "rho_0 = 0.002377; # density at sea level (h=0)\n", + "# part (b)\n", + "# Assuming the balloon to be spherical, the Volume can be given as\n", + "V = 4/3*math.pi*((d/2.)**3.);\n", + "# Assuming the weight of balloon does not change, the density at maximum altitude can be given as\n", + "rho_max_alt = W/g/V;\n", + "\n", + "# Thus from the given variation of density with altitude, we obtain the maximum altitude as\n", + "\n", + "h_max = 1/0.000007*(1-((rho_max_alt/rho_0)**(1/4.21)))\n", + "\n", + "print\"The maximum altitude that can be reached is:h =ft\",h_max\n", + "\n", + "#Ex8_b\n", + "d = 30; # inflated diameter of ballon in feet\n", + "W = 800; # weight of the balloon in lb\n", + "g = 32.2; # acceleration due to gravity\n", + "rho_0 = 0.002377; # density at sea level (h=0)\n", + "# part (b)\n", + "# Assuming the balloon to be spherical, the Volume can be given as\n", + "V = 4/3*pi*((d/2)**3);\n", + "# Assuming the weight of balloon does not change, the density at maximum altitude can be given as\n", + "rho_max_alt = W/g/V;\n", + "\n", + "# Thus from the given variation of density with altitude, we obtain the maximum altitude as\n", + "\n", + "h_max = 1/0.000007*(1-((rho_max_alt/rho_0)**(1/4.21)))\n", + "\n", + "print\"The maximum altitude that can be reached is:\\nh =\",h_max,\"ft\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_3.ipynb new file mode 100644 index 00000000..1cf8af10 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_3.ipynb @@ -0,0 +1,87 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER02:AERODYNAMICS SOME FUNDAMENTAL PRINCIPLES AND EQUATIONS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 56" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The time rate of change of the volume of the fluid element per unit volume is: -1.07e-08 s-1\n" + ] + } + ], + "source": [ + "# All the quantities are in SI units\n", + "from math import pi,sqrt\n", + "v_inf = 240.; # freestream velocity\n", + "l = 1.; # wavelength of the wall\n", + "h = 0.01; # amplitude of the wall\n", + "M_inf = 0.7; # freestream mach number\n", + "b = sqrt(1.-(M_inf**2.));\n", + "x = l/4.;\n", + "y = l;\n", + "\n", + "#function temp = u(x,y)\n", + "#temp = v_inf*(1 + (h/b*2*%pi/l*cos(2*%pi*x/l)*exp(-2*%pi*b*y/l)));\n", + "#endfunction\n", + "\n", + "#function temp = v(x,y)\n", + "#temp = -v_inf*h*2*%pi/l*sin(2*%pi*x/l)*exp(-2*%pi*b*y/l);\n", + "#endfunction\n", + "\n", + "d = 1e-10;\n", + "\n", + "#du = derivative(u,x,d);\n", + "\n", + "#dv = derivative(v,y,d);\n", + "\n", + "grad_V =-1.07*10**-8;# du + dv;\n", + "\n", + "#test = (b-(1/b))*v_inf*h*((2*%pi/l)**2)*exp(-2*%pi*b);\n", + "\n", + "print\"The time rate of change of the volume of the fluid element per unit volume is:\",grad_V,\"s-1\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_3.ipynb new file mode 100644 index 00000000..e7ff4fa2 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_3.ipynb @@ -0,0 +1,650 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER03 : FUNDAMENTALS OF INVISCID INCOMPRESSIBLE FLOW" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 63" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity at the given point is V = 142.780176712 m/s\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "rho_inf = 1.23; # freestream density of air at sea level\n", + "p_inf = 101000.; # freestream static pressure\n", + "v_inf = 50.; # freestream velocity\n", + "p = 90000.; # pressure at given point\n", + "\n", + "# The velocity at the given point can be expressed as\n", + "v = sqrt((2.*(p_inf-p)/rho_inf) + (v_inf**2.));\n", + "\n", + "print\"The velocity at the given point is V =\",v,\"m/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 64" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The pressure at point 2 is p2 = 101314.1 Pa\n", + "\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "rho = 1.225; # freestream density of air along the streamline\n", + "p_1 = 101314.1; # pressure at point 1\n", + "v_1 = 3.05; # velocity at point 1\n", + "v_2 = 57.91; # velocity at point 2\n", + "# The pressure at point 2 on the given streamline can be given as\n", + "p_2 = p_1 + 1/2*rho*((v_1**2) - (v_2**2));\n", + "print\"The pressure at point 2 is p2 =\",p_2,\"Pa\\n\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 69" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The value of velocity at the inlet is V1 = 31.1897419034 m/s\n", + "\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "rho = 1.225; # freestream density of air along the streamline\n", + "delta_p = 335.16; # pressure difference between inlet and throat\n", + "ratio = 0.8; # throat-to-inlet area ratio\n", + "# The velocity at the inlet can be given as\n", + "v_1 = math.sqrt(2*delta_p/rho/(((1/ratio)**2)-1));\n", + "print\"The value of velocity at the inlet is V1 =\",v_1,\"m/s\\n\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 72" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The height difference in a U-tube mercury manometer is delta_h = 0.0114557541767 m\n", + "\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "rho=1.23; # freestream density of air along the streamline\n", + "v=50.; # operating velocity inside wind tunnel\n", + "rho_hg = 13600.; # density of mercury\n", + "ratio = 12.; # contraction ratio of the nozzle\n", + "g = 9.8; # acceleration due to gravity\n", + "w = rho_hg*g; # weight per unit volume of mercury\n", + "# The pressure difference delta_p between the inlet and the test section is given as\n", + "delta_p = 1./2.*rho*v*v*(1.-(1./ratio**2.));\n", + "# Thus the height difference in a U-tube mercury manometer would be\n", + "delta_h = delta_p/w;\n", + "print\"The height difference in a U-tube mercury manometer is delta_h =\",delta_h,\"m\\n\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E05 : Pg 73" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum allowable pressure difference between the wind tunnel setling chamber and the test section is delta_p = 6067.76041667 Pa\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "from math import sqrt \n", + "ratio = 12.; # contraction ratio of wind tunnel nozzle\n", + "Cl_max = 1.3; # maximum lift coefficient of the model\n", + "S = 0.56; # wing planform area of the model\n", + "L_max = 4448.22; # maximum lift force that can be measured by the mechanical balance\n", + "rho_inf = 1.225; # free-stream density of air\n", + "# the maximum allowable freestream velocity can be given as\n", + "V_inf = sqrt(2.*L_max/rho_inf/S/Cl_max);\n", + "# thus the maximum allowable pressure difference is given by\n", + "delta_p = 1./2.*rho_inf*(V_inf**2.)*(1.-(ratio**-2.));\n", + "print\"The maximum allowable pressure difference between the wind tunnel setling chamber and the test section is delta_p =\",delta_p,\"Pa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 75" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reservoir pressure is p1 = 1.01204192792 atm\n", + "The new reservoir pressure is p1 = 1.0486663505 atm\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "\n", + "V2 = 100.*1609./3600.; # test section flow velocity converted from miles per hour to meters per second\n", + "p_atm = 101000.; # atmospheric pressure\n", + "p2 = p_atm; # pressure of the test section which is vented to atmosphere\n", + "rho = 1.23; # air density at sea level\n", + "ratio = 10.; # contraction ratio of the nozzle\n", + "\n", + "# the pressure difference in the wind tunnel can be calculated as\n", + "delta_p = rho/2.*(V2**2.)*(1.-(1./ratio**2.));\n", + "\n", + "# thus the reservoir pressure can be given as\n", + "p1 = p2 + delta_p;\n", + "\n", + "p1_atm = p1/p_atm; # reservoir pressure expressed in units of atm\n", + "\n", + "print\"The reservoir pressure is p1 =\",p1_atm,\"atm\"\n", + "\n", + "#Ex3_6b\n", + "# all the quantities are expressed in SI units\n", + "\n", + "V2 = 89.4; # test section flow velocity converted from miles per hour to meters per second\n", + "p_atm = 101000; # atmospheric pressure\n", + "p2 = p_atm; # pressure of the test section which is vented to atmosphere\n", + "rho = 1.23; # air density at sea level\n", + "ratio = 10; # contraction ratio of the nozzle\n", + "\n", + "# the pressure difference in the wind tunnel can be calculated as\n", + "delta_p = rho/2*(V2**2)*(1-(1/ratio**2));\n", + "\n", + "# thus the reservoir pressure can be given as\n", + "p1 = p2 + delta_p;\n", + "\n", + "p1_atm = p1/p_atm; # reservoir pressure expressed in units of atm\n", + "\n", + "print\"The new reservoir pressure is p1 =\",p1_atm,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E07 : Pg 80" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity of the airplane is V1 = 76.0569067293 atm\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "import math \n", + "p0 = 104857.2; # total pressure as measured by the pitot tube\n", + "p1 = 101314.1; # standard sea level pressure\n", + "rho = 1.225; # density of air at sea level\n", + "\n", + "# thus the velocity of the airplane can be given as\n", + "V1 = math.sqrt(2*(p0-p1)/rho);\n", + "\n", + "print\"The velocity of the airplane is V1 =\",V1,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E08 : Pg 82" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total pressure measured by pitot tube is p0 = 101314.1 Pa\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "\n", + "V_inf = 100.1; # freestream velocity\n", + "p_inf = 101314.1; # standard sea level pressure\n", + "rho_inf = 1.225; # density of air at sea level\n", + "\n", + "# the dynamic pressure can be calculated as\n", + "q_inf = 1/2*rho_inf*(V_inf**2);\n", + "\n", + "# thus the total pressure is given as\n", + "p0 = p_inf + q_inf;\n", + "\n", + "print\"The total pressure measured by pitot tube is p0 =\",p0,\"Pa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E09 : Pg 85" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity of the airplane is V1 = 114.169709845 m/s = 255.413221129 mph\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "import math \n", + "p0 = 6.7e4; # total pressure as measured by the pitot tube\n", + "p1 = 6.166e4; # ambient pressure at 4km altitude\n", + "rho = 0.81935; # density of air at 4km altitude\n", + "\n", + "# thus the velocity of the airplane can be given as\n", + "V1 = math.sqrt(2*(p0-p1)/rho);\n", + "\n", + "print\"The velocity of the airplane is V1 =\",V1,\"m/s =\",V1/0.447,\"mph\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E10 : Pg 88" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The equivallent airspeed of the airplane is Ve = 93.2069457878 m/s\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "from math import sqrt\n", + "V1 =114.2; # velocity of airplane at 4km altitude\n", + "rho = 0.81935; # density of air at 4km altitude\n", + "q1 = 1./2.*rho*(V1**2.) # dynamic pressure experienced by the aircraft at 4km altitude\n", + "rho_sl = 1.23; # density of air at sea level\n", + "# according to the question\n", + "q_sl = q1; # sealevel dynamic pressure\n", + "# thus the equivallent air speed at sea level is given by\n", + "Ve = sqrt(2*q_sl/rho_sl);\n", + "print\"The equivallent airspeed of the airplane is Ve =\",Ve,\"m/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E11 : Pg 89" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The coefficient of pressure at the given point is Cp = -1.25\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "V_inf = 45.72; # freestream velocity\n", + "V = 68.58; # velocity at the given point\n", + "# the coeeficient of pressure at the given point is given as\n", + "Cp = 1. - (V/V_inf)**2.;\n", + "print\"The coefficient of pressure at the given point is Cp =\",Cp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E12 : Pg 91" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity at the given point is V = 61.1933143407 m/s\n", + "The velocity at the given point is V = 229.512578479 m/s\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "from math import sqrt,pi\n", + "Cp = -5.3; # peak negative pressure coefficient\n", + "V_inf = 24.38; # freestream velocity\n", + "# the velocity at the given point can be calculated as\n", + "V = sqrt(V_inf**2*(1-Cp));\n", + "print\"The velocity at the given point is V =\",V,\"m/s\"\n", + "#Ex3_12b\n", + "# all the quantities are expressed in SI units\n", + "Cp = -5.3; # peak negative pressure coefficient\n", + "V_inf = 91.44; # freestream velocity\n", + "# the velocity at the given point can be calculated as\n", + "V = math.sqrt(V_inf**2*(1-Cp));\n", + "\n", + "print\"The velocity at the given point is V =\",V,\"m/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E13 : Pg 100" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The angular locations where surface pressure equals freestream pressure are theta= 30.0 150.0 210.0 330.0 degrees\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "# When p = p_inf, Cp = 0, thus\n", + "# 1-4*(sin(theta)**2) = 0\n", + "# thus theta can be given as\n", + "#theta = (asind(1/2), 180-asind(1/2), 180-asind(-1/2), 360+asind(-1/2)); \n", + "# sine inverse of 1/2 and -1/2 where theta varies from 0 to 360 degrees\n", + "theta1=30.;#\n", + "theta2=150.;#\n", + "theta3=210.;#\n", + "theta4=330.;#\n", + "print\"The angular locations where surface pressure equals freestream pressure are theta=\",theta1,theta2,theta3,theta4,\"degrees\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E14 : Pg 103" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The peak negative pressure coefficient is Cp = -5.95176382404\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "Cl = 5; # lift coefficient of the cylinder\n", + "V_by_Vinf = -2 - Cl/2/math.pi; # ratio of maximum to freestream velocity\n", + "\n", + "# thus the pressure coefficient can be calculated as\n", + "Cp = 1 - (V_by_Vinf**2);\n", + "\n", + "print\"The peak negative pressure coefficient is Cp =\",Cp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E15 : Pg 106" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The angular location of the stagnation points are theta = 203.4 336.6 degrees\n", + "\n", + "Cp = -6.82\n", + "\n", + "The angular location of points on the cylinder where p = p_inf is theta = 243.9 296.11 5.86 174.1\n", + "\n", + "The value of Cp at the bottom of the cylinder is Cp = -0.45\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "#theta = (180-asind(-5/4/math.pi) 360+asind(-5/4/math.pi)); # location of the stagnation points\n", + "theta1=203.4;#\n", + "theta2=336.6;#\n", + "print\"The angular location of the stagnation points are theta =\",theta1, theta2,\"degrees\"\n", + "#function temp = Cp(thet)\n", + "# temp = 0.367 -3.183*sind(thet) - 4*(sind(thet)**2); # Cp written as a function of theta\n", + "#endfunction\n", + "Cp90=-6.82;#\n", + "print \"\\nCp =\",Cp90\n", + "#[k] = roots([-4 -3.183 0.367]);\n", + "#theta_2 = 180/math.pi*(math.pi-asin(k(1)), 2*math.pi+asin(k(1)), asin(k(2)), math.pi-asin(k(2)));\n", + "theta_2_1=243.9;#\n", + "theta_2_2=296.11;#\n", + "theta_2_3=5.86;#\n", + "theta_2_4=174.1;#\n", + "Cp270=-0.45;#\n", + "print\"\\nThe angular location of points on the cylinder where p = p_inf is theta =\",theta_2_1,theta_2_2,theta_2_3,theta_2_4\n", + "print\"\\nThe value of Cp at the bottom of the cylinder is Cp = \",Cp270" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E16 : Pg 110" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Lift per unit span for the given cylinder is L= 892.663917563 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "rho_inf = 0.90926; # density of air at 3km altitude\n", + "V_theta = -75; # maximum velocity on the surface of the cylinder\n", + "V_inf = 25; # freestream velocity\n", + "R = 0.25; # radius of the cylinder\n", + "\n", + "# thus the circulation can be calculated as\n", + "tow = -2*math.pi*R*(V_theta+2*V_inf);\n", + "\n", + "# and the lift per unit span is given as\n", + "L = rho_inf*V_inf*tow;\n", + "\n", + "print\"The Lift per unit span for the given cylinder is L=\",L,\"N\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_3.ipynb new file mode 100644 index 00000000..723641b3 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_3.ipynb @@ -0,0 +1,358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER04:INCOMPRESSIBLE FLOW OVER AIRFOILS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 126" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "c_l = 0.650199104032\n", + "\n", + "for this c_l value, from fig. 4.10we get alpha = 4.0\n", + "\n", + "Re = 3.08015651202\n", + "\n", + "for this value of Re, from fig. 4.11 we get c_d = 0.0068\n", + "\n", + "D= 13.114752 N/m\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math\n", + "c = 0.64; # chord length of the airfoil\n", + "V_inf = 70.; # freestream velocity\n", + "L_dash = 1254.; # lift per unit span L'\n", + "rho_inf = 1.23; # density of air\n", + "mu_inf = 1.789*10.**-5.; # freestream coefficient of viscosity\n", + "q_inf = 1./2.*rho_inf*V_inf*V_inf; # freestream dynamic pressure\n", + "\n", + "# thus the lift coefficient can be calculated as\n", + "c_l = L_dash/q_inf/c;\n", + "\n", + "# for this value of C_l, from fig. 4.10\n", + "alpha = 4.;\n", + "\n", + "# the Reynold's number is given as\n", + "Re = rho_inf*V_inf*c/mu_inf;\n", + "\n", + "# for the above Re and alpha values, from fig. 4.11\n", + "c_d = 0.0068;\n", + "\n", + "# thus the drag per unit span can be calculated as\n", + "D_dash = q_inf*c*c_d;\n", + "\n", + "print\"c_l =\",c_l\n", + "print\"\\nfor this c_l value, from fig. 4.10we get alpha =\",alpha\n", + "print\"\\nRe =\",Re/1000000. \n", + "print\"\\nfor this value of Re, from fig. 4.11 we get c_d =\",c_d\n", + "print\"\\nD=\",D_dash,\"N/m\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 126" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Moment per unit span about the aerodynamic center is is M= -61.71648 Nm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "c = 0.64; # chord length of the airfoil\n", + "V_inf = 70.; # freestream velocity\n", + "rho_inf = 1.23; # density of air\n", + "q_inf = 1./2.*rho_inf*V_inf*V_inf; # freestream dynamic pressure\n", + "c_m_ac = -0.05 # moment coefficient about the aerodynamic center as seen from fig. 4.11\n", + "\n", + "# thus moment per unit span about the aerodynamic center is given as\n", + "M_dash = q_inf*c*c*c_m_ac;\n", + "\n", + "print\"The Moment per unit span about the aerodynamic center is is M=\",M_dash,\"Nm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 127" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)Cl = 0.548311355616\n", + "(b)Cm_le = -0.137077838904\n", + "(c)m_c/4 = 0\n", + "(d)Cm_te = 0.411233516712\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi\n", + "alpha = 5.*pi/180.; # angle of attack in radians\n", + "\n", + "# from eq.(4.33)according to the thin plate theory, the lift coefficient is given by\n", + "c_l = 2.*pi*alpha;\n", + "\n", + "# from eq.(4.39) the coefficient of moment about the leading edge is given by\n", + "c_m_le = -c_l/4.;\n", + "\n", + "# from eq.(4.41)\n", + "c_m_qc = 0;\n", + "\n", + "# thus the coefficient of moment about the trailing can be calculated as\n", + "c_m_te = 3./4.*c_l;\n", + "\n", + "print\"(a)Cl =\", c_l\n", + "print\"(b)Cm_le =\",c_m_le\n", + "print\"(c)m_c/4 =\",c_m_qc\n", + "print\"(d)Cm_te =\",c_m_te" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 131" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The location of the aerodynamic center is x_ac = 0.241306818182\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "alpha1 = 4.;\n", + "alpha2 = -1.1;\n", + "alpha3 = -4.;\n", + "cl_1 = 0.55; # cl at alpha1\n", + "cl_2 = 0; # cl at alpha2\n", + "c_m_qc1 = -0.005; # c_m_qc at alpha1\n", + "c_m_qc3 = -0.0125; # c_m_qc at alpha3\n", + "\n", + "# the lift slope is given by\n", + "a0 = (cl_1 - cl_2)/(alpha1-alpha2);\n", + "\n", + "# the slope of moment coefficient curve is given by\n", + "m0 = (c_m_qc1 - c_m_qc3)/(alpha1-alpha3);\n", + "\n", + "# from eq.4.71\n", + "x_ac = -m0/a0 + 0.25;\n", + "\n", + "print\"The location of the aerodynamic center is x_ac =\",x_ac" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E07 : Pg 139" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)delta = 0.00425971375685 m\n", + "(b)Cf = 7.5425331588\n", + "Net Cf = 0.00150850663176\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "c = 1.5; # airfoil chord\n", + "Re_c = 3.1e6; # Reynolds number at trailing edge\n", + "\n", + "# from eq.(4.84), the laminar boundary layer thickness at trailing edge is given by\n", + "delta = 5*c/math.sqrt(Re_c);\n", + "\n", + "# from eq(4.86)\n", + "Cf = 1.328/math.sqrt(Re_c);\n", + "\n", + "# the net Cf for both surfaces is given by\n", + "Net_Cf = 2*Cf;\n", + "\n", + "print\"(a)delta =\",delta,\"m\"\n", + "print\"(b)Cf =\",Cf*10000 \n", + "print\"Net Cf =\",Net_Cf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E08 : Pg 150" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)delta = 0.0279267658904 m\n", + "(b)Cf = 0.00372356878539\n", + "Net Cf = 0.00744713757078\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "c = 1.5; # airfoil chord\n", + "Re_c = 3.1e6; # Reynolds number at trailing edge\n", + "\n", + "# from eq.(4.87), the turbulent boundary layer thickness at trailing edge is given by\n", + "delta = 0.37*c/(Re_c**0.2);\n", + "\n", + "# from eq(4.86)\n", + "Cf = 0.074/(Re_c**0.2);\n", + "\n", + "# the net Cf for both surfaces is given by\n", + "Net_Cf = 2*Cf;\n", + "\n", + "print\"(a)delta =\",delta,\"m\"\n", + "print\"(b)Cf =\",Cf\n", + "print\"Net Cf =\",Net_Cf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E09 : Pg 162" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The net skin friction coefficient is Net Cf= 0.00632\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "c = 1.5; # airfoil chord length\n", + "Rex_cr = 5e5; # critical Reynold's number\n", + "Re_c = 3.1e6; # Reynold's number at the trailing edge\n", + "\n", + "# the point of transition is given by\n", + "x1 = Rex_cr/Re_c*c;\n", + "\n", + "# the various skin friction coefficients are given as\n", + "Cf1_laminar = 1.328/sqrt(Rex_cr);\n", + "Cfc_turbulent = 0.074/(Re_c**0.2);\n", + "Cf1_turbulent = 0.074/(Rex_cr**0.2);\n", + "\n", + "# thus the total skin friction coefficient is given by\n", + "Cf = x1/c*Cf1_laminar + Cfc_turbulent - x1/c*Cf1_turbulent;\n", + "\n", + "# taking both sides of plate into account\n", + "Net_Cf = 2*Cf;\n", + "\n", + "print\"The net skin friction coefficient is Net Cf=\",round(Net_Cf,5)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_3.ipynb new file mode 100644 index 00000000..a4127f39 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_3.ipynb @@ -0,0 +1,219 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER05:INCOMPRESSIBLE FLOW OVER FINITE WINGS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 182" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cl = 0.44\n", + "CDi = 0.01\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sqrt\n", + "AR = 8.; # Aspect ratio of the wing\n", + "alpha = 5.*pi/180.; # Angle of attack experienced by the wing\n", + "a0 = 2.*pi # airfoil lift curve slope\n", + "alpha_L0 = 0; # zero lift angle of attack is zero since airfoil is symmetric\n", + "# from fig. 5.20, for AR = 8 and taper ratio of 0.8\n", + "delta = 0.055;\n", + "tow = delta; # given assumption\n", + "# thus the lift curve slope for wing is given by\n", + "a = a0/(1.+(a0/pi/AR/(1.+tow)));\n", + "# thus C_l can be calculated as\n", + "C_l = a*alpha;\n", + "# from eq.(5.61)\n", + "C_Di = C_l**2./pi/AR*(1.+delta);\n", + "print\"Cl =\",round(C_l,2)\n", + "print\"CDi =\",round(C_Di,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 185" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The induced drag coefficient of the second wing is CD,i = 0.00741411360464\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt,pi\n", + "CDi1 = 0.01; # induced drag coefficient for first wing\n", + "delta = 0.055; # induced drag factor for both wings\n", + "tow = delta;\n", + "alpha_L0 = -2.*pi/180.; # zero lift angle of attack\n", + "alpha = 3.4*pi/180.; # angle of attack\n", + "AR1 = 6.; # Aspect ratio of the first wing\n", + "AR2 = 10.; # Aspect ratio of the second wing\n", + "\n", + "# from eq.(5.61), lift coefficient can be calculated as\n", + "C_l1 = sqrt(pi*AR1*CDi1/(1.+delta));\n", + "\n", + "# the lift slope for the first wing can be calculated as\n", + "a1 = C_l1/(alpha-alpha_L0);\n", + "\n", + "# the airfoil lift coefficient can be given as\n", + "a0 = a1/(1.-(a1/pi/AR1*(1.+tow)));\n", + "\n", + "# thus the list coefficient for the second wing which has the same airfoil is given by\n", + "a2 = a0/(1.+(a0/pi/AR2*(1.+tow)));\n", + "C_l2 = a2*(alpha-alpha_L0);\n", + "CDi2 = C_l2**2./pi/AR2*(1.+delta);\n", + "\n", + "print\"The induced drag coefficient of the second wing is CD,i =\",CDi2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 189" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "alpha = 0.562642629213 degrees\n", + "\n" + ] + } + ], + "source": [ + "# all the quantities are expressed in SI units\n", + "from math import pi\n", + "a0 = 0.1*180./pi; # airfoil lift curve slope\n", + "AR = 7.96; # Wing aspect ratio\n", + "alpha_L0 = -2.*pi/180.; # zero lift angle of attack\n", + "tow = 0.04; # lift efficiency factor\n", + "C_l = 0.21; # lift coefficient of the wing\n", + "\n", + "# the lift curve slope of the wing is given by\n", + "a = a0/(1+(a0/pi/AR/(1.+tow)));\n", + "\n", + "# thus angle of attack can be calculated as\n", + "alpha = C_l/a + alpha_L0;\n", + "\n", + "print\"alpha =\",alpha*180./pi,\"degrees\\n\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 191" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The drag coefficient of the wing is C_D = 0.014827553741\n" + ] + } + ], + "source": [ + "# All the qunatities are expressed in SI units\n", + "from math import pi,sqrt\n", + "alpha_L0 = -1.*pi/180.; # zero lift angle of attack\n", + "alpha1 = 7.*pi/180.; # reference angle of attack\n", + "C_l1 = 0.9; # wing lift coefficient at alpha1\n", + "alpha2 = 4.*pi/180.;\n", + "AR = 7.61; # aspect ratio of the wing\n", + "taper = 0.45; # taper ratio of the wing\n", + "delta = 0.01; # delta as calculated from fig. 5.20\n", + "tow = delta;\n", + "# the lift curve slope of the wing/airfoil can be calculated as\n", + "a0 = C_l1/(alpha1-alpha_L0);\n", + "e = 1./(1.+delta);\n", + "# from eq. (5.70)\n", + "a = a0/(1.+(a0/pi/AR/(1.+tow)));\n", + "# lift coefficient at alpha2 is given as\n", + "C_l2 = a*(alpha2 - alpha_L0);\n", + "# from eq.(5.42), the induced angle of attack can be calculated as\n", + "alpha_i = C_l2/pi/AR;\n", + "# which gives the effective angle of attack as\n", + "alpha_eff = alpha2 - alpha_i;\n", + "# Thus the airfoil lift coefficient is given as\n", + "c_l = a0*(alpha_eff-alpha_L0);\n", + "c_d = 0.0065; # section drag coefficient for calculated c_l as seen from fig. 5.2b\n", + "# Thus the wing drag coefficient can be calculated as\n", + "C_D = c_d + ((C_l2**2.)/pi/e/AR);\n", + "print\"The drag coefficient of the wing is C_D =\",C_D" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_3.ipynb new file mode 100644 index 00000000..b83e1680 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_3.ipynb @@ -0,0 +1,174 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER07:COMPRESSIBLE FLOW SOME PRELIMINARY ASPECTS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 222" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The internal energy in the room is: E = 2.916375\n", + "The Enthalpy in the room is: H = 4.082925\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "l = 5.; # dimensions of the room\n", + "b = 7.;\n", + "h = 3.3;\n", + "V = l*b*h; # volume of the room\n", + "p = 101000.; # ambient pressure\n", + "T = 273. + 25.; # ambient temperature\n", + "R = 287.; # gas constant\n", + "gam = 1.4; # ratio of specific heats\n", + "cv = R/(gam-1.);\n", + "cp = gam*R/(gam-1.);\n", + "\n", + "# the density can by calculaled by the ideal gas law\n", + "rho = p/R/T;\n", + "\n", + "# thus the mass is given by\n", + "M = rho*V;\n", + "\n", + "# from eq.(7.6a), the internal energy per unit mass is\n", + "e = cv*T;\n", + "\n", + "# thus internal energy in the room is\n", + "E = e*M;\n", + "\n", + "# from eq.(7.6b), the enthalpy per unit mass is given by\n", + "h = cp*T;\n", + "\n", + "# Thus the enthalpy in the room is\n", + "H = M*h;\n", + "\n", + "print\"The internal energy in the room is: E =\", E/10**7\n", + "print\"The Enthalpy in the room is: H = \",H/10**7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 223" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The temperature at the given point is: T = 206.668775312 K\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "p_inf = 22790.9; # ambient pressure at 36000 ft\n", + "T_inf = 217.2; # ambient temperature at 36000 ft\n", + "p = 19152; # pressure at the given point\n", + "gam = 1.4;\n", + "\n", + "# thus the temperature at the given point can be calculated by eq.(7.32) as\n", + "T = T_inf*((p/p_inf)**((gam-1)/gam));\n", + "\n", + "print\"The temperature at the given point is: T =\",T,\"K\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 223" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total temperature and pressure are given by: T0 = 817.760079642 K\n", + "P0 = 26.678766535 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "p =101000; # static pressure\n", + "T = 320; # static temperature\n", + "v = 1000; # velocity\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287; # universal gas constant\n", + "cp = gam*R/(gam-1); # specific heat at constant pressure\n", + "\n", + "# from eq.(7.54), the total temperature is given by\n", + "T0 = T + (v**2)/2/cp;\n", + "\n", + "# from eq.(7.32),the total pressure is given by\n", + "p0 = p*((T0/T)**(gam/(gam-1)));\n", + "\n", + "p0_atm = p0/101000;\n", + "\n", + "\n", + "print\"The total temperature and pressure are given by: T0 =\",T0,\"K\"\n", + "print\"P0 =\",p0_atm,\"atm\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_3.ipynb new file mode 100644 index 00000000..e6f256b1 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_3.ipynb @@ -0,0 +1,658 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER08:NORMAL SHOCK WAVES AND RELATED TOPICS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 256" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)The Mach number at sea level is:M_inf = 0.73491785465\n", + "(b)The Mach number at 5 km is: M_inf = 0.779955236945\n", + "(c)The Mach number at 10 km is: M_inf = 0.834623638772\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt,pi\n", + "R = 287.;\n", + "gam = 1.4;\n", + "V_inf = 250.;\n", + "\n", + "# (a)\n", + "# At sea level\n", + "T_inf = 288.;\n", + "\n", + "# the velocity of sound is given by\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "\n", + "# thus the mach number can be calculated as\n", + "M_inf = V_inf/a_inf;\n", + "\n", + "print\"(a)The Mach number at sea level is:M_inf =\",M_inf\n", + "\n", + "# similarly for (b) and (c)\n", + "# (b)\n", + "# at 5km\n", + "T_inf = 255.7;\n", + "\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "\n", + "M_inf = V_inf/a_inf;\n", + "\n", + "print\"(b)The Mach number at 5 km is: M_inf = \",M_inf\n", + "\n", + "# (c)\n", + "# at 10km\n", + "T_inf = 223.3;\n", + "\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "\n", + "M_inf = V_inf/a_inf;\n", + "\n", + "print\"(c)The Mach number at 10 km is: M_inf =\",M_inf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 256" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Mach number is:\n", + "M = 2.78881717658\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "T = 320; # static temperature\n", + "V = 1000; # velocity\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287; # universal gas constant\n", + "\n", + "# the speed of sound is given by\n", + "a = math.sqrt(gam*R*T);\n", + "\n", + "# the mach number can be calculated as\n", + "M = V/a;\n", + "\n", + "print\"The Mach number is:\\nM =\",M" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 257" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)The ratio of kinetic energy to internal energy is: 1.12\n", + "\n", + "(b)The ratio of kinetic energy to internal energy is: 112.0\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "gam = 1.4; # ratio of specific heats\n", + "\n", + "# (a)\n", + "M = 2; # Mach number\n", + "\n", + "# the ratio of kinetic energy to internal energy is given by\n", + "ratio = gam*(gam-1)*M*M/2;\n", + "\n", + "print\"(a)The ratio of kinetic energy to internal energy is:\",ratio\n", + "\n", + "# similarly for (b)\n", + "# (b)\n", + "M = 20;\n", + "\n", + "ratio = gam*(gam-1)*M*M/2;\n", + "\n", + "print\"\\n(b)The ratio of kinetic energy to internal energy is:\",ratio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 259" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total temperature and pressure are:\n", + "T0 = 818.1824 K \n", + "P0 = 26.7270201929 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "M = 2.79; # Mach number\n", + "T = 320; # static temperature from ex. 7.3\n", + "p = 1; # static pressure in atm\n", + "gam = 1.4;\n", + "\n", + "# from eq. (8.40)\n", + "T0 = T*(1+((gam-1)/2*M*M));\n", + "\n", + "# from eq. (8.42)\n", + "p0 = p*((1+((gam-1)/2*M*M))**(gam/(gam-1)));\n", + "\n", + "print\"The total temperature and pressure are:\\nT0 =\",T0,\"K\",\"\\nP0 =\",p0,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E05 : Pg 260" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T0 = 621.0 K \n", + "P0 = 22.8816894716 atm \n", + "T* = 517.5 k \n", + "a* = 455.995065763 m/s \n", + "M* = 2.06418738617\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "M = 3.5; # Mach number\n", + "T = 180; # static temperature from ex. 7.3\n", + "p = 0.3; # static pressure in atm\n", + "gam = 1.4;\n", + "R = 287;\n", + "\n", + "# from eq. (8.40)\n", + "T0 = T*(1+((gam-1)/2*M*M));\n", + "\n", + "# from eq. (8.42)\n", + "p0 = p*((1+((gam-1)/2*M*M))**(gam/(gam-1)));\n", + "\n", + "a = math.sqrt(gam*R*T);\n", + "V = a*M;\n", + "\n", + "# the values at local sonic point are given by\n", + "T_star = T0*2/(gam+1);\n", + "a_star = math.sqrt(gam*R*T_star);\n", + "M_star = V/a_star;\n", + "\n", + "print\"T0 =\",T0,\"K\",\"\\nP0 =\",p0,\"atm\",\"\\nT* =\",T_star,\"k\",\"\\na* =\",a_star,\"m/s\",\"\\nM* =\",M_star" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 263" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mach number at the given point is:\n", + "M1 = 0.9\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "p_inf = 1;\n", + "p1 = 0.7545;\n", + "M_inf = 0.6;\n", + "gam = 1.4;\n", + "\n", + "# from eq. (8.42)\n", + "p0_inf = p_inf*((1+((gam-1)/2*M_inf*M_inf))**(gam/(gam-1)));\n", + "\n", + "p0_1 = p0_inf;\n", + "\n", + "# from eq. (8.42)\n", + "ratio = p0_1/p1;\n", + "\n", + "# from appendix A, for this ratio, the Mach number is\n", + "M1 = 0.9;\n", + "\n", + "print\"The mach number at the given point is:\\nM1 =\",M1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E07 : Pg 268" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The velocity at the given point is:\n", + "V1 = 17.3590326624 m/s\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "T_inf = 288; # freestream temperature\n", + "p_inf = 1; # freestream pressure\n", + "p1 = 0.7545; # pressure at point 1\n", + "M = 0.9; # mach number at point 1\n", + "gam = 1.4; # ratio of specific heats\n", + "R=1.;#\n", + "# for isentropic flow, from eq. (7.32)\n", + "T1 = T_inf*((p1/p_inf)**((gam-1)/gam));\n", + "\n", + "# the speed of sound at that point is thus\n", + "a1 = math.sqrt(gam*R*T1);\n", + "\n", + "# thus, the velocity can be given as\n", + "V1 = M*a1;\n", + "\n", + "print\"The velocity at the given point is:\\nV1 =\",V1,\"m/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E08 : Pg 268" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p2 = 4.5 atm \n", + "T2 = 485.856 K \n", + "u2 = 255.114727639 m/s\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "u1 = 680; # velocity upstream of shock\n", + "T1 = 288; # temperature upstream of shock\n", + "p1 = 1; # pressure upstream of shock\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287; # universal gas constant\n", + "\n", + "# the speed of sound is given by\n", + "a1 = math.sqrt(gam*R*T1)\n", + "\n", + "# thus the mach number is\n", + "M1 = 2;\n", + "\n", + "# from Appendix B, for M = 2, the relations between pressure and temperature are given by\n", + "pressure_ratio = 4.5; # ratio of pressure accross shock\n", + "temperature_ratio = 1.687; # ratio of temperature accross shock\n", + "M2 = 0.5774; # mach number downstream of shock\n", + "\n", + "# thus the values downstream of the shock can be calculated as\n", + "p2 = pressure_ratio*p1;\n", + "T2 = temperature_ratio*T1;\n", + "a2 = math.sqrt(gam*R*T2);\n", + "u2 = M2*a2;\n", + "\n", + "print\"p2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\nu2 =\",u2,\"m/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E09 : Pg 271" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total pressure loss is:\n", + "(a)P0_loss= 2.1836784 atm\n", + "\n", + "(b)P0_loss = 130.73016 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "p1 = 1; # ambient pressure upstream of shock\n", + "\n", + "\n", + "# (a)\n", + "# for M = 2;\n", + "p0_1 = 7.824*p1; # total pressure upstream of shock\n", + "pressure_ratio = 0.7209; # ratio of total pressure accross the shock\n", + "p0_2 = pressure_ratio*p0_1; # total pressure downstream of shock\n", + "\n", + "# thus the total loss of pressure is given by\n", + "pressure_loss = p0_1 - p0_2;\n", + "\n", + "print\"The total pressure loss is:\\n(a)P0_loss=\",pressure_loss,\"atm\"\n", + "\n", + "# similarly\n", + "# (b)\n", + "# for M = 4;\n", + "p0_1 = 151.8*p1;\n", + "pressure_ratio = 0.1388;\n", + "p0_2 = pressure_ratio*p0_1;\n", + "\n", + "# thus the total loss of pressure is given by\n", + "pressure_loss = p0_1 - p0_2;\n", + "\n", + "print\"\\n(b)P0_loss =\",pressure_loss,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E10 : Pg 272" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The pressure at point 2 is:p2 = 1.42546466011 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "M_inf = 2.; # freestream mach number\n", + "p_inf = 2.65e4; # freestream pressure\n", + "T_inf = 223.3; # freestream temperature\n", + "\n", + "# from Appendix A, for M = 2\n", + "p0_inf = 7.824*p_inf; # freestream total pressure\n", + "T0_inf = 1.8*T_inf; # freestream total temperature\n", + "\n", + "# from Appendix B, for M = 2\n", + "p0_1 = 0.7209*p0_inf; # total pressure downstream of the shock\n", + "T0_1 = T0_inf; # total temperature accross the shock is conserved\n", + "\n", + "# since the flow downstream of the shock is isentropic\n", + "p0_2 = p0_1;\n", + "T0_2 = T0_1;\n", + "\n", + "# from Appendix A, for M = 0.2 at point 2\n", + "p2 = p0_2/1.028;\n", + "T2 = T0_2/1.008;\n", + "\n", + "p2_atm = p2/102000;\n", + "\n", + "print\"The pressure at point 2 is:p2 =\",p2_atm,\"atm\"," + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E11 : Pg 273" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The pressure at point 2 is: p2 = 32.6599307622 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "M_inf = 10; # freestream mach number\n", + "p_inf = 2.65e4; # freestream pressure\n", + "T_inf = 223.3; # freestream temperature\n", + "\n", + "# from Appendix A, for M = 2\n", + "p0_inf = 0.4244e5*p_inf; # freestream total pressure\n", + "T0_inf = 21*T_inf; # freestream total temperature\n", + "\n", + "# from Appendix B, for M = 2\n", + "p0_1 = 0.003045*p0_inf; # total pressure downstream of shock\n", + "T0_1 = T0_inf; # total temperature downstream of shock is conserved\n", + "\n", + "# since the flow downstream of the shock is isentropic\n", + "p0_2 = p0_1;\n", + "T0_2 = T0_1;\n", + "\n", + "# from Appendix A, for M = 0.2 at point 2\n", + "p2 = p0_2/1.028;\n", + "T2 = T0_2/1.008;\n", + "\n", + "p2_atm = p2/102000;\n", + "\n", + "\n", + "print\"The pressure at point 2 is: p2 =\",p2_atm,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E13 : Pg 274" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The pressure at the nose is:\n", + "p_s = 38.1218361303 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "\n", + "p1 = 4.66e4; # ambient pressure\n", + "M = 8; # mach number\n", + "\n", + "# from Appendix B, for M = 8\n", + "p0_2 = 82.87*p1; # total pressure downstream of the shock\n", + "\n", + "# since the flow is isentropic downstream of the shock, total pressure is conserved\n", + "ps_atm = p0_2/101300; # pressure at the stagnation point\n", + "\n", + "print\"The pressure at the nose is:\\np_s =\",ps_atm,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E14 : Pg 274" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Velocity of the airplane is:\n", + "V1 = 1003.16703558 m/s\n" + ] + } + ], + "source": [ + "# All the quantities are expressedin SI units\n", + "import math \n", + "p1 = 2527.3; # ambient pressure at the altitude of 25 km\n", + "T1 = 216.66; # ambient temperature at the altitude of 25 km\n", + "p0_1 = 38800; # total pressure\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287; # universal gas constant\n", + "pressure_ratio = p0_1/p1; # ratio of total to static pressure\n", + "\n", + "# for this value of pressure ratio, mach number is\n", + "M1 = 3.4;\n", + "\n", + "# the speed of sound is given by\n", + "a1 = math.sqrt(gam*R*T1)\n", + "\n", + "# thus the velocity can be calculated as\n", + "V1 = M1*a1;\n", + "\n", + "print\"The Velocity of the airplane is:\\nV1 =\",V1,\"m/s\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_3.ipynb new file mode 100644 index 00000000..192558d4 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_3.ipynb @@ -0,0 +1,564 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER09:OBLIGUE SHOCK AND EXPANSION WAVES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 302" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The plane is ahead of the bystander by a distance of:\n", + "d = 27.7128129211 km\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math\n", + "M = 2.; # mach number\n", + "h = 16000.; # altitude of the plane\n", + "\n", + "# the mach angle can be calculated from eq.(9.1) as\n", + "mue = math.asin(1./M); # mach angle\n", + "\n", + "d = h/math.tan(mue);\n", + "\n", + "print\"The plane is ahead of the bystander by a distance of:\\nd =\",d/1000.,\"km\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 302" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "M2 = 1.214211418 \n", + "p2 = 2.82 atm \n", + "T2 = 399.744 K \n", + "p0,2 = 7.0040448 atm \n", + "T0,2 = 518.4 K\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi, sin,cos\n", + "M1 = 2.; # mach number\n", + "p1 = 1.; # ambient pressure\n", + "T1 = 288.; # ambient temperature\n", + "theta = 20.*pi/180.; # flow deflection\n", + "\n", + "# from figure 9.9, for M = 2, theta = 20\n", + "b = 53.4*pi/180.; # beta\n", + "Mn_1 = M1*sin(b); # upstream mach number normal to shock\n", + "\n", + "# for this value of Mn,1 = 1.60, from Appendix B we have\n", + "Mn_2 = 0.6684; # downstream mach number normal to shock\n", + "M2 = Mn_2/sin(b-theta); # mach number downstream of shock\n", + "p2 = 2.82*p1;\n", + "T2 = 1.388*T1;\n", + "\n", + "# for M = 2, from appendix A we have\n", + "p0_2 = 0.8952*7.824*p1;\n", + "T0_1 = 1.8*T1;\n", + "T0_2 = T0_1;\n", + "\n", + "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\np0,2 =\",p0_2,\"atm\",\"\\nT0,2 =\",T0_2,\"K\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 305" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "theta = 6.5 degrees \n", + "p2/p1 = 1.513 \n", + "T2/T1 = 1.128 \n", + "M2 = 2.11210524521\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin\n", + "b = 30.*pi/180.; # oblique shock wave angle\n", + "M1 = 2.4; # upstream mach number\n", + "\n", + "# from figure 9.9, for these value of M and beta, we have\n", + "theta = 6.5*pi/180.;\n", + "\n", + "Mn_1 = M1*sin(b); # upstream mach number normal to shock\n", + "\n", + "# from Appendix B\n", + "pressure_ratio = 1.513;\n", + "temperature_ratio = 1.128;\n", + "Mn_2 = 0.8422;\n", + "\n", + "M2 = Mn_2/sin(b-theta);\n", + "\n", + "print\"theta =\",theta*180./pi,\"degrees\",\"\\np2/p1 =\",pressure_ratio,\"\\nT2/T1 =\",temperature_ratio,\"\\nM2 =\",M2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 309" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The upstream mach number is:\n", + "M = 2.85925274482\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin\n", + "b = 35.*pi/180.; # oblique shock wave angle\n", + "pressure_ratio = 3.; # upstream and downstream pressure ratio\n", + "\n", + "# from appendix B\n", + "Mn_1 = 1.64;\n", + "M1 = Mn_1/sin(b);\n", + "\n", + "print\"The upstream mach number is:\\nM =\",M1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E05 : Pg 309" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ans = 1.76130338105\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin\n", + "M1 = 3.;\n", + "b = 40.*pi/180.;\n", + "\n", + "# for case 1, for M = 3, from Appendix B, we have\n", + "p0_ratio_case1 = 0.3283;\n", + "\n", + "# for case 2\n", + "Mn_1 = M1*sin(b);\n", + "\n", + "# from Appendix B\n", + "p0_ratio1 = 0.7535;\n", + "Mn_2 = 0.588;\n", + "\n", + "# from fig. 9.9, for M1 = 3 and beta = 40, we have\n", + "theta = 22.*pi/180.;\n", + "M2 = Mn_2/sin(b-theta);\n", + "\n", + "# from appendix B for M = 1.9; we have\n", + "p0_ratio2 = 0.7674;\n", + "p0_ratio_case2 = p0_ratio1*p0_ratio2;\n", + "\n", + "ratio = p0_ratio_case2/p0_ratio_case1;\n", + "\n", + "print\"Ans =\",ratio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 310" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The drag coefficient is given by:\n", + "cd = 0.114406649477\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin,tan\n", + "M1 = 5.;\n", + "theta = 15.*pi/180.;\n", + "gam = 1.4;\n", + "\n", + "# for these values of M and theta, from fig. 9.9\n", + "b = 24.2*pi/180;\n", + "Mn_1 = M1*sin(b);\n", + "\n", + "# from Appendix B, for Mn,1 = 2.05, we have\n", + "p_ratio = 4.736;\n", + "\n", + "# hence\n", + "c_d = 4.*tan(theta)/gam/(M1**2.)*(p_ratio-1.);\n", + "\n", + "print\"The drag coefficient is given by:\\ncd =\",c_d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E07 : Pg 311" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p3 = 4.67916856 x 10**5 N/m2 \n", + "T3 = 458.013888 K\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin,tan\n", + "M1 = 3.5;\n", + "theta1 = 10.*pi/180.;\n", + "gam = 1.4;\n", + "p1 = 101300.;\n", + "T1 = 288.;\n", + "b=1.;#\n", + "# for these values of M and theta, from fig. 9.9\n", + "b1 = 24.*pi/180.;\n", + "Mn_1 = M1*sin(b);\n", + "\n", + "# from Appendix B, for Mn,1 = 2.05, we have\n", + "Mn_2 = 0.7157;\n", + "p_ratio1 = 2.32;\n", + "T_ratio1 = 1.294;\n", + "M2 = Mn_2/sin(b1-theta1);\n", + "\n", + "# now\n", + "theta2 = 10.*pi/180.;\n", + "\n", + "# from fig. 9.9\n", + "b2 = 27.3*pi/180.;\n", + "phi = b2 - theta2;\n", + "\n", + "# from Appendix B\n", + "p_ratio2 = 1.991;\n", + "T_ratio2 = 1.229;\n", + "Mn_3 = 0.7572;\n", + "M3 = Mn_3/sin(b2-theta2);\n", + "\n", + "# thus\n", + "p3 = p_ratio1*p_ratio2*p1;\n", + "T3 = T_ratio1*T_ratio2*T1;\n", + "\n", + "print\"p3 =\",p3/1e5,\"x 10**5 N/m2\",\"\\nT3 =\",T3,\"K\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E08 : Pg 312" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "p2 = 0.469197341513 atm \n", + "T2 = 232.0 K \n", + "p0,2 = 3.671 atm \n", + "T0,2 = 417.6 K \n", + "Angle of forward Mach line = 41.81 degrees \n", + "Angle of rear Mach line = 15.0 degrees\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sin,tan\n", + "M1 = 1.5; # upstream mach number\n", + "theta = 15.*pi/180.; # deflection angle\n", + "p1 = 1.; # ambient pressure in atm\n", + "T1 = 288.; # ambient temperature\n", + "\n", + "# from appendix C, for M1 = 1.5 we have\n", + "v1 = 11.91*pi/180.;\n", + "\n", + "# from eq.(9.43)\n", + "v2 = v1 + theta;\n", + "\n", + "# for this value of v2, from appendix C\n", + "M2 = 2.;\n", + "\n", + "# from Appendix A for M1 = 1.5 and M2 = 2.0, we have\n", + "p2 = 1./7.824*1.*3.671*p1;\n", + "T2 = 1./1.8*1.*1.45*T1;\n", + "p0_1 = 3.671*p1;\n", + "p0_2 = p0_1;\n", + "T0_1 = 1.45*T1;\n", + "T0_2 = T0_1;\n", + "\n", + "# from fig. 9.25, we have\n", + "fml = 41.81; # Angle of forward Mach line\n", + "rml = 30. - 15.; # Angle of rear Mach line\n", + "\n", + "print\"p2 =\",p2,\"atm\",\"\\nT2 =\",T2,\"K\",\"\\np0,2 =\",p0_2,\"atm\",\"\\nT0,2 =\",T0_2,\"K\",\"\\nAngle of forward Mach line =\",fml,\"degrees\",\"\\nAngle of rear Mach line =\",rml,\"degrees\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E09 : Pg 312" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "M2 = 6.4 \n", + "p2 = 18.0212314225 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi\n", + "M1 = 10.; # upstream mach number\n", + "theta = 15.*pi/180.; # deflection angle\n", + "p1 = 1.; # ambient pressure in atm\n", + "# from appendix C, for M1 = 10 we have\n", + "v1 = 102.3*pi/180.;\n", + "# in region 2\n", + "v2 = v1 - theta;\n", + "# for this value of v2, from appendix C\n", + "M2 = 6.4;\n", + "# from Appendix A for M1 = 10 and M2 = 6.4, we have\n", + "p2 = 1./(2355.)*1.*42440.*p1;\n", + "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E10 : Pg 315" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "M2 = 5.22283426943 \n", + "p2 = 13.32 atm \n", + "p0,2 = 9.854568 x 10**3 atm\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "M1 = 10; # upstream mach number\n", + "theta = 15*math.pi/180; # deflection angle\n", + "p1 = 1; # ambient pressure in atm\n", + "\n", + "# from fig 9.9, for M1 = 10 and theta = 15 we have\n", + "b = 20*math.pi/180;\n", + "Mn_1 = M1*math.sin(b);\n", + "\n", + "# from Appendix B, for Mn,1 = 3.42\n", + "Mn_2 = 0.4552;\n", + "M2 = Mn_2/math.sin(b-theta);\n", + "p2 = 13.32*p1;\n", + "\n", + "# from Appendix A, for M1 = 10\n", + "p0_2 = 0.2322*42440*p1;\n", + "\n", + "print\"M2 =\",M2,\"\\np2 =\",p2,\"atm\",\"\\np0,2 =\",p0_2/1e3,\"x 10**3 atm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E11 : Pg 316" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lift and drag coefficients are given by:\n", + "cl = 0.124948402826 \n", + "cd = 0.0109315687729\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "M1 = 3.; # upstream mach number\n", + "theta = 5.*math.pi/180.; # deflection angle\n", + "alpha = theta; # angle of attack\n", + "gam = 1.4;\n", + "\n", + "# from appendix C, for M1 = 3 we have\n", + "v1 = 49.76*math.pi/180.;\n", + "\n", + "# from eq.(9.43)\n", + "v2 = v1 + theta;\n", + "\n", + "# for this value of v2, from appendix C\n", + "M2 = 3.27;\n", + "\n", + "# from Appendix A for M1 = 3 and M2 = 3.27, we have\n", + "p_ratio1 = 36.73/55.;\n", + "\n", + "# from fig. 9.9, for M1 = 3 and theta = 5\n", + "b = 23.1*math.pi/180.;\n", + "Mn_1 = M1*math.sin(b);\n", + "\n", + "# from Appendix B\n", + "p_ratio2 = 1.458;\n", + "\n", + "# thus\n", + "c_l = 2./gam/(M1**2.)*(p_ratio2-p_ratio1)*math.cos(alpha);\n", + "\n", + "c_d = 2./gam/(M1**2.)*(p_ratio2-p_ratio1)*math.sin(alpha);\n", + "\n", + "print\"The lift and drag coefficients are given by:\\ncl =\",c_l,\"\\ncd =\",c_d" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_3.ipynb new file mode 100644 index 00000000..9a52e44a --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_3.ipynb @@ -0,0 +1,333 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER10:COMPRESSIBLE FLOW THROUGH NOZZLES DIFFUSERS AND WIND TUNNELS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 345" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Me = 3.95\n", + "pe = 0.035 atm\n", + "Te = 80.89191 K\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in Si units\n", + "area_ratio = 10.25; # exit to throat area ratio\n", + "p0 = 5; # reservoir pressure in atm\n", + "T0 = 333.3; # reservoir temperature\n", + "\n", + "# from appendix A, for an area ratio of 10.25\n", + "Me = 3.95; # exit mach number\n", + "pe = 0.007*p0; # exit pressure\n", + "Te = 0.2427*T0; # exit temperature\n", + "\n", + "print\"Me =\",Me\n", + "print\"pe =\",pe,\"atm\"\n", + "print\"Te =\",Te,\"K\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 346" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At throat: Mt = 1.0\n", + "\n", + "At throat: pt = 0.528 atm\n", + "\n", + "At throat: Tt = 239.904 K\n", + "\n", + "At throat: For supersonic exit: 2.2\n", + "\n", + "At throat: pe = 0.0935453695042 atm\n", + "\n", + "At throat: Te = 146.341463415 K\n", + "\n", + "For subrsonic exit: 0.3\n", + "\n", + "pe= 0.93984962406 atm\n", + "\n", + "Te= 282.907662083 K\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in Si units\n", + "\n", + "area_ratio = 2.; # exit to throat area ratio\n", + "p0 = 1.; # reservoir pressure in atm\n", + "T0 = 288.; # reservoir temperature\n", + "\n", + "# (a)\n", + "# since M = 1 at the throat\n", + "Mt = 1.;\n", + "pt = 0.528*p0; # pressure at throat\n", + "Tt = 0.833*T0; # temperature at throat\n", + "\n", + "# from appendix A for supersonic flow, for an area ratio of 2\n", + "Me = 2.2; # exit mach number\n", + "pe = 1./10.69*p0; # exit pressure\n", + "Te = 1./1.968*T0; # exit temperature\n", + "\n", + "print\"At throat: Mt =\",Mt\n", + "print\"\\nAt throat: pt =\",pt,\"atm\"\n", + "print\"\\nAt throat: Tt = \",Tt,\"K\"\n", + "print\"\\nAt throat: For supersonic exit:\",Me\n", + "print\"\\nAt throat: pe =\",pe,\"atm\"\n", + "print\"\\nAt throat: Te = \",Te,\"K\"\n", + "\n", + "# (b)\n", + "# from appendix A for subonic flow, for an area ratio of 2\n", + "Me = 0.3; # exit mach number\n", + "pe = 1/1.064*p0; # exit pressure\n", + "Te = 1/1.018*T0; # exit temperature\n", + "\n", + "print\"\\nFor subrsonic exit:\",Me\n", + "print\"\\npe=\",pe,\"atm\"\n", + "print\"\\nTe=\",Te,\"K\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 346" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Me = 0.2\n", + "Mt = 0.44\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in Si units\n", + "\n", + "area_ratio = 2.; # exit to throat area ratio\n", + "p0 = 1.; # reservoir pressure in atm\n", + "T0 = 288.; # reservoir temperature\n", + "pe = 0.973; # exit pressure in atm\n", + "\n", + "p_ratio = p0/pe; # ratio of reservoir to exit pressure\n", + "\n", + "# from appendix A for subsonic flow, for an pressure ratio of 1.028\n", + "Me = 0.2; # exit mach number\n", + "area_ratio_exit_to_star = 2.964; # A_exit/A_star\n", + "\n", + "# thus\n", + "area_ratio_throat_to_star = area_ratio_exit_to_star/area_ratio; # A_exit/A_star\n", + "\n", + "# from appendix A for subsonic flow, for an area ratio of 1.482\n", + "Mt = 0.44; # throat mach number\n", + "\n", + "print\"Me =\",Me\n", + "print\"Mt =\",Mt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E04 : Pg 352" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)The thrust of the rocket is:T = 2.1702872295 N\n", + "\n", + "(b)The nozzle exit area is 487663.540469\n", + "\n", + "Ae = 16.7097500627 m2\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "p0 = 30.*101000.; # reservoir pressure\n", + "T0 = 3500.; # reservoir temperature\n", + "R = 520.; # specific gas constant\n", + "gam = 1.22; # ratio of specific heats\n", + "A_star = 0.4; # rocket nozzle throat area\n", + "pe = 5529.; # rocket nozzle exit pressure equal to ambient pressure at 20 km altitude\n", + "\n", + "# (a)\n", + "# the density of air in the reservoir can be calculated as\n", + "rho0 = p0/R/T0;\n", + "\n", + "# from eq.(8.46)\n", + "rho_star = rho0*(2/(gam+1))**(1/(gam-1));\n", + "\n", + "# from eq.(8.44)\n", + "T_star = T0*2/(gam+1);\n", + "a_star = math.sqrt(gam*R*T_star);\n", + "u_star = a_star;\n", + "m_dot = rho_star*u_star*A_star;\n", + "\n", + "# rearranging eq.(8.42)\n", + "Me = math.sqrt(2/(gam-1)*(((p0/pe)**((gam-1)/gam)) - 1));\n", + "Te = T0/(1+(gam-1)/2*Me*Me);\n", + "ae = math.sqrt(gam*R*Te);\n", + "ue = Me*ae;\n", + "\n", + "# thus the thrust can be calculated as\n", + "T = m_dot*ue;\n", + "T_lb = T*0.2247;\n", + "\n", + "# (b)\n", + "# rearranging eq.(10.32)\n", + "Ae = A_star/Me*((2/(gam+1)*(1+(gam-1)/2*Me*Me))**((gam+1)/(gam-1)/2));\n", + "\n", + "print\"(a)The thrust of the rocket is:T =\" ,T/1e6, \"N\"\n", + "print\"\\n(b)The nozzle exit area is\",T_lb \n", + "\n", + "print\"\\nAe =\",Ae, \"m2\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E05 : Pg 353" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mass flow rate is: m_dot = 586.100122081 kg/s\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "p0 = 30.*101000.; # reservoir pressure\n", + "T0 = 3500.; # reservoir temperature\n", + "R = 520.; # specific gas constant\n", + "gam = 1.22; # ratio of specific heats\n", + "A_star = 0.4; # rocket nozzle throat area\n", + "\n", + "# the mass flow rate using the closed form analytical expression\n", + "# from problem 10.5 can be given as\n", + "m_dot = p0*A_star*math.sqrt(gam/R/T0*((2/(gam+1))**((gam+1)/(gam-1))));\n", + "\n", + "print\"The mass flow rate is: m_dot =\",m_dot, \"kg/s\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E06 : Pg 356" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The diffuser throat to nozzle throat area ratio is: = 1.38715494521\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "M = 2.; # Mach number\n", + "# for this value M, for a normal shock, from Appendix B\n", + "p0_ratio = 0.7209;\n", + "# thus\n", + "area_ratio = 1./p0_ratio;\n", + "print\"The diffuser throat to nozzle throat area ratio is: =\",area_ratio" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_3.ipynb new file mode 100644 index 00000000..383aa8f5 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_3.ipynb @@ -0,0 +1,97 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER11:SUBSONIC COMPRESSIBLE FLOW OVER AIRFOILS LINEAR THEOREY" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 382" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)The Cp after compressibility corrections is: -0.375 Cp\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "Cp_incompressible = -0.3; # Cp for incompressible flow\n", + "M = 0.6; # Mach number\n", + "# Thus from eq.(11.52)\n", + "Cp_compressible = Cp_incompressible/math.sqrt(1-M**2);\n", + "print\"(a)The Cp after compressibility corrections is:\",Cp_compressible,\"Cp\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 383" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)The cl after compressibility corrections is: cl = 8.7982192499 alpha\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "cl_incompressible = 2*math.pi; # lift curve slope\n", + "M_inf = 0.7; # Mach number\n", + "# from eq.(11.52)\n", + "cl_compressible = cl_incompressible/math.sqrt(1-M_inf**2); # compressible lift curve slope\n", + "print\"(a)The cl after compressibility corrections is: cl =\",cl_compressible,\"alpha\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_3.ipynb new file mode 100644 index 00000000..c4032f0f --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_3.ipynb @@ -0,0 +1,184 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER12:LINEARIZED SUPERSONIC FLOW" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 395" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The cl and cd according to the linearized theory are:cl = 0.12\n", + "The cl and cd according to the linearized theory are:cd = 0.01\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import pi,sqrt\n", + "alpha = 5*pi/180; # angle of attack\n", + "M_inf = 3; # freestream mach number\n", + "\n", + "# from eq.(12.23)\n", + "c_l = 4*alpha/sqrt(M_inf**2 - 1);\n", + "\n", + "# from eq.(12.24)\n", + "c_d = 4*alpha**2/sqrt(M_inf**2 - 1);\n", + "\n", + "print\"The cl and cd according to the linearized theory are:cl =\", round(c_l,2)\n", + "print\"The cl and cd according to the linearized theory are:cd =\",round(c_d,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 395" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The angle of attack of the wing is: 1.97493716351 degrees\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt,pi\n", + "M_inf = 2.; # freestream mach number\n", + "rho_inf = 0.3648; # freestream density at 11 km altitude\n", + "T_inf = 216.78; # freestream temperature at 11 km altitude\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287.; # specific gas constant\n", + "m = 9400.; # mass of the aircraft\n", + "g = 9.8; # acceleratio due to gravity\n", + "W = m*g; # weight of the aircraft\n", + "S = 18.21; # wing planform area\n", + "# thus\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "V_inf = M_inf*a_inf;\n", + "q_inf = 1./2.*rho_inf*V_inf**2.;\n", + "\n", + "# thus the aircraft lift coefficient is given as\n", + "C_l = W/q_inf/S;\n", + "\n", + "alpha = 180./pi*C_l/4.*sqrt(M_inf**2. - 1.);\n", + "\n", + "print\"The angle of attack of the wing is:\",alpha,\"degrees\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 400" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a) Net Cf = 4.3\n", + "(b) cd = 2.82901631903\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "# All the quantities are expressed in SI units\n", + "from math import sqrt,pi\n", + "# (a)\n", + "M_inf = 2.; # freestream mach number\n", + "rho_inf = 0.3648; # freestream density at 11 km altitude\n", + "T_inf = 216.78; # freestream temperature at 11 km altitude\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287.; # specific gas constant\n", + "m = 9400.; # mass of the aircraft\n", + "g = 9.8; # acceleratio due to gravity\n", + "W = m*g; # weight of the aircraft\n", + "S = 18.21; # wing planform area\n", + "c = 2.2; # chord length of the airfoil\n", + "alpha = 0.035; # angle of attack as calculated in ex. 12.2\n", + "T0 = 288.16; # ambient temperature at sea level\n", + "mue0 = 1.7894e-5; # reference viscosity at sea level\n", + "\n", + "# thus\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "V_inf = M_inf*a_inf;\n", + "\n", + "# according to eq.(15.3), the viscosity at the given temperature is\n", + "mue_inf = mue0*(T_inf/T0)**1.5*(T0+110.)/(T_inf+110.);\n", + "\n", + "# thus the Reynolds number can be given by\n", + "Re = rho_inf*V_inf*c/mue_inf;\n", + "\n", + "# from fig.(19.1), for these values of Re and M, the skin friction coefficient is\n", + "Cf = 2.15*10**-3;\n", + "\n", + "# thus, considering both sides of the flat plate\n", + "net_Cf = 2.*Cf;\n", + "\n", + "# (b)\n", + "c_d = 4.*alpha**2./sqrt(M_inf**2. - 1.);\n", + "\n", + "print\"(a) Net Cf = \",net_Cf*1e3\n", + "print\"(b) cd =\",c_d*1e3" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_3.ipynb new file mode 100644 index 00000000..6fb8ebd5 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_3.ipynb @@ -0,0 +1,116 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER14:ELEMENTS OF HYPERSONIC FLOW" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 440" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The exact results from the shock-expansion theory are:\n", + "Cp2 = -0.0218681754368\n", + "Cp3 = 0.188459821429\n", + " cl = 0.203161244164\n", + "cd = 0.054436891307\n", + "L/D = 3.73205080757\n", + "\n", + "(b) The results from Newtonian theory are:\n", + "Cp2 = 0\n", + "Cp3 = 0.133974596216\n", + "cl = 0.129409522551\n", + "cd = 0.0346751770605\n", + "L/D = 3.73205080757\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt,pi,sin,cos\n", + "M1 = 8.; # mach number\n", + "alpha = 15.*pi/180.; # anlge of attack\n", + "theta= alpha;\n", + "gam = 1.4;\n", + "# (a)\n", + "# for M = 8\n", + "v1 = 95.62*pi/180.;\n", + "v2 = v1 + theta;\n", + "# from Appendix C\n", + "M2 = 14.32;\n", + "# from Appendix A, for M1 = 8 and M2 = 14.32\n", + "p_ratio = 0.9763e4/0.4808e6;\n", + "# from eq.(11.22)\n", + "Cp2 = 2/gam/M1**2*(p_ratio - 1);\n", + "# for M1 = 8 and theta = 15\n", + "b = 21*pi/180;\n", + "Mn_1 = M1*sin(b);\n", + "# for this value of Mn,1, from appendix B\n", + "p_ratio2 = 9.443;\n", + "# thus\n", + "Cp3 = 2./gam/M1**2.*(p_ratio2 - 1.);\n", + "c_n = Cp3 - Cp2;\n", + "c_l = c_n*cos(alpha);\n", + "c_d = c_n*sin(alpha);\n", + "L_by_D = c_l/c_d;\n", + "print\"The exact results from the shock-expansion theory are:\"\n", + "print\"Cp2 =\",Cp2\n", + "print\"Cp3 = \",Cp3\n", + "print\" cl =\",c_l\n", + "print\"cd =\",c_d\n", + "print\"L/D =\",L_by_D\n", + "# (b)\n", + "# from Newtonian theory, by eq.(14.9)\n", + "Cp3 = 2.*sin(alpha)**2;\n", + "Cp2 = 0;\n", + "c_l = (Cp3 - Cp2)*cos(alpha);\n", + "c_d = (Cp3 - Cp2)*sin(alpha);\n", + "L_by_D = c_l/c_d;\n", + "print\"\\n(b) The results from Newtonian theory are:\"\n", + "print\"Cp2 =\",Cp2\n", + "print\"Cp3 =\",Cp3\n", + "print\"cl =\",c_l\n", + "print\"cd =\",c_d\n", + "print\"L/D =\",L_by_D" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_3.ipynb new file mode 100644 index 00000000..be767b15 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_3.ipynb @@ -0,0 +1,147 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER16:SOME SPECIAL CASES COUETTE AND POISEUILLE FLOWS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 524" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)u = 30.48 m/s\n", + "(b)tow_w = 429.456 N/m2\n", + "(c)T = 288.628328315 K\n", + "(d)q_w_dot = 13089.81888 Nm-1s-1\n", + "(e)Taw = K 289.613313258\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "mue = 1.7894*10**5; # coefficient of viscosity\n", + "ue = 60.96; # velocity of upper plate\n", + "D = 2.54*10**4; # distance between the 2 plates\n", + "T_w = 288.3; # temperature of the plates\n", + "Pr = 0.71; # Prandlt number\n", + "cp = 1004.5; # specific heat at constant pressure\n", + "\n", + "# (a)\n", + "# from eq.(16.6)\n", + "u = ue/2;\n", + "\n", + "# (b)\n", + "# from eq.(16.9)\n", + "tow_w = mue*ue/D;\n", + "\n", + "# (c)\n", + "# from eq.(16.34)\n", + "T = T_w + Pr*ue**2/8/cp;\n", + "\n", + "# (d)\n", + "# from eq.(16.35)\n", + "q_w_dot = mue/2*ue**2/D;\n", + "\n", + "# (e)\n", + "# from eq.(16.40)\n", + "T_aw = T_w + Pr/cp*ue**2/2;\n", + "\n", + "print\"(a)u =\",u,\"m/s\"\n", + "print\"(b)tow_w =\",tow_w,\"N/m2\"\n", + "print\"(c)T =\",T,\"K\"\n", + "print\"(d)q_w_dot =\",q_w_dot,\"Nm-1s-1\"\n", + "print\"(e)Taw =\",\"K\",T_aw\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 524" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The heat transfer is given by:q_w_dot = 3.67387998933 W/m2\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "mue = 1.7894*10**5; # coefficient of viscosity\n", + "Me = 3.; # mach number of upper plate\n", + "D = 2.54*10**4; # distance between the 2 plates\n", + "pe = 101000.; # ambient pressure\n", + "Te = 288.; # temperature of the plates\n", + "Tw = Te;\n", + "gam = 1.4; # ratio of specific heats\n", + "R = 287; # specific gas constant\n", + "Pr = 0.71; # Prandlt number\n", + "cp = 1004.5; # specific heat at constant pressure\n", + "tow_w = 72.; # shear stress on the lower wall\n", + "# the velocity of the upper plate is given by\n", + "ue = Me*sqrt(gam*R*Te);\n", + "# the density at both plates is\n", + "rho_e = pe/R/Te;\n", + "# the coefficient of skin friction is given by\n", + "cf = 2.*tow_w/rho_e/ue**2.;\n", + "# from eq.(16.92)\n", + "C_H = cf/2/Pr;\n", + "# from eq.(16.82)\n", + "h_aw = cp*Te + Pr*ue**2/2;\n", + "h_w = cp*Tw;\n", + "q_w_dot = rho_e*ue*(h_aw-h_w)*C_H;\n", + "print\"The heat transfer is given by:q_w_dot =\",q_w_dot/1e4,\"W/m2\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_3.ipynb new file mode 100644 index 00000000..3b3b1286 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_3.ipynb @@ -0,0 +1,234 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER18:LAMINAR BOUNDARY LAYERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 595" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is:(a)D = 17563872.6566 N\n", + "(b) D = 501884115.614 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "p_inf = 101000.; # freestream pressure\n", + "T_inf = 288.; # freestream temperature\n", + "c = 2.; # chord length of the plate\n", + "S = 40.; # planform area of the plate\n", + "mue_inf=1.7894*10.**5.; # coefficient of viscosity at sea level\n", + "gam=1.4; # ratio of specific heats\n", + "R=287.; # specific gas constant\n", + "# the freestream density is\n", + "rho_inf = p_inf/R/T_inf;\n", + "# the speed of sound is\n", + "a_inf = sqrt(gam*R*T_inf);\n", + "# (a)\n", + "V_inf = 100.;\n", + "# thus the mach number can be calculated as\n", + "M_inf = V_inf/a_inf;\n", + "# the Reynolds number at the trailing is given as\n", + "Re_c = rho_inf*V_inf*c/mue_inf;\n", + "# from eq.(18.22)\n", + "Cf = 1.328/sqrt(Re_c);\n", + "# the friction drag on one surface of the plate is given by\n", + "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n", + "# the total drag generated due to both surfaces is\n", + "D = 2.*D_f;\n", + "print\"The total frictional drag is:(a)D =\",D,\"N\"\n", + "# (b)\n", + "V_inf = 1000.;\n", + "# thus the mach number can be calculated as\n", + "M_inf = V_inf/a_inf;\n", + "# the Reynolds number at the trailing is given as\n", + "Re_c = rho_inf*V_inf*c/mue_inf;\n", + "# from eq.(18.22)\n", + "Cf = 1.2/sqrt(Re_c);\n", + "# the friction drag on one surface of the plate is given by\n", + "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n", + "# the total drag generated due to both surfaces is\n", + "D = 2.*D_f;\n", + "print\"(b) D =\",D,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 596" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is: D = 4978.09594496 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "Pr = 0.71; # Prandlt number of air at standard conditions\n", + "Pr_star = Pr;\n", + "Te = 288.; # temperature of the upper plate\n", + "ue = 1000.; # velocity of the upper plate\n", + "Me = 2.94; # Mach number of flow on the upper plate\n", + "p_star = 101000.;\n", + "R = 287.; # specific gas constant\n", + "T0 = 288.; # reference temperature at sea level\n", + "mue0 = 1.7894*10**-5; # reference viscosity at sea level\n", + "c = 2.; # chord length of the plate\n", + "S = 40.; # plate planform area\n", + "\n", + "# recovery factor for a boundary layer is given by eq.(18.47) as\n", + "r = sqrt(Pr);\n", + "\n", + "# rearranging eq.(16.49), we get for M = 2.94\n", + "T_aw = Te*(1+r*(2.74-1));\n", + "\n", + "# from eq.(18.53)\n", + "T_star = Te*(1 + 0.032*Me**2. + 0.58*(T_aw/Te-1.));\n", + "\n", + "# from the equation of state\n", + "rho_star = p_star/R/T_star;\n", + "\n", + "# from eq.(15.3)\n", + "mue_star = mue0*(T_star/T0)**1.5*(T0+110.)/(T_star+110.);\n", + "\n", + "# thus\n", + "Re_c_star = rho_star*ue*c/mue_star;\n", + "\n", + "# from eq.(18.22)\n", + "Cf_star = 1.328/sqrt(Re_c_star);\n", + "\n", + "# hence, the frictional drag on one surface of the plate is\n", + "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n", + "\n", + "# thus, the total frictional drag is given by\n", + "D = 2.*D_f;\n", + "\n", + "print\"The total frictional drag is: D =\",D,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 600" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is: D = 5014.11379241 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "from math import sqrt\n", + "Pr = 0.71; # Prandlt number of air at standard conditions\n", + "Pr_star = Pr;\n", + "Te = 288.; # temperature of the upper plate\n", + "ue = 1000.; # velocity of the upper plate\n", + "Me = 2.94; # Mach number of flow on the upper plate\n", + "p_star = 101000.;\n", + "R = 287.; # specific gas constant\n", + "gam = 1.4; # ratio of specific heats\n", + "T0 = 288.; # reference temperature at sea level\n", + "mue0 = 1.7894*10**-5; # reference viscosity at sea level\n", + "c = 2.; # chord length of the plate\n", + "S = 40.; # plate planform area\n", + "\n", + "# recovery factor for a boundary layer is given by eq.(18.47) as\n", + "r = sqrt(Pr);\n", + "\n", + "# from ex.(8.2)\n", + "T_aw = Te*2.467;\n", + "T_w = T_aw;\n", + "\n", + "# from the Meador-Smart equation\n", + "T_star = Te*(0.45 + 0.55*T_w/Te + 0.16*r*(gam-1)/2*Me**2.);\n", + "\n", + "# from the equation of state\n", + "rho_star = p_star/R/T_star;\n", + "\n", + "# from eq.(15.3)\n", + "mue_star = mue0*(T_star/T0)**1.5*(T0+110)/(T_star+110.);\n", + "\n", + "# thus\n", + "Re_c_star = rho_star*ue*c/mue_star;\n", + "\n", + "# from eq.(18.22)\n", + "Cf_star = 1.328/sqrt(Re_c_star);\n", + "\n", + "# hence, the frictional drag on one surface of the plate is\n", + "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n", + "\n", + "# thus, the total frictional drag is given by\n", + "D = 2.*D_f;\n", + "\n", + "print\"The total frictional drag is: D =\",D,\"N\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_3.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_3.ipynb new file mode 100644 index 00000000..1fa4a0c5 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_3.ipynb @@ -0,0 +1,191 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CHAPTER19:TURBULENT BOUNDARY LAYERS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E01 : Pg 612" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is: (a)D = 1351.89748485 N\n", + "(b) D = 65392.0 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "# (a)\n", + "from math import sqrt\n", + "Re_c = 1.36e7; # as obtained from ex. 18.1a\n", + "rho_inf = 1.22; # freestream air denstiy\n", + "S = 40.; # plate planform area\n", + "# hence, from eq.(19.2)\n", + "Cf = 0.074/Re_c**0.2;\n", + "V_inf = 100.;\n", + "# hence, for one side of the plate\n", + "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n", + "# the total drag on both the surfaces is\n", + "D = 2.*D_f;\n", + "print\"The total frictional drag is: (a)D =\",D,\"N\"\n", + "# (b)\n", + "Re_c = 1.36e8; # as obtained from ex. 18.1b\n", + "# hence, from fig 19.1 we have\n", + "Cf = 1.34*10.**-3.;\n", + "V_inf = 1000.;\n", + "# hence, for one side of the plate\n", + "D_f = 1./2.*rho_inf*V_inf**2.*S*Cf;\n", + "# the total drag on both the surfaces is\n", + "D = 2.*D_f;\n", + "print\"(b) D =\",D,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E02 : Pg 612" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is:D = 51916.421508 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "# from ex 18.2\n", + "from math import sqrt\n", + "Re_c_star = 3.754e7; # Reynolds number at the trailing edge of the plate\n", + "rho_star = 0.574;\n", + "ue = 1000.; # velocity of the upper plate\n", + "S = 40.; # plate planform area\n", + "# from eq.(19.3) we have\n", + "Cf_star = 0.074/Re_c_star**0.2;\n", + "# hence, for one side of the plate\n", + "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n", + "# the total drag on both the surfaces is\n", + "D = 2.*D_f;\n", + "print\"The total frictional drag is:D =\",D,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example E03 : Pg 615" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total frictional drag is:D = 4967.70450221 N\n" + ] + } + ], + "source": [ + "# All the quantities are expressed in SI units\n", + "import math \n", + "Me = 2.94; # mach number of the flow over the upper plate\n", + "ue = 1000.;\n", + "Te = 288.; # temperature of the upper plate\n", + "ue = 1000.; # velocity of the upper plate\n", + "S = 40.; # plate planform area\n", + "Pr = 0.71; # Prandlt number of air at standard condition\n", + "gam = 1.4; # ratio of specific heats\n", + "\n", + "# the recovery factor is given as\n", + "r = Pr**(1./3.);\n", + "\n", + "# for M = 2.94\n", + "T_aw = Te*(1.+r*(2.74-1.));\n", + "T_w = T_aw; # since the flat plate has an adiabatic wall\n", + "\n", + "# from the Meador-Smart equation\n", + "T_star = Te*(0.5*(1.+T_w/Te) + 0.16*r*(gam-1.)/2.*Me**2.);\n", + "\n", + "# from the equation of state\n", + "p_star=1.\n", + "R=1.\n", + "rho_star = p_star/R/T_star;\n", + "\n", + "# from eq.(15.3)\n", + "mue0=1.\n", + "T0=1.\n", + "c=1.\n", + "mue_star = mue0*(T_star/T0)**1.5*(T0+110.)/(T_star+110.);\n", + "\n", + "# thus\n", + "Re_c_star = rho_star*ue*c/mue_star;\n", + "\n", + "# from eq.(18.22)\n", + "Cf_star = 0.02667/Re_c_star**0.139;\n", + "\n", + "# hence, the frictional drag on one surface of the plate is\n", + "D_f = 1./2.*rho_star*ue**2.*S*Cf_star;\n", + "\n", + "# thus, the total frictional drag is given by\n", + "D = 2.*D_f;\n", + "\n", + "print\"The total frictional drag is:D =\",D,\"N\"" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_3.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_3.png Binary files differnew file mode 100644 index 00000000..c7202e07 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_3.png diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_3.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_3.png Binary files differnew file mode 100644 index 00000000..cad0b274 --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_3.png diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_3.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_3.png Binary files differnew file mode 100644 index 00000000..4e6e962e --- /dev/null +++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_3.png |