diff options
author | Prashant S | 2020-04-14 10:25:32 +0530 |
---|---|---|
committer | GitHub | 2020-04-14 10:25:32 +0530 |
commit | 06b09e7d29d252fb2f5a056eeb8bd1264ff6a333 (patch) | |
tree | 2b1df110e24ff0174830d7f825f43ff1c134d1af /Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_ | |
parent | abb52650288b08a680335531742a7126ad0fb846 (diff) | |
parent | 476705d693c7122d34f9b049fa79b935405c9b49 (diff) | |
download | all-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.tar.gz all-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.tar.bz2 all-scilab-tbc-books-ipynb-06b09e7d29d252fb2f5a056eeb8bd1264ff6a333.zip |
Initial commit
Diffstat (limited to 'Fundamentals_Of_Aerodynamics_by_J_D_Anderson_Jr_')
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 +} |