summaryrefslogtreecommitdiff
path: root/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr.
diff options
context:
space:
mode:
authorTrupti Kini2016-04-18 23:30:27 +0600
committerTrupti Kini2016-04-18 23:30:27 +0600
commitd1c12393903db3f9fb2a2458efad5583a6a90c30 (patch)
treec5b48047ac46e4a504953bdac51606a1642eb79e /Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr.
parent07d84dd04acace5642aefd89f534adc574fe5d8c (diff)
downloadPython-Textbook-Companions-d1c12393903db3f9fb2a2458efad5583a6a90c30.tar.gz
Python-Textbook-Companions-d1c12393903db3f9fb2a2458efad5583a6a90c30.tar.bz2
Python-Textbook-Companions-d1c12393903db3f9fb2a2458efad5583a6a90c30.zip
Added(A)/Deleted(D) following books
A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_2.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_2.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_3.ipynb A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_2.png A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_2.png A A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_2.png A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER11_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER12_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER15_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER16_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER17_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER20_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER21_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER3_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER4_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER5_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/CHAPTER7_1.ipynb A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/HeatTransfer(3)_1.png A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/cycleWorkEff(4)_1.png A A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/screenshots/volumetric_Eff(7)_1.png A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png A Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_1.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_10.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_11.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_2.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_3.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_4.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_5.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_6.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_7.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_8.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/Chapter_9.ipynb A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch1_1.png A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch3_1.png A Mechanics_of_Materials_by_Ferdinand_P.Beer,_E.Russel_Jhonston_Jr.,_John.T._DEwolf/screenshots/Ch9_1.png A Textbook_on_Optical_Fiber_Communication_and_Its_Applications_by_S._C._Gupta/README.txt
Diffstat (limited to 'Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr.')
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb333
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb78
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb655
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb356
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb213
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb167
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb661
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb565
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb329
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb89
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb177
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb107
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb139
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb227
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb183
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.pngbin0 -> 70404 bytes
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.pngbin0 -> 75002 bytes
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.pngbin0 -> 58855 bytes
18 files changed, 4279 insertions, 0 deletions
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb
new file mode 100644
index 00000000..7244160e
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER01_1.ipynb
@@ -0,0 +1,333 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:57a5d6ebf900460e2ff968f8bf9a88274010af93d14546f04048a93297a5e9ca"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER01:AERODYNAMICS SOME INTRODUCTORY THOUGHTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Drag coefficient by first method is: 0.0217\n",
+ "The Drag coefficient by second method is: 0.0217\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Xcp/C = 0.36\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lift to drag ratio L/D is equal to: 14.0744390238\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum value of lift coefficient is Cl_max = 3.90490596176\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#from math import pi\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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb
new file mode 100644
index 00000000..c3025aa8
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER02_1.ipynb
@@ -0,0 +1,78 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:464e60e3a4fe11cbccf41f0f820e47d38e39f9dfeb35e8d0d0b44bbe82e8731d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER02:AERODYNAMICS SOME FUNDAMENTAL PRINCIPLES AND EQUATIONS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time rate of change of the volume of the fluid element per unit volume is: -1.07e-08 s-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb
new file mode 100644
index 00000000..1ff764da
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER03_1.ipynb
@@ -0,0 +1,655 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6fc24ac450907cf6b53529447df5ddfb6e848467bd6ab7266e9fa22928b6934c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER03 : FUNDAMENTALS OF INVISCID INCOMPRESSIBLE FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity at the given point is V = 142.780176712 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is p2 = 101314.1 Pa\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of velocity at the inlet is V1 = 31.1897419034 m/s\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The height difference in a U-tube mercury manometer is delta_h = 0.0114557541767 m\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable pressure difference between the wind tunnel setling chamber and the test section is delta_p = 6067.76041667 Pa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reservoir pressure is p1 = 1.01204192792 atm\n",
+ "The new reservoir pressure is p1 = 1.0486663505 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the airplane is V1 = 76.0569067293 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total pressure measured by pitot tube is p0 = 101314.1 Pa\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the airplane is V1 = 114.169709845 m/s = 255.413221129 mph\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivallent airspeed of the airplane is Ve = 93.2069457878 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The coefficient of pressure at the given point is Cp = -1.25\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E12 : Pg 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 : Pg 100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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)); # 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular locations where surface pressure equals freestream pressure are theta= 30.0 150.0 210.0 330.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E14 : Pg 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The peak negative pressure coefficient is Cp = -5.95176382404\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E15 : Pg 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E16 : Pg 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Lift per unit span for the given cylinder is L= 892.663917563 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb
new file mode 100644
index 00000000..8a7db932
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER04_1.ipynb
@@ -0,0 +1,356 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:667e7edd5a0efbfc619a58e3f423b909e5e016facb48d34aea8322015d9b8dee"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER04:INCOMPRESSIBLE FLOW OVER AIRFOILS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Moment per unit span about the aerodynamic center is is M= -61.71648 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)Cl = 0.548311355616\n",
+ "(b)Cm_le = -0.137077838904\n",
+ "(c)m_c/4 = 0\n",
+ "(d)Cm_te = 0.411233516712\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The location of the aerodynamic center is x_ac = 0.241306818182\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)delta = 0.00425971375685 m\n",
+ "(b)Cf = 7.5425331588\n",
+ "Net Cf = 0.00150850663176\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 150"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)delta = 0.0279267658904 m\n",
+ "(b)Cf = 0.00372356878539\n",
+ "Net Cf = 0.00744713757078\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The net skin friction coefficient is Net Cf= 0.00632\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb
new file mode 100644
index 00000000..1cc16868
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER05_1.ipynb
@@ -0,0 +1,213 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:97ec6a0f0972a7f970e4d12525fdf840e6aac0c728c1785a57a0a2b069843898"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER05:INCOMPRESSIBLE FLOW OVER FINITE WINGS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cl = 0.44\n",
+ "CDi = 0.01\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The induced drag coefficient of the second wing is CD,i = 0.00741411360464\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "alpha = 0.562642629213 degrees\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drag coefficient of the wing is C_D = 0.014827553741\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb
new file mode 100644
index 00000000..d9d5597a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER07_1.ipynb
@@ -0,0 +1,167 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:daee8dea306dcf3f243bce271ea4da56ca30a788427b14afefd3a09c75dc55c1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER07:COMPRESSIBLE FLOW SOME PRELIMINARY ASPECTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 222"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal energy in the room is: E = 2.916375\n",
+ "The Enthalpy in the room is: H = 4.082925\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The temperature at the given point is: T = 206.668775312 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total temperature and pressure are given by: T0 = 817.760079642 K\n",
+ "P0 = 26.678766535 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb
new file mode 100644
index 00000000..e74af20a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER08_1.ipynb
@@ -0,0 +1,661 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e357eaa1fc833bafafb3c0833b21679ed02cc3d89f0c762a586f2cd8efb5f5ec"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER08:NORMAL SHOCK WAVES AND RELATED TOPICS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Mach number is:\n",
+ "M = 2.78881717658\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 259"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total temperature and pressure are:\n",
+ "T0 = 818.1824 K \n",
+ "P0 = 26.7270201929 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mach number at the given point is:\n",
+ "M1 = 0.9\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity at the given point is:\n",
+ "V1 = 17.3590326624 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 268"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p2 = 4.5 atm \n",
+ "T2 = 485.856 K \n",
+ "u2 = 255.114727639 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total pressure loss is:\n",
+ "(a)P0_loss= 2.1836784 atm\n",
+ "\n",
+ "(b)P0_loss = 130.73016 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\","
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is:p2 = 1.42546466011 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 273"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at point 2 is: p2 = 32.6599307622 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 : Pg 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The pressure at the nose is:\n",
+ "p_s = 38.1218361303 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E14 : Pg 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Velocity of the airplane is:\n",
+ "V1 = 1003.16703558 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb
new file mode 100644
index 00000000..21c42160
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER09_1.ipynb
@@ -0,0 +1,565 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:528ba44c2050d0f458962f1b0e10d706281b50e366348fab8ed78316508c3a8b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER09:OBLIGUE SHOCK AND EXPANSION WAVES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plane is ahead of the bystander by a distance of:\n",
+ "d = 27.7128129211 km\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 302"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "theta = 6.5 degrees \n",
+ "p2/p1 = 1.513 \n",
+ "T2/T1 = 1.128 \n",
+ "M2 = 2.11210524521\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The upstream mach number is:\n",
+ "M = 2.85925274482\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ans = 1.76130338105\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drag coefficient is given by:\n",
+ "cd = 0.114406649477\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 : Pg 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p3 = 4.67916856 x 10**5 N/m2 \n",
+ "T3 = 458.013888 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 : Pg 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 : Pg 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M2 = 6.4 \n",
+ "p2 = 18.0212314225 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 : Pg 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M2 = 5.22283426943 \n",
+ "p2 = 13.32 atm \n",
+ "p0,2 = 9.854568 x 10**3 atm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 : Pg 316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lift and drag coefficients are given by:\n",
+ "cl = 0.124948402826 \n",
+ "cd = 0.0109315687729\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb
new file mode 100644
index 00000000..5e2e846a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER10_1.ipynb
@@ -0,0 +1,329 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:50b271f93e8a365fc7786fed67e8c1b9727566cca589daf5682afce2ce0beb0c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER10:COMPRESSIBLE FLOW THROUGH NOZZLES DIFFUSERS AND WIND TUNNELS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 345"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Me = 3.95\n",
+ "pe = 0.035 atm\n",
+ "Te = 80.89191 K\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 346"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 346"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Me = 0.2\n",
+ "Mt = 0.44\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 : Pg 352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 : Pg 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass flow rate is: m_dot = 586.100122081 kg/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 : Pg 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diffuser throat to nozzle throat area ratio is: = 1.38715494521\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb
new file mode 100644
index 00000000..a745bed3
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER11_1.ipynb
@@ -0,0 +1,89 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:803218956e8d07c2bbc2005621cfab4517eff6a55bb3c468628e715c71e6bf8d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER11:SUBSONIC COMPRESSIBLE FLOW OVER AIRFOILS LINEAR THEOREY"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The Cp after compressibility corrections is: -0.375 Cp\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a)The cl after compressibility corrections is: cl = 8.7982192499 alpha\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb
new file mode 100644
index 00000000..23eb47c4
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER12_1.ipynb
@@ -0,0 +1,177 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:759b2b8dbe680f1a1114b02efa5fa66ff3cc710d36fd5424f5c21b97ca922dbb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER12:LINEARIZED SUPERSONIC FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 395"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 395"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle of attack of the wing is: 1.97493716351 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(a) Net Cf = 4.3\n",
+ "(b) cd = 2.82901631903\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb
new file mode 100644
index 00000000..b03fae71
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER14_1.ipynb
@@ -0,0 +1,107 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b76a333651e4030c76adde3b4d2c960c2cac224a46eefd1efa17c855082ed983"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER14:ELEMENTS OF HYPERSONIC FLOW"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb
new file mode 100644
index 00000000..511a7557
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER16_1.ipynb
@@ -0,0 +1,139 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6e4d8dba8272e5aef3b50d9bff3cc7e1579deb4c626c5963093dac4c2f32b5ec"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER16:SOME SPECIAL CASES COUETTE AND POISEUILLE FLOWS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 524"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\n",
+ "\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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "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"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 524"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The heat transfer is given by:q_w_dot = 3.67387998933 W/m2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb
new file mode 100644
index 00000000..9db85084
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER18_1.ipynb
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1212acad0ef08178fcbea2bab37906941543ef565feec1c8224ba9b0069420a4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER18:LAMINAR BOUNDARY LAYERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:(a)D = 17563872.6566 N\n",
+ "(b) D = 501884115.614 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 596"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: D = 4978.09594496 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 600"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: D = 5014.11379241 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb
new file mode 100644
index 00000000..2f8ac563
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./CHAPTER19_1.ipynb
@@ -0,0 +1,183 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b86498eb35a7b864ac2f5ef6daf0b84c4087e01fdc3cae003175c0e3f7e5a702"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER19:TURBULENT BOUNDARY LAYERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 : Pg 612"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is: (a)D = 1351.89748485 N\n",
+ "(b) D = 65392.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 : Pg 612"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# 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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:D = 51916.421508 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 : Pg 615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# All the quantities are expressed in SI units\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\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total frictional drag is:D = 4967.70450221 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png
new file mode 100644
index 00000000..e38c28d3
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot02_1.png
Binary files differ
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png
new file mode 100644
index 00000000..7ef80327
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot04_1.png
Binary files differ
diff --git a/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png
new file mode 100644
index 00000000..d1376f9c
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J._D._Anderson_Jr./screenshots/Screenshot08_1.png
Binary files differ