summaryrefslogtreecommitdiff
path: root/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_
diff options
context:
space:
mode:
authorPrashant S2020-04-14 10:25:32 +0530
committerGitHub2020-04-14 10:25:32 +0530
commit06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch)
tree2b1df110e24ff0174830d7f825f43ff1c134d1af /Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_
parentabb52650288b08a680335531742a7126ad0fb846 (diff)
parent476705d693c7122d34f9b049fa79b935405c9b49 (diff)
downloadall-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.tar.gz
all-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.tar.bz2
all-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.zip
Merge pull request #1 from prashantsinalkar/masterHEADmaster
Initial commit
Diffstat (limited to 'Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_')
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/1-Aerodynamics_Some_Introductory_Thoughts.ipynb282
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/10-Compressible_Flow_Through_Nozzles_Diffusers_and_Wind_Tunnels.ipynb258
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/11-Subsonic_Compressible_Flow_over_Airfoils_Linear_Theory.ipynb85
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/12-Linearized_Supersonic_Flow.ipynb158
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/14-Elements_of_Hypersonic_Flow.ipynb99
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/16-Some_Special_Cases_Couette_and_Poiseuille_Flows.ipynb131
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/18-Laminar_Boundary_Layers.ipynb226
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/19-Turbulent_Boundary_Layers.ipynb177
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/2-Aerodynamics_Some_Fundamental_Principles_and_Equations.ipynb77
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/3-Fundamentals_of_Inviscid_Incompressible_Flow.ipynb577
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/4-Incompressible_Flow_over_Airfoils.ipynb423
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/5-Incompressible_Flow_over_Finite_Wings.ipynb201
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/7-Compressible_Flow_Some_Preliminary_Aspects.ipynb147
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/8-Normal_Shock_Waves_and_Related_Topics.ipynb545
-rw-r--r--Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/9-Oblique_Shock_and_Expansion_Waves.ipynb469
15 files changed, 3855 insertions, 0 deletions
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/1-Aerodynamics_Some_Introductory_Thoughts.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/1-Aerodynamics_Some_Introductory_Thoughts.ipynb
new file mode 100644
index 0000000..83daa9a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/1-Aerodynamics_Some_Introductory_Thoughts.ipynb
@@ -0,0 +1,282 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Aerodynamics Some Introductory Thoughts"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.1: Calculation_of_drag_coefficient_over_a_wedge.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are in SI units\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 = (-p_upper*sind(-a)*c/cosd(a))+(-p_inf*sind(90)*c*tand(a)); //pressure drag on upper surface\n",
+"I2 = (p_lower*sind(a)*c/cosd(a))+(p_inf*sind(-90)*c*tand(a)); //pressure drag on lower surface\n",
+"I3 = c_tw*cosd(-a)/0.8*((c/cosd(a))^0.8); //skin friction drag on upper surface\n",
+"I4 = 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 = sqrt(1.4*R*T_inf); //freestream velocity of sound\n",
+"v_inf = M_inf*a_inf; //freestream velocity\n",
+"q_inf = 1/2*rho_inf*(v_inf^2); //freestream dynamic pressure\n",
+"S = c*1; //reference area of the wedge\n",
+"\n",
+"c_d1 = D/q_inf/S; //Drag Coefficient by first method\n",
+"\n",
+"printf('\nRESULT\n-------\nThe Drag coefficient by first method is: %1.3f\n', 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 = (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",
+"printf('\nThe Drag coefficient by second method is: %1.3f\n\n', c_d2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.3: Calculation_of_center_of_pressure_for_a_NACA_4412_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"alpha = 4; //angle of attack in degrees\n",
+"c_l = 0.85; //lift coefficient\n",
+"c_m_c4 = -0.09; //coefficient of moment about the quarter chord\n",
+"x_cp = 1/4 - (c_m_c4/c_l); //the location centre of pressure with respect to chord\n",
+"\n",
+"printf('\n\nRESULTS\n--------\nXcp/C = %1.3f\n\n',x_cp)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.5: Calculation_of_parametres_for_wind_tunnel_testing.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"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*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",
+"printf('\nRESULTS\n-------\nThe velocity required in the wind tunnel is: %3.1f mi/h\n\n',V2)\n",
+"printf('The pressure required in the wind tunnel is: %5.0f lb/sq.ft or %2.2f atm\n\n',P2,P2_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.6: Calculation_of_cruise_lift_coefficient_and_lift_to_drag_ratio_of_a_Cesna_560.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"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",
+"printf('\nRESULTS\n--------\nThe lift to drag ratio L/D is equal to: %2.0f\n',L_by_D)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.7: Calculation_of_maximum_lift_coefficient_for_Cesna_560.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"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",
+"printf('\nRESULTS\n--------\nThe maximum value of lift coefficient is\n Cl_max = %1.3f\n',C_l_max)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.8_a: calculation_of_upward_acceleration_of_a_hot_air_balloon.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"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*%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",
+"printf('\nRESULTS\n---------\nThe initial upward acceleration is:\n a = %2.1f ft/s2',a)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1.8_b: Calculation_of_maximum_altitude_for_the_hot_air_balloon.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"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",
+"printf('\nRESULTS\n---------\nThe maximum altitude that can be reached is:\n h = %4.0f ft',h_max)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/10-Compressible_Flow_Through_Nozzles_Diffusers_and_Wind_Tunnels.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/10-Compressible_Flow_Through_Nozzles_Diffusers_and_Wind_Tunnels.ipynb
new file mode 100644
index 0000000..a389f32
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/10-Compressible_Flow_Through_Nozzles_Diffusers_and_Wind_Tunnels.ipynb
@@ -0,0 +1,258 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10: Compressible Flow Through Nozzles Diffusers and Wind Tunnels"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.1: Calculation_of_mach_number_pressure_and_temperature_at_the_nozzle_exit.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in Si units\n",
+"\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",
+"printf('\nRESULTS\n---------\n Me = %1.2f\n pe = %1.3f atm\n Te = %2.1f K',Me,pe,Te)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.2: EX10_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in Si units\n",
+"\n",
+"area_ratio = 2; //exit to throat area ratio\n",
+"p0 = 1; //reservoir pressure in atm\n",
+"T0 = 288; //reservoir temperature\n",
+"\n",
+"//(a)\n",
+"//since M = 1 at the throat\n",
+"Mt = 1;\n",
+"pt = 0.528*p0; //pressure at throat\n",
+"Tt = 0.833*T0; //temperature at throat\n",
+"\n",
+"//from appendix A for supersonic flow, for an area ratio of 2\n",
+"Me = 2.2; //exit mach number\n",
+"pe = 1/10.69*p0; //exit pressure\n",
+"Te = 1/1.968*T0; //exit temperature\n",
+"\n",
+"printf('\nRESULTS\n---------\nAt throat:\n Mt = %1.1f\n pt = %1.3f atm\n Tt = %3.0f K\n\nFor supersonic exit:\n Me = %1.1f\n pe = %1.4f atm\n Te = %3.0f K\n',Mt,pt,Tt,Me,pe,Te)\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",
+"printf('\nFor subrsonic exit:\n Me = %1.1f\n pe = %1.2f atm\n Te = %3.1f K',Me,pe,Te)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.3: EX10_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in Si units\n",
+"\n",
+"area_ratio = 2; //exit to throat area ratio\n",
+"p0 = 1; //reservoir pressure in atm\n",
+"T0 = 288; //reservoir temperature\n",
+"pe = 0.973; //exit pressure in atm\n",
+"\n",
+"p_ratio = p0/pe; //ratio of reservoir to exit pressure\n",
+"\n",
+"//from appendix A for subsonic flow, for an pressure ratio of 1.028\n",
+"Me = 0.2; //exit mach number\n",
+"area_ratio_exit_to_star = 2.964; //A_exit/A_star\n",
+"\n",
+"//thus\n",
+"area_ratio_throat_to_star = area_ratio_exit_to_star/area_ratio; //A_exit/A_star\n",
+"\n",
+"//from appendix A for subsonic flow, for an area ratio of 1.482\n",
+"Mt = 0.44; //throat mach number\n",
+"\n",
+"printf('\nRESULTS\n---------\n Me = %1.1f\n Mt = %1.2f\n',Me,Mt)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.4: Calculation_of_thrust_for_the_given_rocket_engine_and_the_nozzle_exit_area.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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 = 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 = sqrt(2/(gam-1)*(((p0/pe)^((gam-1)/gam)) - 1));\n",
+"Te = T0/(1+(gam-1)/2*Me*Me);\n",
+"ae = 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",
+"printf('\nRESULTS\n---------\n(a)The thrust of the rocket is:\n T = %1.2f x 10^6 N = %6.0f lb\n\n(b)\nThe nozzle exit area is:\n Ae = %2.1f m2\n',T/1e6,T_lb,Ae)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.5: Calculation_of_mass_flow_through_the_rocket_engine_used_in_the_previous_example.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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*sqrt(gam/R/T0*((2/(gam+1))^((gam+1)/(gam-1))));\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe mass flow rate is:\n m_dot = %3.1f kg/s\n',m_dot)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.6: EX10_6.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M = 2; //Mach number\n",
+"\n",
+"//for this value M, for a normal shock, from Appendix B\n",
+"p0_ratio = 0.7209;\n",
+"\n",
+"//thus\n",
+"area_ratio = 1/p0_ratio;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe diffuser throat to nozzle throat area ratio is:\n At,2/At,1 = %1.3f',area_ratio)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/11-Subsonic_Compressible_Flow_over_Airfoils_Linear_Theory.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/11-Subsonic_Compressible_Flow_over_Airfoils_Linear_Theory.ipynb
new file mode 100644
index 0000000..679452a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/11-Subsonic_Compressible_Flow_over_Airfoils_Linear_Theory.ipynb
@@ -0,0 +1,85 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 11: Subsonic Compressible Flow over Airfoils Linear Theory"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.1: EX11_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"Cp_incompressible = -0.3; //Cp for incompressible flow\n",
+"M = 0.6; //Mach number\n",
+"\n",
+"//Thus from eq.(11.52)\n",
+"Cp_compressible = Cp_incompressible/sqrt(1-M^2);\n",
+"\n",
+"printf('\nRESULTS\n---------\n(a)\The Cp after compressibility corrections is:\n Cp = %1.3f\n',Cp_compressible)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.2: EX11_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"cl_incompressible = 2*%pi; //lift curve slope\n",
+"M_inf = 0.7; //Mach number\n",
+"\n",
+"//from eq.(11.52)\n",
+"cl_compressible = cl_incompressible/sqrt(1-M_inf^2); //compressible lift curve slope\n",
+"\n",
+"printf('\nRESULTS\n---------\n(a)\The cl after compressibility corrections is:\n cl = %1.1falpha\n',cl_compressible)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/12-Linearized_Supersonic_Flow.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/12-Linearized_Supersonic_Flow.ipynb
new file mode 100644
index 0000000..5ab4591
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/12-Linearized_Supersonic_Flow.ipynb
@@ -0,0 +1,158 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12: Linearized Supersonic Flow"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1: EX12_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\nThe cl and cd according to the linearized theory are:\n cl = %1.3f\n cd = %1.3f\n',c_l,c_d)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2: Calculation_of_angle_of_attack_of_a_Lockheed_F104_wing_in_a_supersonic_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\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",
+"printf('\nRESULTS\n---------\nThe angle of attack of the wing is:\n alpha = %1.2f degrees\n',alpha)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3: EX12_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"//All the quantities are expressed in SI units\n",
+"\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.15e-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",
+"printf('\nRESULTS\n---------\n(a)\n Net Cf = %1.1f x 10^-3\n(b)\n cd = %1.2f x 10^-3\n',net_Cf*1e3,c_d*1e3)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/14-Elements_of_Hypersonic_Flow.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/14-Elements_of_Hypersonic_Flow.ipynb
new file mode 100644
index 0000000..9a8b7af
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/14-Elements_of_Hypersonic_Flow.ipynb
@@ -0,0 +1,99 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 14: Elements of Hypersonic Flow"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.1: EX14_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M1 = 8; //mach number\n",
+"alpha = 15*%pi/180; //anlge of attack\n",
+"theta= alpha;\n",
+"gam = 1.4;\n",
+"\n",
+"//(a)\n",
+"//for M = 8\n",
+"v1 = 95.62*%pi/180;\n",
+"v2 = v1 + theta;\n",
+"\n",
+"//from Appendix C\n",
+"M2 = 14.32;\n",
+"\n",
+"//from Appendix A, for M1 = 8 and M2 = 14.32\n",
+"p_ratio = 0.9763e4/0.4808e6;\n",
+"\n",
+"//from eq.(11.22)\n",
+"Cp2 = 2/gam/M1^2*(p_ratio - 1);\n",
+"\n",
+"//for M1 = 8 and theta = 15\n",
+"b = 21*%pi/180;\n",
+"Mn_1 = M1*sin(b);\n",
+"\n",
+"//for this value of Mn,1, from appendix B\n",
+"p_ratio2 = 9.443;\n",
+"\n",
+"//thus\n",
+"Cp3 = 2/gam/M1^2*(p_ratio2 - 1);\n",
+"\n",
+"c_n = Cp3 - Cp2;\n",
+"\n",
+"c_l = c_n*cos(alpha);\n",
+"\n",
+"c_d = c_n*sin(alpha);\n",
+"\n",
+"L_by_D = c_l/c_d;\n",
+"\n",
+"printf('\nRESULTS\n---------\n(a) The exact results from the shock-expansion theory are:\n Cp2 = %1.4f\n Cp3 = %1.4f\n cl = %1.4f\n cd = %1.4f\n L/D = %1.2f\n',Cp2,Cp3,c_l,c_d,L_by_D)\n",
+"\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",
+"\n",
+"printf('\n(b) The results from Newtonian theory are:\n Cp2 = %1.4f\n Cp3 = %1.4f\n cl = %1.4f\n cd = %1.4f\n L/D = %1.2f\n',Cp2,Cp3,c_l,c_d,L_by_D)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/16-Some_Special_Cases_Couette_and_Poiseuille_Flows.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/16-Some_Special_Cases_Couette_and_Poiseuille_Flows.ipynb
new file mode 100644
index 0000000..e56237a
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/16-Some_Special_Cases_Couette_and_Poiseuille_Flows.ipynb
@@ -0,0 +1,131 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16: Some Special Cases Couette and Poiseuille Flows"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.1: EX16_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"mue = 1.7894e-5; //coefficient of viscosity\n",
+"ue = 60.96; //velocity of upper plate\n",
+"D = 2.54e-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",
+"printf('\nRESULTS\n---------\n(a)\n u = %2.2f m/s\n(b)\n tow_w = %1.1f N/m2\n(c)\n T = %3.1f K\n(d)\n q_w_dot = %3.1f Nm-1s-1\n(e)\n Taw = %3.1f K',u,tow_w,T,q_w_dot,T_aw)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.2: Calculation_of_the_heat_transfer_to_either_plate_for_the_given_geometry.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"mue = 1.7894e-5; //coefficient of viscosity\n",
+"Me = 3; //mach number of upper plate\n",
+"D = 2.54e-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",
+"\n",
+"//the velocity of the upper plate is given by\n",
+"ue = Me*sqrt(gam*R*Te);\n",
+"\n",
+"//the density at both plates is\n",
+"rho_e = pe/R/Te;\n",
+"\n",
+"//the coefficient of skin friction is given by\n",
+"cf = 2*tow_w/rho_e/ue^2;\n",
+"\n",
+"//from eq.(16.92)\n",
+"C_H = cf/2/Pr;\n",
+"\n",
+"//from eq.(16.82)\n",
+"h_aw = cp*Te + Pr*ue^2/2;\n",
+"\n",
+"h_w = cp*Tw;\n",
+"\n",
+"q_w_dot = rho_e*ue*(h_aw-h_w)*C_H;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe heat transfer is given by:\n q_w_dot = %1.2f x 10^4 W/m2\n',q_w_dot/1e4)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/18-Laminar_Boundary_Layers.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/18-Laminar_Boundary_Layers.ipynb
new file mode 100644
index 0000000..ced68bf
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/18-Laminar_Boundary_Layers.ipynb
@@ -0,0 +1,226 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 18: Laminar Boundary Layers"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 18.1: Calculation_of_the_friction_drag_on_a_flat_plate_for_the_given_velocities.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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.7894e-5; //coefficient of viscosity at sea level\n",
+"gam = 1.4; //ratio of specific heats\n",
+"R = 287; //specific gas constant\n",
+"\n",
+"//the freestream density is\n",
+"rho_inf = p_inf/R/T_inf;\n",
+"\n",
+"//the speed of sound is\n",
+"a_inf = sqrt(gam*R*T_inf);\n",
+"\n",
+"//(a)\n",
+"V_inf = 100;\n",
+"\n",
+"//thus the mach number can be calculated as\n",
+"M_inf = V_inf/a_inf;\n",
+"\n",
+"//the Reynolds number at the trailing is given as\n",
+"Re_c = rho_inf*V_inf*c/mue_inf;\n",
+"\n",
+"//from eq.(18.22)\n",
+"Cf = 1.328/sqrt(Re_c);\n",
+"\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",
+"\n",
+"//the total drag generated due to both surfaces is\n",
+"D = 2*D_f;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n(a)\n D = %3.1f N\n',D)\n",
+"\n",
+"//(b)\n",
+"V_inf = 1000;\n",
+"\n",
+"//thus the mach number can be calculated as\n",
+"M_inf = V_inf/a_inf;\n",
+"\n",
+"//the Reynolds number at the trailing is given as\n",
+"Re_c = rho_inf*V_inf*c/mue_inf;\n",
+"\n",
+"//from eq.(18.22)\n",
+"Cf = 1.2/sqrt(Re_c);\n",
+"\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",
+"\n",
+"//the total drag generated due to both surfaces is\n",
+"D = 2*D_f;\n",
+"\n",
+"printf('\n(b)\n D = %4.0f N\n',D)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 18.2: EX18_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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.7894e-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",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n D = %4.0f N\n',D)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 18.3: EX18_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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.7894e-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",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n D = %4.0f N\n',D)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/19-Turbulent_Boundary_Layers.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/19-Turbulent_Boundary_Layers.ipynb
new file mode 100644
index 0000000..4e9f9c5
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/19-Turbulent_Boundary_Layers.ipynb
@@ -0,0 +1,177 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 19: Turbulent Boundary Layers"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 19.1: EX19_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"//(a)\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",
+"\n",
+"//hence, from eq.(19.2)\n",
+"Cf = 0.074/Re_c^0.2;\n",
+"\n",
+"V_inf = 100;\n",
+"\n",
+"//hence, for one side of the plate\n",
+"D_f = 1/2*rho_inf*V_inf^2*S*Cf;\n",
+"\n",
+"//the total drag on both the surfaces is\n",
+"D = 2*D_f;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n(a)\n D = %4.0f N\n',D)\n",
+"\n",
+"//(b)\n",
+"Re_c = 1.36e8; //as obtained from ex. 18.1b\n",
+"\n",
+"//hence, from fig 19.1 we have\n",
+"Cf = 1.34e-3;\n",
+"\n",
+"V_inf = 1000;\n",
+"\n",
+"//hence, for one side of the plate\n",
+"D_f = 1/2*rho_inf*V_inf^2*S*Cf;\n",
+"\n",
+"//the total drag on both the surfaces is\n",
+"D = 2*D_f;\n",
+"\n",
+"printf('\n(b)\n D = %5.0f N\n',D)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 19.2: EX19_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"//from ex 18.2\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",
+"\n",
+"//from eq.(19.3) we have\n",
+"Cf_star = 0.074/Re_c_star^0.2;\n",
+"\n",
+"//hence, for one side of the plate\n",
+"D_f = 1/2*rho_star*ue^2*S*Cf_star;\n",
+"\n",
+"//the total drag on both the surfaces is\n",
+"D = 2*D_f;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n D = %5.0f N\n',D)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 19.3: EX19_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"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 = 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",
+"printf('\nRESULTS\n---------\nThe total frictional drag is:\n D = %5.0f N\n',D)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/2-Aerodynamics_Some_Fundamental_Principles_and_Equations.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/2-Aerodynamics_Some_Fundamental_Principles_and_Equations.ipynb
new file mode 100644
index 0000000..5dfb76d
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/2-Aerodynamics_Some_Fundamental_Principles_and_Equations.ipynb
@@ -0,0 +1,77 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2: Aerodynamics Some Fundamental Principles and Equations"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.1: EX2_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are in SI units\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 = du + dv;\n",
+"\n",
+"test = (b-(1/b))*v_inf*h*((2*%pi/l)^2)*exp(-2*%pi*b);\n",
+"\n",
+"printf('\nRESULT\n-------\nThe time rate of change of the volume of the fluid element per unit volume is: %1.4f s-1\n', grad_V)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/3-Fundamentals_of_Inviscid_Incompressible_Flow.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/3-Fundamentals_of_Inviscid_Incompressible_Flow.ipynb
new file mode 100644
index 0000000..42c5262
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/3-Fundamentals_of_Inviscid_Incompressible_Flow.ipynb
@@ -0,0 +1,577 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3: Fundamentals of Inviscid Incompressible Flow"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.10: EX3_10.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\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",
+"\n",
+"//according to the question\n",
+"q_sl = q1; //sealevel dynamic pressure\n",
+"\n",
+"//thus the equivallent air speed at sea level is given by\n",
+"Ve = sqrt(2*q_sl/rho_sl);\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe equivallent airspeed of the airplane is\n Ve = %2.1f m/s',Ve)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.11: Calculation_of_pressure_coefficient_on_a_point_on_an_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"V_inf = 45.72; //freestream velocity\n",
+"V = 68.58; //velocity at the given point\n",
+"\n",
+"//the coeeficient of pressure at the given point is given as\n",
+"Cp = 1 - (V/V_inf)^2;\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe coefficient of pressure at the given point is\n Cp = %1.2f',Cp)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.12_a: EX3_12_a.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"Cp = -5.3; //peak negative pressure coefficient\n",
+"V_inf = 24.38; //freestream velocity\n",
+"\n",
+"//the velocity at the given point can be calculated as\n",
+"V = sqrt(V_inf^2*(1-Cp));\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe velocity at the given point is\n V = %2.1f m/s',V)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.12_b: EX3_12_b.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"Cp = -5.3; //peak negative pressure coefficient\n",
+"V_inf = 91.44; //freestream velocity\n",
+"\n",
+"//the velocity at the given point can be calculated as\n",
+"V = sqrt(V_inf^2*(1-Cp));\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe velocity at the given point is\n V = %3.1f m/s',V)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.13: EX3_13.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"//When p = p_inf, Cp = 0, thus\n",
+"//1-4*(sin(theta)^2) = 0\n",
+"//thus theta can be given as\n",
+"\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",
+"\n",
+"printf('\nRESULTS\n--------\nThe angular locations where surface pressure equals freestream pressure are\n theta = %2.0f, %2.0f, %2.0f, %2.0f degrees',theta(1),theta(2),theta(3),theta(4))"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.14: EX3_14.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"Cl = 5; //lift coefficient of the cylinder\n",
+"V_by_Vinf = -2 - Cl/2/%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",
+"printf('\nRESULTS\n--------\nThe peak negative pressure coefficient is\n Cp = %1.2f',Cp)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.15: EX3_15.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"theta = [180-asind(-5/4/%pi) 360+asind(-5/4/%pi)]; //location of the stagnation points\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe angular location of the stagnation points are\n theta = %3.1f, %3.1f degrees',theta(1),theta(2))\n",
+"\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",
+"\n",
+"printf('\nRESULTS\n--------\nThe value of Cp on top of the cylinder is\n Cp = %1.2f',Cp(90))\n",
+"\n",
+"[k] = roots([-4 -3.183 0.367]);\n",
+"\n",
+"theta_2 = 180/%pi*[%pi-asin(k(1)) 2*%pi+asin(k(1)) asin(k(2)) %pi-asin(k(2))];\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe angular location of points on the cylinder where p = p_inf is\n theta = %3.1f, %3.2f, %1.2f, %3.1f',theta_2(1),theta_2(2),theta_2(3),theta_2(4))\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe value of Cp at the bottom of the cylinder is\n Cp = %1.2f',Cp(270))"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.16: Calculation_of_lift_per_unit_span_of_the_cylinder.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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*%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",
+"printf('\nRESULTS\n--------\nThe Lift per unit span for the given cylinder is\n L'' = %3.1f N',L)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.1: Calculation_of_velocity_on_a_point_on_the_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\nThe velocity at the given point is\n V = %3.1f m/s\n',v)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.2: Calculation_of_pressure_on_a_point_on_the_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\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",
+"\n",
+"printf('\nRESULTS\n--------\nThe pressure at point 2 is\n p2 = %5.2f Pa\n',p_2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.3: EX3_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\n",
+"//The velocity at the inlet can be given as\n",
+"v_1 = sqrt(2*delta_p/rho/(((1/ratio)^2)-1));\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe value of velocity at the inlet is\n V1 = %3.1f m/s\n',v_1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.4: Calculation_of_height_difference_in_a_U_tube_mercury_manometer.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\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",
+"\n",
+"//Thus the height difference in a U-tube mercury manometer would be\n",
+"delta_h = delta_p/w;\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe height difference in a U-tube mercury manometer is\n delta_h = %1.5f m\n',delta_h)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.5: EX3_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\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",
+"\n",
+"//the maximum allowable freestream velocity can be given as\n",
+"V_inf = sqrt(2*L_max/rho_inf/S/Cl_max);\n",
+"\n",
+"//thus the maximum allowable pressure difference is given by\n",
+"delta_p = 1/2*rho_inf*(V_inf^2)*(1-(ratio^-2));\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe maximum allowable pressure difference between the wind tunnel setling chamber and the test section is\n delta_p = %4.2f Pa',delta_p)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.6_a: Calculation_of_reservoir_pressure_in_a_nozzle.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"V2 = 100*1609/3600; //test section flow velocity converted from miles per hour to meters per second\n",
+"p_atm = 101000; //atmospheric pressure\n",
+"p2 = p_atm; //pressure of the test section which is vented to atmosphere\n",
+"rho = 1.23; //air density at sea level\n",
+"ratio = 10; //contraction ratio of the nozzle\n",
+"\n",
+"//the pressure difference in the wind tunnel can be calculated as\n",
+"delta_p = rho/2*(V2^2)*(1-(1/ratio^2));\n",
+"\n",
+"//thus the reservoir pressure can be given as\n",
+"p1 = p2 + delta_p;\n",
+"\n",
+"p1_atm = p1/p_atm; //reservoir pressure expressed in units of atm\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe reservoir pressure is\n p1 = %1.2f atm',p1_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.6_b: Calculation_of_increment_in_the_reservoir_pressure.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//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",
+"printf('\nRESULTS\n--------\nThe new reservoir pressure is\n p1 = %1.3f atm',p1_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.7: Calculation_of_airplane_velocity_from_pitot_tube_measurement.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\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 = sqrt(2*(p0-p1)/rho);\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe velocity of the airplane is\n V1 = %2.2f atm',V1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.8: Calculation_of_pressure_measured_by_the_pitot_tube_for_a_given_velocity.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"V_inf = 100.1; //freestream velocity\n",
+"p_inf = 101314.1; //standard sea level pressure\n",
+"rho_inf = 1.225; //density of air at sea level\n",
+"\n",
+"//the dynamic pressure can be calculated as\n",
+"q_inf = 1/2*rho_inf*(V_inf^2);\n",
+"\n",
+"//thus the total pressure is given as\n",
+"p0 = p_inf + q_inf;\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe total pressure measured by pitot tube is\n p0 = %6.2f Pa',p0)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3.9: Calculation_of_airplane_velocity_from_pitot_tube_measurement.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\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 = sqrt(2*(p0-p1)/rho);\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe velocity of the airplane is\n V1 = %3.1f m/s = %3.0f mph',V1,V1/0.447)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/4-Incompressible_Flow_over_Airfoils.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/4-Incompressible_Flow_over_Airfoils.ipynb
new file mode 100644
index 0000000..8bcdbe9
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/4-Incompressible_Flow_over_Airfoils.ipynb
@@ -0,0 +1,423 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4: Incompressible Flow over Airfoils"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.10: Calculation_of_net_skin_friction_drag_coefficient_for_NACA_2412_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"c = 1.5; //airfoil chord length\n",
+"Rex_cr = 1e6; //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); //this is a mistake in the book in calulation of this quantity thus the answer in book is wrong\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",
+"printf('\nRESULTS\n--------\nThe net skin friction coefficient is\n Net Cf = %1.5f',Net_Cf)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.1: Calculation_of_angle_of_attack_and_drag_per_unit_span_of_a_NACA_2412_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"c = 0.64; //chord length of the airfoil\n",
+"V_inf = 70; //freestream velocity\n",
+"L_dash = 1254; //lift per unit span L'\n",
+"rho_inf = 1.23; //density of air\n",
+"mu_inf = 1.789e-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",
+"printf('\nRESULTS\n--------\n\nc_l = %1.2f , for this c_l value, from fig. 4.10we get\nalpha = %1.0f\n------------\n\nRe = %1.2f x 10^6, for this value of Re, from fig. 4.11 we get\nc_d = %1.4f\nD'' = %2.1f N/m\n',c_l,alpha,Re/1000000,c_d,D_dash)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.2: EX4_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"c = 0.64; //chord length of the airfoil\n",
+"V_inf = 70; //freestream velocity\n",
+"rho_inf = 1.23; //density of air\n",
+"q_inf = 1/2*rho_inf*V_inf*V_inf; //freestream dynamic pressure\n",
+"c_m_ac = -0.05 //moment coefficient about the aerodynamic center as seen from fig. 4.11\n",
+"\n",
+"//thus moment per unit span about the aerodynamic center is given as\n",
+"M_dash = q_inf*c*c*c_m_ac;\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe Moment per unit span about the aerodynamic center is is\n M'' = %2.1f Nm\n',M_dash)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.3: EX4_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"alpha = [0 4 8 12];\n",
+"c_l = [0.25 0.65 1.08 1.44];\n",
+"c_d = [0.0065 0.0070 0.0112 0.017];\n",
+"\n",
+"for i = 1:4\n",
+" L_by_D(i) = c_l(i)/c_d(i);\n",
+"end\n",
+"\n",
+"temp = [alpha' c_l' c_d' L_by_D];\n",
+"printf('\nRESULTS\n--------\n alpha Cl Cd Cl/Cd')\n",
+"disp(temp)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.4: EX4_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\n(a)\n Cl = %1.4f\n(b)\n Cm_le = %1.3f\n(c)\n Cm_c/4 = %1.0f\n(d)\n Cm_te = %1.3f\n',c_l,c_m_le,c_m_qc,c_m_te)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.5: EX4_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\n",
+"//(a)\n",
+"//the slope function in terms of theta is given as\n",
+"function temp = dz_by_dx(theta)\n",
+" if (theta>=0) & (theta<=0.9335) then\n",
+" temp = 0.684 - 2.3736*cos(theta)+1.995*(cos(theta)^2);\n",
+" elseif (theta<=%pi) & (theta>0.9335) then\n",
+" temp = -0.02208;\n",
+" else\n",
+" temp = 0;\n",
+" end\n",
+"endfunction\n",
+"\n",
+"//the integration function fot alpha,L=0 is thus given as\n",
+"function temp = integ1(theta)\n",
+" temp = dz_by_dx(theta)*(cos(theta)-1);\n",
+"endfunction\n",
+"\n",
+"//from eq.(4.61)\n",
+"alpha_L0 = -1/%pi*intg(0,%pi,integ1);\n",
+"\n",
+"//(b)\n",
+"alpha = 4*%pi/180;\n",
+"\n",
+"//from eq.(4.60)\n",
+"c_l = 2*%pi*(alpha-alpha_L0);\n",
+"\n",
+"//(c)\n",
+"//the integration function for A1 is given by\n",
+"function temp = integ2(theta)\n",
+" temp = dz_by_dx(theta)*cos(theta);\n",
+"endfunction\n",
+"\n",
+"//thus\n",
+"A1 = 2/%pi*intg(0,%pi,integ2);\n",
+"\n",
+"//the integration function for A2 is given by\n",
+"function temp = integ3(theta)\n",
+" temp = dz_by_dx(theta)*cos(2*theta);\n",
+"endfunction\n",
+"\n",
+"//thus\n",
+"A2 = 2/%pi*intg(0,%pi,integ3);\n",
+"\n",
+"//from eq.(4.64), the moment coefficient about the quarter chord (c/4) is given as\n",
+"c_m_qc = %pi/4*(A2-A1);\n",
+"\n",
+"//(d)\n",
+"//from eq.(4.66)\n",
+"x_cp_by_c = 1/4*(1+%pi/c_l*(A1-A2));\n",
+"\n",
+"printf('\nRESULTS\n-------\n(a)\n alpha_L=0 = %1.2f degrees\n(b)\n cl = %1.3f\n(c)\n cm,c/4 = %1.4f\n(d)\n x_cp/c = %1.3f',alpha_L0*180/%pi,c_l,c_m_qc,x_cp_by_c)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.6: Calculation_of_location_of_aerodynamic_center_for_a_NACA_23012_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"alpha1 = 4;\n",
+"alpha2 = -1.1;\n",
+"alpha3 = -4;\n",
+"cl_1 = 0.55; //cl at alpha1\n",
+"cl_2 = 0; //cl at alpha2\n",
+"c_m_qc1 = -0.005; //c_m_qc at alpha1\n",
+"c_m_qc3 = -0.0125; //c_m_qc at alpha3\n",
+"\n",
+"//the lift slope is given by\n",
+"a0 = (cl_1 - cl_2)/(alpha1-alpha2);\n",
+"\n",
+"//the slope of moment coefficient curve is given by\n",
+"m0 = (c_m_qc1 - c_m_qc3)/(alpha1-alpha3);\n",
+"\n",
+"//from eq.4.71\n",
+"x_ac = -m0/a0 + 0.25;\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe location of the aerodynamic center is\n x_ac = %1.3f\n',x_ac)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.7: EX4_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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/sqrt(Re_c);\n",
+"\n",
+"//from eq(4.86)\n",
+"Cf = 1.328/sqrt(Re_c);\n",
+"\n",
+"//the net Cf for both surfaces is given by\n",
+"Net_Cf = 2*Cf;\n",
+"\n",
+"printf('\nRESULTS\n--------\n(a)\n delta = %1.5f m\n---------\n(b)\n Cf = %1.2f x 10^-4\n Net Cf = %1.4f',delta,Cf*10000,Net_Cf)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.8: EX4_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\n(a)\n delta = %1.4f m\n---------\n(b)\n Cf = %1.5f\n Net Cf = %1.5f',delta,Cf,Net_Cf)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.9: Calculation_of_net_skin_friction_drag_coefficient_for_NACA_2412_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\nThe net skin friction coefficient is\n Net Cf = %1.4f',Net_Cf)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/5-Incompressible_Flow_over_Finite_Wings.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/5-Incompressible_Flow_over_Finite_Wings.ipynb
new file mode 100644
index 0000000..78ac547
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/5-Incompressible_Flow_over_Finite_Wings.ipynb
@@ -0,0 +1,201 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5: Incompressible Flow over Finite Wings"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.1: Calculation_of_lift_and_induced_drag_coefficients_for_a_finite_wing.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\n",
+"//from fig. 5.20, for AR = 8 and taper ratio of 0.8\n",
+"delta = 0.055;\n",
+"tow = delta; //given assumption\n",
+"\n",
+"//thus the lift curve slope for wing is given by\n",
+"a = a0/(1+(a0/%pi/AR/(1+tow)));\n",
+"\n",
+"//thus C_l can be calculated as\n",
+"C_l = a*alpha;\n",
+"\n",
+"//from eq.(5.61)\n",
+"C_Di = C_l^2/%pi/AR*(1+delta);\n",
+"\n",
+"printf('\nRESULTS\n--------\n Cl = %1.4f\n\n CD,i = %1.5f',C_l,C_Di)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.2: Calculation_of_induced_drag_coefficient_for_a_finite_wing.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\nThe induced drag coefficient of the second wing is\n CD,i = %1.4f',CDi2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.3: Calculation_of_angle_of_attack_of_an_airplane_at_cruising_conditions.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//all the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\n alpha = %1.1f degrees\n',alpha*180/%pi)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.4: EX5_4.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the qunatities are expressed in SI units\n",
+"\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",
+"\n",
+"//the lift curve slope of the wing/airfoil can be calculated as\n",
+"a0 = C_l1/(alpha1-alpha_L0);\n",
+"\n",
+"e = 1/(1+delta);\n",
+"\n",
+"//from eq. (5.70)\n",
+"a = a0/(1+(a0/%pi/AR/(1+tow)));\n",
+"\n",
+"//lift coefficient at alpha2 is given as\n",
+"C_l2 = a*(alpha2 - alpha_L0);\n",
+"\n",
+"//from eq.(5.42), the induced angle of attack can be calculated as\n",
+"alpha_i = C_l2/%pi/AR;\n",
+"\n",
+"//which gives the effective angle of attack as\n",
+"alpha_eff = alpha2 - alpha_i;\n",
+"\n",
+"//Thus the airfoil lift coefficient is given as\n",
+"c_l = a0*(alpha_eff-alpha_L0);\n",
+"\n",
+"c_d = 0.0065; //section drag coefficient for calculated c_l as seen from fig. 5.2b\n",
+"\n",
+"//Thus the wing drag coefficient can be calculated as\n",
+"C_D = c_d + ((C_l2^2)/%pi/e/AR);\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe drag coefficient of the wing is\n C_D = %1.4f\n',C_D)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/7-Compressible_Flow_Some_Preliminary_Aspects.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/7-Compressible_Flow_Some_Preliminary_Aspects.ipynb
new file mode 100644
index 0000000..6cbba0f
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/7-Compressible_Flow_Some_Preliminary_Aspects.ipynb
@@ -0,0 +1,147 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7: Compressible Flow Some Preliminary Aspects"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.1: Calculation_of_internal_energy_and_enthalpy_of_air_in_a_room.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n--------\nThe internal energy in the room is:\n E = %1.2f x 10^7 J\n\nThe Enthalpy in the room is:\n H = %1.2f x 10^7 J\n',E/10^7,H/10^7 )"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.2: Calculation_of_temperature_at_a_point_on_the_Boeing_747_wing.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"p_inf = 22790.9; //ambient pressure at 36000 ft\n",
+"T_inf = 217.2; //ambient temperature at 36000 ft\n",
+"p = 19152; //pressure at the given point\n",
+"gam = 1.4;\n",
+"\n",
+"//thus the temperature at the given point can be calculated by eq.(7.32) as\n",
+"T = T_inf*((p/p_inf)^((gam-1)/gam));\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe temperature at the given point is:\n T = %3.1f K\n',T)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.3: Calculation_of_total_temperature_and_total_pressure_at_a_point_in_the_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"p =101000; //static pressure\n",
+"T = 320; //static temperature\n",
+"v = 1000; //velocity\n",
+"gam = 1.4; //ratio of specific heats\n",
+"R = 287; //universal gas constant\n",
+"cp = gam*R/(gam-1); //specific heat at constant pressure\n",
+"\n",
+"//from eq.(7.54), the total temperature is given by\n",
+"T0 = T + (v^2)/2/cp;\n",
+"\n",
+"//from eq.(7.32),the total pressure is given by\n",
+"p0 = p*((T0/T)^(gam/(gam-1)));\n",
+"\n",
+"p0_atm = p0/101000;\n",
+"\n",
+"\n",
+"printf('\nRESULTS\n--------\nThe total temperature and pressure are given by:\n T0 = %3.1f K\n\n P0 = %2.1f atm\n',T0,p0_atm)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/8-Normal_Shock_Waves_and_Related_Topics.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/8-Normal_Shock_Waves_and_Related_Topics.ipynb
new file mode 100644
index 0000000..9ba3a13
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/8-Normal_Shock_Waves_and_Related_Topics.ipynb
@@ -0,0 +1,545 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8: Normal Shock Waves and Related Topics"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.10: EX8_10.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M_inf = 2; //freestream mach number\n",
+"p_inf = 2.65e4; //freestream pressure\n",
+"T_inf = 223.3; //freestream temperature\n",
+"\n",
+"//from Appendix A, for M = 2\n",
+"p0_inf = 7.824*p_inf; //freestream total pressure\n",
+"T0_inf = 1.8*T_inf; //freestream total temperature\n",
+"\n",
+"//from Appendix B, for M = 2\n",
+"p0_1 = 0.7209*p0_inf; //total pressure downstream of the shock\n",
+"T0_1 = T0_inf; //total temperature accross the shock is conserved\n",
+"\n",
+"//since the flow downstream of the shock is isentropic\n",
+"p0_2 = p0_1;\n",
+"T0_2 = T0_1;\n",
+"\n",
+"//from Appendix A, for M = 0.2 at point 2\n",
+"p2 = p0_2/1.028;\n",
+"T2 = T0_2/1.008;\n",
+"\n",
+"p2_atm = p2/102000;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe pressure at point 2 is:\n p2 = %1.2f atm\n',p2_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.11: EX8_11.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M_inf = 10; //freestream mach number\n",
+"p_inf = 2.65e4; //freestream pressure\n",
+"T_inf = 223.3; //freestream temperature\n",
+"\n",
+"//from Appendix A, for M = 2\n",
+"p0_inf = 0.4244e5*p_inf; //freestream total pressure\n",
+"T0_inf = 21*T_inf; //freestream total temperature\n",
+"\n",
+"//from Appendix B, for M = 2\n",
+"p0_1 = 0.003045*p0_inf; //total pressure downstream of shock\n",
+"T0_1 = T0_inf; //total temperature downstream of shock is conserved\n",
+"\n",
+"//since the flow downstream of the shock is isentropic\n",
+"p0_2 = p0_1;\n",
+"T0_2 = T0_1;\n",
+"\n",
+"//from Appendix A, for M = 0.2 at point 2\n",
+"p2 = p0_2/1.028;\n",
+"T2 = T0_2/1.008;\n",
+"\n",
+"p2_atm = p2/102000;\n",
+"\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe pressure at point 2 is:\n p2 = %2.1f atm\n',p2_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.13: EX8_13.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"p1 = 4.66e4; //ambient pressure\n",
+"M = 8; //mach number\n",
+"\n",
+"//from Appendix B, for M = 8\n",
+"p0_2 = 82.87*p1; //total pressure downstream of the shock\n",
+"\n",
+"//since the flow is isentropic downstream of the shock, total pressure is conserved\n",
+"ps_atm = p0_2/101300; //pressure at the stagnation point\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe pressure at the nose is:\n p_s = %2.1f atm\n',ps_atm)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.14: Calculation_of_velocity_of_a_Lockheed_SR71_Blackbird_at_given_flight_conditions.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressedin SI units\n",
+"\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 = sqrt(gam*R*T1)\n",
+"\n",
+"//thus the velocity can be calculated as\n",
+"V1 = M1*a1;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe Velocity of the airplane is:\n V1 = %4.0f m/s\n',V1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.1: Calculation_of_Mach_number_at_different_flying_altitudes.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\n(a)\nThe Mach number at sea level is:\n M_inf = %1.3f\n',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",
+"printf('\n(b)\nThe Mach number at 5 km is:\n M_inf = %1.2f\n',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",
+"printf('\n(c)\nThe Mach number at 10 km is:\n M_inf = %1.3f\n',M_inf)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.2: Calculation_of_Mach_number_at_a_given_point.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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 = sqrt(gam*R*T);\n",
+"\n",
+"//the mach number can be calculated as\n",
+"M = V/a;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe Mach number is:\n M = %1.2f\n',M)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.3: EX8_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"gam = 1.4; //ratio of specific heats\n",
+"\n",
+"//(a)\n",
+"M = 2; //Mach number\n",
+"\n",
+"//the ratio of kinetic energy to internal energy is given by\n",
+"ratio = gam*(gam-1)*M*M/2;\n",
+"\n",
+"printf('\n(a)\nThe ratio of kinetic energy to internal energy is:\n\n %1.2f\n',ratio)\n",
+"\n",
+"//similarly for (b)\n",
+"//(b)\n",
+"M = 20;\n",
+"\n",
+"ratio = gam*(gam-1)*M*M/2;\n",
+"\n",
+"printf('\n(b)\nThe ratio of kinetic energy to internal energy is:\n\n %3.0f\n',ratio)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.4: Calculation_of_total_temperature_and_total_pressure_at_a_point_in_the_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M = 2.79; //Mach number\n",
+"T = 320; //static temperature from ex. 7.3\n",
+"p = 1; //static pressure in atm\n",
+"gam = 1.4;\n",
+"\n",
+"//from eq. (8.40)\n",
+"T0 = T*(1+((gam-1)/2*M*M));\n",
+"\n",
+"//from eq. (8.42)\n",
+"p0 = p*((1+((gam-1)/2*M*M))^(gam/(gam-1)));\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe total temperature and pressure are:\n T0 = %3.0f K\n P0 = %2.1f atm\n',T0,p0)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.5: EX8_5.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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 = 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 = sqrt(gam*R*T_star);\n",
+"M_star = V/a_star;\n",
+"\n",
+"printf('\nRESULTS\n---------\n T0 = %3.0f K\n P0 = %2.1f atm\n T* = %3.1f k\n a* = %3.0f m/s\n M* = %1.2f',T0,p0,T_star,a_star,M_star)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.6: Calculation_of_local_mach_number_at_the_given_point_on_the_airfoil.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"p_inf = 1;\n",
+"p1 = 0.7545;\n",
+"M_inf = 0.6;\n",
+"gam = 1.4;\n",
+"\n",
+"//from eq. (8.42)\n",
+"p0_inf = p_inf*((1+((gam-1)/2*M_inf*M_inf))^(gam/(gam-1)));\n",
+"\n",
+"p0_1 = p0_inf;\n",
+"\n",
+"//from eq. (8.42)\n",
+"ratio = p0_1/p1;\n",
+"\n",
+"//from appendix A, for this ratio, the Mach number is\n",
+"M1 = 0.9;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe mach number at the given point is:\n M1 = %1.1f\n',M1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.7: Calculation_of_velocity_on_a_point_on_the_airfoil_for_compressible_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"\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 = sqrt(gam*R*T1);\n",
+"\n",
+"//thus, the velocity can be given as\n",
+"V1 = M*a1;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe velocity at the given point is:\n V1 = %3.0f m/s\n',V1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.8: Calculation_of_velocity_temperature_and_pressure_downstream_of_a_shock.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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 = 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 = sqrt(gam*R*T2);\n",
+"u2 = M2*a2;\n",
+"\n",
+"printf('\nRESULTS\n---------\n p2 = %1.1f atm\n T2 = %3.0f K\n u2 = %3.0f m/s',p2,T2,u2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.9: EX8_9.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"p1 = 1; //ambient pressure upstream of shock\n",
+"\n",
+"\n",
+"//(a)\n",
+"//for M = 2;\n",
+"p0_1 = 7.824*p1; //total pressure upstream of shock\n",
+"pressure_ratio = 0.7209; //ratio of total pressure accross the shock\n",
+"p0_2 = pressure_ratio*p0_1; //total pressure downstream of shock\n",
+"\n",
+"//thus the total loss of pressure is given by\n",
+"pressure_loss = p0_1 - p0_2;\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe total pressure loss is:\n(a) P0_loss = %1.3f atm\n',pressure_loss)\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",
+"printf('\n(b) P0_loss = %3.1f atm\n',pressure_loss)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/9-Oblique_Shock_and_Expansion_Waves.ipynb b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/9-Oblique_Shock_and_Expansion_Waves.ipynb
new file mode 100644
index 0000000..a23c787
--- /dev/null
+++ b/Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_/9-Oblique_Shock_and_Expansion_Waves.ipynb
@@ -0,0 +1,469 @@
+{
+"cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9: Oblique Shock and Expansion Waves"
+ ]
+ },
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.10: EX9_10.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M1 = 10; //upstream mach number\n",
+"theta = 15*%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*%pi/180;\n",
+"Mn_1 = M1*sin(b);\n",
+"\n",
+"//from Appendix B, for Mn,1 = 3.42\n",
+"Mn_2 = 0.4552;\n",
+"M2 = Mn_2/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",
+"printf('\nRESULTS\n---------\n M2 = %1.2f\n p2 = %2.2f atm\n p0,2 = %1.2f x 10^3 atm\n',M2,p2,p0_2/1e3)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.11: EX9_11.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M1 = 3; //upstream mach number\n",
+"theta = 5*%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*%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*%pi/180;\n",
+"Mn_1 = M1*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)*cos(alpha);\n",
+"\n",
+"c_d = 2/gam/(M1^2)*(p_ratio2-p_ratio1)*sin(alpha);\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe lift and drag coefficients are given by:\n cl = %1.3f\n cd = %1.3f\n',c_l,c_d)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.1: EX9_1.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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 = asin(1/M); //mach angle\n",
+"\n",
+"d = h/tan(mue);\n",
+"\n",
+"printf('\nRESULTS\n---------\nThe plane is ahead of the bystander by a distance of:\n d = %2.1f km\n',d/1000)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.2: EX9_2.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\n M2 = %1.2f\n p2 = %1.2f atm\n T2 = %3.1f K\n p0,2 = %1.2f atm\n T0,2 = %3.1f K',M2,p2,T2,p0_2,T0_2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.3: EX9_3.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\n theta = %1.1f degrees\n p2/p1 = %1.3f\n T2/T1 = %1.3f\n M2 = %1.2f\n',theta*180/%pi,pressure_ratio,temperature_ratio,M2)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.4: Calculation_of_mach_number_upstream_of_an_oblique_shock.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\nThe upstream mach number is:\n M = %1.2f\n',M1)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.5: Calculation_of_the_final_total_pressure_values_for_the_two_given_cases.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\n Ans = %1.2f\n',ratio)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.6: Calculation_of_the_drag_coefficient_of_a_wedge_in_a_hypersonic_flow.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\nThe drag coefficient is given by:\n cd = %1.3f\n',c_d)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.7: EX9_7.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M1 = 3.5;\n",
+"theta1 = 10*%pi/180;\n",
+"gam = 1.4;\n",
+"p1 = 101300;\n",
+"T1 = 288;\n",
+"\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",
+"printf('\nRESULTS\n---------\n p3 = %1.2f x 10^5 N/m2\n T3 = %3.0f K\n',p3/1e5,T3)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.8: EX9_8.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\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",
+"printf('\nRESULTS\n---------\n p2 = %1.3f atm\n T2 = %3.0f K\n p0,2 = %1.3f atm\n T0,2 = %3.1f K\n Angle of forward Mach line = %2.2f degrees\n Angle of rear Mach line = %2.0f degrees',p2,T2,p0_2,T0_2,fml,rml)"
+ ]
+ }
+,
+{
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.9: Calculation_of_mach_number_and_pressure_behind_a_compression_wave.sce"
+ ]
+ },
+ {
+"cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+"source": [
+"//All the quantities are expressed in SI units\n",
+"\n",
+"M1 = 10; //upstream mach number\n",
+"theta = 15*%pi/180; //deflection angle\n",
+"p1 = 1; //ambient pressure in atm\n",
+"\n",
+"//from appendix C, for M1 = 10 we have\n",
+"v1 = 102.3*%pi/180;\n",
+"\n",
+"//in region 2\n",
+"v2 = v1 - theta;\n",
+"\n",
+"//for this value of v2, from appendix C\n",
+"M2 = 6.4;\n",
+"\n",
+"//from Appendix A for M1 = 10 and M2 = 6.4, we have\n",
+"p2 = 1/(2355)*1*42440*p1;\n",
+"\n",
+"printf('\nRESULTS\n---------\n M2 = %1.1f\n p2 = %2.2f atm\n',M2,p2)"
+ ]
+ }
+],
+"metadata": {
+ "kernelspec": {
+ "display_name": "Scilab",
+ "language": "scilab",
+ "name": "scilab"
+ },
+ "language_info": {
+ "file_extension": ".sce",
+ "help_links": [
+ {
+ "text": "MetaKernel Magics",
+ "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md"
+ }
+ ],
+ "mimetype": "text/x-octave",
+ "name": "scilab",
+ "version": "0.7.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}