diff options
27 files changed, 11913 insertions, 0 deletions
diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_2.ipynb new file mode 100644 index 00000000..4b04b36c --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/Chapter1_2.ipynb @@ -0,0 +1,429 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 : Stress, Axial loads and Safety concepts" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.1 page number 24" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The bearing stress at C is 0.875 MPA\n", + "The maximum normal stress in BD bolt is: 62.0 MPA\n", + "The tensile strss at shank of the bolt is: 40.0 MPA\n" + ] + } + ], + "source": [ + "#Given\n", + "import math\n", + "d_bolt = 20.0 #mm,diameter,This is not the minimum area\n", + "d_bolt_min = 16.0 #mm This is at the roots of the thread \n", + "#This yealds maximum stress \n", + "A_crossection = (math.pi)*(d_bolt**2)/4 #mm*2\n", + "A_crossection_min = (math.pi)*(d_bolt_min**2)/4 #mm*2 ,This is minimum area which yeilds maximum stress\n", + "load = 10.0 #KN\n", + "BC = 1.0 #m\n", + "CF = 2.5 #m\n", + "contact_area = 200*200 # mm*2 , The contact area at c\n", + "\n", + "#caliculations \n", + "#Balancing forces in the x direction:\n", + "# Balncing the moments about C and B:\n", + "Fx = 0 \n", + "R_cy = load*(BC+CF) #KN , Reaction at C in y-direction\n", + "R_by = load*(CF) #KN , Reaction at B in y-direction\n", + "#Because of 2 bolts\n", + "stress_max = (R_by/(2*A_crossection_min))*(10**3) # MPA,maximum stess records at minimum area\n", + "stress_shank = (R_by/(2*A_crossection))*(10**3) # MPA\n", + "Bearing_stress_c = (R_cy/contact_area)*(10**3) #MPA, Bearing stress at C\n", + "\n", + "print\"The bearing stress at C is \",(Bearing_stress_c) ,\"MPA\"\n", + "print\"The maximum normal stress in BD bolt is: \",round(stress_max),\"MPA\"\n", + "print\"The tensile strss at shank of the bolt is: \",round(stress_shank),\"MPA\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.2 page number 26" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The total weight of pier is 25.0 KN\n", + "The stress at 1 m above is 28.75 MPA\n" + ] + } + ], + "source": [ + "#Given \n", + "load_distributed = 20 #KN/m*2, This is the load distributed over the pier\n", + "H = 2 # m, Total height \n", + "h = 1 #m , point of investigation \n", + "base = 1.5 #m The length of crossection in side veiw \n", + "top = 0.5 #m ,The length where load is distributed on top\n", + "base_inv = 1 #m , the length at the point of investigation \n", + "area = 0.5*1 #m ,The length at a-a crossection \n", + "density_conc = 25 #KN/m*2\n", + "#caliculation of total weight \n", + "\n", + "v_total = ((top+base)/2)*top*H #m*2 ,The total volume \n", + "w_total = v_total* density_conc #KN , The total weight\n", + "R_top = (top**2)*load_distributed #KN , THe reaction force due to load distribution \n", + "reaction_net = w_total + R_top\n", + "\n", + "#caliculation of State of stress at 1m \n", + "v_inv = ((top+base_inv)/2)*top*h #m*2 ,The total volume from 1m to top\n", + "w_inv = v_inv*density_conc #KN , The total weight from 1m to top\n", + "reaction_net = w_inv + R_top #KN\n", + "Stress = reaction_net/area #KN/m*2\n", + "print\"The total weight of pier is\",w_total,\"KN\"\n", + "print\"The stress at 1 m above is\",Stress,\"MPA\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.3 page number 27" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensile stress in main bar AB: 17.89 Ksi\n", + "Tensile stress in clevis of main bar AB: 11.18 Ksi\n", + "Comprensive stress in main bar BC: 12.93 Ksi\n", + "Bearing stress in pin at C: 18.86 Ksi\n", + "torsion stress in pin at C: -25.62 Ksi\n" + ] + } + ], + "source": [ + "#Given\n", + "from math import pow\n", + "d_pins = 0.375 #inch\n", + "load = 3 #Kips\n", + "AB_x = 6 #inch,X-component\n", + "AB_y = 3 #inch,Y-component \n", + "BC_y = 6 #inch,Y-component\n", + "BC_x = 6 #inch,X-component\n", + "area_AB = 0.25*0.5 #inch*2 \n", + "area_net = 0.20*2*(0.875-0.375) #inch*2 \n", + "area_BC = 0.875*0.25 #inch*2 \n", + "area_pin = d_pins*2*0.20 #inch*2 \n", + "area_pin_crossection = 3.14*((d_pins/2)**2)\n", + "#caliculations\n", + "\n", + "slope = AB_y/ AB_x #For AB\n", + "slope = BC_y/ BC_x #For BC\n", + "\n", + "#momentum at point C:\n", + "F_A_x = (load*AB_x )/(BC_y + AB_y ) #Kips, F_A_x X-component of F_A\n", + "\n", + "#momentum at point A:\n", + "F_C_x = -(load*BC_x)/(BC_y + AB_y ) #Kips, F_C_x X-component of F_c\n", + "\n", + "#X,Y components of F_A\n", + "F_A= (pow(5,0.5)/2)*F_A_x #Kips\n", + "F_A_y = 0.5*F_A_x #Kips\n", + "\n", + "#X,Y components of F_C \n", + "F_C= pow(2,0.5)*F_C_x #Kips\n", + "F_C_y = F_C_x #Kips\n", + "\n", + "T_stress_AB = F_A/area_AB #Ksi , Tensile stress in main bar AB\n", + "stress_clevis = F_A/area_net #Ksi ,Tensile stress in clevis of main bar AB\n", + "c_strees_BC = F_C/area_BC #Ksi , Comprensive stress in main bar BC\n", + "B_stress_pin = F_C/area_pin #Ksi , Bearing stress in pin at C\n", + "To_stress_pin = F_C/area_pin_crossection #Ksi , torsion stress in pin at C\n", + "\n", + "print\"Tensile stress in main bar AB:\",round(T_stress_AB,2),\"Ksi\"\n", + "print\"Tensile stress in clevis of main bar AB:\",round(stress_clevis,2),\"Ksi\"\n", + "print\"Comprensive stress in main bar BC:\",round(-c_strees_BC,2),\"Ksi\"\n", + "print\"Bearing stress in pin at C:\",round(-B_stress_pin,2),\"Ksi\"\n", + "print\"torsion stress in pin at C:\",round(To_stress_pin,2),\"Ksi\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.4 page number 38" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The factor 2.5 is less than assumed factor 2.7 so this can be considered\n" + ] + } + ], + "source": [ + "#Given\n", + "strength_steel = 120 #Ksi\n", + "factor = 2.5\n", + "F_C = 2.23 #Ksi\n", + "\n", + "#caliculations\n", + "\n", + "stress_allow = strength_steel/factor #Ksi\n", + "A_net = F_C/strength_steel #in*2 , \n", + "#lets adopt 0.20x0.25 in*2 and check wether we are correct or not? \n", + "\n", + "A_net_assumption = 0.25*0.20 #in*2 , this is assumed area which is near to A_net\n", + "stress = 2.23/A_net_assumption #Ksi\n", + "factor_assumed = strength_steel/stress \n", + "\n", + "if factor_assumed > factor :\n", + " print \"The factor\",factor,\"is less than assumed factor\",round(factor_assumed,1),\"so this can be considered\"\n", + "else:\n", + " print \"The assumed factor\",factor, \"is more than assumed factor\",factor_assumed,\"factor_assumed\"\n", + " \n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.6 page number 35" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The required size of rod is: 49.35 m*2\n" + ] + } + ], + "source": [ + "#Given\n", + "mass = 5 #Kg\n", + "frequency = 10 #Hz\n", + "stress_allow = 200 #MPa\n", + "R = 0.5 #m\n", + "\n", + "#caliculations \n", + "from math import pi\n", + "w = 2*pi*frequency #rad/sec\n", + "a = (w**2)*R #m*2/sec\n", + "F = mass*a #N\n", + "A_req = F/stress_allow #m*2 , The required area for aloowing stress\n", + "print\"The required size of rod is:\",round(A_req,2),\"m*2\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.7 page number 45" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the allowable area for live load 1.0 is 0.273 in*2\n", + "the allowable area for live load 15 is 0.909 in*2\n", + "the crossection area for live load 1.0 is 0.235 in*2\n", + "the crossection area for live load 15 is 0.926 in*2\n" + ] + } + ], + "source": [ + "#Given\n", + "D_n = 5.0 #kips, dead load\n", + "L_n_1 = 1.0 #kips ,live load 1\n", + "L_n_2 = 15 #kips ,live load 2\n", + "stress_allow = 22 #ksi\n", + "phi = 0.9 #probalistic coefficients\n", + "y_stress = 36 #ksi,Yeild strength\n", + "#According to AISR \n", + "\n", + "#a\n", + "p_1 = D_n + L_n_1 #kips since the total load is sum of dead load and live load\n", + "p_2 = D_n + L_n_2 #kips, For second live load\n", + "\n", + "Area_1 = p_1/stress_allow #in*2 ,the allowable area for the allowed stress\n", + "Area_2 = p_2/stress_allow #in*2\n", + "print \"the allowable area for live load\",L_n_1,\"is\",round(Area_1,3),\"in*2\"\n", + "print \"the allowable area for live load\",L_n_2,\"is\",round(Area_2,3),\"in*2\"\n", + "\n", + "#b\n", + "#area_crossection= (1.2*D_n +1.6L_n)/(phi*y_stress)\n", + "\n", + "area_crossection_1= (1.2*D_n +1.6*L_n_1)/(phi*y_stress) #in*2,crossection area for first live load\n", + "area_crossection_2= (1.2*D_n +1.6*L_n_2)/(phi*y_stress) #in*2,crossection area for second live load\n", + "print \"the crossection area for live load\",L_n_1,\"is\",round(area_crossection_1,3),\"in*2\"\n", + "print \"the crossection area for live load\",L_n_2,\"is\",round(area_crossection_2,3),\"in*2\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1.8 page number 51" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Length of the Weld 1: 2.54 in\n", + "Length of the Weld 2: 4.65 in\n" + ] + } + ], + "source": [ + "#Given\n", + "A_angle = 2 #in*2 \n", + "stress_allow = 20 #ksi, The maximum alowable stress\n", + "F = stress_allow*A_angle #K, The maximum force\n", + "AD = 3 #in, from the figure\n", + "DC = 1.06 #in, from the figure\n", + "strength_AWS = 5.56 # kips/in,Allowable strength according to AWS\n", + "\n", + "#caliculations \n", + "#momentum at point \"d\" is equal to 0\n", + "R_1 = (F*DC)/AD #k,Resultant force developed by the weld\n", + "R_2 = (F*(AD-DC))/AD #k,Resultant force developed by the weld\n", + "\n", + "l_1 = R_1/strength_AWS #in,Length of the Weld 1\n", + "l_2 = R_2/strength_AWS #in,Length of the Weld 2\n", + " \n", + "print \"Length of the Weld 1:\",round(l_1,2),\"in\"\n", + "print \"Length of the Weld 2:\",round(l_2,2),\"in\" \n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_2.ipynb new file mode 100644 index 00000000..77731d0b --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter10_2.ipynb @@ -0,0 +1,914 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10:Deflections of beams " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.1 page number 501" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum bending stress developed in the saw 300.0 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia = 400 #mm - The diameter of a pulley\n", + "E = 200 #Gpa - Youngs modulus\n", + "t = 0.6 #mm - The thickness of band\n", + "c = t/2 #mm - The maximum stress is seen \n", + "#Caliculations\n", + "\n", + "stress_max = E*c*(10**3)/(dia/2) #Mpa - The maximum stress on the crossection occurs at the ends\n", + "print \"The maximum bending stress developed in the saw \",stress_max,\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.3 page number 512" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The maximum displacement in y direction is -0.0130208333333 W(l**4)/EI \n", + "a) The maximum deflection occured at 0.5 L\n" + ] + }, + { + "data": { + "image/png": "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\n/vJBW0Moy/YAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xc31ce48>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The above graph is bending moment graph\n" + ] + }, + { + "data": { + "image/png": "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\n6zF3pLt3xAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xbfd30f0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b)The above graph is beam displacement graph\n", + "b)The maximum occures in the middle from the above graph \n" + ] + } + ], + "source": [ + "#Given\n", + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'- \n", + "\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n", + "#(EI)y- Using end conditions for caliculating constants \n", + "\n", + "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n", + "#Equations \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + "#The precision is very less while caliculating through this equation because the least count in X direction is 0.1\n", + "print \"a) The maximum displacement in y direction is\",min(Y),\"W(l**4)/EI \"\n", + "print \"a) The maximum deflection occured at\",l_1[Y.index(min(Y))],\"L\"\n", + "\n", + "#Part - B\n", + "#Graphs\n", + "import numpy as np\n", + "values = M_1\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b) The above graph is bending moment graph\"\n", + "import numpy as np\n", + "values = Y \n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b)The above graph is beam displacement graph\"\n", + "print \"b)The maximum occures in the middle from the above graph \"\n", + "\n", + "\n", + " \n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.4 page number 514" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEACAYAAABYq7oeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8FfX1//HXCYsiW7EKQkCKQaGguCPWhSBFg+wqm6AE\nqqKitj+1X7EVgVLrvotWFAVFNgUhIFSwENwAN3DBsCNCWAqoyCJbcn5/5IIxi4Tcmzv3Ju/n43Ef\nzp17ZuYw3jsnn898ZsbcHRERkdwSgk5ARERij4qDiIjko+IgIiL5qDiIiEg+Kg4iIpKPioOIiOQT\nkeJgZilmttTMlpvZXYXEPGVmK8xssZmdkWt+dTN73cwyzGyJmZ0XiZxERKT4wi4OZpYAPANcBjQF\neppZ4zwxbYEkdz8Z6A/8O9fHTwIz3P33wOlARrg5iYhIeCLRcmgOrHD3te6+HxgPdMoT0wl4BcDd\nFwLVzayWmVUDLnL3l0OfHXD3HyOQk4iIhCESxSERWJfr/frQvF+LyQzNawBsNbOXzewzMxthZpUi\nkJOIiIQh6BPS5YGzgOHufhawGxgYbEoiIlI+AuvIBE7M9b5uaF7emHqFxKxz909C028AhZ3Q1k2g\nRESKwd3tSJeJRMvhY6ChmdU3s4pADyAtT0wacC2AmbUAfnD3ze6+GVhnZqeE4loDXxe2IXfXy53B\ngwcHnkOsvLQvtC+0L379VVxhtxzcPcvMbgFmkVNsRrp7hpn1z/nYR7j7DDO73MxWAruAvrlWcRvw\nmplVAFbn+UxERAIQiW4l3P0/QKM8857P8/6WQpb9HDg3EnmIiEhkBH1CWoohOTk56BRihvbFz7Qv\nfqZ9ET4Lp08qmszM4yVXEZFYYWZ4QCekRUSklFFxEBGRfFQcREQkHxUHERHJR8VBRETyUXEQEZF8\nVBxERCQfFQcREclHxUFERPJRcRARkXxUHEREJB8VBxERyUfFQURE8lFxEBGRfFQcREQkHxUHERHJ\nJyKPCRUpi9asWcugQaPIzMwmMTGBYcNSadCgftBpiURERJ4EZ2YpwBPktERGuvuDBcQ8BbQFdgGp\n7r4412cJwCfAenfvWMg29CQ4iRlr1qylTZunWbVqKFAZ2EVS0mBmz75VBUJiSmBPggsd2J8BLgOa\nAj3NrHGemLZAkrufDPQH/p1nNX8Gvg43F5FoGTRoVK7CAFCZVauGMmjQqACzEomcSJxzaA6scPe1\n7r4fGA90yhPTCXgFwN0XAtXNrBaAmdUFLgdejEAuIlGRmZnNz4XhoMps2JAdRDoiEReJ4pAIrMv1\nfn1o3q/FZOaKeRz4K6A+I4kbiYkJ5PSQ5raLOnU0xkNKh0C/yWbWDtgcOv9goZdIzBs2LJWkpMH8\nXCByzjkMG5YaWE4ikRSJ0UqZwIm53tcNzcsbU6+AmKuAjmZ2OVAJqGpmr7j7tQVtaMiQIYemk5OT\nSU5ODjd3kWJp0KA+s2ffyqBBj7BhQzZ16iQwbJhORkvw0tPTSU9PD3s9YY9WMrNywDKgNbAR+Ajo\n6e4ZuWIuBwa4ezszawE84e4t8qynJXCHRitJUWgY6c+0L+TXFHe0UtgtB3fPMrNbgFn8PJQ1w8z6\n53zsI9x9hpldbmYryWmH9w13u1J2FTSMdMGCsjmMVPtCSkpErnOIBrUc5KDevYfy2mt38svRQrvo\n1esRxowZHFRagdC+kMMJ7DoHkWjTMNKfaV9ISVFxkLijYaQ/076QkqJuJYk7sXLrih/3/sh/Vv6H\nD9d9yL6sfWR7NlnZWWR5Vs70wf/mnpf982e5p4sbt2//PrZs3UFWdmXY0hRWtKbu3hXMmziEk076\nXdT2hcSu4nYrqThIXDo4QufnYaTRGaHz7fZvmbZsGmnL05i/bj4XnnghrX7XimMqHEO5hHIkWALl\nLPTfhHK/mD74WWHTRV0mb1zm+o089NAEVu7OZE/dVfxUdxOWYKQ0TKFtw7a0Pqk11Y6qVuL7RmKT\nioNICXB3Fm1axNSlU0lbnsb6H9fT7uR2dGzUkTYntaHqUVWDTjEfd2fZtmXMXDGTmStnMn/9fM6p\ncw5tG7albcO2nFrzVMx0vWlZoeIgEiF7D+xl7jdzSVuWRtqyNI6pcAydGnWiY6OO/KHeHyiXUC7o\nFI/Irn27mPvN3EPFYn/2flKSUmh7clv+eNIf1aoo5VQcRMKwbfc2ZqyYQdryNGavms2pNU+lY6OO\ndGrUiUbHNQo6vYhxd5ZvW87MlTmF4sN1H3J27bNzWhUnt+W0mqepVVHKqDiIHKGV36081F20eNNi\nWjdoTcdGHWl3cjuOr3x80OlFxe79u5m7Zu6hYrH3wF5SGqaQ0jCFNie1ofrR1YNOUcKk4iByGFnZ\nWSzMXHiou+iHPT/Q4ZQOdGzUkUsaXEKlCpWCTjFQ7s6K71Yc6n76YN0HnHnCmYdaFafXOl2tijik\n4iBSgF37dvHO6neYumwq05dP54QqJxzqLjq7ztkkmK4HKMzu/btJ/yb9ULHYvX/3oRFQbZLa8Juj\nfxN0ilIEKg4iIRt3bGT68umkLU9j3jfzaJ7YnI6NOtLhlA40qNEg6PTi1srvVh4qFO9/+z6nn3D6\noRFQZ5xwhloVMUrFQcosd2fJliWHuouWbVtGSsMUOp7SkZSGKdSoVCPoFEudn/b/xLy18w4Vix37\ndpDSMIUrGl9B+1Paq1DEEBUHKXM+3fApY74Yw9RlU8n27EPdRRfVv4iK5SoGnV6Zsuq7VcxcOZMX\nPnuB6kdV58mUJzmz9plBpyWoOEgZsmXXFu7+793MWDGDm865iU6NO2kIZozIys7ixc9e5N70e+nc\nqDP/vOSfZWbkV6zSXVml1MvKzuLfn/ybps82pWrFqmQMyGBQy0E0q9VMhSFGlEsoR/9z+rN0wFIq\nVahEk2eb8MSCJ9iftT/o1OQIqeUgceGjzI+4+a2bqVShEsMvH06zWs2CTkmK4OstX/OX//yF9T+u\n54mUJ7g06dKgUypz1K0kpdLW3Vu5+527eWvFWzz4xwfp3ay3Wglxxt2Ztnwat799O02Ob8Kjlz7K\nyb89Oei0ygx1K0mpkpWdxfOfPE+T4U2oXLEyGQMyuOb0a1QY4pCZ0bFRR5bcvIQL6l3A+SPP567Z\nd/Hj3h+DTk1+hVoOckSi8TD7jzI/YsCMARxd/mieafsMp59wekTXL5F3JN+LjTs2cvd/72bWqln8\nq/W/uPb0a3UxYgkqbssBdw/7BaQAS4HlwF2FxDwFrAAWA2eE5tUF5gBLgC+B235lGy7BWr36G09K\nusNhp4M77PSkpDt89epvIrL+Lbu2+PVp1/sJj5zgryx+xbOzsyOyXilZxf1eLFi3wJu/0NzPHXGu\nz183P0rZlj2hY+eRH9eLs5D/8qCdAKwE6gMVQgf/xnli2gJvhabPAxaEpk/IVSiqAMvyLptrHSW2\n86RoevUakusA4IcOBL16DQlrvQeyDvjznzzvNR+u6bfNuM2//+n7CGUs0RDO9yIrO8tHLx7tdR6t\n49dMvsYzf8yMQsZlS3GLQyTacs2BFe6+1t33A+OBTnliOgGvhI7wC4HqZlbL3Te5++LQ/J1ABpAY\ngZykBJTEw+w/zvyY80eezyufv8Ks3rN4su2TumdPnAnne5FgCVx7+rUsHbCUxKqJNHuuGfe/dz97\nDuwpkVyl6CJRHBKBdbneryf/AT5vTGbeGDP7HXAGsDACOUkJiOTD7Lft3kb/af3pOL4jA84dwLt9\n39W5hTgVie9F1aOqcv8f72fhdQtZmLmQps82ZcrSKQd7DSQA5YNOAMDMqgBvAH8OtSAKNGTIkEPT\nycnJJCcnl3hu8rNhw1JZsGAwq1YNJecvxV0kJQ1m2LBbi7yObM9m5GcjuWfuPXRv2p2MARlqKcS5\nSHwvDko6NokpPaYwe9Vs/vL2Xxj+8XCeuOwJmtZsGum0S6309HTS09PDXk/Yo5XMrAUwxN1TQu8H\nktPH9WCumH8Dc919Quj9UqClu282s/LAdGCmuz/5K9tx/RURvIOjUjZsyKZOnSMbrfRx5scMmDGA\nCuUqMPzy4Zxxwhklm6xETTjfi8Lsz9rPc588x7B3h9Hz1J4MTR6qmygWQ2AXwZlZOXJOJLcGNgIf\nAT3dPSNXzOXAAHdvFyomT7h7i9BnrwBb3f32w2xHxSFObdu9jb/P+TtTl03lgdYPcM3p12joohTZ\n1t1bGTRnEJOXTmZIyyHccPYNcfcc7yAFdhGcu2cBtwCzyBmSOt7dM8ysv5ndEIqZAawxs5XA88BN\noaQvAHoBl5jZIjP7zMxSws1JYkO2Z/PiZy/S5NkmVEioQMaADPqc0UeFQY7Iccccx3Ptn2NW71lM\nWDKBs0acRfo36UGnVerpIjgpEZ9u+JSbZ9xMOSvHs+2eVReSRIS7MyljEnfOupNzE8/lkTaPUP83\nkb0Is7TR7TMkJnz303fcNP0m2o1tx03n3MT7/d5XYZCIMTOuanIVGQMyaFazGWePOJt7597Lrn15\nR0tJuFQcJCIOjkJqMrwJ5RLKkTEgg9QzUtWFJCWiUoVKDGo5iEX9F7Hyu5X8fvjvGfflOA19jSB1\nK0nYPtv4GTe/dTMJlsDwy4frCWASde9/+z63zbyNYyocw1Ntn+Ks2mcFnVLM0C27Jeq+++k77plz\nD5MzJnN/6/t1slkClZWdxcuLX+aeOfdwa/Nb+dtFf9NdfNE5B4kid+elRS/RZHgTDCNjQAZ9z+yr\nwiCBKpdQjuvOuo5F/RcxKWMSN0y7QU+gC4NaDnJEDmQf4MbpN/Lpxk8Z2XGkmu8Sk3bu20m317vh\nOBOvmkjVo6oGnVJg1HKQErd7/266TOjC+h/X817f91QYJGZVqViFtJ5p1KtWj4tHXcyGHRuCTinu\nqDhIkWzdvZXWr7Tm2ErHMq3nNKpUrBJ0SiK/qnxCeZ5v/zxdm3Tl/JHns+R/S4JOKa6oOMhhffPD\nN1zw0gW0+l0rRnUaRYVyFYJOSaRIzIy/XfQ37rvkPlqNbsXcNXODTilu6JyD/KrFmxbTfmx7Bl44\nkFua3xJ0OiLFNnfNXHpM6sFjlz5Gr2a9gk4najSUVSJuzpo59HijB8+2e5armlwVdDoiYVvyvyW0\nG9uOG86+gbsvvLtMDHVVcZCIGv/VeP78nz8z8aqJtPxdy6DTEYmYDTs20H5se86pcw7PtnuW8gkx\n8VibEqPiIBHz+PzHeWzBY8y4egan1Tot6HREIm7H3h10e6MbhjGx68RSPcBCQ1klbNmezZ2z7uSF\nz17gg34fqDBIqVX1qKqk9UgjsWoiLUe1ZOOOjUGnFHNUHASAfVn7uObNa1iwfgHv93ufE6ufGHRK\nIiWqQrkKjOgwgisaX8H5I8/n6y1fB51STFG3kvDj3h+5cuKVVKlYhbFXjKVShUpBpyQSVWO+GMMd\ns+5gwlUTSP5dctDpRJS6laRYNu3cRPKoZBrWaMgbXd9QYZAyqXez3oy7chzdXu/G2C/HBp1OTFDL\noQxbvm05KWNS6HdmP/5+0d/LxLA+kV/z1f++ot3Ydtx49o0MvHBgqfhNaLSSHJGF6xfSeUJn/tnq\nn/zprD8FnY5IzNiwYwPtxrajeZ3mDG83PO6HugbarWRmKWa21MyWm9ldhcQ8ZWYrzGyxmZ1xJMtK\nZM1YMYMO4zrwYocXVRhE8qhTtQ7vpr7L2u1r6TS+Ezv37Qw6pUCEXRzMLAF4BrgMaAr0NLPGeWLa\nAknufjLQH/h3UZeVyHp50cv0m9qPtJ5ptDulXdDpiMSkqkdVZVrPadSuUpuWo1qyaeemoFM6YmvW\nrKV376HFXj4SLYfmwAp3X+vu+4HxQKc8MZ2AVwDcfSFQ3cxqFXFZiQB3575372PYu8OYlzqPFnVb\nBJ2SSEyrUK4CL3R4gS6Nu8TdUNc1a9bSps3TvPbancVeRyQ60xKBdbneryfnoH+4mMQiLithysrO\n4raZt/Hh+g/5oN8H1K5aO+iUROKCmXHPxfdwYvUTaTW6VdzcTmbQoFGsWjUUqFzsdQR1pqVYQwCG\nDBlyaDo5OZnk5OQIpVN6/bT/J3q/2Zvte7YzL3Ue1Y6qFnRKInHn2tOvJbFqIl1f78qTKU/S87Se\nQadUqPT0dN5/fw4Q3gCeSBSHTCD35bR1Q/PyxtQrIKZiEZY9JHdxkMP7/qfv6Ti+I/Wq1WNGrxlU\nLFcx6JRE4lbrk1rz32v/S7ux7fh2+7f83wX/F5NDXZOTk7nwwktYu/ZOcloOxTvvEIlzDh8DDc2s\nvplVBHoAaXli0oBrAcysBfCDu28u4rIScvAEU6tWg+ndeyhr1qwtNHbd9nVc+PKFnJd4HmOuGKPC\nIGXCkfxGiuO0Wqcx/0/zGffVOG5+62YOZB+I6PojZdiwVJKSBgO7ir8Sdw/7BaQAy4AVwMDQvP7A\nDblingFWAp8DZ/3asoVsw8uy1au/8aSkOxx2OrjDTk9KusNXr/4mX+yXm7/0eo/V80c+eCSATEWC\ncSS/kXBt37PdL331Um/3WjvfsXdHxNcfCatXf+O9eg3x0LHzyI/rxVkoiFdZLw45/5MPfun90Je/\nV68hv4ib9808r/lwTX/ti9cCylQkGEX9jUTKvgP7vO+Uvn7282f7xh0bS2QbkVDc4qB7K8WJzMxs\n8o88qMyGDdmH3k36ehJXTbyKsVeM5erTro5qfiJBK8pvJJIqlKvAyI4j6dSoE+ePPJ+MLRklsp2g\nxPd14WVIYmICOf2Hub/8u6hTJ6e+D/9oOPe/fz+zrpnFGSecUdAqREq1w/1GSoKZMajlIE6sfiLJ\no5N5vevrXFz/4hLbXlQVp7kRxIsy3q1UWH/qqlVr/G/v/M1PefoUX/3d6qDTFAlMNM85FGT2qtl+\n/EPH+7gvx0Vle0VFMbuVdOO9OLJmzVoGDRrFhg3Z1KmTwL1De3H/V/eRsSWD6VdP57hjjgs6RZFA\n5f2NDBuWSoMG9aO2/S82f0H7se25pfkt/PUPf42Joa66K2sZs2vfLrq+3pUES2DCVROoXLH4V0KK\nSOSs/3E97ca2I7l+Mk+kPBF4gdDDfsqQLbu20Gp0K2pXqc2UHlNUGERiSN1qdXmv73u8++27PPLh\nI0GnU2wqDnFm9ferueClC0hpmMKLHV+M+3vNi5RG1Y6qxrSe03hy4ZNMzpgcdDrFom6lOLJ191bO\ne/E8bm9xOwOaDwg6HRE5jE83fErKaynMuHoG5yaeG0gO6lYq5fYe2MsVE66ge9PuKgwiceLsOmfz\nYocX6TyhM99u/zbodI6IWg5xwN3pl9aP7Xu280a3N0gw1XSRePL4/Md5afFLfNDvg6jfGVkth1Ls\n4Q8f5vNNn/Nql1dVGETi0F9a/IUL611I9ze6x+zN+vLSkSbGTVk6hacWPkVazzSNShKJU2bG05c/\njbtz28zbiIdeEBWHGLZ402Kun3Y9b3Z/k7rV6gadjoiEoXxCeSZ2nch7377HkwufDDqdw1JxiFEb\nd2yk47iOPHv5s4GNchCRyKp2VDWm95zOwx8+TNqy2H50jYpDDPpp/090ntCZ68+6nq5NuwadjohE\nUP3f1OfN7m/yp7Q/8dnGz4JOp1AarRRj3J2rJ19NgiUwpsuYwC+9F5GSMenrSfzl7b8w/0/zS7Tb\nuLijlXR5bYz5x7x/8M0P3zC3z1wVBpFS7MomV7Lyu5V0GNeB9/q+R5WKVYJO6RfUcoghE76awF3v\n3MXC6xZSq0qtoNMRkRLm7lw/7Xo279rMlO5TKJdQLuLb0HUOce6jzI+4deatpPVMU2EQKSPMjOfa\nPcfu/bu5Y9YdQafzC2EVBzOrYWazzGyZmb1tZtULiUsxs6VmttzM7so1/yEzyzCzxWY2ycyie+lg\njFi3fR1dJnRhZMeRNKvVLOh0RCSKKpSrwBtd3+DtVW8z/KPhQadzSLgth4HAO+7eCJgD3J03wMwS\ngGeAy4CmQE8zaxz6eBbQ1N3PAFYUtHxpt3PfTjqM68D/a/H/6NCoQ9DpiEgAalSqwVtXv8U/3/sn\nM1bMCDodIPzi0AkYHZoeDXQuIKY5sMLd17r7fmB8aDnc/R13P/j07wVAmbrSK9uz6T25N2fXPps7\nzo+tJqWIRNdJNU5iUrdJpE5J5YvNXwSdTtjFoaa7bwZw901AzQJiEoF1ud6vD83Lqx8wM8x84srd\n79zND3t+4Ln2z2lkkojwh3p/4Km2T9FhXAc27tgYaC6HHcpqZrOB3GdIDXDgngLCizWcyMz+Dux3\n97G/FjdkyJBD08nJySQnJxdnczFh1OJRTMqYxMLrFlKxXMWg0xGRGNHj1B6HhrjOS513xPdUS09P\nJz09Pew8whrKamYZQLK7bzazE4C57v77PDEtgCHunhJ6PxBwd38w9D4VuB64xN33/sq2Ss1Q1nfX\nvkvX17syL3UejY9rfPgFRKRMcXdSp6ayY++OsG/TH9RQ1jQgNTTdB5haQMzHQEMzq29mFYEeoeUw\nsxTgr0DHXysMpcnq71fT7fVujOkyRoVBRApkZoxoP4JtP23jrtl3HX6BEhBucXgQaGNmy4DWwAMA\nZlbbzKYDuHsWcAs5I5OWAOPdPSO0/NNAFWC2mX1mZs+GmU9M275nO+3HtufelvfSJqlN0OmISAw7\nqvxRTO42manLpjLi0xFR376ukI6SA9kHaD+2PScfezJPX/500OmISJxYsW0FF718Ea92ebVYf1Tq\nCukYd/vbtwPweMrjAWciIvHk5N+ezMSuE+k1uRdL/rckattVcYiC5z5+jndWv8OEqyZQPkH3OhSR\nI3Nx/Yt59NJHaT+uPZt3bo7KNtWtVMJmr5rNNW9ewwf9PiDp2KSg0xGROHbv3HuZtWoWc/vMpVKF\nSkVaprjdSioOJWjp1qW0HNWS17u+zsX1Lw46HRGJc+5Or8m9OJB9gPFXjS/SEFedc4gx23Zvo8O4\nDjzQ+gEVBhGJCDPjpU4vkbkjk0FzBpXotlQcSsC+rH1cOfFKujTuQt8z+wadjoiUIkeXP5op3acw\nfsl4Xl70coltR91KEXbw4R1bdm9hcrfJJfLwDhGRg93W468cT6sGrQqNU7dSjHh8weN8suETXrvi\nNRUGESkxjY9rzLgrx9FjUg+WbV0W8fWrOETQ9OXTeXT+o6T1TIu558GKSOlzSYNLuL/1/bQb246t\nu7dGdN0qDhHyxeYv6De1H5O7TebE6icGnY6IlBH9zuxH1yZd6Ty+M3sO7InYenXOIQI279zMeS+e\nxwN/fIAep/YIOh0RKWOyPZvub3SnYrmKjOky5hfPh9E5h4DsObCHLhO6kHpGqgqDiAQiwRJ4pfMr\nrPxuJUPnDY3IOtVyCIO70/vN3mRlZzHuynF6mpuIBGrzzs20GNmCf7b6J72a9QKK33LQjX7CcN97\n97Fi2wrmpc5TYRCRwNWqUovpPafTanQrTqx+IhfVv6jY61K3UjG9vuR1Rnw6gqk9phb5HiciIiWt\nac2mjLliDF1f78rK71YWez1qORTDJxs+4eYZNzOr9yxqV60ddDoiIr9wadKlDE0eSrux7Yq9DrUc\njtD6H9fTeXxnXujwAmfWPjPodERECtT/nP786cw/FXt5nZA+Arv27eKily+ie9Pu3HVhMM91FRE5\nEjohXYLWrFnLPYNeYtZvJlLtqKPo2qZ70CmJSIxas2YtgwaNIjMzm8TEBIYNS6VBg/pBp3XEwupW\nMrMaZjbLzJaZ2dtmVr2QuBQzW2pmy80s35/cZnaHmWWb2bHh5FMS1qxZS5s2TzN2WQ227qvK6ifn\ncOmlz7BmzdqgUxORGHPwePHaa3eSnj6U1167kzZtno7L40W45xwGAu+4eyNgDnB33gAzSwCeAS4D\nmgI9zaxxrs/rAm2AmNx7gwaNYtV3qdDqPnjzFcg6llWrhjJo0KigUxORGDNo0ChWrRoKVA7NqRy3\nx4twi0MnYHRoejTQuYCY5sAKd1/r7vuB8aHlDnoc+GuYeZSY9ZlZ0OkWeP9u2HqwplVmw4bsQPMS\nkdiTmZnNz4XhoPg8XoRbHGq6+2YAd98E1CwgJhFYl+v9+tA8zKwjsM7dvwwzjxKzs8nHkLAPFvw5\n19xd1KmjgV4i8kuJiQnArjxz4/N4cdgT0mY2G6iVexbgwD0FhBd5OJGZVQL+Rk6XUu51F2rIkCGH\nppOTk0lOTi7q5oplxbYVrK63kHoTurDO95DzF8EukpIGM2zYrSW6bRGJP8OGpbJgweBcXUvRP16k\np6eTnp4e9nrCGspqZhlAsrtvNrMTgLnu/vs8MS2AIe6eEno/kJwi8hbwDrCbnKJQF8gEmrv7/wrY\nVlSHsmZlZ9FyVEu6Ne1Gh5qdGDRoFBs2ZFOnTvyOPhCRkndwtFKsHC+KO5Q13OLwIPCduz8YGoVU\nw90H5okpBywDWgMbgY+Anu6ekSduDXCWu39fyLaiWhwem/8YacvSmNNnDgkWf01CEREI7pbdDwJt\nzOzgwf+BUDK1zWw6gLtnAbcAs4AlwPi8hSHEOUy3UrQs3bqU+9+/n5c6vaTCICJlkq6QzuNA9gEu\neOkCUk9P5aZzbyrx7YmIlCQ97CdCHv3wUapWrEr/c/oHnYqISGB0+4xclvxvCY/Mf4RPrv9E3Uki\nUqbpCBiyP2s/fab04V+X/Iv6v9FIJBEp21QcQh784EGOO+Y4rjvruqBTEREJnLqVgM83fc5TC5/i\ns/6f6XGfIiKo5cC+rH2kTk3loTYPUbda3aDTERGJCWW+OPzrvX+RWDWRPqf3CToVEZGYUaa7lT7b\n+BnPffIci/ovUneSiEguZbblsPfAXvpM6cNjlz5Gnap1gk5HRCSmlNni8I95/6DhsQ25+rSrg05F\nRCTmlMlupY8zP2bkopF8fuPn6k4SESlAmWs57Dmwhz5T+vBkypPUqlLr8AuIiJRBZa443Dv3Xk6t\neSrdT+0edCoiIjGrTHUrfbjuQ1794lW+uPGLoFMREYlpZablsHv/bvpO7cszbZ/h+MrHB52OiEhM\nKzPPc7j97dvZtHMTY68cG8GsRERiW3Gf51AmupXeW/seE5ZMUHeSiEgRlfpupV37dtF3al+ea/cc\nvz3mt0Gk208sAAAKFElEQVSnIyISF0p9t9KtM27lx30/Mrrz6BLISkQktgXymFAzq2Fms8xsmZm9\nbWbVC4lLMbOlZrbczO7K89mtZpZhZl+a2QPh5JPX3DVzeXPpmzxx2RORXK2ISKkXbrfSQOAdd28E\nzAHuzhtgZgnAM8BlQFOgp5k1Dn2WDHQATnP304BHwsznkB17d9AvrR8jOoygRqUakVqtiEiZEG5x\n6AQc7K8ZDXQuIKY5sMLd17r7fmB8aDmAm4AH3P0AgLtvDTOfQ/46+69c8rtLuPzkyyO1ShGRMiPc\n4lDT3TcDuPsmoGYBMYnAulzv14fmAZwCXGxmC8xsrpmdE2Y+AMxaNYuZK2fy2GWPRWJ1IiJlzmGH\nsprZbCD3TYgMcOCeAsKP9IxxeaCGu7cws3OBicBJhQUPGTLk0HRycjLJycn5Yrbv2c71067nxQ4v\nUv3oAk+BiIiUWunp6aSnp4e9nrBGK5lZBpDs7pvN7ARgrrv/Pk9MC2CIu6eE3g8E3N0fNLOZ5HQr\nzQt9thI4z923FbCtIo1Wui7tOsonlOff7f9d7H+XiEhpEchoJSANSA1N9wGmFhDzMdDQzOqbWUWg\nR2g5gCnAJQBmdgpQoaDCUFQzVszgv2v+y8NtHi7uKkREhPCLw4NAGzNbBrQGHgAws9pmNh3A3bOA\nW4BZwBJgvLtnhJZ/CTjJzL4ExgLXFjeR73/6nhum3cBLHV+i6lFVi/0PEhGRUnQRXJ8pfahWsRpP\nX/50FLMSEYltZfreSmnL0vjg2w/4/MbPg05FRKRUiPvisG33Nm566ybGXzmeyhUrB52OiEipEPfd\nSldPuppalWvxeMrjAWQlIhLbymS30qSvJ/Hpxk9Z1H9R0KmIiJQqcVsctuzawi0zb2Fyt8kcU+GY\noNMRESlV4rJbyd3p9kY3GvymAQ+1eSjgzEREYleZ6laauGQiX/3vK17t8mrQqYiIlEpxVxw27dzE\nbf+5jWk9p3F0+aODTkdEpFSKq8eEujs3Tr+R6868juaJzYNOR0Sk1IqrlsPYL8ey6vtVTLhqQtCp\niIiUanF1Qvr4h47nP73/w1m1zwo6HRGRuBDUXVmj6qZzblJhEBGJgrhqOew9sJeK5SoGnYqISNwo\nEy0HFQYRkeiIq+IgIiLRoeIgIiL5qDiIiEg+Kg4iIpKPioOIiOQTVnEwsxpmNsvMlpnZ22ZWvZC4\nFDNbambLzeyuXPPPNbOPzGxR6L/nhJOPiIhERrgth4HAO+7eCJgD3J03wMwSgGeAy4CmQE8zaxz6\n+CHgHnc/ExgMPBxmPiIiEgHhFodOwOjQ9GigcwExzYEV7r7W3fcD40PLAWwEDrY2fgNkhpmPiIhE\nQLg33qvp7psB3H2TmdUsICYRWJfr/XpyCgbktDw+MLNHAQP+EGY+IiISAYctDmY2G6iVexbgwD0F\nhB/pvThGAre6+xQzuwp4CWhTWPCQIUMOTScnJ5OcnHyEmxMRKd3S09NJT08Pez1h3VvJzDKAZHff\nbGYnAHPd/fd5YloAQ9w9JfR+IODu/qCZ/eju1XLFbnf3wk5qe7zcB0pEJFYEdW+lNCA1NN0HmFpA\nzMdAQzOrb2YVgR654laYWUsAM2sNLP+1jfXuPZQ1a9aGmbKIiBxOuC2HY4GJQD1gLdDN3X8ws9rA\nC+7ePhSXAjxJTjEa6e4PhOafAwwHKgJ7gJvdfVEh23LYSVLSYGbPvpUGDeoXO28RkbKiuC2HuLpl\nd84pjV306vUIY8YMDjolEZGYVyZu2Z2jMhs2ZAedhIhIqRaHxWEXderEYdoiInEkzo6yu0hKGsyw\nYalBJyIiUqrFVXHo1esRnYwWEYmCuDohHS+5iojEijJ0QlpEREqaioOIiOSj4iAiIvmoOIiISD4q\nDiIiko+Kg4iI5KPiICIi+ag4iIhIPioOIiKSj4qDiIjko+IgIiL5qDiIiEg+Kg4iIpJPWMXBzGqY\n2SwzW2Zmb5tZ9ULiRprZZjP7ojjLi4hIdIXbchgIvOPujYA5wN2FxL0MXBbG8pJLenp60CnEDO2L\nn2lf/Ez7InzhFodOwOjQ9Gigc0FB7v4+8H1xl5df0hf/Z9oXP9O++Jn2RfjCLQ413X0zgLtvAmpG\neXkRESkB5Q8XYGazgVq5ZwEO3FNAeLiPatOj3kREYkBYjwk1swwg2d03m9kJwFx3/30hsfWBae7e\nrJjLq3CIiBRDcR4TetiWw2GkAanAg0AfYOqvxFroVazli/OPExGR4gm35XAsMBGoB6wFurn7D2ZW\nG3jB3duH4sYCycBvgc3AYHd/ubDlw/j3iIhIBIRVHEREpHSKuSukzSzFzJaa2XIzu6uQmKfMbIWZ\nLTazM6KdY7Qcbl+Y2dVm9nno9b6ZnRZEniWtKN+JUNy5ZrbfzK6IZn7RVMTfR7KZLTKzr8xsbrRz\njJYi/D5+a2YzQ8eJL80sNYA0o6KwC43zxBzZcdPdY+ZFTrFaCdQHKgCLgcZ5YtoCb4WmzwMWBJ13\ngPuiBVA9NJ1SGvdFUfZDrrj/AtOBK4LOO8DvRHVgCZAYen9c0HkHuC8GA/cf3A/ANqB80LmX0P64\nEDgD+KKQz4/4uBlrLYfmwAp3X+vu+4Hx5Fwol1sn4BUAd18IVDezWpQ+h90X7r7A3beH3i4AEqOc\nYzQU5TsBcCvwBvC/aCYXZUXZF1cDk9w9E8Ddt0Y5x2gpyr7YBFQNTVcFtrn7gSjmGDVe+IXGBx3x\ncTPWikMisC7X+/XkP+DljcksIKY0KMq+yO06YGaJZhSMw+4HM6sDdHb358g/Iq40Kcp34hTgWDOb\na2Yfm9k1UcsuuoqyL14AmprZBuBz4M9Ryi0WHfFxM9yhrBIDzKwV0JecpmVZ9ASQu8+5NBeIwykP\nnAVcAlQG5pvZfHdfGWxagbgb+NzdW5lZEjDbzJq5+86gE4sHsVYcMoETc72vG5qXN6beYWJKg6Ls\nC8ysGTACSHH3X2tWxqui7IdzgPFmZuT0Lbc1s/3unhalHKOlKPtiPbDV3fcAe8zsXeB0cvrnS5Oi\n7IsLgPsA3H2Vma0BGgOfRCXD2HLEx81Y61b6GGhoZvXNrCLQg5wL5XJLA64FMLMWwA8euj9TKXPY\nfWFmJwKTgGvcfVUAOUbDYfeDu58UejUg57zDzaWwMEDRfh9TgQvNrJyZHUPOyceMKOcZDUXZFxnA\nHwFC/eunAKujmmV0FXSh8UFHfNyMqZaDu2eZ2S3ALHIK10h3zzCz/jkf+wh3n2Fml5vZSmAXOd0p\npU5R9gUwCDgWeDb0V/N+d28eXNaRV8T98ItFop5klBTx97HUzN4GvgCygBHu/nWAaZeIIn4v7gde\nNrPPyTlo/p+7fxdc1iUn94XGZvYtOSO1KhLGcVMXwYmISD6x1q0kIiIxQMVBRETyUXEQEZF8VBxE\nRCQfFQcREclHxUFERPJRcRARkXxUHEREJJ//D326Sn6BomSCAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x41576d8>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The above graph is bending moment graph\n" + ] + }, + { + "data": { + "image/png": "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\nTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xdd95b70>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "#M_A and M_B are applied at the ends\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M[i] = l_1[i]/2.0 - (l_1[i]**2)/2.0 -1.0/12.0 #The moment euation at 1--1 section\n", + "# M_1 = R_A*l_1[i]/2.0 - F_D*(l_1[i]**2)/2.0 -F_D*(l_ab**2)/12.0 #The moment euation at 1--1 section \n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**2)*l_1[i]/12.0 #integration of x**n = x**n+1/n+1\n", + "#(EI)y\n", + "M_1_intg2[i] = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**2)*(l_1[i]**2)/24.0 \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - (l_1[i]**2)/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + " \n", + "#Part - B\n", + "#Graphs\n", + "import numpy as np\n", + "values = M\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline \n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b) The above graph is bending moment graph\"\n", + "import numpy as np\n", + "values = Y \n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.5 page number 517" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The reaction at A is 0.375 WL\n", + "The reaction at B is 1.125 WL\n", + "The reaction at C is 0.375 WL\n" + ] + } + ], + "source": [ + "#Given \n", + "#because of symmetry the problem can be solved by considering first half\n", + "#Given\n", + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'\n", + "M_1_intg1 = R_A*(l_1[i]**2)/2 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/48 #integration of x**n = x**n+1/n+1\n", + "#(EI)y\n", + "M_1_intg2[i] = R_A*(l_1[i]**3)/6 - F_D*(l_1[i]**4)/24.0 - F_D*(l_ab**3)*l_1[i]/48.0 \n", + "#Equations \n", + "#R_A = #wl Unknown- The reactive force at A\n", + "#R_B = #wl - The reactive force at B\n", + "\n", + "# M_1_intg2[10] = 0, the displacement at the end of rod is 0 since its rigid \n", + "R_A = (F_D*(l_1[10]**4)/24.0 + F_D*(l_ab**3)*l_1[10]/48.0)/((l_1[10]**3)/6.0)\n", + "R_C = R_A #WL - symmetry\n", + "R_B = 1-R_A+R_B # WL - F_Y = 0, the equilibrium in Y direction\n", + "print \"The reaction at A is\",R_A ,\"WL\"\n", + "print \"The reaction at B is\",R_B ,\"WL\"\n", + "print \"The reaction at C is\",R_C ,\"WL\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.7 page number 521 " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xdee8748>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The shape from x belongs to 0<x<4\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Kowshik\\AppData\\Local\\Enthought\\Canopy\\User\\lib\\site-packages\\numpy\\lib\\polynomial.py:588: RankWarning: Polyfit may be poorly conditioned\n", + " warnings.warn(msg, RankWarning)\n" + ] + }, + { + "data": { + "image/png": "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\nFAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xdd95748>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "b) The shape from x belongs to 4<x<5\n" + ] + } + ], + "source": [ + "l_ac = 5 #m - The length of the beam \n", + "l_ab = 4 #m - The length of ac on beam \n", + "l_bc = 1 #m - The length of bc on beam \n", + "F = 20 #N - force applied on beam at 'b'\n", + "I_ab = 4 #I The moment of inertia of part AB \n", + "I_bc = 1 #I - The momemt of inertia of part BC\n", + "R_A = F*(l_bc/l_ac) #N- The reaction at joint A\n", + "R_B = F*(l_ab/l_ac) #N- The reaction at joint B\n", + "E = 1 #E youngs modulus\n", + "\n", + "#0<x<4\n", + "x = [0,1,2,3,4]\n", + "M = [0,0,0,0,0]\n", + "y = [0,0,0,0,0]\n", + "for i in range(5):\n", + " M[i] = 4*x[i] #integration of x**n = x**n+1/n+1\n", + " #y_2[i] = 4*x[i]/(E*I_ab) #The \n", + " #y_1[i] = 4*(x[i]**2)/(E*I_ab) -4.8/(E*I_bc) #The constant can be found by conditions y(o) = y(c) = 0\n", + " y[i] = 4*(x[i]**2)/(6*E*I_ab) -4.8*x[i]/(E*I_bc) #elastic curve constant can be found by Y_1(0) = 0 \n", + "\n", + "\n", + "#0<x_1<1\n", + "x_1 = [4,5]\n", + "m = [0,0]\n", + "Y = [0,0]\n", + "for i in range(2):\n", + " m[i] = 16 - 16*x_1[i] #integration of x**n = x**n+1/n+1\n", + " # Y_2 = (16 - 16*x_1[i])/(E*I_ab) \n", + " #Y_1 = (16*x_1[i]-8*(x_1[i]**2) +8 - 4.8)/(E*I_ab)#The constant can be found by conditions y(o) = y(c) = 0\n", + " Y[i] = (8*(x_1[i]**2)-8*(x_1[i]**3)/3 +(8-4.8)*x_1[i] - 4*4.8 )/(E*I_ab) #elastic curve constant can be found by Y_1(0) = 0\n", + "\n", + "#Graphs\n", + "import numpy as np\n", + "values = y\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,5)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline \n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b) The shape from x belongs to 0<x<4\"\n", + "import numpy as np\n", + "values = Y \n", + "y = np.array(values)\n", + "t = np.linspace(0,1,2)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "print \"b) The shape from x belongs to 4<x<5\"\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.10 page number 529" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The deflection of point D -5.56 mm\n" + ] + } + ], + "source": [ + "k = 24.0*(10**12) #N.mm2 Flexure rigidity\n", + "E = 200.0 #Gpa - Youngs modulus of the string\n", + "l = 5000.0 #mm - The length of the string\n", + "C_A = 300.0 #mm2 - crossection area \n", + "P = 50.0 #KN - The force applies at the end \n", + "a = 2000.0 #mm - The distance C-F\n", + "x = 1#X - let it be a variable X\n", + "y_d = x*(a**3)/(3*k) #Xmm The displacement at D, lets keep the variable in units part\n", + "y_p = -P*(10**3)*(16*(a**3)-12*(a**3)+(a**3))/(k*6) #mm The displacement due to p \n", + "e_rod = l/(C_A*E*(10**3)) #Xmm -deflection, The varible is in units \n", + "e_rod\n", + "X = y_p/(2*e_rod+y_d) # By equating deflections \n", + "y_d_1 = X*(a**3)/(3*k) # the deflection of point D\n", + "print \"The deflection of point D\",round(y_d_1,2),\"mm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.11 page number 530 " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the horizantal component of deflection 0.246 in\n", + "the vertical component of deflection 0.073 in\n", + "the resultant deflection 0.257 in\n" + ] + } + ], + "source": [ + "import math \n", + "l = 15 #in - The length of the crossection \n", + "b = 33.9 #in - the width of the crossection\n", + "L = 100 #in The length of the cantilever \n", + "E = 29*(10**6) #psi The youngs modulus of the material used \n", + "I_Z = 315 #in4 - the moment of inertia wrt Z axis \n", + "I_y = 8.13 #in4 - the moment of inertia wrt Y axis\n", + "o = 5 # degrees - the angle of acting force \n", + "P = 2000 #k the acting force \n", + "P_h = P*math.sin(math.radians(o)) #k - The horizantal component of P\n", + "P_v = P*math.cos(math.radians(o)) #k - The vertical component of P\n", + "e_h = P_h*(L**3)/(3*E*I_y) # the horizantal component of deflection \n", + "e_v = P_v*(L**3)/(3*E*I_Z ) # the vertical component of deflection\n", + "e = pow((e_h**2 + e_v**2),0.5)\n", + "print \"the horizantal component of deflection\",round(e_h,3) ,\"in\"\n", + "print \"the vertical component of deflection\",round(e_v,3) ,\"in\"\n", + "print \"the resultant deflection\",round(e,3) ,\"in\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.13 page number 533" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The maximum deflection when the beam is on rigid supports 0.03 mm with impact factor 71.7 b) The maximum deflection when the beam is on spring supports 0.28 mm with impact factor 24.17\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 50.0 #mm - The length of the crossection \n", + "b = 50.0 #mm - the width of the crossection\n", + "m = 15.3 # mass of the falling body\n", + "h = 75.0 #mm - The height of the falling body \n", + "p = m*9.81 #N the force acted due to the body\n", + "L = 1000.0 #mm The length of the cantilever\n", + "E = 200 #Gpa The youngs modulus of the material used \n", + "I = (l**4)/12 #mm - the moment of inertia \n", + "k = 300 #N/mm -the stiffness of the spring \n", + "#Rigid supports \n", + "e = m*9.81*(L**3)*(10**-3)/(48*E*I) #mm - the deflection of beam \n", + "imp_fact_a = 1 +pow((1 +2*h/e),0.5) #no units , impact factor \n", + "#spring supports\n", + "e_spr = h/k #mm the elongation due to spring \n", + "e_total = e_spr + e \n", + "imp_fact_b = 1 +pow((1 +2*h/e_total),0.5) #no units , impact factor\n", + "print \"a) The maximum deflection when the beam is on rigid supports\",round(e,3),\"mm with impact factor\",round(imp_fact_a ,2),\n", + "print \"b) The maximum deflection when the beam is on spring supports\",round(e_total,2),\"mm with impact factor\",round(imp_fact_b,2) ,\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.15 page number 536 " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the ultimate capacity 120 K-in\n", + "the ultimate curvature 0.000806666666667 in*-1\n" + ] + } + ], + "source": [ + "#Given\n", + "E = 30*(10**3) #ksi - The youngs modulus of the material \n", + "stress_y = 40 #Ksi - yield stress\n", + "stress_max = 24.2 #Ksi - the maximum stress\n", + "l = 2 #in - The length of the crossection \n", + "b = 3 #in - the width of the crossection\n", + "h = 3 #in - the depth of the crossection\n", + "#lets check ultimate capacity for a 2 in deep section \n", + "M_ul = stress_y*b*(l**2)/4 #K-in the ultimate capacity \n", + "curvature = 2*stress_y/(E*(h/2) ) #in*-1 the curvature of the beam \n", + "curvature_max = stress_max/(E*(h/2)) #in*-1 The maximum curvature \n", + "print \"the ultimate capacity\",M_ul,\"K-in\"\n", + "print \"the ultimate curvature\",curvature_max,\"in*-1\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.16 page number 543" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum deflection at tip B -4.11 mm\n", + "The slope at the tip B -0.0 radians\n" + ] + } + ], + "source": [ + "#Given \n", + "l_ad = 1600 #mm - The total length of the beam \n", + "l_ab = 600 #mm - The length of AB\n", + "l_bc = 600 #mm - The length of BC\n", + "e_1 = 0.24 #mm - deflection \n", + "e_2 = 0.48 #mm - deflection\n", + "E = 35 #Gpa\n", + "#Caliculation \n", + "\n", + "A_afe = -(l_ab+l_bc)*e_1*(10**-3)/(2*E)\n", + "A_afe = -(l_ab)*e_2*(10**-3)/(4*E)\n", + "y_1_b = A_afe + A_afe #rad the slope at the tip B\n", + "x_1 = 1200 #com from B\n", + "x_2 = 800 #com from B\n", + "y_b = A_afe*x_1 + A_afe*x_2 #mm The maximum deflection at tip B\n", + "print\"The maximum deflection at tip B\",round(y_b,2),\"mm\"\n", + "print \"The slope at the tip B\",round(y_1_b,2) ,\"radians\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.19 page number 547 " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " The maximum displacement in y direction is -0.0130208333333 W(l**4)/EI \n", + " The maximum deflection occured at 0.5 L\n", + " The maximum deflection is -0.05775 W(l**3)/EI \n" + ] + } + ], + "source": [ + "#Given\n", + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'- \n", + "\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #deflection integration of x**n = x**n+1/n+1\n", + "#(EI)y- Using end conditions for caliculating constants \n", + "\n", + "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n", + "#Equations \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + "#The precision is very less while caliculating through this equation because the least count in X direction is 0.1\n", + "print \" The maximum displacement in y direction is\",min(Y),\"W(l**4)/EI \"\n", + "print \" The maximum deflection occured at\",l_1[Y.index(min(Y))],\"L\"\n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg1[i] = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24\n", + "print \" The maximum deflection is\",min(M_1_intg1 ),\"W(l**3)/EI \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.23 page number 554 " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The moment at the end is -0.0833333333333 wl**2\n" + ] + } + ], + "source": [ + "import numpy\n", + "l_ab = 1.0 #L in - The length of the beam\n", + "F_D = 1.0 #W lb/in - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "#EI - The flxure rigidity is constant and 1/EI =1 # k\n", + "#M_A and M_B are applied at the ends\n", + "\n", + "#part - A\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M[i] = l_1[i]/2.0 - (l_1[i]**2)/2.0 -1.0/12.0 #The moment euation at 1--1 section\n", + "# M_1 = R_A*l_1[i]/2.0 - F_D*(l_1[i]**2)/2.0 -F_D*(l_ab**2)/12.0 #The moment euation at 1--1 section \n", + "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n", + "#(EI)y'\n", + "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**2)*l_1[i]/12.0 #integration of x**n = x**n+1/n+1\n", + "#(EI)y\n", + "M_1_intg2[i] = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**2)*(l_1[i]**2)/24.0 \n", + "\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "Y = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - (l_1[i]**2)/24.0 # discluding every term for ruling out float values\n", + " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n", + " \n", + "print \"The moment at the end is \",M[0],\"wl**2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 10.25 pagenumber 556" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEACAYAAABYq7oeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcjfX7x/HXZd9F9rEkClmSb7YixzJRymj9WUObilQS\nJb5DVFRakBbJkl2+2YsJQwkJITuNibEU2YVhrt8fczDNYsacM+c+58z1fDzm0Tn3+dz3/XY/pnPN\n/fncn/sWVcUYY4xJKIvTAYwxxvgfKw7GGGOSsOJgjDEmCSsOxhhjkrDiYIwxJgkrDsYYY5LwSnEQ\nkRYisk1EdohInxTaDBeRnSLyq4jUdC8rLSJLRGSziGwSkR7eyGOMMcYzHhcHEckCjASaA1WBtiJS\nOVGbe4AKqnoT0BX41P3RBaCnqlYF6gPdEq9rjDHG97xx5lAH2Kmq0aoaC0wFwhK1CQMmAKjqaqCg\niBRX1YOq+qt7+SlgKxDihUzGGGM84I3iEALsTfB+H0m/4BO3iUncRkRuAGoCq72QyRhjjAf8YkBa\nRPIBXwMvuM8gjDHGOCibF7YRA5RN8L60e1niNmWSayMi2YgvDF+p6uyUdiIidhMoY4xJB1WVa13H\nG2cOa4CKIlJORHIAbYA5idrMAR4DEJF6wDFVPeT+7Etgi6p+lNqOVNV+VAkPD3c8g7/82LGwY2HH\n4uo/6eXxmYOqXhSR7sAi4ovNGFXdKiJd4z/Wz1V1gYjcKyK7gNNAZwARuRNoD2wSkfWAAn1V9TtP\ncxljjEk/b3Qr4f4yr5Ro2WeJ3ndPZr0VQFZvZDDGGOM9fjEgba6Ny+VyOoLfsGNxhR2LK+xYeE48\n6ZPyJRHRQMlqjDH+QkRQhwakjTHGBBkrDsYYY5Kw4mCMMSYJKw7GGGOSsOJgjDEmiYAqDrEXY52O\nYIwxmUJAFYfxG8Y7HcEYYzKFgCoOg5cP5vzF807HMMaYoBdQxaFykcqMXT/W6RjGGBP0AmqG9Kq9\nq3hkxiPsfH4nObPldDqSMcb4vUwxQ7pu6bpUL16dL9Z94XQUY4wJagF15qCq/LL/F1pPbc2uHrvI\nlS2X07GMMcavZYozB4DbS91OrZK1+Hzt505HMcaYoBVwZw4A6w+sp+XkluzusZvc2XM7nMwYY/xX\npjlzALit5G3UK12PT3/51OkoxhgTlALyzAFg46GNNJ/YnF3P7yJvjrwOJjPGGP+Vqc4cAGoUr0GD\nsg345JdPnI5ijDFBxyvFQURaiMg2EdkhIn1SaDNcRHaKyK8iUvNa1k1JeKNw3v3pXU6dP+XpP8EY\nY0wCHhcHEckCjASaA1WBtiJSOVGbe4AKqnoT0BX4NK3rXk21YtVofENjPv75Y0//GcYYYxLwxplD\nHWCnqkaraiwwFQhL1CYMmACgqquBgiJSPI3rXtahw0CioqL/tSy8UTjDVg7jxLkTXvinGGNMcIiK\niqZDh4HpXt8bxSEE2Jvg/T73srS0Scu6l02a1IvQ0BH/KhBVilYhtEIoI1aPSF96Y4wJMlFR0YSG\njmDSpF7p3oZTA9LXPHIeLy+7dw+kf/9x/1r637v+y4erP+T42eOeJzPGmADXv/84du8eCKT/Sk5v\nFIcYoGyC96XdyxK3KZNMm7Ssm8AA4F1WrFhCZGTk5aWVilTi3pvu5aPVH11zeGOMCSaRkZH8+OMS\n4F3ivzPTxxvFYQ1QUUTKiUgOoA0wJ1GbOcBjACJSDzimqofSuG4CA4BXuPPOJrhcrn990v+u/gxf\nPZxjZ4954Z9kjDGByeVy0aBBE+AVHC0OqnoR6A4sAjYDU1V1q4h0FZGn3W0WAFEisgv4DHjuauum\nvLfTVKgQzqBBnZN8UrFwRVpVasUHKz/w9J9kjDEBbdCgzlSoEA6cTvc2AmqGdPv2Axg0qDPly5dL\nts3vR3+n9uja7Hx+J4VzF/ZtQGOM8SNRUdH07z+OSZMGpGuGdEAVh7RkfWrOUxTPV5zBTQb7IJUx\nxvi39N4+I+iKw55je/jP5/9he/ftFMlTxAfJjDHGf2W6eyul5IbrbuCRWx7hvZ/eczqKMcYErKA7\ncwD44/gf3PbZbWzttpVieYtlcDJjjPFfduaQQNmCZWlbrS3vrnjX6SjGGBOQgvLMASDmRAw1Pq3B\nlue2UDxf8QxMZowx/svOHBIJKRBCh+odGLpiqNNRjDEm4ATtmQPAgZMHqDqqKpuf20zJ/CUzKJkx\nxvgvO3NIRsn8JelcszNDfhzidBRjjAkoQX3mAHDo1CGqfFyFjc9upHSB0hmQzBhj/JedOaSgeL7i\nPHHbE7z9w9tORzHGmIAR9MUBoPedvZm6eSp/HP/D6SjGGOMz6w6sS/e6maI4FM1blKdqPcVbP7zl\ndBRjjPGJ42ePc++ke9O9fqYoDgC97ujFjC0z2HNsj9NRjDEmw735w5u0vKllutcP+gHphPot6ceh\nU4cY3Wq0l1IZY4z/ufT4gk3PbiKkQIjdlTU1f//zNzePuJmfn/qZGwvd6KVkxhjjXx6d8SjVi1Wn\nf6P+drVSWhTOXZhutbsxeLk968EYE5xW/LGCVftW8fIdL3u0nUxVHABeqv8Sc7bPYdffu5yOYowx\nXhWncby08CXeavoWebLn8Whbma44XJfrOnrU7cGg5YOcjmKMMV41ZdMUFKVd9XYeb8uj4iAihURk\nkYhsF5GFIlIwhXYtRGSbiOwQkT4Jlr8jIltF5FcRmSkiBTzJk1Yv1H2BBTsXsP3wdl/szhhjMtyZ\n2DO8tvg13r/7fbKI53/3e7qFV4HvVbUSsAR4LXEDEckCjASaA1WBtiJS2f3xIqCqqtYEdia3fkYo\nmKsgL9Z9kTeWv+GL3RljTIb7YOUH1C1dl4blGnple54WhzBgvPv1eKB1Mm3qADtVNVpVY4Gp7vVQ\n1e9VNc7dbhXgs5sf9ajbg4jdEWz9a6uvdmmMMRni4KmDvL/qfYY09d5NRj0tDsVU9RCAqh4Eknsm\nZwiwN8H7fe5liT0OfOthnjTLnzM/L9d/mYHLBvpql8YYkyH6LenH4zUfp0LhCl7bZrbUGohIBJDw\nUWoCKNAvmebpmoggIq8Dsao6+WrtBgwYcPm1y+XC5XKlZ3eXdavTjQrDK/Dbn79RrVg1j7ZljDFO\n2HBwA3N3zGV79/gx1MjISCIjIz3erkeT4ERkK+BS1UMiUgJYqqpVErWpBwxQ1Rbu968CqqpD3e87\nA08BTVT13FX25fEkuOS899N7rI5ZzYxHZnh928YYk5FUlWZfNePByg/SrU63ZNs4NQluDtDZ/boT\nMDuZNmuAiiJSTkRyAG3c6yEiLYBXgFZXKwwZ6bnaz/HjHz+y4eAGJ3ZvjDHpNn/nfA6cPEDX27t6\nfdueFoehQKiIbAeaAkMARKSkiMwDUNWLQHfir0zaDExV1UujwCOAfECEiKwTkVEe5rlmebLnofcd\nvW3swRgTUGIvxtJrUS/eu/s9smVJdYTgmmWqeyul5J/Yf6g4oiJz286lVslaGbIPY4zxphGrRzB3\nx1wWdliISMq9RuntVrLi4DZ89XC+//175rSdk2H7MMYYbzj6z1EqjazE4scWU7149au2tRvveejp\n/zzNugPr+GX/L05HMcaYqxq8fDCtK7dOtTB4ws4cEhi1ZhTzd85nfrv5GbofY4xJr11/76LeF/XY\n/Nxmiucrnmp7O3Pwgidue4JNhzaxet9qp6MYY0yyekf05uX6L6epMHjCikMCObPl5PWGrxMeGe50\nFGOMSWLZnmWsPbCWF+u9mOH7suKQSJfburDt8DZ+2vuT01GMMeayOI2j56KeDGk6hNzZc2f4/qw4\nJJIjaw763dXPzh6MMX5l4saJ5MiagzbV2vhkf1YcktHp1k7s/ns3y6OXOx3FGGM4ff40fRf35f27\n37/qnAZvsuKQjOxZs9P/rv529mCM8Qvv/fQeDco2oH6Z+j7bpxWHFHS8tSN7j+9ladRSp6MYYzKx\nmBMxDP95OEOaee9ZDWlhxSEF2bJkI7xROOGR4QTKXBBjTPDpt7QfT9V6ihuuu8Gn+7VJcFdxIe4C\nVUdVpX+tcL4btZOYmDhCQrIwaFBnypcv59MsxpjMZ92Bddw76V52PL+DAjkLpGsb6Z0E5/1b+QWR\nbFmy8WyVbjw16RXOTtpO/A1kT7NqVTgREc9bgTDGZBhVpefCngx0DUx3YfCEdSul4uexRzgr+aHC\nCveSvOzePZD+/cc5GcsYE+Rmb5/N4TOHeaLWE47s34pDKg7EAJEDoXE4V56Cmpf9++McTGWMCWbn\nL57nlYhXGHb3sAx5VkNaWHFIRUhIFthyL+Q4BTd96156mlKl7NAZYzLGqDWjuKnwTTSv2NyxDDYg\nnYqoqGhCQ0ewO2dNaPAhjF5KhRsH2piDMSZDHDlzhMofV2ZZ52XcUvQWj7dnD/vJQFFR0fTr/yXz\ni43lpnPVmd5rlBUGY0yGeOHbF4iNi2VUS+88NdmKgw9s/WsrDcc2ZH3X9ZQpWMbRLMaY4LP98Hbu\n/PJOtnTbQrG8xbyyTUee5yAihURkkYhsF5GFIlIwhXYtRGSbiOwQkT7JfP6yiMSJSGFP8mS0KkWr\n8ELdF3h2/rM2Mc4Y43W9v+9N7zt7e60weMLTUdVXge9VtRKwBHgtcQMRyQKMBJoDVYG2IlI5weel\ngVAg2sMsPtGnQR+ij0czbfM0p6MYY4LIkqglbDq0iR51ezgdBfC8OIQB492vxwOtk2lTB9ipqtGq\nGgtMda93yQfAKx7m8JkcWXPwxf1f8NLClzhy5ojTcYwxQeBi3EV6LuzJ0GZDyZUtl9NxAM+LQzFV\nPQSgqgeB5M6FQoC9Cd7vcy9DRFoBe1V1k4c5fKpu6br8X9X/o+eink5HMcYEgfEbxpM3R14evuVh\np6NclursChGJABI+rFSInw3WL5nmae6IF5HcQF/iu5QSbjtFAwYMuPza5XLhcrnSujuvG9xkMNVG\nVWPR7kXcXeFux3IYYwLbqfOn6LekH7PazPLKsxoiIyOJjIz0eDseXa0kIlsBl6oeEpESwFJVrZKo\nTT1ggKq2cL9/lfgiMh/4HjhDfFEoDcQAdVT1z2T25fjVSol9t+s7np3/LL89+xt5c+R1Oo4xJgD9\nd+l/+f3o70x8cGKGbN+RS1lFZCjwt6oOdV+FVEhVX03UJiuwHWgKHAB+Btqq6tZE7aKAWqp6NIV9\n+V1xAOj4TUeK5SnGsObDnI5ijAkwe4/vpeZnNVnfdT1lC5bNkH04cikrMBQIFZFLX/5D3GFKisg8\nAFW9CHQHFgGbgamJC4Obkkq3kj/6oPkHTNo0iTUxa5yOYowJMH2X9OXZ25/NsMLgCZsE5wWTNk5i\n6IqhrH16LdmzZnc6jjEmAKyJWUPY1DC2d99O/pz5M2w/Tp05GKBd9XaULlCad3961+koxpgAoKr0\nXNSTNxq/kaGFwRNWHLxARPik5Se8v/J9th/e7nQcY4yfm7l1JifOnaBLzS5OR0mRFQcvKXddOf7b\n6L88Nfcp4tSe9WCMSd65C+foHdGbYXcPI2uWrE7HSZEVBy/qVrsb5y+eZ/Ta0U5HMcb4qRE/j6Bq\nsao0u7GZ01GuygakvWzzn5txjXfxa9dfCSkQ4nQcY4wf+ev0X1T5uAo/Pv4jlYtUTn0FL7BbdvuR\n8KXhbDi0gW/+7xuvzHg0xgSHbvO7kUWyMOLeET7bp12t5Ef6NuzLjiM7mLl1ptNRjDF+YstfW5i+\nZToDXAOcjpImVhwyQM5sOfmi1Rf0+LYHR/9JdsK3MSaTeSXiFV5r8BrX57ne6ShpYsUhg9xR5g4e\nrPIgvRb1cjqKMcZhi3YvYvvh7XSr3c3pKGlmxSEDvdX0LSJ+j2Dx74udjmKMccjFuIu8vOhl3gl9\nh5zZcjodJ82sOGSgAjkLMKrlKLrO68qZ2DNOxzHGOGDM+jEUzl2YByo/4HSUa2JXK/lA25ltKVOg\nDO+EvuN0FGOMD504d4JKIysxr+08/lPqP45ksKuV/NhHLT5i/IbxrDuwzukoxhgfGvLjEO6ucLdj\nhcETVhx8oFjeYrzT7B2emPMEsRdjnY5jjPGB6GPRfLb2M95s8qbTUdLFioOPPHbrYxTNU5QPVn3g\ndBRjjA+8uvhVutfuTukCpZ2Oki425uBDUUejqD26NiufWMlN19/kdBxjTAaJ3BNJ+/+1Z0f3HY4/\nQtjGHAJA+ULl6duwL0/Pe5pAL3TGmOSt3bqell+Ecf0KF10ff4+oqGinI6WLFQcf61G3B6fOn+LL\n9V86HcUY42W//76Hu95/mDM/P86m/01i0qRehIaOCMgCYd1KDthwcAOhX4Wy4ZkNlMxf0uk4xhgv\n+U/3Fqw7dwTGroCLOdxLT9O+/XtMnBjuSCZHupVEpJCILBKR7SKyUEQKptCuhYhsE5EdItIn0WfP\ni8hWEdkkIkM8yRMobi1xK0/Veornv33e6SjGGC/5Zf8vbCr4A3w9PUFhAMjL/v2B9wAwT7uVXgW+\nV9VKwBLgtcQNRCQLMBJoDlQF2opIZfdnLuB+oLqqVgfe8zBPwOjfqD+b/tzEN1u/cTqKMcZDJ86d\noM3Xbah7pCUcK5bo09OUKhV4PfieJg4DxrtfjwdaJ9OmDrBTVaNVNRaY6l4P4FlgiKpeAFDVwx7m\nCRi5suVi9P2jef7b5zl29pjTcYwx6aSqdJ3XlablmzKhz7tUqBAOnHZ/epoKFcIZNKizcwHTyaMx\nBxH5W1ULp/TevewhoLmqPu1+3wGoo6o9RGQ9MBtoAfwDvKKqv6Swr6AZc0jomXnPoKp8dv9nTkcx\nxqTDmHVj+HD1h/z85M/kzp6bqKho+vcfx/79cZQqlYVBgzpTvnw5x/Kld8whWxo2HAEUT7gIUKBf\nMs2v9ds7G1BIVeuJSG1gOnBjSo0HDBhw+bXL5cLlcl3j7vzP0GZDqTqqKsv2LKPRDY2cjmOMuQZb\n/trCq4tfZVnnZeTOnhuA8uXLOTb4DBAZGUlkZKTH2/H0zGEr4FLVQyJSAliqqlUStakHDFDVFu73\nrwKqqkNF5Fviu5WWuT/bBdRV1SPJ7CsozxwAZm2bRe+I3mx8diO5suVyOo4xJg3+if2HOl/U4cW6\nL/JErSecjpMipybBzQE6u193Ir6LKLE1QEURKSciOYA27vUAZgFNAETkZiB7coUh2LWu3JpbS9zK\nG8vecDqKMSaNXlr4EtWKVePx2x53OkqG8PTMoTDxXUFlgGjgUVU9JiIlgdGqep+7XQvgI+KL0RhV\nHeJenh34EqgJnANevnQWkcy+gvbMAeDgqYPU+KQGER0juLXErcm2udSXGRMTR0iI832ZxmRWMzbP\n4LXFr7Gu6zoK5CzgdJyrSu+Zg02C8yNj1o3h07WfsvKJlWTL8u/hoKioaEJDR7B790AgL5eugoiI\neN4KhDE+FHU0irpf1GVB+wXcXup2p+Okyu6tFAQev+1xCuQswPDVw5N81r//uASFASAvu3cPpH//\ncb6MaEymFnsxljYz2/Bag9cCojB4woqDHxERPrvvM9764S1+P/r7vz6LiYnjSmG4JDBnXhoTqF5f\n8jpF8xTlxXovOh0lw1lx8DMVC1ek95296Tqv67/u3BoSkoUrE2suCcyZl8YEou92fceU36YwrvU4\nRK65lybg2DeLH+pZvydHzhxhwoYJl5cNGtQ5aGZeGhNo9p/cT5fZXZj4wESK5CnidByfsAFpP7Xu\nwDrumXQPG5/ZSPF88XMQ/W3mpTGZwcW4i9w98W7uKnsX4S7nJrell12tFIT6RPQh+ng0Ux+e6nQU\nYzKtwcsH8/3v37P4scVkzZLV6TjXzK5WCkLhrnB+2f8Lc7fPdTqKMZnSD9E/MPLnkUx6cFJAFgZP\nWHHwY3my52H0/aPptqAbJ86dcDqOMZnKkTNHaP+/9oxpNYaQAiFOx/E561YKAE/OeZKcWXPyccuP\nnY5iTKagqrSe1pqKhSoyrPkwp+N4xLqVgti7oe/yzbZvWPHHCqejGJMpjPx5JDEnYni72dtOR3GM\nFYcAUCh3IYbfM5wn5z7JuQvnnI5jTFBbd2Adbyx/g2kPTyNH1hyprxCkrDgEiIeqPETlIpV584c3\nnY5iTNA6ee4kbb5uw4h7RlChcAWn4zjKxhwCSMyJGGp+VpPFjy2mRvEaTscxJqioKo/NeoycWXPy\nRasvnI7jNTbmkAmEFAjhw+YfEjY1jIOnDjodx5igMmHDBNbuX8vwe5Le+DIzsuIQYNrXaE+Xml1o\nObklp86fcjqOMUFh2+Ft9IroxfRHppMnex6n4/gF61YKQKrKE3Oe4M/TfzKrzawkz34wxqTd2Qtn\nqftFXbrV7sbT/3na6TheZ91KmcilW3vHxsXSfUF3rGgak34vL3yZStdX4qlaTzkdxa9YcQhQ2bNm\nZ8YjM1i1bxVDVwx1Oo4xAel/W//Ht7u+ZfT9ozPFbbivhRWHAFYgZwHmt5vPqDWjmLxpstNxjAko\ne47t4Zl5zzD14akUzFXQ6Th+x6PiICKFRGSRiGwXkYUikuwRFpEWIrJNRHaISJ8Ey2uLyM8ist79\n3+B+7l4GCCkQwvx283nxuxdZtmeZ03GMCQixF2NpN7Mdve/sTZ2QOk7H8Uuenjm8CnyvqpWAJcBr\niRuISBZgJNAcqAq0FZHK7o/fAfqp6m1AOPCuh3kyperFqzPloSk8+vWjbPlri9NxjPF74ZHhXJfr\nOnrW7+l0FL/laXEIA8a7X48HWifTpg6wU1WjVTUWmOpeD+AAcOls4zogxsM8mVbTG5vyXuh73Dvp\nXg6cPOB0HGP8VsTuCCZsmMC41uPIItaznhJPr4EspqqHAFT1oIgUS6ZNCLA3wft9xBcMiD/zWCEi\nwwAB7vAwT6bW8daORB+PpuXklizvspx8OfI5HckYv3Lw1EE6zerExAcnUixvcl9X5pJUi4OIRADF\nEy4CFOiXTPNrvaZyDPC8qs4SkYeBL4HQlBoPGDDg8muXy4XL5brG3QW/1xu+zp5je3h0xqPMaTvH\n5kAY4xancTz2zWM8WetJmpRv4nScDBMZGUlkZKTH2/FoEpyIbAVcqnpIREoAS1W1SqI29YABqtrC\n/f5VQFV1qIicUNUCCdoeV9WUBrVtElwaxV6M5f4p91O2YFk+u+8zu0TPGGDIj0NYsHMBSzotyVR/\nNDk1CW4O0Nn9uhMwO5k2a4CKIlJORHIAbRK02ykijQBEpCmww8M8hitzINbsX8PbP2be+9Ebc8lP\ne3/ig1UfMOnBSZmqMHjC06M0FJguIo8D0cCjACJSEhitqvep6kUR6Q4sIr4YjVHVbe71uwIfu4vG\nWSD45q47JH/O/MxvN5/6Y+pTtmBZOtTo4HQkYxxx9J+jtJvZjtH3j6ZMwTJOxwkYdm+lILf5z800\nHt+YaQ9Po3H5xk7HMcanVJWHpj9EmQJl+Oiej5yO4wi7t5JJVtViVZn28DTazGzD5j83Ox3HGJ/6\n5JdP2HNsD++EvuN0lIBjxSETaFy+Me/f/T4tJ7dk/8n9Tscxxic2HNxAeGQ40x6eRs5sOZ2OE3Cs\nOGQS7Wu05+n/PE3LyS05ee6k03GMyVCnzp/i/77+Pz5s/iE3XX+T03ECko05ZCKqStd5Xfnj+B/M\nbTuX7FmzOx3JmAzRZXYXAMaGjXU4ifNszMGkSkQY1XIUWSQLz81/zp4DYYLSVxu+YuXelYy8Z6TT\nUQKaFYdMJluWbEx/ZDrrDq7jzR/edDqOMV417bdpvBLxCjMemUHeHHmdjhPQrDhkQvly5GNe23l8\nse4LJmyY4HQcY7xi9NrR9FzUk4iOEVQvXt3pOAHPpgpmUiXzl2RB+wW4xrkIyR9C0xubpmm9qKho\n+vcfR0xMHCEhWRg0qDPly5fL2LDGpGLYT8MYuWYkyzovo2Lhik7HCQo2IJ3JRe6J5NEZj7Kk0xKq\nFat21bZRUdGEho5g9+6BQF7gNBUqhBMR8bwVCOMIVSU8Mpzpm6cT0THCZkAnwwakTbq4bnDxYYsP\naTm5JTEnrv44jf79xyUoDAB52b17IP37j8vomMYkEadxvPjdi8zdMZflXZZbYfAy61YytKvejj+O\n/3H5ORAFchZItl1MTBxXCsMledm/Py7DMxqT0IW4Czw19yl2HNnB0k5LuS7XdU5HCjp25mAA6HNn\nH+qVrscjMx4h9mJssm1CQrIApxMtPU2pUvZrZHzn3IVztPm6DTEnYljUYZEVhgxi/1cbIL5fcuS9\nI8mWJRvPzHsm2TkQgwZ1pkKFcK4UiPgxh0GDOvsuqMnUzsSeIWxqGHEax9y2c+1y1QxkA9LmX06d\nP4VrnIuwSmH0b9Q/yeeXrlbavz+OUqXsaiXjO8fPHuf+Kfdzw3U38GXYl/ZchjRK74C0FQeTxMFT\nB6k/pj4DGg2gU81OTscxhsNnDtN8YnPql67P8HuGk0WS7/SwS62TsuJgvGrrX1txjXcx6cFJNLux\nmdNxTCYWcyKG0K9CeaDyAwxuMjjFx97apdbJs0tZjVdVKVqFGY/MoN3Mdmw8tNHpOCaT+v3o7zQc\n25DONTvzZtM3r/o8dLvU2rusOJgU3VXuLobfM5z7Jt/HvhP7nI5jMpnNf27mrrF30fvO3vS+s3eq\n7e1Sa++y4mCuqk21NnSv052Wk1ty4twJp+OYTGJNzBqaTmjKO6Hv8Mztz6RpHbvU2rs8OmoiUkhE\nFonIdhFZKCIFU2g3RkQOicjG9KxvnPXKHa9wZ5k7eWj6QynOgTDGW5ZHL6fl5JZ8fv/ntKveLs3r\n2aXW3uXRgLSIDAWOqOo7ItIHKKSqrybTrgFwCpigqjWudX13WxuQdtCFuAs8MO0BiuQpwpetvrxq\n368x6bVg5wI6z+rMlIempPlmkAnZpdZJOXK1kohsAxqp6iERKQFEqmrlFNqWA+YmKg7Xsr4VB4ed\nPn8a13gX9910H+GucKfjmCAzffN0nv/2eWa3mU290vWcjhM0nLpaqZiqHgJQ1YNAMR+vb3wob468\nzGs7j/EbxjN2vT1+0XjPmHVjeGnhS0R0jLDC4CdSnWIoIhFA8YSLAAX6JdPc0z/tr7r+gAEDLr92\nuVy4XC57Xs5MAAAO1klEQVQPd2euVfF8xVnQfgHNJjRj6+GtDG4ymBxZczgdywSwD1Z+wEerPyKy\nUyQ3XX+T03ECXmRkJJGRkR5vx9Nupa2AK0G30FJVrZJC2+S6la5lfetW8iN/nf6LLrO7cOj0IaY8\nNMUesGKumaoycNlApvw2hYiOEZQtWNbpSEHJqW6lOUBn9+tOwOyrtBX3T3rXN36kaN6izG07l8dq\nPEb9MfX5asNXTkcyAURV6bmwJ7O2zWJ55+VWGPyQp2cOhYHpQBkgGnhUVY+JSElgtKre5243GXAB\n1wOHgHBVHZvS+insy84c/NSGgxtoM7MNt5e6nY/v/TjF50EYA3Ax7iJPz32aLYe3sKDdAgrlLuR0\npKBm91YyjjoTe4aXvnuJxVGLmfLQFGqH1HY6kvFD5y+ep8P/OvD3P38zq80s8uXI53SkoGfFwfiF\nr7d8zXPzn6PXHb3odUevFO+eaTKfM7FneHj6w+TImoOpD08lV7ZcTkfKFKw4GL/xx/E/aP+/9uTK\nlosJrSdQMn9JpyMZh504d4L7p9xP2YJl+bLVl2TPmt3pSJmG3ZXV+I2yBcuytNNS7ixzJ7U+r8WC\nnQucjmQcdPjMYZpOaErVolUZ33q8FYYAYWcOJkP9EP0DHb7pwAOVH2Bos6HkzJbT6UjGh/af3E/o\nV6G0urkVbzV9y2674gA7czB+qWG5hqzvup69J/ZS94u6bDu8zelIxkcuPYuhY42OvN3sbSsMAcaK\ng8lwhXMX5utHvubZ25+l4diGjFk3BjsLDG5b/tpCo3GNeLn+y7zaINl7aRo/Z91Kxqc2/7mZtjPb\nUrlIZT6//3Ouy3Wd05GMl63dv5b7ptzHu6Hv0qFGB6fjZHrWrWQCQtViVVn95GqK5S1GzU9r8tPe\nn5yOZLzoh+gfuGfSPXzS8hMrDAHOzhyMY+Zsn8PTc5+mW+1u9G3Yl6xZsjodyaTT6fOnGfHzCN5f\n+T6TH5pMsxubOR3JuNk8BxOQYk7E0PGbjsRpHBMfnEjpAqXTtN6lh7rExMQREmIPdXHK+Yvn+Xzt\n57z1w1s0LNeQQY0HcfP1NzsdyyRgxcEErItxFxm6Yigfrf6Iz+77jNaVW1+1fVRUNKGhI9i9eyDx\nD5SPfxxkRMTzViB85GLcRSZunMiAZQOoUqQKbzZ5k9tK3uZ0LJMMKw4m4K3at4p2M9vRomILht09\njNzZcyfbrkOHgUya1Iv4wnDJadq3f4+JE+0JdRlJVflm2zf0W9KP6/Ncz1tN4s8YjP+yAWkT8OqV\nrsf6rus5evYotUfX5rc/f0u2XUxMHP8uDAB52b8/LsMzZlaqSsTuCOp8UYfBywcz7O5hLO+83ApD\nEEv1SXDG+FLBXAWZ/OBkxm8YT+PxjRnoGsiztz/7rwlUISFZgNMkPnMoVcr+1skIK/eupO+Svuw/\nuZ/BjQfz0C0P2Q0VMwHrVjJ+a8eRHbT5ug1lC5ZlTKsxXJ/nesDGHHxl46GN9FvSjw2HNhDeKJzH\nbn2MbFns78lAY2MOJiidu3COvov7Mn3LdL564CtcN7iAK1cr7d8fR6lSdrWSN+36exfhkeEs/n0x\nrzV4ja63d7XbawcwKw4mqH236zu6zO7Ck7c9Sbgr3P6CzQAxJ2J4Y9kbzNw6kxfrvcgLdV8gf878\nTscyHrLiYILewVMH6TSrEyfPnWTyQ5O54bobnI4UFA6fOcyQH4cw9texPHnbk/Rp0IfCuQs7Hct4\niSNXK4lIIRFZJCLbRWShiBRMod0YETkkIhsTLX9HRLaKyK8iMlNE7OHDJkUl8pXg2/bf8mCVB6kz\nug7TfpvmdKSAdvLcSQZGDqTyyMqciT3Dpmc3MTR0qBUGA3h45iAiQ4EjqvqOiPQBCqlqklswikgD\n4BQwQVVrJFjeDFiiqnEiMgRQVX0thX3ZmYO5bO3+tbSd2ZbCuQsTVimMsMphVClSxW4LnQb/xP7D\nJ798wtAVQ2leoTkDXAO4sdCNHm3TZqz7L0e6lURkG9BIVQ+JSAkgUlUrp9C2HDA3YXFI9Hlr4CFV\n7ZjC51YczL+cv3ieZXuWMXv7bGZvn02ubLniC0WlMO4oc4fdqymR2IuxjPt1HG8sf4PbS93OoMaD\nqFasmsfbtavH/JtTxeFvVS2c0vtEbVMrDnOAqao6OYXPrTiYFKkq6w+uZ/a2+EIRczKGlje1JKxS\nGHdXuJu8ORJPmss84jSOab9N47+R/6VcwXK82eRN6pau67Xt24x1/5be4pDqJR8iEgEUT7gIUKBf\nMs3T9e0tIq8DsSkVBmNSIyLUKlmLWiVrMbDxQPYc28Oc7XMYuWYknWZ1otENjQirFMb9N99P8XzF\nU99gEFBV5u+cz+tLXidXtlx82vJTmt7Y1Ov7sRnrwSnV4qCqoSl95h5kLp6gW+nPaw0gIp2Be4Em\nqbUdMGDA5dculwuXy3WtuzOZxA3X3UCPuj3oUbcHR/85yoKdC5izYw69FvXilqK3XB6nqFwk2V7Q\ngLdszzL6LunL8bPHebPJm7Sq1CrDxmNsxrp/iYyMJDIy0uPteGNA+m9VHXq1AWl32xuI71aqnmBZ\nC2AYcJeqHkllX9atZDx27sI5IvdEMnv7bOZsn0PeHHkvj1PUK10v4Mcp1u5fy+tLXmfHkR280fgN\n2lZrm+H/Jhtz8G9OjTkUBqYDZYBo4FFVPSYiJYHRqnqfu91kwAVcDxwCwlV1rIjsBHIAlwrDKlV9\nLoV9WXEwXqWqrD2w9vI4xaHTh7jvpvsIqxxGsxubkSd7HqcjpupC3AUOnDxA1LEohq8ezsp9K+nX\nsB9P1HqCHFlz+CyHzVj3XzYJzhgPRR2Nunzl09r9a2lSvglhlcK47+b7KJq3qM/znL1wlpgTMew7\nse/yT8zJmH+9/uv0XxTNW5SQ/CE8fMvDdK/TPSCKmvEdKw7GeNHf//zNgp0LmL19NhG7I6hevDph\nlcJoVanV5SedeXJt/4lzJ+K/4K/y5X/y/ElC8ocQUiCE0gVKUzp/6Suv3T8l8pWwW4mYq7LiYEwG\nOXvhLEujll4epyiYqyCNiruY995xYn7+DDQ/l/rZFy3qToES+f79hX8ihn0n//0+TuP+9SUfkv/K\nl/6lAlAkTxG7NbbxmBUHY3wgTuP4Zf8vPP5OLzZfOAx5/oa9d0DuI1BgL1mu+4Pr8hZM8oWf+H2B\nnAVsNrfxiQyb52CMuSKLZKFOSB2KbmwMkQOh0G4o9QucLg4nStPgti9Z9v1bTsc0xmNWHIxJh8vX\n9h+tEP8DwGnKlMjp8yx2XyOTEaxbyZh08Jdr+/0lh/FfNuZgjI/5w7X9dl8jkxobczDGx8qXL+f4\nF7Dd18hkFLtOzpgAduW+RgnZfY2M5+w3yJgANmhQZypUCOdKgYgfcxg0qLNjmUxwsDEHYwKcP4x9\nGP9lA9LGGGOSSG9xsG4lY4wxSVhxMMYYk4QVB2OMMUlYcTDGGJOEFQdjjDFJWHEwxhiThBUHY4wx\nSXhUHESkkIgsEpHtIrJQRAqm0G6MiBwSkY0pfP6yiMSJSGFP8hhjjPEOT88cXgW+V9VKwBLgtRTa\njQWaJ/eBiJQGQoFoD7NkGpGRkU5H8Bt2LK6wY3GFHQvPeVocwoDx7tfjgdbJNVLVH4GjKWzjA+AV\nD3NkKvaLf4UdiyvsWFxhx8JznhaHYqp6CEBVDwLFrmVlEWkF7FXVTR7mMMYY40WpPs9BRCKA4gkX\nAQr0S6Z5mm9+JCK5gb7Edykl3LYxxhiHeXTjPRHZCrhU9ZCIlACWqmqVFNqWA+aqag33+2rA98AZ\n4otCaSAGqKOqfyazvt11zxhj0sGJJ8HNAToDQ4FOwOyrtBUSnBmo6m9AicsfikQBtVQ12bGJ9Pzj\njDHGpI+nYw5DgVAR2Q40BYYAiEhJEZl3qZGITAZ+Am4WkT9EpEsy21KsW8kYY/xCwDzPwRhjjO/4\n3QxpEWkhIttEZIeI9EmhzXAR2Skiv4pITV9n9JXUjoWItBORDe6fH0WkuhM5M1pafifc7WqLSKyI\nPOjLfL6Uxv8/XCKyXkR+E5Glvs7oK2n4/+N6EfnW/T2xSUQ6OxDTJ1KbaOxuc23fm6rqNz/EF6td\nQDkgO/ArUDlRm3uA+e7XdYFVTud28FjUAwq6X7cIxmORluOQoN1iYB7woNO5HfydKAhsBkLc74s4\nndvBYxEOvH3pOABHgGxOZ8+g49EAqAlsTOHza/7e9LczhzrATlWNVtVYYCrxE+0SCgMmAKjqaqCg\niBQn+KR6LFR1laoed79dBYT4OKMvpOV3AuB54GsgyZVuQSQtx6IdMFNVYwBU9bCPM/pKWo7FQSC/\n+3V+4IiqXvBhRp/Rq080hnR8b/pbcQgB9iZ4v4+kX3iJ28Qk0yYYpOVYJPQk8G2GJnJGqsdBREoB\nrVX1E4L7ooa0/E7cDBQWkaUiskZEOvosnW+l5ViMBqqKyH5gA/CCj7L5o2v+3vT0UlbjB0SkMdCF\n+FPLzOhDIGGfczAXiNRkA2oBTYC8wEoRWamqu5yN5YjXgA2q2lhEKgARIlJDVU85HSwQ+FtxiAHK\nJnh/aWJc4jZlUmkTDNJyLBCRGsDnQAtNYY5IgEvLcbgdmCoiQnzf8j0iEquqc3yU0VfSciz2AYdV\n9SxwVkSWA7cS3z8fTNJyLO4E3gRQ1d3uuVSVgV98ktC/XPP3pr91K60BKopIORHJAbQhfqJdQnOA\nxwBEpB5wTN33dwoyqR4LESkLzAQ6qupuBzL6QqrHQVVvdP+UJ37c4bkgLAyQtv8/ZgMNRCSriOQh\nfvBxq49z+kJajsVWoBmAu3/9ZuB3n6b0rX9NNE7kmr83/erMQVUvikh3YBHxhWuMqm4Vka7xH+vn\nqrpARO4VkV3AaeK7U4JOWo4F0B8oDIxy/9Ucq6p1nEvtfWk8Dv9axechfSSN/39sE5GFwEbgIvC5\nqm5xMHaGSOPvxdvAWBHZQPyXZm9V/du51BnHPdHYBVwvIn8Qf6VWDjz43rRJcMYYY5Lwt24lY4wx\nfsCKgzHGmCSsOBhjjEnCioMxxpgkrDgYY4xJwoqDMcaYJKw4GGOMScKKgzHGmCT+H0QpvJnXJERk\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xc04ddd8>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xc7cf240>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# This problem is divided into two parts\n", + "#Part _1\n", + "#Given\n", + "l = 1.0 #l - The length of the beam\n", + "p = 1.0 #W - The total load applied\n", + "#since it is triangular distribution \n", + "l_com = 0.66*L #l - The distance of force of action from one end\n", + "#F_Y = 0\n", + "#R_A + R_B = p\n", + "#M_a = 0 Implies that R_B = 2*R_A\n", + "R_A = p/3.0\n", + "R_B = 2.0*p/3\n", + "\n", + "#Taking Many sections \n", + "\n", + "#Section 1----1\n", + "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = p*(l[i]**2) - p/3.0\n", + " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n", + "\n", + "v[10] = R_B #again concluded Because the value is tearing of \n", + "\n", + "\n", + "#Graph\n", + "import numpy as np\n", + "values = M\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "import numpy as np\n", + "values = v\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "\n", + "#part B\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_2.ipynb new file mode 100644 index 00000000..aa2f8723 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter11_2.ipynb @@ -0,0 +1,375 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1a88ac8a4ae99a352f7f49d975099441ec02a55d62cfaa2e8c07de364172180d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11:Stability of Equilibrium: columns "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 page number 589"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "h = 60 #mm - the length of the crossection \n",
+ "b = 100 #mm - the width of hte crossection \n",
+ "E = 200 #Gpa - The youngs modulus\n",
+ "stress_cr = 250 #Mpa - The proportionality limit\n",
+ "#Caliculations \n",
+ "\n",
+ "I = b*(h**3)/12 #mm3 The momentof inertia of the crossection\n",
+ "A = h*b #mm2 - The area of teh crossection \n",
+ "#From Eulier formula\n",
+ "r_min = pow((I/A),0.5) #mm - The radius of the gyration \n",
+ "#(l/r)**2= (pi**2)*E/stress_cr #From Eulier formula\n",
+ "l = (((math.pi**2)*E*(10**3)/stress_cr)**0.5)*r_min #mm - the length after which the beam starts buckling\n",
+ "print \"The length after which the beam starts buckling is \",round(l,0),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The length after which the beam starts buckling is 1539.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 page number 613"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation \n",
+ "#According to AISC formulas \n",
+ "if C_s <C_c :\n",
+ " print \"a)The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees \n",
+ "print \"a) The allowable stress in this case is\",round(Stress_all,2),\"Kips\" \n",
+ "#Part - B\n",
+ "#Given\n",
+ "L = 40 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation \n",
+ "#According to AISC formulas \n",
+ "if C_s <C_c :\n",
+ " print \"b) The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees \n",
+ "print \"b) The allowable stress in this case is\",round(Stress_all,2),\"Kips\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The following approch is solvable\n",
+ "a) The allowable stress in this case is 18.9 Kips\n",
+ "b) The following approch is solvable\n",
+ "b) The allowable stress in this case is 11.59 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.7 page number 614"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15 #ft - The length of the each rod \n",
+ "p = 200 #Kips The concentric load applied \n",
+ "r_min = 2.10 #in - The radius of gyration\n",
+ "stress_yp = 50 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "C_c = ((2*(math.pi**2)*E/stress_yp)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min #Slenderness ratio L/R present situation\n",
+ "if C_s <C_c :\n",
+ " print \"a)The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_S = 5.0/3 +3*C_s/(8*C_c) -(3*C_s**3)/(8*C_c**3) #Safety factor \n",
+ "Stress_all = (1 - (C_s**2)/(2*C_c**2))*stress_yp/F_S #The allowable strees\n",
+ "a = p/Stress_all #in2 the alloawble area of the beam \n",
+ "print \"The allowable stress in this case is\",round(Stress_all,2),\"Kips\"\n",
+ "print \"This stress requires \",round(a,2),\"in2\"\n",
+ "if a <11.5:\n",
+ " print \"This case is satisfying W8x24 section\" #From AISC Manual \n",
+ "else:\n",
+ " print \"This case is not satisfying W8x24 section\"\n",
+ " #The ans are quiet varying because of rounding\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a)The following approch is solvable\n",
+ "The allowable stress in this case is 19.14 Kips\n",
+ "This stress requires 10.45 in2\n",
+ "This case is satisfying W8x24 section\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.8 pagenumber 614 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 15.0 #ft - The length of the each rod\n",
+ "A = 46.7 #in2 - The length of the crossection \n",
+ "r_min = 4 #in - The radius of gyration\n",
+ "stress_yp = 36.0 #Ksi - the yielding point stress\n",
+ "E = 29*(10**3) #ksi - The youngs modulus\n",
+ "lamda = L*12*((stress_yp/E)**0.5)/(4*(math.pi)) #column slenderness ratio\n",
+ "if lamda<1.5:\n",
+ " print \"The following approach is right\"\n",
+ "else:\n",
+ " print \"The following approach is wrong\"\n",
+ "stress_cr = (0.658**(lamda**2))*stress_yp #Ksi - The critical stress \n",
+ "P_n = stress_cr*A #Kips #Nominal compressive strength \n",
+ "o = 0.85 #Resistance factor\n",
+ "p_u = o*P_n #Kips ,column design compressive strength \n",
+ "print \"column design compressive strength \",p_u,\"Kips\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The following approach is right\n",
+ "column design compressive strength 1284.51846781 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.9 page number 615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#FOR FLANGS\n",
+ "l = 5 #in - The length of the flang\n",
+ "b = 5 #in - Teh width of the flang\n",
+ "t = 0.312 #in - the thickness of the flang\n",
+ "L = 20 #in - Length of the beam, Extracted from AISC manuals\n",
+ "A = 4.563 #in2 - The area of crossection of the beam\n",
+ "r = 1.188 #in - radius of the gyration, Extracted from AISC manuals \n",
+ "#b/t- value of the flang \n",
+ "k = (5 -t)/(2*t) #b/t ratio \n",
+ "#AISC, lets check maximum allowable stress for slang\n",
+ "Stressf_all = 23.1 - 0.79*k #ksi The maximum allowable stress in case of flang,AISC\n",
+ "\n",
+ "#web width thickness ratio\n",
+ "k_2 = (5 -2*t)/(t)\n",
+ "if k_2<16:\n",
+ " Stressw_all = 19 #ksi - The allowable stress in case of web width\n",
+ " \n",
+ "#a) Overall buckling investment \n",
+ "k_3 = L/r #slenderness ratio\n",
+ "Stressb_all = 20.2 - 0.216*k_3#ksi The maximum allowable stress in case of Buckling,AISC\n",
+ "p_allow = A*Stressb_all #Kips The allowable concentric load \n",
+ "\n",
+ "#b) Overall buckling investment\n",
+ "L_2 = 60 #in \n",
+ "k_3 = L_2/r #slenderness ratio\n",
+ "Stressb_all_2 = 20.2 - 0.126*k_3#ksi The maximum allowable stress in case of Buckling,AISC\n",
+ "p_allow_2 = A*Stressb_all_2 #Kips The allowable concentric load \n",
+ "\n",
+ "print \"The maximum allowable stress in case of web width\",round(Stressw_all,2),\"Ksi\"\n",
+ "print \"The maximum allowable stress in case of flang\",round(Stressf_all,2),\"Ksi\"\n",
+ "print \"a) The maximum allowable load in case of Buckling\",round(p_allow,2),\"Kips\"\n",
+ "print \"b) The maximum allowable load in case of Buckling\",round(p_allow_2,2),\"Kips\"\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable stress in case of web width 19.0 Ksi\n",
+ "The maximum allowable stress in case of flang 17.16 Ksi\n",
+ "a) The maximum allowable load in case of Buckling 75.58 Kips\n",
+ "b) The maximum allowable load in case of Buckling 63.14 Kips\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11 page number 620 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "P = 200.0 #K The force on the beam \n",
+ "L = 15 #ft - The length of the rod\n",
+ "F_y = 50.0 #Ksi \n",
+ "F_a = F_y/(5.0/3) #Ksi -AISC MANUAL ,allowable axial stress if axial force is alone\n",
+ "F_b = F_a #Allowable compressive bending stress\n",
+ "M_1 = 600.0 #k-in - The moment acting on the ends of the rod\n",
+ "M_2 = 800.0 #k-in - the moment acting on the other end of teh rod\n",
+ "B_x = 0.264 #in - Extracted from AISC manual \n",
+ "A = P/F_a + M_2*B_x/F_b #in2- The minimum area \n",
+ "print \"The minimum area is \",round(A,2),\"in2\"\n",
+ "#we will select W10x49 section \n",
+ "A_s = 14.4 #in2 - The area of the section \n",
+ "r_min = 2.54 #in The minimum radius \n",
+ "r_x = 4.35 #in \n",
+ "f_a = P/A_s #Ksi- The computed axial stress\n",
+ "f_b = M_2*B_x/A_s #Computed bending stess\n",
+ "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n",
+ "if C_s <C_c :\n",
+ " print \"The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_a_1 = 19.3 #Ksi - AISC lets try this\n",
+ "c_m = 0.6 - 0.4*(-M_1/M_2) \n",
+ "F_e = (12*(math.pi**2)*E)/(23*(L*12/r_x)**2) \n",
+ "k = f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b #Condition mentioned in AISC\n",
+ "if k>1:\n",
+ " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n",
+ "else:\n",
+ " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",k,\"<1\"\n",
+ " \n",
+ "#trail - 2\n",
+ "#Lets take W10 x 60\n",
+ "A_s = 17.6 #in2 - The area of the section \n",
+ "r_min = 2.57 #in The minimum radius \n",
+ "r_x = 4.39 #in \n",
+ "f_a = P/A_s #Ksi- The computed axial stress\n",
+ "f_b = M_2*B_x/A_s #Computed bending stess\n",
+ "C_c = ((2*(math.pi**2)*E/F_y)**0.5) #Slenderness ratio L/R\n",
+ "C_s = L*12/r_min # Slenderness ratio L/R of the present situation\n",
+ "if C_s <C_c :\n",
+ " print \"The following approch is solvable\"\n",
+ "else: \n",
+ " print \"The caliculation is not possible\"\n",
+ "F_a_1 = 19.3 #Ksi - AISC lets try this\n",
+ "c_m = 0.6 - 0.4*(-M_1/M_2) \n",
+ "F_e = (12*(math.pi**2)*E)/(23*(L*12/r_x)**2) \n",
+ "k = f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b #Condition mentioned in AISC\n",
+ "if k>1:\n",
+ " print \"The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,3),\">1\"\n",
+ "else:\n",
+ " print \"The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b\",round(k,2),\"<1\"\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum area is 13.71 in2\n",
+ "The following approch is solvable\n",
+ "The following W10x49 section is not satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b 1.09 >1\n",
+ "The following approch is solvable\n",
+ "The following W10x49 section is satisfying our constraints since f_a/F_a_1 + c_m*f_b*(1-(f_a/F_e))/F_b 0.9 <1\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_2.ipynb new file mode 100644 index 00000000..13fb52c7 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter12_2.ipynb @@ -0,0 +1,405 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:aaf5a5f62a391d916c40aa2d720de6a3e7681d1c9c64ec2fdbeff148819b3c75"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Chapter 12:Energy and Virtual-work Methods"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 page number 645 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading\n",
+ "F_ab = 2500 #lb\n",
+ "F_bc = -2500 #lb\n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "#Part_a\n",
+ "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #in the deflection\n",
+ "if e_a<0:\n",
+ " print \"a) The deflection is downwards\",round(-e_a,3),\"in\"\n",
+ "else:\n",
+ " print \"a) The deflection is upwards\",round(e_a,3),\"in\"\n",
+ "#part-b\n",
+ "x = 0.125 #Shortening of member Ab\n",
+ "e_b = p_ab*(-x) + p_bc*0 #in - in\n",
+ "if e_b<0:\n",
+ " print \"b) The deflection is downwards\",round(-e_b,3),\"in\"\n",
+ "else:\n",
+ " print \"b) The deflection is upwards\",round(e_b,3),\"in\"\n",
+ "#Part-c\n",
+ "S = 6.5*(10**-6) #Thermal specific heat\n",
+ "T = 120 #F - The cahnge in temperature\n",
+ "e_t = -S*T*l_ab #in - The change in length of member\n",
+ "e_c = p_bc*e_t #in the deflection\n",
+ "if e_c<0:\n",
+ " print \"c) The deflection is downwards\",round(-e_c,3),\"in\"\n",
+ "else:\n",
+ " print \"c) The deflection is upwards\",round(e_c,3),\"in\"\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The deflection is downwards 0.044 in\n",
+ "b) The deflection is upwards 0.104 in\n",
+ "c) The deflection is downwards 0.039 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 page number 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "#Two parts \n",
+ "#Part -1 \n",
+ "p_ab = 5 #KN The recorded virtual loading\n",
+ "p_bc = -4 #KN The recorded virtual loading\n",
+ "F_ab = 10 #KN\n",
+ "F_bc = -8 #KN\n",
+ "l_ab = 2.5 #mt - The length of the rod\n",
+ "l_bc = 2 #mt - The length of the rod\n",
+ "A_ab = 5*(10**-4) #mt2 the areaof ab\n",
+ "A_bc = 5*(10**-3) #mt2 the areaof bc\n",
+ "E = 70 #Gpa The youngs modulus of the material\n",
+ "e_a =(p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E))*(10**-6) #KN-m\n",
+ "#Part -2 due to flexure\n",
+ "I = 60*10**6 #mm4 - the moment of inertia \n",
+ "#After solving the integration \n",
+ "e_b = 0.01525 #KN-m\n",
+ "#Total\n",
+ "e = (e_a+e_b)*1 #m\n",
+ "print \"The point C deflects\",round(e,3),\"mt down\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The point C deflects 0.019 mt\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 page number 651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading Without f_d\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading\n",
+ "F_ab = 2500 #lb\n",
+ "F_bc = -2500 #lb\n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "#Part_a\n",
+ "e_a =p_ab*l_ab*F_ab/(A_ab*E) + p_bc*l_bc*F_bc/(A_bc*E) #lb-in the deflection\n",
+ "#With f_d\n",
+ "p_bd = 1 #lb The recorded virtual loading \n",
+ "F_bd = 1 #lb\n",
+ "l_bd = 40 #in - The length of the rod\n",
+ "A_bd = 0.1 #in2 the areaof ab\n",
+ "e_a_1 =p_ab*p_ab*l_ab/(A_ab*E) + p_bc*p_bc*l_bc/(A_bc*E) +p_bd*p_bd*l_bd/(A_bd*E) #lb-in the deflection\n",
+ "#Since the produced defelection should compensate the other one\n",
+ "x_d = e_a/e_a_1\n",
+ "print \"The reaction force at D is\",round(-x_d,2),\"lb\"\n",
+ "\n",
+ "#Part - B\n",
+ "e_b = -x_d*l_bd/(A_bd*E ) #in - The deflection of nodal point B\n",
+ "print\"The deflection of nodal point B\",round(e_b,4),\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction force at D is 1578.98 lb\n",
+ "The deflection of nodal point B 0.0211 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 page number 655"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading \n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "K_1 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "K_2 = A_bc*E/l_bc #k/in - Stiffness\n",
+ "#soving for e_1 and e_2 gives a liner euations to solve\n",
+ "# 128*e_1 + 24*e_2 = 0\n",
+ "#24*e_1 + 72*e_2 = -3\n",
+ "#Solving for e_1,e_2\n",
+ "a = np.array([[128,24], [24,72]])\n",
+ "b = np.array([0,-3])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "e_1 = x[0] #in\n",
+ "e_2 = x[1] #in\n",
+ "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n",
+ "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n",
+ "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n",
+ "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n",
+ "print \"The reaction at A \",F_1,\"k\"\n",
+ "print \"The reaction at B \",F_2,\"k\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A 2.5 k\n",
+ "The reaction at B -2.5 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7 page number 655"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Virtual loading\n",
+ "p_ab = -0.833 #lb The recorded virtual loading\n",
+ "p_bc = + 0.833 #lb The recorded virtual loading \n",
+ "l_ab = 60 #in - The length of the rod\n",
+ "l_bc = 60 #in - The length of the rod\n",
+ "A_ab = 0.15 #in2 the areaof ab\n",
+ "A_bc = 0.25 #in2 the areaof bc\n",
+ "E = 30*(10**6) #psi The youngs modulus of the material\n",
+ "K_1 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "K_2 = A_bc*E/l_bc #k/in - Stiffness\n",
+ "p_bd = 1 #lb The recorded virtual loading \n",
+ "F_bd = 1 #lb\n",
+ "l_bd = 40 #in - The length of the rod\n",
+ "A_bd = 0.1 #in2 the areaof ab\n",
+ "K_3 = A_ab*E/l_ab #k/in - Stiffness\n",
+ "#soving for e_1 and e_2 gives a liner euations to solve\n",
+ "# 128*e_1 + 24*e_2 = 0\n",
+ "#24*e_1 + 72*e_2 = -3\n",
+ "#Solving for e_1,e_2\n",
+ "a = np.array([[128,24], [24,147]])\n",
+ "b = np.array([0,-3])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "e_1 = x[0] #in\n",
+ "e_2 = x[1] #in\n",
+ "u_1 = 0.8*e_1 - 0.6*e_2 #Taking each components\n",
+ "F_1 = K_1*u_1*(10**-3) #k The reaction at A Force = stiffness x dislacement \n",
+ "u_2 = 0.8*e_1 + 0.6*e_2 #Taking each components\n",
+ "F_2 = K_2*u_2*(10**-3) #k The reaction at B Force\n",
+ "u_3 = e_2 #Taking each components\n",
+ "F_3 = K_3*u_3*(10**-3) #k The reaction at D Force\n",
+ "print \"The reaction at A \",round(F_1,2),\"k\"\n",
+ "print \"The reaction at B \",round(F_2,2),\"k\"\n",
+ "print \"The reaction at D \",round(F_3,2),\"k\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A 1.18 k\n",
+ "The reaction at B -1.18 k\n",
+ "The reaction at D -1.58 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 page number 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#First we will solve part B\n",
+ "u_1 =5 #L/AE, elastic elongation\n",
+ "u_2 =25 #L/AE,elastic elongation\n",
+ "f_1 = u_1#, Units got neutralized , Constitutive relation for elastic bars\n",
+ "f_2 = u_2# Units got neutralized\n",
+ "#u_1 = 0.8*e_1 - 0.6*e_2\n",
+ "#u_2 = 0.8*e_1 + 0.6*e_2\n",
+ "#u = A*e Matric multiplication \n",
+ "A = np.array([[0.8,-0.6],[0.8,0.6]]) #The matrix form of A\n",
+ "F = np.array([[f_1],[f_2]])\n",
+ "P = np.dot((A.T),F) #Nodal forces matrix\n",
+ "print \"b) The vertical component of the nodal force is\",P[1],\"\"\n",
+ "print \"b) The vertical component of the nodal force is\",P[0],\"\"\n",
+ "#Part A\n",
+ "#F_1 = (5/8.0)*P_1 - (5/6.0)*p_2 , From statics\n",
+ "#F_1 = (5/8.0)*P_1 + (5/6.0)*p_2\n",
+ "#F = BP ,Matric multiplication \n",
+ "B = np.array([[(5/8.0),-(5/6.0)],[(5/8.0),(5/6.0)]]) #The matrix form of A\n",
+ "U = np.array([[u_1],[u_2]])\n",
+ "e = P = np.dot((B.T),U) #L/AE, Nodal forces matrix\n",
+ "print \"a) The components of displacement of point B are\",round(e[0],2),\"L/AE and\",round(e[1],2),\"L/AE\" \n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b) The vertical component of the nodal force is [ 12.] \n",
+ "b) The vertical component of the nodal force is [ 24.] \n",
+ "a) The components of displacement of point B are 18.75 L/AE and 16.67 L/AE\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 page number 667"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "A_1 = 0.125 #in2 , The area of the crossection of AB\n",
+ "A_2 = 0.219 #in2 , The area of the crossection of BC\n",
+ "l_1 = 3*(5**0.5) #in , The length of AB\n",
+ "l_2 = 6*(2**0.5) #in , The length of BC\n",
+ "p = 3 #k , Force acting on the system \n",
+ "E = 10.6*(10**3) #Ksi - youngs modulus of the material\n",
+ "p_1 = (5**0.5)*p/3 #P, The component of p on AB\n",
+ "p_2 = -2*(2**0.5)*p/3 #P, The component of p on AB\n",
+ "\n",
+ "e = p_1*l_1*p_1/(p*E*A_1) + p_2*l_2*p_2/(p*E*A_2) #in, By virtual deflection method \n",
+ "print \"The deflection is\",round(e,3),\"in\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The deflection is 0.018 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_1.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_1.ipynb new file mode 100644 index 00000000..eee745f5 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter13_1.ipynb @@ -0,0 +1,215 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:996c8013a65a6364550b3850a6d724fb8ccb944aba88d1755142b6b2b68c6a46"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13: Statically Indeterminate Problems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 page number 693"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#First we will solve without the reaction at middle\n",
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #2L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "Y_min = 16*min(Y)\n",
+ "print \"a) The maximum displacement in y direction is\",16*min(Y),\"W(l**4)/EI \"\n",
+ "print \"a) The maximum deflection occured at\",2*l_1[Y.index(min(Y))],\"L\"\n",
+ "f_bb = 2**3/48.0 #l**3/EI - flexibility coefficient\n",
+ "Reac = - Y_min/f_bb #WL , The reaction at the mid of the bar\n",
+ "print \"The reaction at the mid of the bar\",Reac ,\"WL\"\n",
+ "\n",
+ "#Graphs \n",
+ "Y.extend(Y) #Because of symmetry\n",
+ "import numpy as np\n",
+ "values = Y \n",
+ "y = np.array(values)\n",
+ "t = np.linspace(0,1,22)\n",
+ "poly_coeff = np.polyfit(t, y, 2)\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(t, y, 'o')\n",
+ "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n",
+ "plt.show()\n",
+ "print \"b)The above graph is beam displacement graph\"\n",
+ "print \"b)The minimum occures in the middle from the above graph \"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a) The maximum displacement in y direction is -0.208333333333 W(l**4)/EI \n",
+ "a) The maximum deflection occured at 1.0 L\n",
+ "The reaction at the mid of the bar 1.25 WL\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fad208>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "b)The above graph is beam displacement graph\n",
+ "b)The minimum occures in the middle from the above graph \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 page number 694 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#First we will solve without the reaction at middle\n",
+ "#Given\n",
+ "import numpy\n",
+ "l_ab = 1.0 #2L in - The length of the beam\n",
+ "F_D = 1.0 #W lb/in - The force distribution \n",
+ "F = F_D*l_ab #WL - The force applied\n",
+ "#Beause of symmetry the moment caliculations can be neglected\n",
+ "#F_Y = 0\n",
+ "R_A = F/2 #wl - The reactive force at A\n",
+ "R_B = F/2 #wl - The reactive force at B\n",
+ "#EI - The flxure rigidity is constant and 1/EI =1 # k\n",
+ "\n",
+ "#part - A\n",
+ "#section 1--1\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "v = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " v[i] = R_A - F_D*l_1[i] \n",
+ " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2\n",
+ "# (EI)y'' = M_1[i] we will integrate M_1[i] twice where variable is l_1[i]\n",
+ "#(EI)y'- \n",
+ "\n",
+ "M_1_intg1 = R_A*(l_1[i]**2)/4 - F_D*(l_1[i]**3)/6 - F_D*(l_ab**3)*l_1[i]/24 #integration of x**n = x**n+1/n+1\n",
+ "#(EI)y- Using end conditions for caliculating constants \n",
+ "\n",
+ "M_1_intg2 = R_A*(l_1[i]**3)/12.0 - F_D*(l_1[i]**4)/24.0 + F_D*(l_ab**3)*l_1[i]/24.0 \n",
+ "#Equations \n",
+ "\n",
+ "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.2L distance \n",
+ "M_1_intg2 = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "Y = [0,0,0,0,0,0,0,0,0,0,0]\n",
+ "for i in range(10):\n",
+ " M_1_intg2[i] = (l_1[i]**3)/12.0 - (l_1[i]**4)/24.0 - l_1[i]/24.0 # discluding every term for ruling out float values\n",
+ " Y[i] = M_1_intg2[i] #W(l**4)/EI k = 1/EI\n",
+ "e_1 = 16*min(Y) #WL4/EI - The maximum defection \n",
+ "e_2 = - F_D*((2*l_ab)**3)/24.0 #WL3/EI - The maximum angle\n",
+ "#Caliculating for momentum and force\n",
+ "f_ab = ((2*l_ab)**2)/16.0 #L2/EI \n",
+ "f_bb = ((2*l_ab)**3)/48.0 #L3/EI \n",
+ "f_aa = 2*l_ab/3.0 #L/EI\n",
+ "f_ba = ((l_ab)**2)/4.0 #L2/EI\n",
+ "#F*X = e - Matrix multiplication \n",
+ "#Solving for X\n",
+ "a = np.array([[f_aa,f_ba], [f_ba,f_bb]])\n",
+ "b = np.array([e_2,e_1])\n",
+ "x = np.linalg.solve(a, b)\n",
+ "print \"The reactive moment at A i.e M_A\",x[0],\"WL**2\"\n",
+ "print \"The reactive force at A i.e R_A\",x[1],\"WL\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactive moment at A i.e M_A -0.0714285714286 WL**2\n",
+ "The reactive force at A i.e R_A -1.14285714286 WL\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_2.ipynb new file mode 100644 index 00000000..5c92d3ed --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter2_2.ipynb @@ -0,0 +1,327 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f3ccf4fb6d13add26a342446f0908b75d3a6a82c442b340e601708c15ec3ca4f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2:Axial strains and Deformations in bars "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1 page number 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l_ob = 2000 #mm - length of rod ob\n",
+ "l_bc = 1000 #mm - length of rod bc\n",
+ "l_cd = 1500 #mm - length of rod cd\n",
+ "p_ob = 100 #kN - Force in rods \n",
+ "p_bc = -150 #KN\n",
+ "p_cd = 50 #KN \n",
+ "A_ob = 1000 #mm2 - Area of rod ob\n",
+ "A_bc = 2000 #mm2 - Area of rod bc \n",
+ "A_cd = 1000 #mm2 - Area of rod cd\n",
+ "E = 200.0 #GPA \n",
+ "# the total deflection is algebraic sums of `deflection in each module \n",
+ "e_1 = p_ob*l_ob/(A_ob*E)\n",
+ "e_2 = p_bc*l_bc/(A_bc*E)\n",
+ "e_3 = p_cd*l_cd/(A_cd*E)\n",
+ "#All units are satisfied \n",
+ "e_total = e_1+ e_2 + e_3\n",
+ "print \"The total deflection is :\",round(e_total,3) ,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total deflection is : 1.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 77
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4 page number 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "p_app = 3 #Kips - applied force \n",
+ "P_A = 2.23 #Kips \n",
+ "p_B = -2.83 #kips - compressive force\n",
+ "l_ab = 6.71 #inch\n",
+ "l_bc = 8.29 #inch\n",
+ "s_ab = 17.8 #ksi - tensile stress\n",
+ "s_bc = -12.9 #ksi - compressive stress\n",
+ "E = 10.6 * pow(10,3) #ksi -youngs modulus \n",
+ "e_ab = s_ab*l_ab/E\n",
+ "\n",
+ "e_bc = s_bc*l_bc/E\n",
+ "x = e_ab/e_bc #the Ratio of cosines of the deflected angles \n",
+ "# t_1 and t_2 be deflected angles \n",
+ "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n",
+ "#t_1 = 52.2 degress\n",
+ "import math\n",
+ "e = e_ab/math.acos(math.radians(52.2)) #inch\n",
+ "k = p_app/e # kips/in vertical stiffness of the combination\n",
+ "print \"The vertical stiffness of the combination is\",round(k,3),\"kips/inch\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.0112677358491\n",
+ "The vertical stiffness of the combination is 113.14 kips/inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6 page number 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "dia = 50 #mm - diameter of aluminium \n",
+ "p = 100 # KN - instant force applid\n",
+ "dia_c = 0.1215 #mm- change in diameter \n",
+ "l_c = 0.219 #mm - change in length\n",
+ "l = 300 #mm - length \n",
+ "strain_dia = dia_c/dia # lateral strain \n",
+ "strain_l = l_c/l #longitudinal strain \n",
+ "po = strain_dia/strain_l # poission ratio \n",
+ "area = 3.14*dia*dia/4 #mm2 area\n",
+ "E = p*l/(area*l_c) #N/mm2 youngs modulus \n",
+ "print \"The lateral strain is:\",strain_dia,\"no units\"\n",
+ "print \"The longitudinal strain is:\",strain_l,\"no units\"\n",
+ "print \"The poissions ratio is:\",po,\"no units\"\n",
+ "print \"Youngs modulus:\",round(E,2),\"N/mm2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lateral strain is: 0.00243 no units\n",
+ "The longitudinal strain is: 0.00073 no units\n",
+ "The poissions ratio is: 3.32876712329 no units\n",
+ "Youngs modulus: 69.8 N/mm2\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7 page number 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "T = 12.9*pow(10,-6) #/F\n",
+ "t = 100.00 # F \n",
+ "e_ab = T*t*l_ab #in-elongation \n",
+ "e_bc = T*t*l_bc #in-elongation\n",
+ "k = e_ab/e_bc # ratio of cosines of deflected angles \n",
+ "# t_1 and t_2 be deflected angles \n",
+ "#t_2 = 180-45-26.6-t_1 the sum of angles is 360\n",
+ "t_1 = 26.6\n",
+ "import math\n",
+ "e = e_ab/math.acos(math.radians(26.6))\n",
+ "print \"The displacement in point B is :\",e ,\"in\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement in point B is : 0.00795578950395 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.11 page number "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mass = 4 #kg \n",
+ "dist = 1 #mt freely falling distance\n",
+ "l = 1500 #mm length of rod\n",
+ "d = 15 #mm diameter\n",
+ "E = 200 #GPA youngs modulus \n",
+ "k = 4.5 # N/mm stiffness costant\n",
+ "F = mass*9.81# The force applying\n",
+ "Area = 3.14*(d**2)/4 \n",
+ "# Two cases \n",
+ "#youngs modulus \n",
+ "e_y = F*l/(Area*E*pow(10,3))\n",
+ "# stiffness\n",
+ "e_f = F/k \n",
+ "#total\n",
+ "e = e_y +e_f\n",
+ "k = 1+(2/(e*pow(10,-3)))\n",
+ "stress_max_1 = F*(1+pow(k,0.5))/Area\n",
+ "print \"The maximum stress is:\",stress_max_1,\"Mpa\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress is: 3.59377281766 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.12 page number 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "flex_a = 1#f\n",
+ "flex_b = 2#f\n",
+ "#removing lower support and solving FBD\n",
+ "e = -2 -(2+1)#fp\n",
+ "#e_1 = (2+1+1)*R\n",
+ "#e_1 = -e Making the elongations zero since the both ends are fixed\n",
+ "R = e/(2+1+1.0) #p\n",
+ "print \"The reactions at bottom is\",R,\"p\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions at bottom is -1.25 p\n"
+ ]
+ }
+ ],
+ "prompt_number": 75
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.19 page number 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 30 #in - The length of the rod\n",
+ "p_1 = 80 #kips - The Force on the end\n",
+ "p_2 = 125 #kips - The force on the other end\n",
+ "A_s = 0.5 #in2 - The crossection of the steel rod\n",
+ "A_a = 0.5 #in2 - The crossection of the aluminium \n",
+ "E_a = 10*(10**6) #psi - The youngs modulus of the aluminium \n",
+ "E_s = 30*(10**6) #psi - The youngs modulus of the steel\n",
+ "#Internally stastically indeterminant \n",
+ "p_a = p_1/4 #From solving we get p_s = 3*P_a\n",
+ "#From material properties point of view \n",
+ "#stress_steel = stress_aluminium\n",
+ "e = p_a*l*(10**3)/(A_a*E_a) #The end deflection \n",
+ "print \"The end deflection is\",e,\"in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The end deflection is 0.12 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_2.ipynb new file mode 100644 index 00000000..4b0d1868 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter4_2.ipynb @@ -0,0 +1,457 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4:Torsion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.2 page number 183" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum shear due to torsion is 152.87 Mpa\n", + "stress tensor matrix" + ] + }, + { + "ename": "NameError", + "evalue": "name 'ceil' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m<ipython-input-1-b728f0ac40fe>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0marr_T\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mround\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mshear_T\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m#arranging the elements in array\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0marr_T\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mround\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mshear_T\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 14\u001b[1;33m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"stress tensor matrix\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mceil\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr_T\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'ceil' is not defined" + ] + } + ], + "source": [ + "#Given\n", + "dia = 10 #diameter of shaft(A-C)\n", + "c = dia/2 #mm - Radius\n", + "T = 30 #N/mm -Torque in the shaft \n", + "#Caliculations\n", + "\n", + "J = 3.14*(dia**4)/32 #mm4\n", + "shear_T = T*c*pow(10,3)/J # The torsion shear in the shaft AC\n", + "import numpy as np \n", + "print \"The maximum shear due to torsion is \",round(shear_T,2),\"Mpa\"\n", + "arr_T = np.zeros((3,3))\n", + "arr_T[0][1]=round(shear_T,1) #arranging the elements in array\n", + "arr_T[1][0]=round(shear_T,1)\n", + "print \"stress tensor matrix\",ceil(arr_T),\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.3 page number 184" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum shear due to torsion is 43.15 Mpa\n", + "The minimum shear due to torsion is 34.52 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia_out = 20 #mm- outer diameter of shaft\n", + "dia_in = 16 #mm- inner diameter of shaft \n", + "c_out = dia_out/2 #mm - outer Radius of shaft \n", + "c_in = dia_in/2 #mm - inner radius of shaft \n", + "T = 40 #N/mm -Torque in the shaft \n", + "#caliculations\n", + "\n", + "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n", + "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n", + "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.4 page number 187" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Diameter of the shaft used is 15.26 mm\n" + ] + } + ], + "source": [ + "#Given\n", + "hp = 10 # horse power of motor \n", + "f = 30 # given \n", + "shear_T = 55 #Mpa - The maximum shearing in the shaft \n", + "#caliculations\n", + "\n", + "T = 119*hp/f # N.m The torsion in the shaft \n", + "#j/c=T/shear_T=K\n", + "k = T*pow(10,3)/shear_T #mm3\n", + "#c3=2K/3.14\n", + "c = pow((2*k/3),0.33) #mm - The radius of the shaft \n", + "diamter = 2*c #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft used is\",round(diamter,2),\"mm\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.5 page number 188" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Diameter of the shaft1 is 6.87 mm\n", + "The Diameter of the shaft2 is 0.702590481015 mm\n" + ] + } + ], + "source": [ + "#Given \n", + "hp = 200 #Horse power\n", + "stress_sh = 10000 #psi- shear stress\n", + "rpm_1 = 20.0 # The rpm at which this shaft1 operates \n", + "rpm_2 = 20000.0 # The rpm at which this shaft2 operates\n", + "T_1= hp*63000.0/rpm_1 #in-lb Torsion due to rpm1\n", + "T_2= hp*63000/rpm_2 #in-lb Torsion due to rpm1\n", + "#caliculations \n", + "\n", + "#j/c=T/shear_T=K\n", + "k_1= T_1/stress_sh #mm3\n", + "#c3=2K/3.14\n", + "c_1= pow((2*k_1/3),0.33) #mm - The radius of the shaft \n", + "diamter_1 = 2*c_1 #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft1 is\",round(diamter_1,2),\"mm\"\n", + "\n", + "#j/c=T/shear_T=K\n", + "k_2= T_2/stress_sh #mm3\n", + "#c3=2K/3.14\n", + "c_2= pow((2*k_2/3),0.33) #mm - The radius of the shaft \n", + "diamter_2 = 2*c_2 #mm - The diameter of the shaft\n", + "print \"The Diameter of the shaft2 is\",diamter_2,\"mm\"\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.7 page number 193" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum angle rotated is 0.0232628450106 radians \n" + ] + } + ], + "source": [ + "#Given \n", + "T_ab = 0 #N.m - torsion in AB \n", + "T_bc = 150 #N.m - torsion in BC\n", + "T_cd = 150 #N.m - torsion in CD\n", + "T_de = 1150 #N.m - torsion in DE\n", + "l_ab = 250 #mm - length of AB\n", + "l_bc = 200 #mm - length of BC\n", + "l_cd = 300 #mm - length of cd \n", + "l_de = 500.0 #mm - length of de\n", + "d_1 = 25 #mm - outer diameter \n", + "d_2 = 50 #mm - inner diameter\n", + "G = 80 #Gpa -shear modulus\n", + "#Caliculations \n", + "\n", + "J_ab = 3.14*(d_1**4)/32 #mm4\n", + "J_bc = 3.14*(d_1**4)/32 #mm4\n", + "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) # adding the maximum radians roteted in each module\n", + "print \"The maximum angle rotated is \",rad,\"radians \" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.9 Pagenumber 196" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Torsion at rigid end A is -141.72 N-m\n", + "The Torsion at rigid end B is 1291.72 N-m\n" + ] + } + ], + "source": [ + "#given \n", + "#its a statistally indeterminant \n", + "#we will take of one of the support \n", + "#Given \n", + "T_ab = 0 #N.m - torsion in AB \n", + "T_bc = 150 #N.m - torsion in BC\n", + "T_cd = 150 #N.m - torsion in CD\n", + "T_de = 1150 #N.m - torsion in DE\n", + "l_ab = 250 #mm - length of AB\n", + "l_bc = 200 #mm - length of BC\n", + "l_cd = 300 #mm - length of cd \n", + "l_de = 500.0#mm - length of de\n", + "d_1 = 25 #mm - outer diameter \n", + "d_2 = 50 #mm - inner diameter\n", + "#Caliculations \n", + "\n", + "J_ab = 3.14*(d_1**4)/32 #mm4\n", + "J_bc = 3.14*(d_1**4)/32 #mm4\n", + "J_cd = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "J_de = 3.14*(d_2**4 - d_1**4)/32 #mm4\n", + "G = 80 #Gpa -shear modulus\n", + "rad = T_ab*l_ab/(J_ab*G)+ T_bc*l_bc/(J_bc*G)+ T_cd*l_cd/(J_cd*G)+ T_de*l_de/(J_de*G) \n", + "#now lets consider T_A then the torsion is only T_A\n", + "# T_A*(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) +rad = 0\n", + "# since there will be no displacement \n", + "T_A =-rad/(l_ab/(J_ab*G)+ l_bc/(J_bc*G)+ l_cd/(J_cd*G)+ l_de/(J_de*G)) #Torsion at A\n", + "T_B = 1150 - T_A #n-m F_X = 0 torsion at B\n", + "print \"The Torsion at rigid end A is\",round(T_A,2),\"N-m\"\n", + "print \"The Torsion at rigid end B is\",round(T_B,2),\"N-m\"\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.12 Pagenumber 202" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The allowable torsion on the 8 bolt combination 27129600.0 N-m\n" + ] + } + ], + "source": [ + "#Given\n", + "dai_bc = 240 #mm- daimeter of '8'bolt circle \n", + "dia = dai_bc/8 #Diameter of each bolt\n", + "A = 0.25*(dia**2)*3.14 # Area of a bolt\n", + "S_allow = 40 #Mpa - The maximum allowable allowable shear stress \n", + "P_max = (S_allow)*A #N - The maximum allowable force \n", + "D = 120.0 #mm - the distance from central axis \n", + "T_allow =P_max*D*8 #N-m The allowable torsion on the 8 bolt combination \n", + "print \"The allowable torsion on the 8 bolt combination\",T_allow ,\"N-m\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.15 page number 211" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the Equivalent Torsion constant is 1.97 in4\n" + ] + } + ], + "source": [ + "#Given \n", + "#AISC MANUALS\n", + "#approximated by three narrow tubes \n", + "#J = Bbt^3\n", + "B = 0.33 # constant mentiones in AISC\n", + "#three rods \n", + "\n", + "#rod_1\n", + "t_1 = 0.605 #inch - Thickness \n", + "b = 12.0 #inches - width \n", + "J_1 = B*b*(t_1**3) #in4 - Torsion constant \n", + "\n", + "#rod_2\n", + "t_2 = 0.605 #inch - Thickness \n", + "b = 12 #inches - width \n", + "J_2 = B*b*(t_2**3) #in4 - Torsion constant \n", + "\n", + "#rod_3\n", + "t_3 = 0.390 #inch - Thickness \n", + "b = 10.91 #inches - width \n", + "J_3 = B*b*(t_3**3) #in4 - Torsion constant \n", + "\n", + "#Equivalent\n", + "J_eq = J_1+J_2+J_3 #in4 - Torsion constant \n", + "print \"the Equivalent Torsion constant is \",round(J_eq,2), \"in4\"\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 4.16 page number 214" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum shear due to torsion is 345.23 Mpa\n", + "The minimum shear due to torsion is 276.18 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia_out = 10 #mm- outer diameter of shaft\n", + "dia_in = 8 #mm- inner diameter of shaft \n", + "c_out = dia_out/2 #mm - outer Radius of shaft \n", + "c_in = dia_in/2 #mm - inner radius of shaft \n", + "T = 40 #N/mm -Torque in the shaft \n", + "#caliculations\n", + "\n", + "J = 3.14*((dia_out**4)- (dia_in**4))/32 #mm4\n", + "shear_T_max = T*c_out*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "shear_T_min = T*c_in*pow(10,3)/J # The maximum torsion shear in the shaft\n", + "print \"The maximum shear due to torsion is \",round(shear_T_max,2),\"Mpa\"\n", + "print \"The minimum shear due to torsion is \",round(shear_T_min,2),\"Mpa\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_2.ipynb new file mode 100644 index 00000000..5ac7210d --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter5_2.ipynb @@ -0,0 +1,891 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Chapter 5:Axial force, Shear and Bending moment " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example5.2 pagenumber 231" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components of reaction force at A is 0 , -410.0 N\n", + "The X,Y components of reaction force at B is 0 , 670.0 N\n" + ] + } + ], + "source": [ + "#Given \n", + "L_ab = 0.4 #mt The total length of the rod\n", + "M = 200 #N_m - the moment acting on rod\n", + "l_1 = 0.1 #mt -moment acting point the distance from 'a'\n", + "R_1 = 100 #N - The Force acting \n", + "l_2 = 0.2 #mt -R_1 acting point the distance from 'a'\n", + "R_2 = 160 #N The Force acting \n", + "l_3 = 0.3 #mt -R_2 acting point the distance from 'a'\n", + "#caliculations\n", + "\n", + "#F_X = 0 forces in x directions \n", + "R_A_X = 0 # since there are no forces in X-direction \n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "\n", + "# M + R_1*l_2 + R_2*l_3 = R_B*L_ab *the moment for a force is FxL\n", + "R_B_Y = (M + R_1*l_2 + R_2*l_3)/L_ab\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "# R_A_Y*L_ab + M - R_1*l_2 - R_2*0.1 = 0\n", + "\n", + "R_A_Y = -(M - R_1*l_2 - R_2*0.1)/L_ab\n", + " \n", + "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n", + "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.2 page number 233" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components of reaction force at A is 0 , -9.0 N\n", + "The X,Y components of reaction force at B is 0 , 6.0 N\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X \n", + "print \"The X,Y components of reaction force at A is \",R_A_X,\",\",R_A_Y,\"N\"\n", + "print \"The X,Y components of reaction force at B is \",R_B_X,\",\",R_B_Y,\"N\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.3 page number 233 " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The X,Y components and resultant of reaction force at A is 4 , 3 , 5.0 N\n", + "The X,Y components and resultant of reaction force at B is 1 , 1 , 1.41 N\n" + ] + } + ], + "source": [ + "#given\n", + "F = 5 #K - force acting on the system\n", + "tan = (4/3) # the Tan of the angle of force with x axis\n", + "l_ab = 12 #inch - the total length of ab \n", + "l = 3 # inch - Distance from 'a'\n", + "#caliculation\n", + "F_X = 4 #K\n", + "F_Y = 3 #k\n", + "\n", + "#M_A = 0 momentum at point a is zero\n", + "# F_X*l- R_B_Y*l_ab = 0 \n", + "R_B_Y = F_X*l/l_ab\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "# R_A_Y*l_ab - F_X*(l_ab - l)\n", + "R_A_Y = F_X*(l_ab - l)/l_ab\n", + " \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = F_Y + R_B_Y \n", + "R_B_X = R_B_Y # since the angle is 45 degrees\n", + "\n", + "#resultants \n", + "R_A = pow(R_A_X**2 + R_A_Y**2,0.5)\n", + "R_B = pow(R_B_X**2 + R_B_Y**2,0.5)\n", + "\n", + "print \"The X,Y components and resultant of reaction force at A is \",R_A_X,\",\",R_A_Y,\",\",R_A,\"N\"\n", + "print \"The X,Y components and resultant of reaction force at B is \",R_B_X,\",\",R_B_Y,\",\",round(R_B,2),\"N\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.4 page number 239" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n", + "The force and moment in section b--b are 6.0 KN , 6.0 KN-m\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X\n", + "\n", + "#For a---a section \n", + "l_a = 2 #mt - a---a section from a \n", + "l_com_a = 2*l_a/3\n", + "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n", + "\n", + "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a \n", + "\n", + "#For b---b section \n", + "\n", + "v_b = F_y + R_A_Y #equilabrium conditions\n", + "M_b = (F_Y + R_A_Y)*(-1)\n", + "\n", + "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n", + "print \"The force and moment in section b--b are\",v_b,\"KN ,\",M_b,\"KN-m\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.5 page number 241" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x41889b0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given \n", + "#Lets divide the section into two sections \n", + "l_ac = 10 # ft -The total length of the rod\n", + "R = 5 #k - The applies force at c\n", + "tan = 4/3 # The tan of the angle of the force \n", + "l_ab = 5 #ft - The distance of applied force from A\n", + "R_y = 4 #k,downwards X- component of the force\n", + "R_X = 3 #k Y- component of the force , lets consider only Y direction since we are concentrating on the Shears \n", + "\n", + "#F_Y = 0 forces in Y directions\n", + "#R_A +R_B = R_y\n", + "#M_c = 0 making the moment zero at point c \n", + "#Caliculations \n", + "# R_A= R_B*(l_ac - l_ab)/(l_ab) so R_A = R_B\n", + "\n", + "R_A = R_y/2 #F_Y = 0\n", + "R_B = R_y/2\n", + "#considering section x--x\n", + "l_x = 2 #ft - length of section from A\n", + "v_x = R_A #k ,F_X = 0 \n", + "M_x = R_A*l_x #k-ft M_c = 0\n", + "\n", + "#considering section at midpoint t--t\n", + "l_t = 2 #ft - length of section from A\n", + "v_t = 0 #k ,F_X = 0 \n", + "M_t = (R_A)*l_t #k-ft M_c = 0\n", + "\n", + "##considering section y---y\n", + "l_y = 2 #ft - length of section from B\n", + "v_y = - R_B #k ,F_X = 0 \n", + "M_y = R_B*l_y #k-ft M_c = 0\n", + "\n", + "#Graph\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,2,4.9999999999999,5,5.00000000000000001,7,10] # For graph precision \n", + "\n", + "V = [R_A,v_x,v_x,v_t,v_y,v_y,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_x,M_t,M_t,M_t,M_y,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M,'r');\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.6 pagenumber 243 " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nktTJ/we9KQxTSP9nSgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x8b0bef0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l = 1 #L - Length of the cantilever \n", + "F_app = ((2**0.5))*2 #p - force applies \n", + "tan = 1 # The angle of force applied\n", + "F_app_x = F_app/((2**0.5)) #p The horizantal component of the force , neglected \n", + "F_app_y = F_app/((2**0.5)) #p The Vertical component of the force \n", + "#F_Y = 0 \n", + "R_A = 1 #p\n", + "\n", + "#Considering section 1-----1\n", + "l_1 = 0.5 # The length of the section from one end\n", + "v_1 = R_A #F_Y = 0\n", + "M_1 = -R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#considering end of cantilever\n", + "l_2 = 1 # The length of the section from one end\n", + "v_2 = R_A #F_Y = 0\n", + "M_2 = -R_A*l_2#MAking moment at section 1 = 0\n", + "\n", + "#Graph\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2 ];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t #Shear diagram\n", + "plot(X,M,'r');\t\t\t #Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.7 page number 243" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nAXYdfyx3uhDkAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x414ff60>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l_ab = 3 #L - The total length lets say '3L'\n", + "R_1 = 1 #p - The force applied at b\n", + "R_2 = 1 #p - The force applied at c\n", + "l_ab = 1 #L\n", + "l_bc = 1 #L \n", + "\n", + "#Logical step \n", + "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n", + "\n", + "#F_Y = 0 \n", + "R_A = (R_1 + R_2)/2\n", + "R_B = (R_1 + R_2)/2\n", + "\n", + "#Lets take '3' sections \n", + "#Considering section 1-----1 at 0.5L\n", + "l_1 = 0.5 #L - distance of the section from the A\n", + "v_1 = R_A #F_Y = 0 \n", + "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#Considering section 2-----2 at 1L\n", + "l_2 = 1 #L - distance of the section from the A\n", + "v_2 = R_A #F_Y = 0 \n", + "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n", + "\n", + "#Considering section 3-----3 at 1.5L\n", + "l_3 = 1.5 #L - distance of the section from the A\n", + "v_3 = 0 #F_Y = 0 \n", + "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1,1.000000001,1.5,1.999999999999,2,2.5,3] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2,1,1,1,M_2,M_1,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.8 page nmber 244" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.5\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x8e76208>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n/vJBW0Moy/YAAAAASUVORK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xab25c50>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given \n", + "l_ab = 1.0 #L - The length of the beam\n", + "F_D = 1.0 #W - The force distribution \n", + "F = F_D*l_ab #WL - The force applied\n", + "#Beause of symmetry the moment caliculations can be neglected\n", + "#F_Y = 0\n", + "R_A = F/2 #wl - The reactive force at A\n", + "R_B = F/2 #wl - The reactive force at B\n", + "\n", + "#considering many sections \n", + "\n", + "#section 1--1\n", + "l_1 = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M_1 = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = R_A - F_D*l_1[i] \n", + " M_1[i] = R_A*l_1[i] - F_D*(l_1[i]**2)/2 #M = 0 in the section\n", + "print R_A\n", + "#Graphs\n", + "import numpy as np\n", + "values = [0.5,0,-0.5]\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,3)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "import numpy as np\n", + "values = M_1\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.9 page number 245" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The force and moment in section a--a are -2.33 KN , -13.644 KN-m\n" + ] + } + ], + "source": [ + "#Given \n", + "P_Max = 10 #N - the maximum distribution in a triangular distribution\n", + "L = 3 #mt the total length of force distribution \n", + "L_X = 5 #mt - the horizantal length of the rod\n", + "#caliculations \n", + "\n", + "F_y = P_Max*L*0.5 #N - The force due to triangular distribition \n", + "L_com = 2*L /3 #mt - the resultant force acting as a result of distribution acting position \n", + "#F_X = 0 forces in x directions\n", + "R_A_X = 0 # since there are no forces in X-direction\n", + "R_B_X = 0\n", + "#M_A = 0 momentum at point a is zero\n", + "#F_y*L_com - R_B_Y*L_X = 0\n", + "R_B_Y = F_y*L_com/L_X\n", + "\n", + "#M_B= 0 momentum at point b is zero\n", + "#- R_A_Y*L_X = F_y*(L_X-L )\n", + "\n", + "R_A_Y = - F_y*L/L_X\n", + "\n", + "#caliculating for some random value\n", + "#For a---a section \n", + "l_a = 2 #mt - a---a section from a \n", + "l_com_a = 2*l_a/3\n", + "v_a = R_A_Y + 0.5*l_a*(10.0*2/3) #*(10*2/3) because the maximum moves\n", + "\n", + "M_a = (10.0*0.66)*l_a*(0.33) + R_A_Y*l_a\n", + "\n", + "print \"The force and moment in section a--a are\",round(v_a,2),\"KN ,\",M_a,\"KN-m\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.13 page number 254" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\nAAC5/H/91y4DSEHt5wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x8f3aa58>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l_ab = 4 #L - The total length lets say '3L'\n", + "R_1 = 1 #p - The force applied at b\n", + "R_2 = 1 #p - The force applied at c\n", + "l_ab = 1 #L\n", + "l_bc = 3 #L \n", + "\n", + "#Logical step \n", + "#Since the system is in symmetry we can avoid moment M = 0 caliculations\n", + "\n", + "#F_Y = 0 \n", + "R_A = (R_1 + R_2)/2\n", + "R_B = (R_1 + R_2)/2\n", + "\n", + "#Lets take '3' sections \n", + "#Considering section 1-----1 at 0.5L\n", + "l_1 = 0.5 #L - distance of the section from the A\n", + "v_1 = R_A #F_Y = 0 \n", + "M_1 = R_A*l_1 #MAking moment at section 1 = 0\n", + "\n", + "#Considering section 2-----2 at 1L\n", + "l_2 = 1 #L - distance of the section from the A\n", + "v_2 = R_A #F_Y = 0 \n", + "M_2 = R_A*l_2 #MAking moment at section 2 = 0\n", + "\n", + "#Considering section 3-----3 at 1.5L\n", + "l_3 = 3 #L - distance of the section from the A\n", + "v_3 = 0 #F_Y = 0 \n", + "M_3 = R_A*l_2 #MAking moment at section 2 = 0 and symmetry \n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,0.5,1,1.0000001,2,2.9999999999,3,3.5,4] # For graph precision \n", + "\n", + "V = [R_A,v_1,v_2,v_3,v_3,v_3,-v_2,-v_1,-R_B];\t\t\t#Shear matrix\n", + "M = [0,M_1,M_2,M_3,M_3,M_3,M_2,M_1,0];\t\t\t#Bending moment matrix\n", + "plot(X,V);\t\t\t#Shear diagram\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.14 page number 255" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xabb7fd0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x8f295c0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l = 1.0 #l - The length of the beam\n", + "p = 1.0 #W - The total load applied\n", + "#since it is triangular distribution \n", + "l_com = 0.66*l#l - The distance of force of action from one end\n", + "#F_Y = 0\n", + "#R_A + R_B = p\n", + "#M_a = 0 Implies that R_B = 2*R_A\n", + "R_A = p/3.0\n", + "R_B = 2.0*p/3\n", + "\n", + "#Taking Many sections \n", + "\n", + "#Section 1----1\n", + "l = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] #L taking each section at 0.1L distance \n", + "M = [0,0,0,0,0,0,0,0,0,0,0]\n", + "v = [0,0,0,0,0,0,0,0,0,0,0]\n", + "for i in range(10):\n", + " v[i] = p*(l[i]**2) - p/3.0\n", + " M[i] = p*(l[i]**3)/(3.0)- p*l[i]/3.0\n", + "\n", + "v[10] = R_B #again concluded Because the value is tearing of \n", + "\n", + "\n", + "#Graph\n", + "import numpy as np\n", + "values = M\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "import numpy as np\n", + "values = v\n", + "y = np.array(values)\n", + "t = np.linspace(0,1,11)\n", + "poly_coeff = np.polyfit(t, y, 2)\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(t, y, 'o')\n", + "plt.plot(t, np.poly1d(poly_coeff)(t), '-')\n", + "plt.show()\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 5.16 page number 259" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.166666666667\n", + "Given problem is for drawing diagram, this diagram is drawn by step by step manner. \n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0xad0f2e8>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Given\n", + "l = 6.0 #a - length of the rod\n", + "F = 1.0 #p - force applies in x direction \n", + "d = 1.0 #a \n", + "M = 1.0 #pa - torque applies on the rod\n", + "l_ab = 4.0 #a application of torque point from A\n", + "#M = 0 implies that\n", + "R_A = F/6.0 #p - The reaction at A\n", + "R_B = - R_A #F_Y = 0\n", + "\n", + "#Caliculations \n", + "\n", + "#Taking sections \n", + "#Section 1---1\n", + "l_1 = 1 #a - the length of the section \n", + "M_1 = - R_A*l_1 #M = 0\n", + "\n", + "#Section 2---2\n", + "l_2 = 4 #a - the length of the section \n", + "M_2 = - R_A*l_2 #M = 0\n", + "\n", + "l_4 = 2 #a - the length of the section \n", + "M_4 = 1/3.0 #pa #M = 0 '-M' because there is moment couple in between\n", + "\n", + "\n", + "#Section 3---3\n", + "l_3 = 1 #a - the length of the section \n", + "M_3 = 1/6.0#pa M = 0 '-M' because there is moment couple in between\n", + "print R_A\n", + "\n", + "#GRAPH\n", + "#Since the symmetry exists the graphs are also symmetry\n", + "%matplotlib inline\n", + "import math \n", + "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel\n", + "#Drawing of shear and bending moment diagram\n", + "print \"Given problem is for drawing diagram, this diagram is drawn by step by step manner. \"\n", + "X = [0,1,4,4.00001,5,6] # For graph precision \n", + "M = [0,M_1,M_2,M_4,M_3,0];\t\t\t#Bending moment matrix\n", + "plot(X,M);\t\t\t#Bending moment diagram\n", + "suptitle( 'Shear and bending moment diagram')\n", + "xlabel('X axis')\n", + "ylabel( 'Y axis') ;\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_2.ipynb new file mode 100644 index 00000000..a76cd86c --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter6_2.ipynb @@ -0,0 +1,578 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6a2b99a338c7d2a71ec20bddeaf4c19ec8da980602f4c9834a7faee562a1e5cc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6:Pure Bending and Bending with Axial force "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 page number 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#Entire area - hallow area\n",
+ "l_e = 60.0 #mm - length of the entire area\n",
+ "b_e = 40 #mm - width of the entire area\n",
+ "l_h = 30 #mm - length of the hallow area\n",
+ "b_h = 20 #mm - width of the hallow area\n",
+ "A_e = l_e*b_e #mm2 - The entire area\n",
+ "A_h = -l_h*b_h #mm2 - The hallow area '-' because its hallow\n",
+ "A_re = A_e + A_h #mm2 resultant area\n",
+ "y_e = l_e/2 # mm com from bottom \n",
+ "y_h = 20+l_h/2 #mm com from bottom \n",
+ "y_com = (A_e*y_e + A_h*y_h)/A_re \n",
+ "#moment of inertia caliculatins - bh3/12 +ad2\n",
+ "I_e = b_e*(l_e**3)/12 + A_e*((y_e-y_com)**2) #Parallel axis theorm\n",
+ "I_h = b_h*(l_h**3)/12 - A_h*((y_h-y_com)**2) #Parallel axis theorm\n",
+ "I_total = I_e - I_h\n",
+ "print \"The moment of inertia of total system is \",I_total,\"mm4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia of total system is 655000.0 mm4\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 page number 295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 400 #mm - Length \n",
+ "b = 300 #mm - breath \n",
+ "F = 20 #KN _ the force applied on the beam \n",
+ "F_d = 0.75 #KN-m - The force distribution \n",
+ "d = 2 #mt - the point of interest from the free end\n",
+ "#caliculations \n",
+ "#From moment diagram\n",
+ "M = F*d - F_d*d*1\n",
+ "I = b*(l**3)/12 #mm4 - Bending moment diagram \n",
+ "c = l/2 # the stress max at this C\n",
+ "S = I/c #The maximum shear stress \n",
+ "shear_max = M*(10**6)/S #MPA - the maximum stress \n",
+ "print \"The maximum stress at 2 mt is\",round(shear_max,2),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress at 2 mt is 4.81 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 pagr number 297"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#We will divide this into three parts\n",
+ "F = 8 #k - force applied\n",
+ "d = 16 #inch -distance\n",
+ "l_1 = 1 #in \n",
+ "l_2 = 3 #in \n",
+ "b_1 = 4 #in \n",
+ "b_2 = 1 #in\n",
+ "A_1 = l_1* b_1 #in2 - area of part_1\n",
+ "y_1 = 0.5 #in com distance from ab\n",
+ "A_2 =l_2*b_2 #in2 - area of part_1\n",
+ "y_2 = 2.5 #in com distance from ab\n",
+ "A_3 = l_2*b_2 #in2 - area of part_1\n",
+ "y_3 = 2.5 #in com distance from ab\n",
+ "\n",
+ "y_net = (A_1*y_1 +A_2*y_2 + A_3*y_3)/(A_1+A_2+A_3) #in - The com of the whole system\n",
+ "c_max = (4-y_net) #in - The maximum distace from com to end\n",
+ "c_min = y_net #in - the minimum distance from com to end\n",
+ "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n",
+ "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n",
+ "I_3 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n",
+ "I_net = I_1 + I_2 + I_3 #in4 - the total moment of inertia\n",
+ "M_c = F*d*c_max \n",
+ "stress_cmax = M_c/I_net #Ksi - The maximum compressive stress\n",
+ "\n",
+ "M_t= F*d*c_min \n",
+ "stress_tmax = M_t/I_net #Ksi - The maximum tensile stress\n",
+ "print \"The maximum tensile stress\",stress_tmax ,\"Ksi\"\n",
+ "print \"The maximum compressive stress\",round(stress_cmax,1) ,\"Ksi\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum tensile stress 16.0 Ksi\n",
+ "The maximum compressive stress 21.6 Ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8 page number 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#Given \n",
+ "#We will divide this into two parts\n",
+ "E_w = 10.0 #Gpa - Youngs modulus of wood\n",
+ "E_s = 200.0 #Gpa - Youngs modulus of steel\n",
+ "M = 30.0 #K.N-m _ applied bending moment \n",
+ "n = E_s/E_w \n",
+ "l_1 = 250 #mm \n",
+ "l_2 = 10 #mm\n",
+ "b_1 = 150.0 #mm\n",
+ "b_2 = 150.0*n #mm\n",
+ "A_1 = l_1* b_1 #mm2 - area of part_1\n",
+ "y_1 = 125.0 #mm com distance from top\n",
+ "A_2 =l_2*b_2 #mm2 - area of part_1\n",
+ "y_2 = 255.0 #mm com distance from top\n",
+ "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system from top\n",
+ "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n",
+ "I_2 = b_2*(l_2**3)/12.0 + A_2*((y_2-y_net)**2)\n",
+ "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n",
+ "c_s= y_net # The maximum distance in steel \n",
+ "stress_steel = M*(10.0**6)*c_s/I_net #Mpa - The maximum stress in steel \n",
+ "\n",
+ "c_w= l_1+l_2-y_net # The maximum distance in wood \n",
+ "stress_wood = n*M*(10.0**6)*c_w/I_net #MPa - The maximum stress in wood \n",
+ "\n",
+ "print \"The maximum stress in steel \",round(stress_steel,2) ,\"Mpa\"\n",
+ "print \"The maximum stress in wood\",round(stress_wood,2) ,\"Mpa\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in steel 11.49 Mpa\n",
+ "The maximum stress in wood 97.09 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9 page number 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "M = 50000 #ft-lb , positive bending moment applied\n",
+ "N = 9 # number of steel bars \n",
+ "n = 15 # The ratio of steel to concrete \n",
+ "A_s = 30 #in2 area of steel in concrete\n",
+ "#(10*y)*(y/2) = 30*(20-y)\n",
+ "#y**2 + 6*y -120\n",
+ "#solving quadractic equation \n",
+ "import math\n",
+ "\n",
+ "a = 1\n",
+ "b = 6\n",
+ "c = -120\n",
+ "# calculate the discriminant\n",
+ "d = (b**2) - (4*a*c)\n",
+ "\n",
+ "# find two solutions\n",
+ "sol1 = (-b-math.sqrt(d))/(2*a)\n",
+ "sol2 = (-b+math.sqrt(d))/(2*a)\n",
+ "y = sol2 # Nuetral axis is found\n",
+ "l_1 = y #in- the concrete below nuetral axis is not considered\n",
+ "b_1 = 10 #in - width\n",
+ "A_1 = l_1* b_1 #in2 - area of concrete\n",
+ "y_1 = y/2 #in com of the concrete \n",
+ "y_2 = 20-y #in com of the transformed steel \n",
+ "I_1 = b_1*(l_1**3)/12.0 + A_1*((y_1-y)**2) #in4 parallel axis theorm\n",
+ "I_2 = A_s*((y_2)**2) #in4 first part is neglected\n",
+ "I_net = I_1 + I_2 #in4 - the total moment of inertia\n",
+ "c_c= y #in The maximum distance in concrete \n",
+ "stress_concrete = M*12*c_c/I_net #psi - The maximum stress in concrete \n",
+ "c_s= 20- y \n",
+ "stress_steel =n*M*12*c_s/I_net #psi - The maximum stress in concrete \n",
+ "print \"The maximum stress in concrete \",round(stress_concrete,2) ,\"psi\"\n",
+ "print \"The stress in steel\",round(stress_steel,2) ,\"psi\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in concrete 834.07 psi\n",
+ "The stress in steel 17427.61 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "example 6.10 page number 309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "l = 50.0 #mm - the length of the beam \n",
+ "b = 50.0 #mm - the width of the beam\n",
+ "M = 2083 #Nm\n",
+ "A = l*b #mm2 - The area \n",
+ "#straight beam \n",
+ "I = b*(l**3)/12.0 #mm4 - The moment of inertia of the beam\n",
+ "c_1= l/2 # the distance where the stress is maximum \n",
+ "c_2 = -l/2 # the distance where the stress is maximum \n",
+ "s_1 = I/c_1\n",
+ "s_2 = I/c_2\n",
+ "stress_max_1 = M*(10**3)/s_1 #Mpa - the maximum strss recorded in the crossection\n",
+ "stress_max_2 = M*(10**3)/s_2 #Mpa - the maximum strss recorded in the crossection \n",
+ "print \"The maximum stress upward in straight case is\",stress_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in straight case is\",stress_max_2,\"Mpa\"\n",
+ "\n",
+ "#curved beam \n",
+ "import math\n",
+ "r = 250.0 #mm Radius of beam curved \n",
+ "r_0 = r - l/2 # inner radius \n",
+ "r_1 = r + l/2 # outer radius\n",
+ "R = l/(math.log(r_1/r_0)) #mm \n",
+ "e = r - R \n",
+ "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n",
+ "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n",
+ "print \"The maximum stress upward in curved case is\",stressr_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in curved case is\",stressr_max_2,\"Mpa\"\n",
+ "\n",
+ "#curved beam _2 \n",
+ "import math\n",
+ "r = 75.0 #mm Radius of beam curved \n",
+ "r_0 = r - l/2 # inner radius \n",
+ "r_1 = r + l/2 # outer radius\n",
+ "R = l/(math.log(r_1/r_0)) #mm \n",
+ "e = r - R \n",
+ "stressr_max_1 = M*(10**3)*(R-r_0)/(r_0*A*e)\n",
+ "stressr_max_2 = M*(10**3)*(R-r_1)/(r_1*A*e)\n",
+ "print \"The maximum stress upward in curved case2 is\",stressr_max_1,\"Mpa\"\n",
+ "print \"The maximum stress downward in curved case2 is\",stressr_max_2,\"Mpa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress upward in straight case is 99.984 Mpa\n",
+ "The maximum stress downward in straight case is -99.984 Mpa\n",
+ "The maximum stress upward in curved case is 107.093207632 Mpa\n",
+ "The maximum stress downward in curved case is -93.6813516989 Mpa\n",
+ "The maximum stress upward in curved case2 is 128.733538525 Mpa\n",
+ "The maximum stress downward in curved case2 is -81.0307692623 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Page number 6.14 page number 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given \n",
+ "#from example 6.9\n",
+ "St_ul = 2500 #psi - ultimate strength\n",
+ "st_yl = 40000 #psi _ yielding strength \n",
+ "b = 10 #in - width from example \n",
+ "A = 2 #in2 The area of the steel\n",
+ "d = 20 \n",
+ "t_ul = st_yl*A #ultimate capasity\n",
+ "y = t_ul/(St_ul*b*0.85) #in 0.85 because its customary\n",
+ "M_ul = t_ul*(d-y/2)/12 #ft-lb Plastic moment \n",
+ "print \"The plastic moment of the system is \",M_ul,\"ft-lb\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plastic moment of the system is 120784.313725 ft-lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15 page number 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "#From example 5.8 \n",
+ "W = 4.0 #N/m - The force distribution \n",
+ "L = 3 # m - The length of the force applied\n",
+ "M = W*L/8.0 # KN.m The moment due to force distribution\n",
+ "o = 30 # the angle of force applid to horizantal\n",
+ "l = 150.0 #mm length of the crossection \n",
+ "b = 100.0 #mm - width of the crossection \n",
+ "import math \n",
+ "M_z = M*(math.cos(3.14/6))\n",
+ "M_y = M*(math.sin(math.pi/6))\n",
+ "I_z = b*(l**3)/12.0\n",
+ "I_y = l*(b**3)/12.0\n",
+ "#tanb = I_z /I_y *tan30\n",
+ "b = math.atan(math.radians(I_z*math.tan(3.14/6.0)/I_y ))\n",
+ "print \"The angle at which nuetral axis locates is\",b,\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle at which nuetral axis locates is 0.0226547191205 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16 pagenumber 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "M = 10 #KN.m - The moment applied\n",
+ "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n",
+ "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n",
+ "o = 14.34 # degress the principle axis rotated\n",
+ "#Coponents of M in Y,Z direction \n",
+ "M_z = M*(10**6)*math.cos(math.radians(o))\n",
+ "M_y = M*(10**6)*math.sin(math.radians(o))\n",
+ "#tanb = I_z /I_y *tan14.34\n",
+ "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n",
+ "B = math.degrees(b) \n",
+ "y_p = 122.9 # mm - principle axis Y cordinate\n",
+ "z_p = -26.95 #mm - principle axis z cordinate\n",
+ "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n",
+ "y_f = -65.97 # mm - principle axis Y cordinate\n",
+ "z_f = 41.93 #mm - principle axis z cordinate\n",
+ "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n",
+ "print \"The maximum tensile stress\",round(stress_B,2) ,\"Mpa\"\n",
+ "print \"The maximum compressive stress\",round(stress_f,2),\"Mpa\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum tensile stress -76.1 Mpa\n",
+ "The maximum compressive stress 67.73 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18 page number 328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "l = 50 #mm - The length of the beam \n",
+ "b = 50 #mm - The width of the beam \n",
+ "A = l*b #mm2 - The area of the beam \n",
+ "p = 8.33 #KN - The force applied on the beam \n",
+ "stress_max = p*(10**3)/A #Mpa After cutting section A--b\n",
+ "print \"The maximum stress in the beam\",stress_max ,\"Mpa \""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress in the beam 3.332 Mpa \n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.24 page number 339"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "M = 10 #KN.m - The moment applied\n",
+ "I_max = 23.95*(10**6) #mm4 - I_z The moment of inertia\n",
+ "I_min = 2.53*(10**6) #mm4 - I_y The moment of inertia\n",
+ "o = 14.34 # degress the principle axis rotated\n",
+ "#Coponents of M in Y,Z direction \n",
+ "M_z = M*(10**6)*math.cos(math.radians(o))\n",
+ "M_y = M*(10**6)*math.sin(math.radians(o))\n",
+ "#tanb = I_z /I_y *tan14.34\n",
+ "b = math.atan((I_max*math.tan(math.radians(o))/I_min ))\n",
+ "B = math.degrees(b) \n",
+ "y_p = 122.9 # mm - principle axis Y cordinate\n",
+ "z_p = -26.95 #mm - principle axis z cordinate\n",
+ "stress_B = - M_z*y_p/I_max + M_y*z_p/I_min #Mpa - Maximum tensile stress\n",
+ "y_f = -65.97 # mm - principle axis Y cordinate\n",
+ "z_f = 41.93 #mm - principle axis z cordinate\n",
+ "stress_f = - M_z*y_f/I_max + M_y*z_f/I_min #Mpa - Maximum compressive stress\n",
+ "#location of nuetral axis To show these stresses are max and minimum \n",
+ "#tanB = MzI_z + MzI_yz/MyI_y +M_YI_yz\n",
+ "I_z = 22.64 *(10**6) #mm4 moment of inertia in Z direction\n",
+ "I_y = 3.84 *(10**6) #mm4 moment of inertia in Y direction\n",
+ "I_yz =5.14 *(10**6) #mm4 moment of inertia in YZ direction \n",
+ "M_y = M #KN.m bending moment in Y dorection \n",
+ "M_z = M #KN.m bending moment in Y dorection \n",
+ "B = math.atan(( M_z*I_yz)/(M_z*I_y )) #radians location on neutral axis\n",
+ "beta = math.degrees(B)\n",
+ "print \"By sketching the line with angle\",round(beta,1),\"degrees The farthest point associated with B and F\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "By sketching the line with angle 53.2 degrees The farthest point associated with B and F\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_2.ipynb new file mode 100644 index 00000000..9d697f7e --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter7_2.ipynb @@ -0,0 +1,274 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# chapter 4:Shear stress in Beams and Related Problems " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.1 page number 365" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The minimal space between the nails 42.0 mm\n" + ] + } + ], + "source": [ + "#Given\n", + "shear_v = 3000 #N - Transmitted vetical shear \n", + "shear_al = 700 #N - The maximum allowable \n", + "#We will divide this into two parts\n", + "l_1 = 50.0 #mm \n", + "l_2 = 200.0 #mm \n", + "b_1 = 200.0 #mm \n", + "b_2 = 50.0 #mm\n", + "A_1 = l_1* b_1 #mm2 - area of part_1\n", + "y_1 = 25.0 #mm com distance \n", + "A_2 =l_2*b_2 #mm2 - area of part_1\n", + "y_2 = 150.0 #in com distance \n", + "y_net = (A_1*y_1 +A_2*y_2)/(A_1+A_2) #mm - The com of the whole system\n", + "c_max = (4-y_net) #mm - The maximum distace from com to end\n", + "c_min = y_net #mm - the minimum distance from com to end\n", + "I_1 = b_1*(l_1**3)/12 + A_1*((y_1-y_net)**2) #Parallel axis theorm\n", + "I_2 = b_2*(l_2**3)/12 + A_2*((y_2-y_net)**2)\n", + "I_net = I_1 + I_2 #mm4 - the total moment of inertia\n", + "Q = A_1*(-y_1+y_net) #mm3\n", + "q = shear_v*Q/I_net #N/mm - Shear flow\n", + "d = shear_al/q # The space between the nails \n", + "print \"The minimal space between the nails \",round(d,0) ,\"mm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.2 pagenumber 365" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The minimal space between the nails 123.0 mm\n" + ] + } + ], + "source": [ + "#Given \n", + "l = 6 #m -length of the beam \n", + "p = 3 #KN-m _ the load applied\n", + "R_a = l*p/2 #KN -The reaction at a, Since the system is symmetry \n", + "R_b = l*p/2 #KN -The reaction at b \n", + "l_s = 10 #mm - The length of the screw \n", + "shear_al = 2 #KN - The maximum load the screw can take \n", + "I = 2.36*(10**9) #mm2 The moment of inertia of the whole system\n", + "#We will divide this into two parts\n", + "l_1 = 50.0 #mm \n", + "l_2 = 50.0 #mm \n", + "b_1 = 100.0 #mm \n", + "b_2 = 200.0 #mm\n", + "A_1 = l_1* b_1 #in2 - area of part_1\n", + "y_1 = 200.0 #mm com distance \n", + "A_2 =l_2*b_2 #mm2 - area of part_1\n", + "y_2 = 225.0 #in com distance\n", + "Q = 2*A_1*y_1 + A_2*y_2 # mm3 For the whole system\n", + "q = R_a*Q*(10**3)/I #N/mm The shear flow \n", + "d = shear_al*(10**3)/q #mm The space between the nails\n", + "print \"The minimal space between the nails \",round(d,0),\"mm\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.6 page number 376" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The shear centre from outside vertical face is 1.825 in\n" + ] + } + ], + "source": [ + "#Given\n", + "#we will divide this into two equal parts and other part\n", + "l = 10.0 # in - The height \n", + "t = 0.1 # in - The width\n", + "b = 5.0 #mm- The width of the above part \n", + "A = t* b #in2 - area of part\n", + "y_net = l/2 # The com of the system \n", + "y_1 = l # The position of teh com of part_2\n", + "I_1 = t*(l**3)/12 #in4 The moment of inertia of part 1\n", + "I_2 = 2*A*((y_1-y_net)**2) #in4 The moment of inertia of part 2 \n", + "I = I_1 + I_2 #in4 The moment of inertia \n", + "e = (b**2)*(l**2)*t/(4*I) #in the formula of channels\n", + "l_sc = e - t/2 #in- The shear centre \n", + "print \"The shear centre from outside vertical face is \",l_sc ,\"in\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.8 page number 387" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The direct maximum stress 4.25 Mpa\n", + "The torsion maximum stress 101.91 Mpa\n", + "The total stress 106.16 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "dia = 10.0 #mm - The diameter of the cylinder \n", + "c = dia/2 #mm - the radius of the cylinder \n", + "A = 3.14*(c**2) #mm2 The area of the crossection \n", + "y = 4*c/(3*3.14) #mm The com of cylinder \n", + "I = 3.14*(c**4)/4 #mm4 - The moment of inertia of the cylinder\n", + "j = 3.14*(dia**4)/32 #mm4\n", + "T = 20.0 #N.m - The torque \n", + "V = 250.0 #N - The shear \n", + "M = 25.0 #N-m The bending moment \n", + "Q = A*y/2 #mm\n", + "stress_dmax = 4*V/(3*A) #V*Q/(I*d) #Mpa The direct maximum stress\n", + "stress_tmax = T*c*(10**3)/j #-Mpa The torsion maximum stress\n", + "stress_total = stress_dmax + stress_tmax #Mpa The total stress\n", + "print \"The direct maximum stress\",round(stress_dmax,2),\"Mpa\"\n", + "print \"The torsion maximum stress\",round(stress_tmax,2),\"Mpa\"\n", + "print \"The total stress\",round(stress_total,2),\"Mpa\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.9 page number 393" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum stress in the system 4.84 Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "dia = 15 #mm - The diameter of the rod\n", + "h = 0.5 #mt - The freely falling height \n", + "A = 3.14*(dia**2)/4 #mm2 The area of the crossection\n", + "E = 200 #Gpa -Youngs modulus\n", + "L = 750 #mm - The total length of the rod\n", + "G = 80 #gpa - Shear modulus \n", + "N = 10 #number of live coils\n", + "d = 5 #mm the diameter of live coil \n", + "m = 3 # the mass of freely falling body\n", + "H = 500 #mm -from mass to spring \n", + "F= m*9.81 #Kg the force due to that mass\n", + "#e = e_rod + e_spr\n", + "#e_rod\n", + "e_rod = p*L*(10**-3)/(A*E) #mm The elongation due to freely falling body\n", + "#e_spr\n", + "e_spr = 64*F*(dia**3)*N*(10**-3)/(G*(d**4)) #mm The elongation due to spring\n", + "e = e_rod + e_spr #mm The total elongation \n", + "p_dyn =F*(1+pow((1+(2*H/e)),0.5))\n", + "Stress_max = p_dyn/A #MPa - The maximum stress in the system \n", + "print \"The maximum stress in the system \",round(Stress_max,2),\"Mpa\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_2.ipynb new file mode 100644 index 00000000..12d2d766 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter8_2.ipynb @@ -0,0 +1,362 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8:Transformation of stress and strain and Yield and Fracture criteria " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.1 page number 405 " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The stress action in normal direction on AB 1.29 Mpa\n", + "The stress action in tangential direction on AB 2.12 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "from math import radians\n", + "o = 22.5 #degrees , The angle of infetisimal wedge \n", + "A = 1 #mm2 The area of the element \n", + "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n", + "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n", + "S_1 = 3 #MN The stresses applying on the element \n", + "S_2 = 2 #MN\n", + "S_3 = 2 #MN\n", + "S_4 = 1 #MN \n", + "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n", + "F_2 = S_2*A_ab\n", + "F_3 = S_3*A_bc\n", + "F_4 = S_4*A_bc\n", + "#sum of F_N = 0 equilibrim in normal direction \n", + "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n", + "\n", + "#sum of F_s = 0 equilibrim in tangential direction \n", + "\n", + "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n", + "\n", + "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n", + "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n", + "print \"The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n", + "print \"The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.2 page number 413" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) The stress action in normal direction on AB 4.12 Mpa\n", + "a) The stress action in tangential direction on AB 0.71 Mpa\n", + "b) The principle stress 4.2 Mpa tension\n", + "b) The principle stress -0.06 Mpa compression\n", + "b) The principle plane angles are 32.0 , 122.0 degrees\n", + "c) The maximum shear is -2.24 Mpa\n", + "a) [ 4.2 -0.1 0. ] Mpa\n", + "b) [ 2. -2.24 -2.24 2. ] Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "o = -22.5 #degrees , The angle of infetisimal wedge \n", + "A = 1 #mm2 The area of the element \n", + "import math \n", + "from math import radians\n", + "from numpy import array\n", + "A_ab = 1*(math.cos(radians(o))) #mm2 - The area corresponds to AB\n", + "A_bc = 1*(math.sin(radians(o))) #mm2 - The area corresponds to BC\n", + "S_1 = 3.0 #MN The stresses applying on the element \n", + "S_2 = 2.0 #MN\n", + "S_3 = 2.0 #MN\n", + "S_4 = 1.0 #MN\n", + "#Caliculations \n", + "\n", + "F_1 = S_1*A_ab # The Forces obtained by multiplying stress by their areas \n", + "F_2 = S_2*A_ab\n", + "F_3 = S_3*A_bc\n", + "F_4 = S_4*A_bc\n", + "#sum of F_N = 0 equilibrim in normal direction \n", + "N = (F_1-F_3)*(math.cos(radians(o))) + (F_4 - F_2)*(math.sin(radians(o)))\n", + "\n", + "#sum of F_s = 0 equilibrim in tangential direction \n", + "\n", + "S = (F_2-F_4)*(math.cos(radians(o))) + (F_1 - F_3)*(math.sin(radians(o)))\n", + "\n", + "Stress_Normal = N/A #Mpa - The stress action in normal direction on AB\n", + "Stress_tan = S/A #Mpa - The stress action in tangential direction on AB\n", + "print \"a) The stress action in normal direction on AB\",round(Stress_Normal,2),\"Mpa\"\n", + "print \"a) The stress action in tangential direction on AB\",round(Stress_tan,2),\"Mpa\"\n", + "\n", + "#Part- b\n", + "\n", + "S_max = (S_4+S_1)/2 + (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum stress\n", + "S_min = (S_4+S_1)/2.0 - (((((S_4-S_1/2))**2) + S_3**2)**0.5) #Mpa - The minumum stress\n", + "k = 0.5*math.atan(S_3/((S_1-S_4)/2)) #radians The angle of principle axis\n", + "k_1 = math.degrees(k)\n", + "k_2 = k_1+90 #The principle plane angles\n", + "print \"b) The principle stress \",round(S_max,1),\"Mpa tension\"\n", + "print \"b) The principle stress \",round(S_min,2),\"Mpa compression\"\n", + "print \"b) The principle plane angles are\",round(k_1,0),\",\",round(k_2,0),\"degrees\"\n", + "\n", + "#part-c\n", + "#The maximum shear stress case\n", + "t_xy = (((((S_4-S_1)/2)**2) + S_3**2)**0.5) #Mpa - The maximum shear stress case\n", + "K = 0.5*math.atan((-(S_1-S_4)/(2*S_3))) #radians The angle of principle axis\n", + "K_0 = math.degrees(K)\n", + "if K_0<0:\n", + " K_1 = K_0+90\n", + "else:\n", + " K_1 = K_0\n", + "K_2 = K_1+90 #PRinciple plain angles\n", + "T_xy = -((S_1-S_4)/2)*(math.sin(radians(2*K_1))) + ((S_4+S_1)/2)*(math.cos(radians(2*K_1))) # Shear stress\n", + "print \"c) The maximum shear is \",round(T_xy,2),\"Mpa\" \n", + "S_mat_a = array([round(S_max,1),round(S_min,1),0]) #MPa maximum stress matrix\n", + "S_mat_b = array([(S_4+S_1)/2,round(T_xy,2),round(T_xy,2),(S_4+S_1)/2]) #MPa maximum stress matrix at maximum shear\n", + "print \"a)\",S_mat_a,\"Mpa\"\n", + "print \"b)\",S_mat_b,\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.3 page number 421" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle stresses are 6.0 Mpa -4.0 Mpa\n", + "The maximum shear stress 5.0 Mpa\n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "from math import radians \n", + "S_x = -2 #Mpa _ the noraml stress in x direction\n", + "S_y = 4 #Mpa _ the noraml stress in Y direction\n", + "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n", + "point_x = -2 #The x coordinate of a point on mohr circle\n", + "point_y = 4 #The y coordinate of a point on mohr circle\n", + "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n", + "S_1 = Radius +1#MPa The principle stress\n", + "S_2 = -Radius +1 #Mpa The principle stress\n", + "S_xy_max = Radius #Mpa The maximum shear stress\n", + "print \"The principle stresses are\",S_1 ,\"Mpa\",S_2,\"Mpa\"\n", + "print \"The maximum shear stress\",S_xy_max,\"Mpa\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.4 page number 423" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The normal stress on the 221/2 plane 4.82 Mpa\n", + "The tangential stress on the 221/2 plane 1.43 Mpa\n" + ] + } + ], + "source": [ + "#Given\n", + "import math \n", + "S_x = 3.0 #Mpa _ the noraml stress in x direction\n", + "S_y = 1.0 #Mpa _ the noraml stress in Y direction\n", + "c = (S_x + S_y)/2 #Mpa - The centre of the mohr circle \n", + "point_x = 1 #The x coordinate of a point on mohr circle\n", + "point_y = 3 #The y coordinate of a point on mohr circle\n", + "#Caliculations \n", + "\n", + "Radius = pow((point_x-c)**2 + point_y**2,0.5) # The radius of the mohr circle\n", + "#22.5 degrees line is drawn \n", + "o = 22.5 #degrees \n", + "a = 71.5 - 2*o #Degrees, from diagram \n", + "stress_n = c + Radius*math.sin(math.degrees(o)) #Mpa The normal stress on the plane \n", + "stress_t = Radius*math.cos(math.degrees(o)) #Mpa The tangential stress on the plane\n", + "print \"The normal stress on the 221/2 plane \",round(stress_n,2),\"Mpa\"\n", + "print \"The tangential stress on the 221/2 plane \",round(stress_t,2),\"Mpa\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.7 page number 437" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle strains are 400 um/m -600 um/m\n", + "The angle of principle plane 18.43 degrees\n" + ] + } + ], + "source": [ + "e_x = -500 #10-6 m/m The contraction in X direction\n", + "e_y = 300 #10-6 m/m The contraction in Y direction\n", + "e_xy = -600 #10-6 m/m discorted angle\n", + "centre = (e_x + e_y)/2 #10-6 m/m \n", + "point_x = -500 #The x coordinate of a point on mohr circle\n", + "point_y = 300 #The y coordinate of a point on mohr circle\n", + "Radius = 500 #10-6 m/m - from mohr circle\n", + "e_1 = Radius +centre #MPa The principle strain\n", + "e_2 = -Radius +centre #Mpa The principle strain\n", + "k = math.atan(300.0/900) # from geometry\n", + "k_1 = math.degrees(k)\n", + "print \"The principle strains are\",e_1,\"um/m\",e_2,\"um/m\"\n", + "print \"The angle of principle plane\",round(k_1,2) ,\"degrees\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 8.8 page number 441" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The principle stresses are 48.35 Mpa -105.49 MPa\n" + ] + } + ], + "source": [ + "#Given\n", + "e_0 = -500 #10-6 m/m \n", + "e_45 = 200 #10-6 m/m \n", + "e_90 = 300 #10-6 m/m\n", + "E = 200 #Gpa - youngs modulus of steel \n", + "v = 0.3 # poissions ratio \n", + "#Caliculations \n", + "\n", + "e_xy = 2*e_45 - (e_0 +e_90 ) #10-6 m/m from equation 8-40 in text\n", + "# from example 8.7\n", + "e_x = -500 #10-6 m/m The contraction in X direction\n", + "e_y = 300 #10-6 m/m The contraction in Y direction\n", + "e_xy = -600 #10-6 m/m discorted angle\n", + "centre = (e_x + e_y)/2 #10-6 m/m \n", + "point_x = -500 #The x coordinate of a point on mohr circle\n", + "point_y = 300 #The y coordinate of a point on mohr circle\n", + "Radius = 500 #10-6 m/m - from mohr circle\n", + "e_1 = Radius +centre #MPa The principle strain\n", + "e_2 = -Radius +centre #Mpa The principle strain\n", + "\n", + "stress_1 = E*(10**-3)*(e_1+v*e_2)/(1-v**2) #Mpa the stress in this direction \n", + "stress_2 = E*(10**-3)*(e_2+v*e_1)/(1-v**2) #Mpa the stress in this direction \n", + "print\"The principle stresses are \",round(stress_1,2),\"Mpa\",round(stress_2,2),\"MPa\" " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_2.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_2.ipynb new file mode 100644 index 00000000..0d90dff0 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/chapter9_2.ipynb @@ -0,0 +1,237 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9:Elastic stress analysis and design" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.4 pagenumber 465" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)The principle stresses are 16.67 MPa, -16.67 Mpa\n", + "b)The stresses on inclines plane 11.11 Mpa noraml, -7.06 Mpa shear \n" + ] + } + ], + "source": [ + "#Given \n", + "import math \n", + "b = 40.0 #mm - The width of the beam crossection\n", + "h = 300.0 #mm - The length of the beam crossection \n", + "V = 40.0 #KN - The shear stress in teh crossection\n", + "M = 10.0 #KN-m - The bending moment on K----K crossection \n", + "c = h/2 #mm -The position at which maximum stress occurs on the crossection\n", + "I = b*(h**3)/12 #mmm4 - the moment of inertia \n", + "#Caliculations \n", + "\n", + "stress_max_1 = M*c*(10**6)/I #The maximum stress occurs at the end\n", + "stress_max_2 = -M*c*(10**6)/I #The maximum stress occurs at the end\n", + "y = 140 #mm The point of interest, the distance of element from com\n", + "n = y/(c) # The ratio of the distances from nuetral axis to the elements\n", + "stress_L_1 = n*stress_max_1 #The normal stress on elements L--L\n", + "stress_L_2 = -n*stress_max_1 #The normal stress on elements L--L\n", + "x = 10 #mm The length of the element\n", + "A = b*x #mm3 The area of the element \n", + "y_1 = y+x/2 # the com of element from com of whole system\n", + "stress_xy = V*A*y_1*(10**3)/(I*b) #Mpa - The shear stress on the element \n", + "#stresses acting in plane 30 degrees \n", + "o = 60 #degrees - the plane angle\n", + "stress_theta = stress_L_1/2 + stress_L_1*(math.cos(math.radians(o)))/2 - stress_xy*(math.sin(math.radians(o))) #Mpa by direct application of equations\n", + "stress_shear = -stress_L_1*(math.sin(math.radians(o)))/2 - stress_xy*(math.cos(math.radians(o))) #Mpa Shear stress\n", + " \n", + "print \"a)The principle stresses are \",round(stress_max_1,2),\"MPa,\",round(stress_max_2,2),\"Mpa\"\n", + "print \"b)The stresses on inclines plane \",round(stress_theta,2),\"Mpa noraml, \",round(stress_shear,2),\"Mpa shear \"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.5 page number 476" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The stress developed 0.4 is in allowable ranges for 30077.85 mm2 area\n", + "The minimum area is 5714.28571429 mm2\n" + ] + } + ], + "source": [ + "#Given\n", + "M = 10 #KN-m moment\n", + "v = 8.0 #KN - shear Stress \n", + "stress_allow = 8 #MPa - The maximum allowable stress\n", + "shear_allow_per = 1.4 #Mpa - The allowable stress perpendicular to grain\n", + "stress_allow_shear = 0.7 #MPa - The maximum allowable shear stress\n", + "#Caliculations \n", + "\n", + "S = M*(10**6)/stress_allow #mm3 \n", + "#lets arbitarly assume h = 2b\n", + "#S = b*(h**2)/6\n", + "h = pow(12*S,0.333) #The depth of the beam\n", + "b = h/2 #mm The width of the beam\n", + "A = h*b #mm2 The area of the crossection , assumption\n", + "stress_shear = 3*v*(10**3)/(2*A) #Mpa The strear stress \n", + "if stress_shear<stress_allow_shear:\n", + " print \"The stress developed \",round(stress_shear,2),\" is in allowable ranges for \",round(A,2),\"mm2 area\"\n", + "else:\n", + " print \"The stress developed\",stress_shear,\" is in non allowable ranges\",A,\"area\"\n", + "Area_allow = v*(10**3)/shear_allow_per #mm - the allowable area\n", + "print \"The minimum area is \",Area_allow ,\"mm2\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.6 page number 478" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W8x24 gives the allowable ranges of shear stress\n", + "lengths of the bearing at A 0.092 in\n", + "lengths of the bearing at B 2.12 in\n" + ] + } + ], + "source": [ + "#Given\n", + "stress_allow = 24 #ksi - The maximum allowable stress\n", + "stress_allow_shear = 14.5 #ksi- The maximum allowable shear stress\n", + "M_max = 36 #k-ft The maximum moment\n", + "l = 16 #in-The length of the rod\n", + "w = 2 #k/ft - The force distribution on the rod\n", + "R_A = 6.4 #k - The reaction at A\n", + "R_B = 25.6 #k - the reaction at B\n", + "v_max = R_B-l*w #kips the maximum stress, from diagram\n", + "#W8x24 is used from the appendix table 3 and 4 \n", + "l =0.245 #in - W8x24 crossesction length\n", + "#Caliculations \n", + "\n", + "stress_xy = v_max/A #ksi the approximate shear stress \n", + "if stress_xy < stress_allow_shear:\n", + " print \"W8x24 gives the allowable ranges of shear stress\"\n", + "else:\n", + " print \"W8x24 doesnot gives the allowable ranges of shear stress\"\n", + "k = 7.0/8 #in the distance from the outer face of the flange to the webfillet\n", + "#at+kt should not exceed 0.75 of yeild stress\n", + "#a1t+2kt should not exceed 0.75 of yeild stress\n", + "Stress_yp = 36 #Ksi - The yeild stress\n", + "t = 0.245 #in thickness of the web\n", + "#support a \n", + "a = R_A/(0.75*Stress_yp*t)-k #in lengths of the bearings\n", + "#support b\n", + "a_1 = R_B/(0.75*Stress_yp*t)-2*k #in lengths of the bearings\n", + "print \"lengths of the bearing at A \",round(a,3),\"in\"\n", + "print \"lengths of the bearing at B\",round(a_1,3),\"in\"\n", + " \n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 9.8 page number 483" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The suggested diameter is 2.66 in\n" + ] + } + ], + "source": [ + "#given \n", + "hp = 63000 #horse power\n", + "T = hp*20*(10**-3)/63 #k-in the torsion implies due to horse power\n", + "stress_allow_shear = 6 #ksi- The maximum allowable shear stress\n", + "M_ver = 6.72/2 #k-in the vertical component of the moment \n", + "M_hor = 9.10 #k-in the horizantal component of the moment \n", + "#Caliculations \n", + "\n", + "M = pow(((M_ver**2)+(M_hor**2)),0.5) #K-in The resultant \n", + "d = pow((16*(((M**2)+(T**2))**0.5)/(stress_allow_shear*3.14)),0.333) #in, The suggested diameter from derivation\n", + "print \"The suggested diameter is\",round(d,2),\"in\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_3.ipynb b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_3.ipynb new file mode 100644 index 00000000..d6d687b7 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/charpter_3_3.ipynb @@ -0,0 +1,289 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2f0c9cb537209e742ab15685141324ee1ed15f7e17522fe250536619498277f1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chaper 3:Generalized hooke's law, Pressure vessels and Thick walled cylinders"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 page number 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "th = 8 #mm - thickness \n",
+ "G = 0.64 #N/mm2 -shear modulus\n",
+ " \n",
+ "a = 40 #mm length\n",
+ "b = 20 #mm width \\\n",
+ "Area = a*b #mm2\n",
+ "e = randn() # lets say any random vale\n",
+ "strain = e/th # strain in shearing case\n",
+ "#caliculations\n",
+ "\n",
+ "stress =G*strain\n",
+ "F = stress*Area\n",
+ "#stiffness = froce/displacement\n",
+ "k = F/e #N/mm\n",
+ "print \"the stiffness constant is \",k,\"N/mm\"\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the stiffness constant is 64.0 N/mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 page number 149\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a = 50 #mm - length of a cube\n",
+ "E = 200 # Gpa - the youngs modulus \n",
+ "v = 0.25 # no units- poissions ratio \n",
+ "pressure = 200 # Mpa - pressure acting on all sides \n",
+ "#pressure is a compressive stress \n",
+ "S_x = -200 # Gpa - The stress in X direction \n",
+ "S_y = -200 # Gpa - The stress in Y direction\n",
+ "S_z = -200 # Gpa - The stress in Z direction\n",
+ "#Caliculations\n",
+ "\n",
+ "e = S_x*pow(10,-3)/E - v*S_y*pow(10,-3)/E-v*S_z*pow(10,-3)/E#mm - considering all three directions \n",
+ "x = e*a #mmThe change in the dimension between parallel faces\n",
+ "print \"The change in the dimension between parallel faces is \",x,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in the dimension between parallel faces is -0.025 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 page number 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "R = 1000 # mm - radius of the cylinder \n",
+ "t = 10 #mm - thickness of the cylinder\n",
+ "p_in = 0.80 #Mpa- Internal pressure \n",
+ "E = 200 #Mpa- youngs modulus \n",
+ "v = 0.25 # poission ratio\n",
+ "#caliculations\n",
+ "\n",
+ "Stress_1 = p_in*R/t #Mpa -Hoop stress #From derived expressions \n",
+ "Stress_2 = p_in*R/(2*t) #Mpa- Longitudinal stress \n",
+ "e = Stress_1*pow(10,-3)/E-v*Stress_2*pow(10,-3)/E\n",
+ "dia_change = e*R #mm- The change in daimeter of the cylinder \n",
+ "print \"The Hoop stress is \",Stress_1,\"mm\"\n",
+ "print \"The longitudinal stress is \",Stress_2, \"mm\"\n",
+ "print \"The change in daimeter of the cylinder is\",dia_change,\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Hoop stress is 80.0 mm\n",
+ "The longitudinal stress is 40.0 mm\n",
+ "The change in daimeter of the cylinder is 0.35 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 page number 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "R = 1000 #mm - radius of the cylinder\n",
+ "th = 10 #mm - thickness of the cylinder\n",
+ "E = 200 #Mpa- youngs modulus \n",
+ "v = 0.25 # poission ratio\n",
+ "#caliculations\n",
+ "\n",
+ "Stress_1 = p_in*R/(2*t) #Mpa -Hoop stress #From derived expressions \n",
+ "Stress_2 = p_in*R/(2*t) #Mpa- Longitudinal stress\n",
+ "# Hoop stress and Longitudinal stress are same in this case\n",
+ "e = Stress_1*pow(10,-3)/E-v*Stress_2*pow(10,-3)/E\n",
+ "dia_change = e*R #mm- The change in daimeter of the cylinder\n",
+ "print \"The maximum stress is \",Stress_2, \"mm\"\n",
+ "print \"The change in daimeter of the cylinder is\",dia_change,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum stress is 40.0 mm\n",
+ "The change in daimeter of the cylinder is 0.15 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 page number 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "p_in = 0.7 #Mpa - internal pressure \n",
+ "n_bolts = 20 # number of bolts \n",
+ "dia = 650 #mm - bolt circle diameter \n",
+ "stress_allow = 125 #mm Maximum alowable stress\n",
+ "Stress_conc = 2 #stress concentration\n",
+ "d = 25 #mm \n",
+ "#caliculations\n",
+ "\n",
+ "F = p_in*3.14*pow(((dia-2*d)/2),2)*pow(10,6) #N\n",
+ "F_each = F/n_bolts #N- force per each Bolt\n",
+ "A = Stress_conc*F_each/(stress_allow*pow(10,-6)) #mm2 The bolt area \n",
+ "Bolt_dia = 2*pow((round(A,3)/3.14),0.5)*pow(10,-7) #mm the bolt daimeter\n",
+ "print \"The diameter of each bolt is\",Bolt_dia,\"mm\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diameter of each bolt is 1.41985914794 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 page number 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "r_1 = randn()# let r_1 is a random number \n",
+ "t = 0.1*r_1 #Thickness\n",
+ "r_2 = r_1+t #Outer Radius\n",
+ "#caliculations\n",
+ "\n",
+ "stress_1_a= ((r_1**2)/((r_2**2)-(r_1**2)))*(1+((r_2**2)/(r_1**2)))#p -r =r_2\n",
+ "stress_2_a= ((r_1**2)/((r_2**2)-(r_1**2)))*(1+((r_2**2)/(r_2**2)))#p -r =r_1\n",
+ "stress_avg_a=(stress_1_a+stress_2_a)/2 #p\n",
+ "print \"The average stress in case a is\",stress_avg_a,\"p\"\n",
+ "\n",
+ "#Case-B\n",
+ "#Given\n",
+ "r_1 = randn()# let r_1 is a random number \n",
+ "r_2_b= 4*r_1 \n",
+ "#caliculations\n",
+ "\n",
+ "stress_1_b = ((r_1**2)/((r_2_b**2)-(r_1**2)))*(1+((r_2_b**2)/(r_1**2)))#p -r =r_2\n",
+ "stress_2_b= ((r_1**2)/((r_2_b**2)-(r_1**2)))*(1+((r_2_b**2)/(r_2_b**2)))#p -r =r_1\n",
+ "stress_avg_b=(stress_1_b+stress_2_b)/2 #p\n",
+ "print \"The average stress in case b is\",stress_2_b,\"p\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average stress in case a is 10.0238095238 p\n",
+ "The average stress in case b is 0.133333333333 p\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.PNG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.PNG Binary files differnew file mode 100644 index 00000000..3e77324d --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/1.PNG diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.PNG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.PNG Binary files differnew file mode 100644 index 00000000..9dea04e5 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/2.PNG diff --git a/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.PNG b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.PNG Binary files differnew file mode 100644 index 00000000..4ff04bf3 --- /dev/null +++ b/Engineering_Mechanics_of_Solids_by_Popov_E_P/screenshots/3.PNG diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_1_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_1_1.ipynb new file mode 100644 index 00000000..75e3d99a --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_1_1.ipynb @@ -0,0 +1,382 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 1 : Introduction\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.1- Page No : 6" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "P_m = 760 # pressure of mercury in mm\n", + "P_m_bar = P_m/750 # in bar\n", + "P_W = 0.006867 # pressure of water in bar\n", + "P = P_m_bar+P_W # in bar\n", + "print \"The absolute pressure of gas = %0.3f bar \" %P" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The absolute pressure of gas = 1.020 bar \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.2- Page No : 6" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Rho = 13.6 \n", + "g = 9.81 \n", + "a = 760 # in mm\n", + "b = 480 # in mm\n", + "h = a-b # in mm\n", + "P = (1000*Rho*g*h)/(1000) # in N/m**2\n", + "P= int(P/100)*100 #in N/m**2\n", + "print \"The absolute pressure = %0.f N/m**2 \" %P\n", + "P = int(P /100) # in mbar\n", + "print \"The absolute pressure = %0.f mbar \" %P" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The absolute pressure = 37300 N/m**2 \n", + "The absolute pressure = 373 mbar \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.3- Page No : 6" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "G_P = 30 # guage pressure of steam in bar\n", + "P1 = 745 # in mm\n", + "P1= P1/750 # in bar\n", + "PressureInBoiler = G_P+P1 # in bar\n", + "print \"The absolute pressure in the bioler =\",round(PressureInBoiler,3),\"bar\"\n", + "P2 = 708.2 # in mm\n", + "P2= P2/750 # in \n", + "PressureInCond = P1-P2 # in bar\n", + "print \"The absolute pressure in the Condenser = %0.4f bar \" %PressureInCond\n", + "PressureInCond = round(PressureInCond*10**4)*10**1 # in N/m**2\n", + "print \"The absolute pressure in the Condenser = %0.f N/m**2 \" %(PressureInCond)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The absolute pressure in the bioler = 30.993 bar\n", + "The absolute pressure in the Condenser = 0.0491 bar \n", + "The absolute pressure in the Condenser = 4910 N/m**2 \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.4- Page No : 7" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "Rho = 0.78 # in kg/m**3\n", + "g = 9.81 \n", + "h = 3 # in m\n", + "b = g*Rho*h*1000 # in N/m**2\n", + "b = b * 10**-3 # in kN/m**2\n", + "print \"The gauge pressure = %0.3f kN/m**2 \" %b" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The gauge pressure = 22.955 kN/m**2 \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.5- Page No : 7" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "B_h = 755 # Barometric height in mm\n", + "M_h= 240 # Manometer height in mm\n", + "P = B_h+M_h # in mm \n", + "P = P/750 # absolute pressure in bar\n", + "P= P*10**5 # in N/m**2\n", + "print \"The absolute pressure in the vessel = %0.4f MN/m**2 \" %(P*10**-6)\n", + "print \"The absolute pressure in the vessel = %0.3f bar \" %(P*10**-5)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The absolute pressure in the vessel = 0.1327 MN/m**2 \n", + "The absolute pressure in the vessel = 1.327 bar \n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.6- Page No : 12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "T = 287 # in degree C\n", + "T = T + 273 # in K\n", + "print \"The temperature on absolute scale = %0.f K \" %T" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The temperature on absolute scale = 560 K \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.7- Page No : 12" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import sqrt\n", + "# Given data\n", + "\n", + "a = 0.26 \n", + "b = 5*10**-4 \n", + "E = 10 # in mV\n", + "T = (a/(2*b))*( sqrt(1+(4*E*b/a**2)) - 1 ) # in degree C\n", + "print \"The unit of a will be mV/\u00b0C and the unit of b will be mV/\u00b0C**2\"\n", + "print \"The Temperature = %0.2f degree C \" %T" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The unit of a will be mV/\u00b0C and the unit of b will be mV/\u00b0C**2\n", + "The Temperature = 35.97 degree C \n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.8- Page No : 15" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "Q_w = 500 # quantity of water flowing in kg/minute\n", + "T1 = 80 # in \u00b0 C\n", + "T2 = 20 # in \u00b0C\n", + "del_T = T1-T2 # in \u00b0C\n", + "Spe_heat = 4.182 # in kJ/kg\n", + "Q_h = Q_w*del_T*Spe_heat # in kJ/minute\n", + "print \"Quantity of heat supplied to water in the economizer is\",int(Q_h),\"kJ/minute or\",round(Q_h*10**-3,2),\" MJ/minute\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quantity of heat supplied to water in the economizer is 125460 kJ/minute or 125.46 MJ/minute\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.9- Page No : 15" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "CopperMass = 3 # in kg\n", + "WaterMass= 6 # in kg\n", + "Spe_heat_copper= 0.394 # in kJ/kg-K\n", + "T1 = 90 # in degree C\n", + "T2 = 20 # in degree C\n", + "del_T = T1-T2 # in degree C\n", + "H_C = CopperMass*Spe_heat_copper*del_T # heat required by copper in kJ\n", + "Spe_heat_water= 4.193 # in kJ/kg-K\n", + "H_W = WaterMass*Spe_heat_water*del_T # heat required by water in kJ\n", + "H = H_C+H_W #heat required by vessel and water in kJ\n", + "H = H * 10**-3 # in MJ\n", + "print \"Heat required by vessel and water = %0.3f MJ \" %H" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat required by vessel and water = 1.844 MJ \n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 1.10- Page No : 15" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "\n", + "m = 18.2 #quantity of air supplied of coal in kg\n", + "T1 = 200 # in degree C\n", + "T2 = 18 # in degree C\n", + "del_T = T1-T2 # in degree C\n", + "Spe_heat = 1 # in kJ/kg-K\n", + "Q_C = m*Spe_heat*del_T # in kJ\n", + "print \"The Quantity of heat supplied per kg of coal = %0.1f kJ \" %Q_C" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Quantity of heat supplied per kg of coal = 3312.4 kJ \n" + ] + } + ], + "prompt_number": 9 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_2_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_2_1.ipynb new file mode 100644 index 00000000..05b5f64f --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_2_1.ipynb @@ -0,0 +1,967 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 2 : Gas Laws And Properties\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.1 - Page No : 22" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "P1= 250 # in kN/m**2\n", + "V1= 6.2 # in m**3\n", + "V2= 1.82 # in m**3\n", + "# Formula P1*V1 = P2*V2\n", + "P2= P1*V1/V2 # in kN/m**2\n", + "print \"Pressure of air after compression = %0.1f kN/m**2 \" %P2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure of air after compression = 851.6 kN/m**2 \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.2 - Page No : 22" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "guagePressure= 1500 # in kN/m**2\n", + "atmPressure= 100 # in kN/m**2\n", + "P1= guagePressure+atmPressure # in kN/m**2\n", + "V1= 0.1 # in m**3\n", + "V2= 0.4 # in m**3\n", + "# Formula P1*V1 = P2*V2\n", + "P2= P1*V1/V2 # in kN/m**2\n", + "NewGuagePressure= P2-atmPressure # in kN/m**2\n", + "print \"New guage pressure = %0.f kN/m**2 (3 bar)\" %NewGuagePressure" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "New guage pressure = 300 kN/m**2 (3 bar)\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.3 - Page No : 23" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1= -4+101.3 # in kN/m**2\n", + "V1= 96+475 # in cm**3\n", + "V2= 96 # in cm**3\n", + "# Formula P1*V1 = P2*V2\n", + "P2= P1*V1/V2 # in kN/m**2\n", + "print \"Pressure at the end of the compression stroke = %0.1f kN/m**2 \" %P2\n", + "print \"Pressure at the end of the compression stroke = %0.3f bar \" %(P2*10**-2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at the end of the compression stroke = 578.7 kN/m**2 \n", + "Pressure at the end of the compression stroke = 5.787 bar \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.4 - Page No : 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V0= 1 # in m**3\n", + "t= 300 # in \u00b0C\n", + "V= V0*(1+t/273) # in m**3\n", + "print \"The volume occupied = %0.1f m**3 \" %V" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The volume occupied = 2.1 m**3 \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.5 - Page No : 25" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V1= 2 # in m**3\n", + "T1= 30+273 # in K\n", + "T2= 230+273 # in K\n", + "# V1/T1 = V0/T0 = V2/T2\n", + "V2= V1*T2/T1 # in m**3\n", + "print \"The final volume = %0.3f m**3 \" %V2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The final volume = 3.320 m**3 \n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.6 - Page No : 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1= 7*10**5 # in N/m**2\n", + "V1= 3 # in m**3\n", + "V2= 9 # in m**3\n", + "T1= 150+273 # in K\n", + "T2= 10+273 # in K\n", + "# Formula P1*V1/T1 = P2*V2/T2\n", + "P2= P1*V1*T2/(T1*V2) # in N/m**2\n", + "print \"Pressure of the gas = %0.3f bar \" %(P2*10**-5)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure of the gas = 1.561 bar \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.7 - Page No : 29" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1= 100 # in kN/m**2\n", + "V1byV2= 12 # in \n", + "T1= 115+273 # in K\n", + "T2= 180+273 # in K\n", + "# Formula P1*V1/T1 = P2*V2/T2\n", + "P2= P1*V1byV2*T2/T1 # in N/m**2\n", + "print \"Absolute pressure at the end of compression stroke = %0.2f bar \" %(P2*10**-2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Absolute pressure at the end of compression stroke = 14.01 bar \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.8 - Page No : 30" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "mR= 8314.3 # in J/kg-mole-K\n", + "P= 200*10**3 # in N/m**2\n", + "T= 30+273 # in K\n", + "# Formula P*V = mR*T\n", + "V= mR*T/P # in m**3\n", + "print \"The molecular volume of all the gases = %0.3f m**3 \" %V" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The molecular volume of all the gases = 12.596 m**3 \n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.9 - Page No : 30" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1= 96 # in kN/m**2\n", + "P2= 725 # in kN/m**2\n", + "V1= 600 # in cm**3\n", + "V2= 100 # in cm**3\n", + "T1= 100+273 # in K\n", + "# Formula P1*V1/T1 = P2*V2/T2\n", + "T2= P2*V2*T1/(P1*V1) # in K\n", + "print \"Temperature at the end of compression = %0.3f \u00b0C \" %(T2-273)\n", + "# Note:- In the book, There is an error to calculate the value of T2." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature at the end of compression = 196.488 \u00b0C \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.10 - Page No : 30" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "MR= 8314.2 # in J/kg-mole-K\n", + "mass= 44 # Molecular mass of carbon dioxide in kg\n", + "R= MR/mass # in J/kg-K\n", + "P= 11 # in MPa\n", + "P=P*10**6 # in Pa\n", + "V= 50*10**-3 # in m**3\n", + "T= 18+273 # in K\n", + "# Formula P*V= m*R*T\n", + "m= P*V/(R*T) # in kg\n", + "m=round(m) # in kg\n", + "MolecularVolume= MR*T/P # in m**3\n", + "D= m/V # density of the gas in kg/m**3\n", + "SpecificVolume= 1/D # in m**3/kg\n", + "print \"The mass of the gas = %0.f kg \" %m\n", + "print \"The Molecular volume = %0.2f m**3 \" %MolecularVolume\n", + "print \"The density of the gas = %0.f kg/m**3 \" %D\n", + "print \"The specific volume of the gas = %0.3f m**3/kg \" %SpecificVolume" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mass of the gas = 10 kg \n", + "The Molecular volume = 0.22 m**3 \n", + "The density of the gas = 200 kg/m**3 \n", + "The specific volume of the gas = 0.005 m**3/kg \n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.11 - Page No : 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1= 350 # in kN/m**2\n", + "P1=P1*10**3 # in N/m**2\n", + "P2= 1.05 # in kN/m**2\n", + "P2=P2*10**6 # in N/m**2\n", + "V= 0.3 # in m**3\n", + "R= 0.29 # in kJ/kg-K\n", + "R= R*10**3 # in j/kgK\n", + "T1= 35+273 # in K\n", + "# Formula P*V= m*R*T\n", + "m= P1*V/(R*T1) # in kg\n", + "# Formula P1*V1/T1 = P2*V2/T2 and since V1= V2\n", + "T2= P2*T1/P1 # in K\n", + "print \"Temperature at constant volume compression = %0.f \u00b0C \" %(T2-273)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature at constant volume compression = 651 \u00b0C \n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.12 - Page No : 31" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "g1= 1.75 # gauge reading in bar\n", + "atm= 1.013 # in atmospheric pressure in bar\n", + "P1= g1+atm # in bar\n", + "T1= 12+273 # in K\n", + "T2= 45+273 # in K\n", + "# Formula P1*V1/T1 = P2*V2/T2 and since V1= V2\n", + "P2= P1*T2/T1 # in bar\n", + "g2=P2-atm # tyre gauge reading in bar \n", + "print\"Tyre guage reading at 45\u00b0C = %0.2f bar \"%g2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Tyre guage reading at 45\u00b0C = 2.07 bar \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.13 - Page No : 37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Q= 120 # in kJ\n", + "W= 150 # in kJ\n", + "E= Q-W # change in internal energy in kJ\n", + "print \"The internal energy of the system decreases by %0.0f kJ\" %abs(E)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The internal energy of the system decreases by 30 kJ\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.14 - Page No : 37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Q= -40 # in kJ/kg\n", + "W= -80 # in kJ/kg\n", + "E= Q-W # change in internal energy in kJ/kg\n", + "print \"Change in internal energy = %0.0f kJ/kg \" %E\n", + "print \"Thus internal energy of the working substance increases \"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in internal energy = 40 kJ/kg \n", + "Thus internal energy of the working substance increases \n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.15 - Page No : 37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Int_energy_changes= 20 # in kJ/kg\n", + "Q= 0 # in kJ\n", + "W= -90 # in kJ\n", + "E= Q-W # change in internal energy in kJ/kg\n", + "m= E/Int_energy_changes # in kg\n", + "print \"The mass of the fluid in the system = %0.1f kg \" %m" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mass of the fluid in the system = 4.5 kg \n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.16 - Page No : 38" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "U= 2800 # in kJ/kg\n", + "P= 20 # in bar\n", + "P= P*10**5 # in N/m**2\n", + "V= 0.23/1000 # in m**3\n", + "SP= U+P*V # specific enthalpy in kJ/kg\n", + "print \"The specific enthalpy = %0.0f kJ/kg \" %SP" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The specific enthalpy = 3260 kJ/kg \n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.17 - Page No : 38" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "h1= 210 #first heat transfer in kJ\n", + "h2= -20 # second heat transfer in kJ\n", + "h3= -190 # third heat transfer in kJ\n", + "h4= 60 # fourth heat transfer in kJ\n", + "W1= -180 # first work transfer in kJ\n", + "W2= 200 # second work transfer in kJ\n", + "W3= -300 # third work transfer in kJ\n", + "# Total Heat transfer = Total work transfer\n", + "W4= h1+h2+h3+h4-W1-W2-W3 # forth work transfer in kJ\n", + "print \"Fourth work transfer = %0.0f kJ is :\" %W4\n", + "print \"Thus the system delivers\",int(W4),\"kJ of work\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Fourth work transfer = 340 kJ is :\n", + "Thus the system delivers 340 kJ of work\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.18 - Page No : 47" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Cv= 0.718 # in kJ/kgK\n", + "R= 0.278 # in kJ/kgK\n", + "T1= 15+273 # in K\n", + "T2= 135+273 # in K\n", + "m= 2 # mass in kg\n", + "V1= 0.7 # in m**3\n", + "Q= m*Cv*(T2-T1) # in kJ\n", + "print \"Heat supplied to gas = %0.2f kJ \" %Q\n", + "# Formula P1*V1= m*R*T1\n", + "P1= m*R*T1/V1 # in kN/m**2 absolute\n", + "# From P1/T1= P2/T2\n", + "P2= P1*T2/T1 # in kN/m**2\n", + "print \"The final pressure = %0.1f kN/m**2 \" %P2\n", + "# Note : The calculation in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat supplied to gas = 172.32 kJ \n", + "The final pressure = 324.1 kN/m**2 \n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.19 - Page No : 48" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Cv= 1.005 # in kJ/kgK\n", + "T1= 200+273 # in K\n", + "T2= 15+273 # in K\n", + "V1= 0.12 # in m**3\n", + "m= 0.25 # mass in kg\n", + "Q= m*Cv*(T1-T2) # in kJ\n", + "print \"Heat extracted from the gas = %0.2f kJ \" %Q\n", + "# From V1/T1= V2/T2\n", + "V2= V1*T2/T1 # in m**3\n", + "print \"The final volume of the gas = %0.3f m**3 \" %V2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat extracted from the gas = 46.48 kJ \n", + "The final volume of the gas = 0.073 m**3 \n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.20 - Page No : 48" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "m=2 # molecular mass\n", + "UGC= 8.3143 # universal gas constant in kJ/kg-mole-K\n", + "Cp= 14.41 # in kJ/kg-K\n", + "R= UGC/m # in kJ/kgK\n", + "Cv= Cp-R # in kJ/kgK\n", + "gama= Cp/Cv \n", + "print \"The value of R = %0.3f kJ/kgK is :\" %R\n", + "print \"The value of Cv = %0.3f kJ/kgK \" %Cv\n", + "print \"The value of gama = %0.1f\" %gama" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of R = 4.157 kJ/kgK is :\n", + "The value of Cv = 10.253 kJ/kgK \n", + "The value of gama = 1.4\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.21 - Page No : 48" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Cp = 0.796 # in kJ/kg-K\n", + "Cv = 0.67 # in kJ/kg-K\n", + "P1=1 # in bar\n", + "P1= P1*10**5 # in N/m**2\n", + "P2=3.5 # in bar\n", + "P2= P2*10**5 # in N/m**2\n", + "V1= 0.12 # in m**3\n", + "V2= 0.05 # in m**3\n", + "m=1 # in kg\n", + "R= Cp-Cv # in kJ/kg-K\n", + "R= R*10**3 # in J/kg-K\n", + "# Formula P*V= m*R*T\n", + "T1= P1*V1/(m*R) # in K\n", + "# Formula P1*V1/T1 = P2*V2/T2\n", + "T2= P2*V2*T1/(P1*V1) # in K\n", + "T= T2-T1 # Temperature rise in K\n", + "print \"Temperature rise = %0.1f K \" %T\n", + "E= m*Cv*(T2-T1) # change in internal energy kJ\n", + "print \"Change in internal energy = %0.1f kJ \" %E" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature rise = 43.7 K \n", + "Change in internal energy = 29.2 kJ \n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.22 - Page No : 49" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "CO2= 0.12 #volume of CO2 in m**3\n", + "CO= 0.25 # in m**3\n", + "H2= 0.06 # in m**3\n", + "CH4= 0.02 # in m**3\n", + "N2= 0.55 # in m**3\n", + "R= 8.3143 # Universal gas constant in kJ/kg-mol-K\n", + "mm_CO2= 44 # molecular mass of CO2\n", + "mm_CO= 28 \n", + "mm_H2= 2 \n", + "mm_CH4= 16 \n", + "mm_N2= 28 \n", + "Gm_CO2= 5.28 # gravimetric mass of CO2\n", + "Gm_CO= 7.00 \n", + "Gm_H2= 0.12 \n", + "Gm_CH4= 0.32 \n", + "Gm_N2= 15.40 \n", + "total_Gm= Gm_CO2+Gm_CO+Gm_H2+Gm_CH4+Gm_N2 \n", + "Per_relative_CO2= Gm_CO2/total_Gm*100 # in %\n", + "Per_relative_CO= Gm_CO/total_Gm*100 # in %\n", + "Per_relative_H2= Gm_H2/total_Gm*100 # in %\n", + "Per_relative_CH4= Gm_CH4/total_Gm*100 # in %\n", + "Per_relative_N2= Gm_N2/total_Gm*100 # in %\n", + "print \"Analysis % Relative : \"\n", + "print \"CO2 : \",round(Per_relative_CO2,1)\n", + "print \"CO : \",round(Per_relative_CO,1)\n", + "print \"H2 : \",round(Per_relative_H2,3)\n", + "print \"CH4 : \",round(Per_relative_CH4,2)\n", + "print \"N2 : \",round(Per_relative_N2,1)\n", + "App_Gas_Constant= R/total_Gm # in kJ/kg-K\n", + "mol_Vol= 22.4 #mole volume at NTP in m**3\n", + "Average_Density= total_Gm/mol_Vol # in kg/m**3 at NTP\n", + "print \"The Apparent gas constant = %0.4f kJ/kg-K \" %App_Gas_Constant\n", + "print \"The average density = %0.3f kg/m**3 at NTP. \" %Average_Density" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Analysis % Relative : \n", + "CO2 : 18.8\n", + "CO : 24.9\n", + "H2 : 0.427\n", + "CH4 : 1.14\n", + "N2 : 54.8\n", + "The Apparent gas constant = 0.2957 kJ/kg-K \n", + "The average density = 1.255 kg/m**3 at NTP. \n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.23 - Page No : 50" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Cv = 652 # in J/kg-K\n", + "R= 287 # in J/kg-K\n", + "Cp= Cv+R # in J/kg-K\n", + "m=0.3 # in kg\n", + "P= 1.5*10**5 # in N/m**2\n", + "V= 0.283 # in m**3\n", + "# Formula P*V= m*R*T\n", + "T= P*V/(m*R) # in K\n", + "T= T-273 # in \u00b0C\n", + "T1= -40 # in \u00b0C\n", + "delta_U= m*Cv*(T-T1) # in J\n", + "print \"Internal energy = %0.3f kJ \" %(delta_U*10**-3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Internal energy = 50.862 kJ \n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 2.24 - Page No :50 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "H2= 0.50 #volume of H2 in m**3\n", + "CH4= 0.19 # in m**3\n", + "CO= 0.18 # in m**3\n", + "C2H4= 0.02 # in m**3\n", + "CO2= 0.05 # in m**3\n", + "N2= 0.06 # in m**3\n", + "P= 100 # pressure of mixture in kN/m**2\n", + "mm_CO2= 44 # molecular mass of CO2\n", + "mm_CO= 28 \n", + "mm_H2= 2 \n", + "mm_CH4= 16 \n", + "mm_C2H4= 28 \n", + "mm_N2= 28 \n", + "R= 8.3143 # Universal gas constant in kJ/kg-mol-K\n", + "R_H2= R/mm_H2 # gas constant for H2\n", + "R_CO2= R/mm_CO2 \n", + "R_CO= R/mm_CO \n", + "R_C2H4= R/mm_C2H4 \n", + "R_CH4= R/mm_CH4 \n", + "R_N2= R/mm_N2 \n", + "M= mm_CO2*CO2+mm_H2*H2+mm_CH4*CH4+mm_CO*CO+mm_C2H4*C2H4+mm_N2*N2 # in kg\n", + "print \"Apparent molecular mass of the gas = %0.2f kg \" %M\n", + "mol_Vol= 22.4 #mole volume at NTP in m**3\n", + "density= M/mol_Vol # in kg/m**3\n", + "print \"Density of the mixture = %0.3f kg/m**3 \" %density\n", + "mixture_G_constant= R/M # in kJ/kg-K \n", + "print \"The mixture gas constant = %0.3f kJ/kg-K \" %mixture_G_constant\n", + "P_H2= P*H2 #partial pressure of H2 in kN/m**2\n", + "P_CH4= P*CH4 # in kN/m**2\n", + "P_CO= P*CO # in kN/m**2\n", + "P_C2H4= P*C2H4 # in kN/m**2\n", + "P_CO2= P*CO2 # in kN/m**2\n", + "P_N2= P*N2 # in kN/m**2\n", + "print \"The partial pressure of H2 = %0.0f kN/m**2\" %P_H2\n", + "print \"The partial pressure of CH4 = %0.0f kN/m**2\" %P_CH4\n", + "print \"The partial pressure of CO = %0.0f kN/m**2\" %P_CO\n", + "print \"The partial pressure of C2H4 = %0.0f kN/m**2\" %P_C2H4\n", + "print \"The partial pressure of CO2 = %0.0f kN/m**2\" %P_CO2\n", + "print \"partial pressure of N2 = %0.0f kN/m**2\" %P_N2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Apparent molecular mass of the gas = 13.52 kg \n", + "Density of the mixture = 0.604 kg/m**3 \n", + "The mixture gas constant = 0.615 kJ/kg-K \n", + "The partial pressure of H2 = 50 kN/m**2\n", + "The partial pressure of CH4 = 19 kN/m**2\n", + "The partial pressure of CO = 18 kN/m**2\n", + "The partial pressure of C2H4 = 2 kN/m**2\n", + "The partial pressure of CO2 = 5 kN/m**2\n", + "partial pressure of N2 = 6 kN/m**2\n" + ] + } + ], + "prompt_number": 24 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_3_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_3_1.ipynb new file mode 100644 index 00000000..f38b16d8 --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_3_1.ipynb @@ -0,0 +1,1460 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 3 : Thermodynamic Processes\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1 - Page No : 66" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "P = 2.15 * 10**5 # in N/m**2\n", + "T = 20 # in degree C \n", + "T = T + 273 # in K\n", + "V = 0.20 # in m**3\n", + "R = 0.2927 # in kJ/kg-K\n", + "R = R * 10**3 # in J/kg-K\n", + "m = (P*V)/(T*R) # in kg\n", + "Q = 20*10**3 # in J\n", + "C_v = 0.706*10**3 # in J/kg-K\n", + "theta = Q/(m*C_v) # in degree C\n", + "T = T - 273 # in degree C\n", + "T1 = theta + T # new temp. in degree C\n", + "print \"New temperature = %0.1f degree C \" %T1\n", + "T1 = T1 + 273 # in K\n", + "T = T + 273 # in K\n", + "P2 = P * (T1/T) # in N/m**2\n", + "P2 = P2 * 10**-3# in kN/m**2\n", + "print \"New pressure = %0.3f kN/m**2 \" %P2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "New temperature = 76.5 degree C \n", + "New pressure = 256.459 kN/m**2 \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2 - Page No : 66" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 350# in kN/m**2\n", + "P = P * 10**3# in N/m**2\n", + "m = 1# in kg\n", + "m = m * 10**3# in gram\n", + "V = 0.35# in m**3\n", + "C_p = 1.005# in kJ/kg-K\n", + "C_v = 0.710# in kJ/kg-K\n", + "R = C_p - C_v# in kJ/kg-K\n", + "T = (P*V)/(m*R) # in K\n", + "T = T - 273# in degree C\n", + "print \"The intial temperature = %0.0f K \" %(T+273)\n", + "T = T + 273# in K\n", + "T1 = 316# in degree C\n", + "T1 = T1 + 273# in K\n", + "P2 = P * (T1/T) # in N/m**2\n", + "P2 = P2 * 10**-3# in kN/m**2\n", + "print \"The final pressure of air = %0.1f kN/m**2 \" %P2\n", + "T = T - 273# in degree C\n", + "T1 = T1 - 273# in degree C\n", + "m = m * 10**-3# in kg\n", + "Q = m * C_v * (T1-T) # in kJ\n", + "print \"Heat added = %0.2f kJ \" %Q\n", + "G = m*C_v * (T1-T) # Gain of internal energy # in kJ\n", + "print \"Gain of internal energy = %0.2f kJ \" %G\n", + "G_enthalpy = m*C_p*(T1-T) # Gain of enthalpy in kJ\n", + "print \"Gain of enthalpy = %0.2f kJ \" %G_enthalpy" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The intial temperature = 415 K \n", + "The final pressure of air = 496.4 kN/m**2 \n", + "Heat added = 123.36 kJ \n", + "Gain of internal energy = 123.36 kJ \n", + "Gain of enthalpy = 174.61 kJ \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 - Page No : 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 3.2# in bar\n", + "P = P * 10**5# in N/m**2\n", + "R = 292.7# in kJ/kg-K\n", + "C_p = 1.003# in kJ/kg-K\n", + "m = 1#\n", + "V1 = 0.3# in m**3\n", + "V2 = 2*V1# in m**3\n", + "W = P*(V2-V1) # in J\n", + "W = W * 10**-3 # in kJ\n", + "print \"The work done = %0.0f kJ \" %W\n", + "T1 = (P*V1)/(m*R) # in K\n", + "print \"The intail Temperature = %0.0f \u00b0C \" %(T1-273)\n", + "T2 = T1*(V2/V1) # in K\n", + "print \"The final temperature = %0.0f \u00b0C \" %(T2-273)\n", + "Q = m*C_p*(T2-T1) # in kJ\n", + "print \"The Heat added = %0.0f kJ \" %(Q)\n", + "\n", + "# Note: To evaluate the value of Heat added, \n", + "# wrong value of T1 is putted (i.e 273 k at place of 328 K), so the answer of Heat added is wrong in the book." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The work done = 96 kJ \n", + "The intail Temperature = 55 \u00b0C \n", + "The final temperature = 383 \u00b0C \n", + "The Heat added = 329 kJ \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 - Page No : 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "R = 0.29# in kJ/kg-K\n", + "R = R * 10**3# in J/kg-K\n", + "C_p = 1.005# in kJ/kg-K\n", + "T = 185# in degree C\n", + "T = T + 273# in K\n", + "T2 = 70+273# in K\n", + "V1 = 0.23# in m**3\n", + "P = 500# in kN/m**2\n", + "P = P * 10**3# in N/m**2\n", + "m = (P*V1)/(R*T) # in kg\n", + "Q = m*C_p*(T2-T) # in kJ\n", + "print \"Heat transferred = %0.2f kJ \" %Q\n", + "print \"i.e. %0.2f kJ heat has been abstracted from the gas\" %(abs(Q))\n", + "V2 = V1*(T2/T) # in m**3\n", + "W = P * (V2-V1) # in J\n", + "W= W*10**-3#in kJ\n", + "print \"The work done = %0.0f kJ \" %W\n", + "print \"i.e.\",round(abs(W),0),\"kJ work has been done on the gas \"\n", + "R= R*10**-3# in kJ/kg-K\n", + "C_v = C_p - R# in kJ/kg-K\n", + "I_E = m*C_v*(T2-T) # Change in internal energy in kJ\n", + "print \"Change in internal energy = %0.3f kJ \" %I_E\n", + "print \"i.e.\",round(abs(I_E),3),\"kJ energy is decrease in internal energy\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat transferred = -100.07 kJ \n", + "i.e. 100.07 kJ heat has been abstracted from the gas\n", + "The work done = -29 kJ \n", + "i.e. 29.0 kJ work has been done on the gas \n", + "Change in internal energy = -71.193 kJ \n", + "i.e. 71.193 kJ energy is decrease in internal energy\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.5 - Page No : 71" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "P1 = 1.1# in MN/m**2\n", + "P1 = P1 * 10**6# in N/m**2\n", + "V1 = 1.5# in m**3\n", + "V2 = 7.5# in m**3\n", + "P2 = (P1*V1)/V2# in kN/m**2\n", + "P2 = P2 * 10**-6# in MN/m**2\n", + "P2 = P2 * 10**3# in kN/m**2\n", + "print \"The final pressure = %0.0f kN/m**2 \" %P2\n", + "W = P1*V1*log(V2/V1) # in J\n", + "W = W * 10**-4# in kJ\n", + "print \"The work done = %0.0f kJ \" %int(W)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The final pressure = 220 kN/m**2 \n", + "The work done = 265 kJ \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6 - Page No : 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 2800000# in N/m**2\n", + "P1 = P1 * 10**-6# in MN/m**2\n", + "C_p = 1.024# in kJ/kg-K\n", + "C_v = 0.7135# in kJ/kg-K\n", + "V1 = 1# in m**3. (asuumed )\n", + "V2 = 5*V1# in m**3\n", + "T1 = 220# in degree C\n", + "T1 = T1 + 273# in K\n", + "Gamma = C_p/C_v#\n", + "P2 = (P1*(V1)**Gamma)/((V2)**Gamma) # in MN/m**2\n", + "print \"The final pressure = %0.3f MN/m**2 \" %P2\n", + "T2 = (P2/P1)*V2*T1 # in K\n", + "print \"The final temperature = %0.1f degree C \" %(T2-273)\n", + "R = C_p-C_v# in kJ/kg-K\n", + "W = (R*(T1-T2))/(Gamma - 1) # in kJ\n", + "print \"Work done = %0.1f kJ \" %W" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The final pressure = 0.278 MN/m**2 \n", + "The final temperature = -28.3 degree C \n", + "Work done = 177.1 kJ \n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7 - Page No : 76" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log10\n", + "# Given data\n", + "W = 89.947# in kJ\n", + "T1 = 240# in degree C\n", + "T1=T1+273# in K\n", + "T2 = 115# in degree C\n", + "T2=T2+273# in K\n", + "C_v = W/(T1-T2) # in kJ/kg-K\n", + "print \"The value of Cv = %0.3f kJ/kg-K \" %C_v\n", + "V1 = 1# in m**3 (assumed)\n", + "V2 = 2*V1# in m**3\n", + "# (T1/T2) = (V2/V1)**(Gamma - 1)\n", + "Gamma=log10(T1/T2)/log10(V2/V1)+1#\n", + "Gamma = 1.4#\n", + "C_p = Gamma * C_v# in kJ/kg-K\n", + "print \"The value Cp = %0.3f kJ/kg-K \" %C_p" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of Cv = 0.720 kJ/kg-K \n", + "The value Cp = 1.007 kJ/kg-K \n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.8 - Page No : 77" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 7# in bar\n", + "P = P *10**5# in N/m**2\n", + "R = 0.287# in kJ/kg-K\n", + "R=R*10**3# in J/kg-K\n", + "Gamma = 1.4#\n", + "T = 100# in degree C\n", + "T = T + 273# in K\n", + "V = (R*T)/P# in m**3\n", + "print \"The volume of one kg of air = %0.3f m**3\" %V\n", + "C_v = 0.718# in kJ/kg\n", + "T=T-273# in degree C\n", + "InternalEnergy= C_v*T# in kJ/kg\n", + "print \"Internal energy of 1 kg air = %0.1f kJ/kg\" %InternalEnergy\n", + "P1= P# in bar\n", + "V1 = 1# in m**3 (assumed)\n", + "V2 = 4 * V1# in m**3\n", + "T1= T# in degree C\n", + "T1=T1+273# in K\n", + "P2 = (P * (V1)**Gamma)/((V2)**Gamma) # in N/m**2\n", + "print \"The final pressure = %0.3f bar \" %(P2*10**-5)\n", + "T2 = (P2*V2)/(P1*V1)*T1# in K\n", + "T2 = T2 - 273# in degree \n", + "print \"The final temperature = %0.1f degree C \" %T2\n", + "I_E = C_v * T2# in kJ/kg\n", + "print \"Internal energy = %0.2f kJ/kg \" %I_E" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The volume of one kg of air = 0.153 m**3\n", + "Internal energy of 1 kg air = 71.8 kJ/kg\n", + "The final pressure = 1.005 bar \n", + "The final temperature = -58.8 degree C \n", + "Internal energy = -42.20 kJ/kg \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.9 - Page No : 78" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Gamma = 1.41#\n", + "C_v = 0.703# in kJ/kg-K\n", + "P1 = 105# in kN/m**2\n", + "P2 = 2835# in kN/m**2\n", + "T1 = 15# in degree C\n", + "T1 = T1 + 273# in K\n", + "m = 0.2# in kg\n", + "# Formula T2/T1 = (P2/P1)**((Gamma-1)/Gamma)\n", + "T2 = T1*(P2/P1)**((Gamma-1)/Gamma) # in K\n", + "T2 = T2 - 273# in degree C\n", + "print \"The final temperature = %0.0f degree C \" %T2\n", + "T2 = T2+273# in K\n", + "I_E = m*C_v*(T2-T1) # in kJ\n", + "print \"Change in internal energy = %0.3f kJ \" %I_E\n", + "W = I_E# in kJ\n", + "print \"Work done = %0.3f kJ \" %W\n", + "\n", + "# Note: There is an error to calculate the value of T2, and this wrong value is putted to evaluate \n", + "# the value of Change in internal energy but the value of Change in internal energy is calculated correct." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The final temperature = 478 degree C \n", + "Change in internal energy = 65.089 kJ \n", + "Work done = 65.089 kJ \n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.10 - Page No : - Page No : 86" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import pi\n", + "# Given data\n", + "P1= 100# in N/m**2\n", + "T1 = 30# in degree C\n", + "T1 = T1 + 273# in K\n", + "C_v = 0.718# in kJ/kg-K\n", + "#C_v= C_v*10**3# in J/kg-K\n", + "R = 287.1# in J/kg-K\n", + "d = 15# in cm\n", + "l = 20# in cm\n", + "V = (pi/4)*(d)**2*l# in cm**3\n", + "V = V * 10**-3# in litre\n", + "Clear_V = 1.147# clearance volume \n", + "Vol = V+Clear_V#volume of air at beginning of compression in litre\n", + "ROC = Vol/Clear_V# Ratio of compression\n", + "P2 = P1*(Vol/Clear_V)**1.2# in kN/m**2\n", + "print \"The pressure at the end of compression = %0.1f kN/m**2 \" %P2\n", + "T2 = (P2*Clear_V*T1)/(P1*Vol) # in K\n", + "T2 = T2 - 273# in degree C\n", + "T1 = T1 - 273# in degree C\n", + "T = T2-T1# in degree C\n", + "print \"The temperature at the end of compression = %0.1f degree C \" %T\n", + "T1 = T1 + 273# in K\n", + "m = (P1*Vol)/(R*T1) # in kg\n", + "I_E = m*C_v*T# in kJ\n", + "print \"The change in internal energy = %0.3f kJ \" %I_E" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The pressure at the end of compression = 540.7 kN/m**2 \n", + "The temperature at the end of compression = 98.4 degree C \n", + "The change in internal energy = 0.380 kJ \n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.11 - Page No : 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V1 = 2.5 # in litre\n", + "P1 = 1400 # kN/m**2\n", + "P2 = 280 # in kN/m**2\n", + "T1 = 1100 # in \u00b0C\n", + "T1 = T1 + 273 # in K\n", + "n = 1.28\n", + "V2 = V1*(P1/P2)**(1/1.28) # in litres\n", + "print \"Final volume = %0.1f litres \" %V2\n", + "T2 = T1*((P2*V2)/(P1*V1)) # in K\n", + "T2 = T2 - 273# in degree C\n", + "print \"Final temperature = %0.0f degree C \" %T2\n", + "W = (P1* V1 - P2*V2)/(n-1) # in Joules\n", + "print \"Work done = %0.2f kJ \" %(W*10**-3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Final volume = 8.8 litres \n", + "Final temperature = 693 degree C \n", + "Work done = 3.71 kJ \n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.12 - Page No : 87" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "Gamma = 1.4#\n", + "P1 = 780# in kN/m**2\n", + "P2 = 100# in kN/m**2\n", + "V1 = 750# in cm**3\n", + "V1= V1*10**-6# in m**3\n", + "V2 = (1/5)*V1# in m**3\n", + "n = (log(P1/P2))/(log(V1/V2))\n", + "print \"The value of index = %0.3f\" %n\n", + "W = (P1*V2-P2*V1)/(1-n) # in kJ\n", + "print \"Work done = %0.3f kJ \" %W\n", + "print \"i.e.\",round(abs(W),4),\"kJ work is done on the gas\"\n", + "Q = ((Gamma - n)/(Gamma-1)) * (-W) # in kJ\n", + "print \"Heat rejected during Compression is :\",round(Q,4),\"kJ or\",round(Q*10**3),\"joules.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of index = 1.276\n", + "Work done = -0.152 kJ \n", + "i.e. 0.152 kJ work is done on the gas\n", + "Heat rejected during Compression is : 0.047 kJ or 47.0 joules.\n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.13 - Page No : 90" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "T1 = 40# in degree C\n", + "T1 = T1 +273# in K\n", + "P2 = 50# in bar\n", + "P1 = 1# in bar\n", + "Gamma = 1.4#\n", + "C_v = 0.718# in kJ/kg-K\n", + "SpeHeat = 1.005# in kJ/kg-K\n", + "HeatSupply= 125.6# in kJ/kg\n", + "T2 = T1 * (P2/P1)**((Gamma-1)/Gamma) # in K\n", + "C_p = C_v * (T2-T1) # in kJ/kg\n", + "del_T = HeatSupply/SpeHeat# in degree C\n", + "del_U = C_v * del_T# in kJ/kg\n", + "print \"Change in internal energy = %0.1f kJ/kg \" %del_U\n", + "T3 = T2 + del_T# in K\n", + "del_Phi = SpeHeat * log(T3/T2) # in kJ/kg-K\n", + "print \"Change in entropy during constant pressure = %0.3f kJ/kg-K \" %del_Phi" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in internal energy = 89.7 kJ/kg \n", + "Change in entropy during constant pressure = 0.123 kJ/kg-K \n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.14 - Page No : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "P1 = 30# in bar\n", + "P1= P1*10**5# in N/m**2\n", + "V1 = 0.85# in m**3\n", + "V2 = 4.25# in m**3\n", + "W = P1 *V1 * log(V2/V1) # in Joules\n", + "W = W * 10**-3# in kJ\n", + "T = 400# in K\n", + "del_U = W/T# in kJ/K\n", + "print \"Change in entropy = %0.3f kJ/K \" %del_U" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in entropy = 10.260 kJ/K \n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.15 - Page No : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "C_P = 1.041# in kJ/kg-K\n", + "C_V = 0.743# in kJ/kg-K\n", + "R = C_P - C_V# in kJ/kg-K\n", + "P1 = 140# in kN/m**2\n", + "P2 = 1400# in kN/m**2\n", + "V1 = 0.14# in m**3\n", + "T1 = 25# in degree C\n", + "T1 = T1 + 273# in K\n", + "Gamma = 1.4#\n", + "n = 1.25#\n", + "m = (P1 * 10**3 *V1)/(R * 10**3 * T1) # in kg\n", + "V2 = V1 * (P1/P2)**(1/n) # in m**3\n", + "del_U = C_P * (log(V2/V1)) + C_V * (log(P2/P1)) # in kJ/kg-K\n", + "del_U = m * del_U # in kJ/K\n", + "print \"Part (i)\"\n", + "print \"Change in entropy = %0.4f kJ/K \" %del_U\n", + "T2 = T1 * (V1/V2)**(n-1) # in K\n", + "del_U1 = C_P * (log(T2/T1)) - R*(log(P2/P1)) # in kJ/kg-K\n", + "print \"Part (ii)\"\n", + "print \"Change in entropy = %0.3f kJ/kg-K \" %del_U1\n", + "del_U2 = C_V * (log(T2/T1)) + R*(log(V2/V1)) # in kJ/kg-K\n", + "print \"Part (iii)\"\n", + "print \"Change in entropy = %0.3f kJ/kg-K \" %del_U2\n", + "del_U3 = C_V * (Gamma-n) * (log(V2/V1)) # in kJ/kg-K\n", + "print \"Part (iv)\"\n", + "print \"Change in entropy = %0.3f kJ/kg-K \" %del_U3\n", + "del_U4 = C_V * ((Gamma-n)/(n-1)) * (log(T1/T2)) # in kJ/kg-K\n", + "print \"Part (v)\"\n", + "print \"change in entropy = %0.3f kJ/kg \" %del_U4\n", + "del_U5 = C_V * ((Gamma-n)/n) * (log(P1/P2)) # in kJ/kg-K\n", + "print \"Part (vi)\"\n", + "print \"Change in entropy = %0.3f kJ/kg-k \" %del_U5" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part (i)\n", + "Change in entropy = -0.0456 kJ/K \n", + "Part (ii)\n", + "Change in entropy = -0.207 kJ/kg-K \n", + "Part (iii)\n", + "Change in entropy = -0.207 kJ/kg-K \n", + "Part (iv)\n", + "Change in entropy = -0.205 kJ/kg-K \n", + "Part (v)\n", + "change in entropy = -0.205 kJ/kg \n", + "Part (vi)\n", + "Change in entropy = -0.205 kJ/kg-k \n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.16 - Page No : 93 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "P1 = 1# in bar\n", + "P2 = 15# in bar\n", + "T1 = 0# in degree C\n", + "T1 = T1 + 273# in K\n", + "T2 = 200# in degree C\n", + "T2 = T2 + 273# in K\n", + "C_P = 1.005# in kJ/kg-K\n", + "C_V = 0.718# in kJ/kg-K\n", + "R = C_P-C_V# in kJ/kg-K\n", + "del_U = C_P * (log(T2/T1)) - R*(log(P2/P1)) # in kJ/kg-K\n", + "print \"Change in entropy = %0.3f kJ/kg-K \" %del_U" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in entropy = -0.225 kJ/kg-K \n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.17 - Page No : 94" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "C_V = 2.174# in kJ/kg-K\n", + "R = 0.5196# in kJ/kg-K\n", + "C_P = C_V+R# in kJ/kg-K\n", + "V2 = 1# in m**3\n", + "V1 = 8# in m**3\n", + "P1 = 0.7# in bar\n", + "P2 = 7# in bar\n", + "del_U = C_P * (log(V2/V1)) + C_V * (log(P2/P1)) # in kJ/kg-K\n", + "m = 0.9# in kg\n", + "del_U = m * del_U# in kJ/K\n", + "print \"Change in entropy = %0.3f kJ/K \" %del_U\n", + "print \"It is a loss of entropy\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in entropy = -0.536 kJ/K \n", + "It is a loss of entropy\n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.18 - Page No : 95 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C_P = 1.005# in kJ/kg-K\n", + "C_V = 0.718# in kJ/kg-K\n", + "R = C_P - C_V# in kJ/kg-K\n", + "R= R*10**3#in J/kg-K\n", + "P1 = 3*10**5#in N/m**2\n", + "V1 = 1.5# m**3\n", + "T1 = 15# in degree C\n", + "T1 = T1 +273# in K\n", + "m1 = (P1*V1)/(R* T1) # in kg\n", + "m2 = m1+2#final mass of air in kg\n", + "P2 = P1 * (m2/m1) # in kN/m**2\n", + "T1 = T1 - 273# in degree C\n", + "T2 = 0# in degree C\n", + "m = 1# in kg\n", + "del_U = m * C_P * (T1-T2) # in kJ\n", + "print \"Total enthapy of air = %0.3f kJ \" %del_U" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total enthapy of air = 15.075 kJ \n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.19 - Page No : 96" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "R = 0.287# in kJ/kg-K\n", + "P1 = 30# in bar\n", + "V1 = 0.12# in m**3\n", + "m = 1.8# in kg\n", + "U= 8.3143# in kJ/kg-mol-K\n", + "T1 = (P1 * 10**5 * V1)/(m*R*10**3) # in K\n", + "T1 = T1 - 273# in degree C\n", + "print \"The temperature = %0.0f degree C \" %int(T1)\n", + "m_m = U/R# in kg\n", + "print \"The molecular mass = %0.2f kg \" %m_m\n", + "V_s = V1/m# in m**3\n", + "print \"The Specific volume = %0.4f m**3 \" %V_s\n", + "V_m = V_s * m_m# in m**3\n", + "print \"Molecular volume = %0.2f m**3 \" %V_m" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The temperature = 423 degree C \n", + "The molecular mass = 28.97 kg \n", + "The Specific volume = 0.0667 m**3 \n", + "Molecular volume = 1.93 m**3 \n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.20 - Page No : 96" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T=15+273#in K\n", + "U= 8.3143# in kJ/kg-mol-K\n", + "GasConstant = 0.618# in kJ/kg-K\n", + "GasVolume= 1# in m**3 (assume)\n", + "AirVolume= 1.5*GasVolume# in m**3\n", + "P=760# in mm\n", + "P= P/750# in bar\n", + "P= P*10**5#in N/m**2\n", + "MixtureVolume= GasVolume+AirVolume#in m**3\n", + "PGM= GasVolume/MixtureVolume*100# in %\n", + "print \"Percentage of gas by volume in the mixture = %0.0f %%\" %PGM\n", + "PAM= AirVolume/MixtureVolume*100# in %\n", + "print \"Percentage of air by volume in the mixture = %0.0f %%\" %PAM\n", + "M1= U/0.287# in mol\n", + "M2= U/0.618# in mol\n", + "M= PAM/100*M1+PGM/100*M2# mass of mixture in mol\n", + "R= U/M# gas constant in kJ/kg-K\n", + "R= R*10**3#in J/kg-K\n", + "print \"The gas constant = %0.3f kJ/kg-K\" %(R*10**-3)\n", + "PAM1= PAM*M1/M# in %\n", + "print \"Percentage of air by mass in the mixture = %0.2f %%\" %PAM1\n", + "PGM1= PGM*M2/M# in %\n", + "print \"Percentage of gas by mass in the mixture = %0.2f %%\" %PGM1\n", + "Rho= P/(R*T) # kg/m**3\n", + "print \"The density of the gas = %0.3f kg/m**3\" %Rho" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Percentage of gas by volume in the mixture = 40 %\n", + "Percentage of air by volume in the mixture = 60 %\n", + "The gas constant = 0.365 kJ/kg-K\n", + "Percentage of air by mass in the mixture = 76.36 %\n", + "Percentage of gas by mass in the mixture = 23.64 %\n", + "The density of the gas = 0.963 kg/m**3\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.21 - Page No : 97" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from math import log\n", + "# Given data\n", + "Gamma = 1.4#\n", + "P1 = 7# in bar\n", + "P1= P1*10**5# in N/m**2\n", + "V1 = 1.6# in m**3\n", + "V2 = 8# in m**3\n", + "P2 = (P1 * (V1)**(Gamma))/((V2)**(Gamma)) # in bar\n", + "W1 = (P1*V1-P2*V2)/(Gamma-1) # work done by the gas during isentropic expansion in J\n", + "Rho = V2/V1#\n", + "W2 = P1*V1*(log(Rho)) # work done by the gas during isothermal expansion in J\n", + "del_W = W2-W1# in J\n", + "del_W = del_W*10**-3 # in kJ\n", + "print \"Difference between the work done during isentropic and isothemal expansion = %0.0f kJ \" %del_W" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Difference between the work done during isentropic and isothemal expansion = 473 kJ \n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.22 - Page No : 98" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 1# in bar\n", + "V1 = 400# in cm**3\n", + "V2 = 80# in Cm**3\n", + "T1 = 110# in degree C\n", + "T1 = T1 + 273# in K\n", + "Gamma = 1.3#\n", + "P2 = P1*((V1/V2)**(Gamma)) # in bar\n", + "print \"The pressure = %0.1f bar \" %P2\n", + "T2 = T1 * ((P2*V2)/(P1*V1)) # in K\n", + "T2 = int(T2-273)#in degree C\n", + "print \"The temperature = %0.0f degree C \" %T2\n", + "T2 = T2 + 273# in K\n", + "m = 1#\n", + "C_V = 0.75#\n", + "del_U = m*C_V*(T2-T1) # in kJ\n", + "print \"Change in internal energy = %0.2f kJ \" %del_U\n", + "P1= P1*10**5# in N/m**2\n", + "P2= P2*10**5# in N/m**2\n", + "V1= V1*10**-3# in litre\n", + "V2= V2*10**-3# in litre\n", + "W = (P1*V1-P2*V2)/(Gamma-1) # in J\n", + "W = abs(W * 10**-3) # in kJ\n", + "print \"Work done = %0.2f kJ \" %W\n", + "P3 = 40*10**5# in N/m**2\n", + "T3 = (P3/P2) * T2# in K\n", + "T3 = T3 - 273# in degree C\n", + "print \"Temperature of gas = %0.0f degree C \" %T3" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The pressure = 8.1 bar \n", + "The temperature = 347 degree C \n", + "Change in internal energy = 177.75 kJ \n", + "Work done = 82.75 kJ \n", + "Temperature of gas = 2787 degree C \n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.23 - Page No : 99" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C_P = 1.068# in kJ/kg-K\n", + "C_V = 0.775#in kJ/kg-K\n", + "R = C_P-C_V# in kJ/kg-K\n", + "R= R*10**3# in J/kg-K\n", + "P1 = 12# in bar\n", + "P1= P1*10**5# in N/m**2\n", + "V1 = 0.15#in m**3\n", + "V2= 0.28# in m**3\n", + "m = 1# in kg\n", + "T1 = (P1*V1)/(R* m) # in K\n", + "T2 = (T1 * (V2/V1)) # in K\n", + "print \"Temperature at the end of Constant pressure = %0.3f \u00b0C \" %(T2-273)\n", + "W = P1* (V2-V1) # in J\n", + "W = W * 10**-3# in kJ\n", + "Gamma = 1.38\n", + "V3 = 1.5# in m**3\n", + "T3 = T2/((V3/V2)**(Gamma-1)) # in K\n", + "T3 = (T3 - 273)# in degree C\n", + "print \"Temperature at the end of Isentropic = %0.0f \u00b0C \" %T3\n", + "T3 = T3 + 273# in K\n", + "W1 = m *C_V*(T2-T3) # work done during isentropic expansion in kJ\n", + "W2 = W+W1# in kJ\n", + "print \"Total Work done = %0.2f kJ \" %W2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature at the end of Constant pressure = 873.758 \u00b0C \n", + "Temperature at the end of Isentropic = 333 \u00b0C \n", + "Total Work done = 575.08 kJ \n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.24 - Page No : 100" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.integrate import quad\n", + "# Given data\n", + "C_P = 1.005# in kJ/kg-K\n", + "C_V = 0.718# in kJ/kg-K\n", + "R = C_P-C_V# in kJ/kg-K\n", + "P1 = 20#in bar\n", + "P2 = 12# in bar\n", + "T1 = 200#in degree C\n", + "T1 = T1 + 273# in K\n", + "T2 = 125#in degree c\n", + "T2 = T2 + 273# in K\n", + "V1 = (R*10**3*T1)/(P1*10**5) # in m**3\n", + "V2 = (R*10**3*T2)/(P2*10**5) # in m**3\n", + "def integrand(V):\n", + " return -293*V+40\n", + "ans, err = quad(integrand, 0.0679,0.0952)\n", + "W = 10**5 * ans# in Joules\n", + "W = round(W * 10**-3) # in kJ\n", + "print \"Work done = %0.0f kJ \" %W\n", + "m = 1# in kg\n", + "del_U = m*C_V*(T2-T1) # change in internal energy in kJ\n", + "print \"Change in internal energy = %0.2f kJ \" %del_U\n", + "print \"Negative sign indicates that there is decrease in internal energy of the gas. \"\n", + "C_Enthalpy = m*C_P*(T2-T1) # change in enthalpy in kJ\n", + "print \"The change in enthalpy = %0.1f kJ\" %C_Enthalpy\n", + "print \"Negative sign indicates that there is decrease in enthalpy of the gas\"\n", + "Q = W+ del_U# in kJ\n", + "print \"Heat transfer = %0.2f kJ \" %Q\n", + "print \"Negative sign indicates that the heat is rejected by the air\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 44 kJ \n", + "Change in internal energy = -53.85 kJ \n", + "Negative sign indicates that there is decrease in internal energy of the gas. \n", + "The change in enthalpy = -75.4 kJ\n", + "Negative sign indicates that there is decrease in enthalpy of the gas\n", + "Heat transfer = -9.85 kJ \n", + "Negative sign indicates that the heat is rejected by the air\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.25 - Page No : 101" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "import math\n", + "# Given data\n", + "P1 = 14# in bar\n", + "P3 = 2.222# in bar\n", + "V3byV1 = P1/P3#\n", + "P2 = 1.05# in bar\n", + "Gamma = log(P1/P2)/log(V3byV1)\n", + "C_P = 1.005# in kJ/kg-K\n", + "C_V = C_P/Gamma# in kJ/kg-K\n", + "T3 = 343# in degree C\n", + "T3 = T3 + 273# in K\n", + "T2 = math.ceil(T3*P2)/P3# in K\n", + "m = 0.5# in kg \n", + "del_U = m*C_V*(T2-T3) # in kJ\n", + "print \"Change in internal energy = %0.3f kJ \" %del_U\n", + "print \"i.e. there is a loss of\",round(abs(del_U),3),\"kJ of internal energy\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in internal energy = -115.986 kJ \n", + "i.e. there is a loss of 115.986 kJ of internal energy\n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.26 - Page No : 102" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "R = 0.26# in kJ/kg-K\n", + "R = R * 10**3# in J/kg-K\n", + "Gamma = 1.4#\n", + "P1 = 3.1# MN/m**2\n", + "P1 = P1 * 10**6# N/m**2\n", + "P2 = 1.7# in MN/m**2\n", + "P2 = P2 * 10**6# in N/m**2\n", + "V1 = 500# in cm**3\n", + "T = 18# in degree C\n", + "T = T + 273# in K\n", + "T2 = 15# in degree C\n", + "T2 = T2 + 273# in K\n", + "m = (P1*V1)/(R*T)*10**-3# in kg\n", + "m_desh = (P2*V1)/(R*T2)*10**-3#in kg\n", + "M = m-m_desh# in kg\n", + "print \"The mass of oxygen = %0.2f kg \" %M\n", + "R = R * 10**-3# in kJ/kg-K\n", + "C_v = R/(Gamma-1) # in kJ/kg-K\n", + "Q = m_desh*C_v * (T-T2) # in kJ\n", + "print \"Heat transfered = %0.3f kJ \" %Q" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mass of oxygen = 9.13 kg \n", + "Heat transfered = 22.135 kJ \n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.27 - Page No : 103" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 1 * 10**5# in N/m**2\n", + "V1 = 0.1# in m**3\n", + "V2 = 0.01# in m**3\n", + "T1 = 90# in degree C\n", + "T1 = T1 +273# in K\n", + "R = 0.287# in kJ/kg-K\n", + "R = R *10**3#\n", + "C_v = 0.717# in kJ/kg-K\n", + "C_P = 1.005# in kJ/kg-K\n", + "m = (P1 * V1)/(R*T1) # in kg\n", + "Gamma = 1.4#\n", + "T2 = T1 * ((V1/V2)**(Gamma - 1)) # in K\n", + "del_U = m*C_v*(T1-T2) # in kJ\n", + "print \"The change in internal energy = %0.2f kJ\" %del_U\n", + "del_E = m * C_P*(T2-T1) # in kJ\n", + "print \"The change in enthalpy = %0.2f kJ\" %del_E\n", + "U2 = m*C_v*T2#Internal energy at 2 in kJ\n", + "T= 473# temp. of entering air\n", + "E = V1*C_P*T#Enthalpy of entering air in kJ\n", + "# U3= (m+V1)*C_v*T3 # (internal energy at 3)\n", + "# U3= U2+E\n", + "T3 = (E+U2)/( (m+V1)*C_v ) # in K\n", + "print \"Temperature = %0.0f K\" %T3\n", + "m=m+.1#\n", + "P3 =m* R*T3/V2# in N/m**2\n", + "print \"The pressure = %0.3f MN/m**2 \" %(P3*10**-6)\n", + "\n", + "# Note: There is a calculation error to evaluating the value of P3. So the answer in the book of P3 is wrong." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The change in internal energy = -37.77 kJ\n", + "The change in enthalpy = 52.94 kJ\n", + "Temperature = 785 K\n", + "The pressure = 4.415 MN/m**2 \n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.28 - Page No : 104" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T= 60+273# in K\n", + "T2= 25+273# in K\n", + "P1=3.5*10**6# in Pa\n", + "P2=1.7*10**6# in Pa\n", + "Gamma=0.4# value of Cp-Cv\n", + "m1=1# (assumed value)\n", + "# R= P1*V/(m*T) (i)\n", + "# R= P2*V/((m-m1)*T2) (ii)\n", + "# From eq(i) and (ii)\n", + "m= m1*P1*T2/(P1*T2-P2*T)\n", + "# U= m*Cv*T and U1= (m-m1)*Cv*T2+m1*Cv*T1\n", + "# U-U1= P1*V1= m1*R*T1 or\n", + "# m1*R*T1= m*Cv*T-[(m-m1)*Cv*T2+m1*Cv*T1]\n", + "T1= (m*T-(m-m1)*T2)/(m1*Gamma+m1) # in K\n", + "print \"The temperature of gas in the cylinder = %0.2f \u00b0C\" %(T1-273)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The temperature of gas in the cylinder = -5.47 \u00b0C\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.29 - Page No : 105" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "U=180# energy received by system in kJ\n", + "RH= 200# rejected heat by system in kJ\n", + "RcHeat= 50# received heat by system in kJ\n", + "W= U-RH+RcHeat# in kJ\n", + "U1 = 0# in kJ\n", + "U2= U+U1# in kJ\n", + "U3 = RcHeat-RH+U2# in kJ\n", + "print \"Internal energy = %0.0f kJ \" %U3" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Internal energy = 30 kJ \n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.30 - Page No : 105" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "C_P = 1.045# in kJ/kg-K\n", + "Q = 100# in kJ\n", + "del_T = Q/C_P# in degree C\n", + "T1 = 25# in degree C\n", + "T1 = T1 + 273# in K\n", + "T = 0# in degree C\n", + "T = T + 273# in K\n", + "T2 = T1 + del_T# in K\n", + "del_Phi = C_P * (log(T2/T1)) # in kJ/kg-K\n", + "print \"The change in entropy in the process = %0.3f kJ/kg-K \" %del_Phi\n", + "ini_entropy = C_P * (log(T1/T)) # initial entropy in kJ/kg-K\n", + "print \"The initial entropy = %0.3f kJ/kg-K \" %ini_entropy" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The change in entropy in the process = 0.291 kJ/kg-K \n", + "The initial entropy = 0.092 kJ/kg-K \n" + ] + } + ], + "prompt_number": 41 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_4_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_4_1.ipynb new file mode 100644 index 00000000..ffcf7eec --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_4_1.ipynb @@ -0,0 +1,113 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 4 : Avaibility\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 4.1 - Page No : 122" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "Q= 1000 # in kJ\n", + "T1= 1000 # in K\n", + "T2= 400 # in K\n", + "delta_Qsource= -Q/T1 # in kJ/K\n", + "delta_Qsystem= Q/T2 # in kJ/K\n", + "delta_Qnet=delta_Qsystem+delta_Qsource # in kJ/K\n", + "print \"The entropy production accompanying the heat transfer = %0.1f kJ/K \" %delta_Qnet\n", + "T0= 300 # in K\n", + "Q1= Q-T0*abs(delta_Qsource) # in kJ\n", + "Q2= Q-T0*abs(delta_Qsystem) # in kJ\n", + "LossOfEnergy= Q1-Q2 # in kJ\n", + "print \"The decrease in available energy after heat transfer = %0.0f kJ \" %LossOfEnergy" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The entropy production accompanying the heat transfer = 1.5 kJ/K \n", + "The decrease in available energy after heat transfer = 450 kJ \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 4.2 - Page No : 122" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.integrate import quad\n", + "# Given data\n", + "T1= 800+273 # in K\n", + "T2= 400+273 # in K\n", + "T3= 179+273 # in K\n", + "T0= 25+273 # in K\n", + "Q= 2018.4 # heat taken by water in kJ/kg\n", + "# Formula mCp*(T1-T2)= Q\n", + "mCp= Q/(T1-T2)\n", + "def integrand(t):\n", + " return 1/t\n", + "ans, err = quad(integrand, T1, T2)\n", + "delta_Qgas= mCp*ans # in kJ/K\n", + "delta_Qwater= Q/T3 # in kJ/K\n", + "delta_Qnet= delta_Qwater+delta_Qgas # in kJ/K\n", + "print \"Net entropy changes = %0.3f kJ/K \" %delta_Qnet\n", + "E1= T0*abs(delta_Qgas) # Original unavailable energy in kJ\n", + "E2= T0*delta_Qwater #unavailable energy after heat transfer in kJ\n", + "E= E2-E1 # in increase in unavailable energy in kJ\n", + "print \"The increase in unavailable energy = %0.2f kJ \" %E\n", + "\n", + "# Note: In the book, the calculation is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Net entropy changes = 2.112 kJ/K \n", + "The increase in unavailable energy = 629.28 kJ \n" + ] + } + ], + "prompt_number": 2 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_5_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_5_1.ipynb new file mode 100644 index 00000000..973a5a29 --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_5_1.ipynb @@ -0,0 +1,581 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 5 : Air Standard Cycles\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.1 - Page No : 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "T1 = 550 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "T2 = 27 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "Eta = ((T1-T2)/T1)*100 # in %\n", + "print \"Maximum possible efficiency for staem turbine plant = %0.2f %% \" %Eta\n", + "T1 = 2500 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "T2 = 400 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "Eta = ((T1-T2)/T1)*100 # in %\n", + "print \"Maximum possible efficiency for internal combustion engine = %0.2f %% \" %Eta\n", + "T1 = 450 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "T2 = 15 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "Eta = ((T1-T2)/T1)*100 # in %\n", + "print \"Maximum possible efficiency for nuclear power plant = %0.2f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum possible efficiency for staem turbine plant = 63.55 % \n", + "Maximum possible efficiency for internal combustion engine = 75.73 % \n", + "Maximum possible efficiency for nuclear power plant = 60.17 % \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.2 - Page No : 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import pi\n", + "# Given data\n", + "D = 0.3 # in m\n", + "L = 0.45 # in m\n", + "V_s = (pi/4)*(D)**2*L # in m**3\n", + "V_c = 0.0114 # in m**3\n", + "V = V_c+V_s # in m**3\n", + "r = V/V_c \n", + "Gamma = 1.4 \n", + "Eta = (1-((1/r)**(Gamma-1)))*100 # in %\n", + "print \"Efficiency of engine = %0.1f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Efficiency of engine = 41.3 % \n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.3 - Page No : 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "# Given data\n", + "P1 = 0.93 # in bar\n", + "T1 = 93 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "V2 = 1 # assumed\n", + "V1 = 8.5*V2 \n", + "r = V1/V2 \n", + "Gamma = 1.4 \n", + "P2 = P1 * ((V1/V2)**(Gamma)) # in bar\n", + "print \"Pressure at the beginning of compression stroke = %0.1f bar \" %P2\n", + "T2 = (P2*V2*T1)/(P1*V1) # in K\n", + "print \"Temperature at the beginning of compression stroke = %0.0f \u00b0C\" %(T2-273)\n", + "P3 = 38 # in bar\n", + "T3 = T2 * (P3/P2) # in K\n", + "print \"Pressure at the beginning of expansion stroke = %0.0f bar\" %P3\n", + "print \"Temperature at the beginning of expansion stroke = %0.0f \u00b0C\" %(T3-273)\n", + "V3 = V2 \n", + "V4 = V1 \n", + "P4 = P3 * ((V3/V4)**(Gamma)) # in bar\n", + "T4 = T1 * (P4/P1) # in K\n", + "T4 = math.ceil(T4-273) # in degree C\n", + "print \"Pressure at the end of expansion stroke = %0.1f bar \" %P4\n", + "print \"Temperature at the end of expansion stroke = %0.0f \u00b0C\" %T4\n", + "Eta = 1 - (1/((r)**(Gamma-1))) \n", + "Eta = Eta * 100 # in %\n", + "print \"Standard air efficiency = %0.1f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pressure at the beginning of compression stroke = 18.6 bar \n", + "Temperature at the beginning of compression stroke = 588 \u00b0C\n", + "Pressure at the beginning of expansion stroke = 38 bar\n", + "Temperature at the beginning of expansion stroke = 1486 \u00b0C\n", + "Pressure at the end of expansion stroke = 1.9 bar \n", + "Temperature at the end of expansion stroke = 475 \u00b0C\n", + "Standard air efficiency = 57.5 % \n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.4 - Page No : 135" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "CalorificValue= 14.887*10**3 # in kJ/m**3\n", + "Vs= 1 # in m**3 (assumed)\n", + "Vc= 0.25*Vs # clearance volume in m**3\n", + "V= Vs+Vc # in m**3\n", + "Ratio= V/Vc # ratio of compression\n", + "Gamma= 1.4 \n", + "r= 5 \n", + "Eta=1-1/(r**(Gamma-1)) \n", + "Eta= Eta*100 # in %\n", + "print \"Air standard efficiency = %0.1f %%\" %Eta\n", + "Eta_Th= Eta*60/100 # thermal efficiency\n", + "print \"Thermal efficiency = %0.2f %%\" %Eta_Th\n", + "Eta_br_th= Eta_Th*75/100 # break thermal efficiency\n", + "print \"Brake thermal efficiency = %0.2f %%\" %Eta_br_th\n", + "E= 3600 # energy equivalent of brake in kJ\n", + "GasConsumption= E/CalorificValue # in m**3\n", + "print \"The consumption of gas = %0.3f m**3\" %GasConsumption" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Air standard efficiency = 47.5 %\n", + "Thermal efficiency = 28.48 %\n", + "Brake thermal efficiency = 21.36 %\n", + "The consumption of gas = 0.242 m**3\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.7 - Page No : \t142" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Gamma = 1.4 \n", + "r = 8 \n", + "Eta = 1 - (1/((r)**(Gamma-1))) \n", + "Eta = Eta * 100 # in %\n", + "print \"Otto engine efficiency = %0.1f %% \" %Eta\n", + "r = 13 \n", + "x = 1 \n", + "Rho = 2.5 \n", + "Eta = 1-(1/r)**(Gamma-1)*((Rho**Gamma-1)/(Gamma*(Rho-1)))\n", + "Eta = Eta * 100 # in %\n", + "print \"Diesel engine efficiency = %0.1f %% \" %Eta\n", + "r = 13 \n", + "x = 3.5 \n", + "Rho = 2.5 \n", + "Eta = 1-(1/r)**(Gamma-1)*((x*Rho**Gamma-1)/((x-1)+x*Gamma*(Rho-1))) \n", + "Eta = Eta * 100 # in %\n", + "print \"Dual engine efficiency = %0.1f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Otto engine efficiency = 56.5 % \n", + "Diesel engine efficiency = 55.5 % \n", + "Dual engine efficiency = 57.7 % \n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.8 - Page No : 143" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import pi\n", + "# Given data\n", + "D = 15 \n", + "L = 25 \n", + "V_s = (pi/4) * (D)**2 * L # in cm**3\n", + "V_c = 400 # in cm**3\n", + "V = V_s+V_c # in cm**3\n", + "r = V/V_c \n", + "Rho = (V_c +( V_s*(5/100) ))/V_c \n", + "Gamma = 1.4 \n", + "Eta = 1-((1/r)**(Gamma-1)) * ( (((Rho)**(Gamma))-1)/(Gamma*(Rho-1)) ) \n", + "Eta = Eta * 100 # in %\n", + "print \"Efficiency of diesel cycle = %0.3f %% \" %Eta\n", + "\n", + "# Note: Calculation in the book is wrong, So the answer in the book is wrong" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Efficiency of diesel cycle = 59.335 % \n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.9 - Page No : 143" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C_P = 0.966 # in kJ/kg-K\n", + "C_v = 0.712 # in kJ/kg-K\n", + "T1 = 83 # in degree C\n", + "T1 =T1 + 273 # in K\n", + "T3 = 1800 # in degree C\n", + "T3 = T3+273 # in K\n", + "r = 13 \n", + "Gamma = 1.4 \n", + "T2 = T1 * (r)**(Gamma-1) # in K\n", + "print \"Temperature at the end of compression = %0.0f \u00b0C \" %(T2-273)\n", + "Rho = T3/T2 \n", + "T4 = ((Rho)**(Gamma)) * T1 # in K\n", + "print \"Temperature at the end of expansion = %0.0f \u00b0C \" %(T4-273)\n", + "Q = C_P * (T3-T2) # in kJ\n", + "print \"Heat supplied at constant pressure = %0.0f kJ \" %Q\n", + "Q1 = C_v * (T4-T1) # in kJ\n", + "print \"Heat rejected at constant volume = %0.1f kJ \" %Q1\n", + "Eta = ((Q-Q1)/Q) * 100 # in %\n", + "print \"Thermal efficiency = %0.1f %% \" %Eta\n", + "\n", + "# Note: The answer in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature at the end of compression = 720 \u00b0C \n", + "Temperature at the end of expansion = 724 \u00b0C \n", + "Heat supplied at constant pressure = 1043 kJ \n", + "Heat rejected at constant volume = 456.6 kJ \n", + "Thermal efficiency = 56.2 % \n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.11 - Page No : 146" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "r = 10 \n", + "Gamma = 1.4 \n", + "P1 = 1 # in bar\n", + "P2 = 1 * ((r)**(Gamma)) # in bar\n", + "P3 = 40 # in bar\n", + "P4 = P3 # in bar\n", + "T1 = 80 # in degree C\n", + "T1 = T1+273 # in K\n", + "T2 = T1 * ((r)**(Gamma-1)) # in K\n", + "T3 = (P3/P2)*T2 # in K\n", + "T4 = 1700 # in degree C\n", + "T4 = T4 + 273 # in K\n", + "Vc= 1 # in m**3(assumed)\n", + "V4= Vc*T4/T3 \n", + "V1= 10*Vc # volume at beginning of compression in m**3\n", + "Vs= V1-Vc # in m**3\n", + "PercentageStroke= (V4-Vc)/Vs*100 # in %\n", + "print \"Percentage of stroke at which heat reception must stop = %0.1f %%\" %PercentageStroke\n", + "r= V1/V4 \n", + "P5= P4/r**Gamma # in bar\n", + "ratio= (P4*V4-P5*V1)/(P2*Vc-P1*V1) \n", + "print \"Ratio of work done during expansion to that done during compression = %0.2f\" %ratio" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Percentage of stroke at which heat reception must stop = 4.4 %\n", + "Ratio of work done during expansion to that done during compression = 2.01\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.12 - Page No : 146" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 1 # in bar\n", + "T1 = 320 # in K\n", + "r= 11.6 \n", + "Vc= 1 # in m**3 (assumed)\n", + "Vs= 10.6*Vc #in m**3\n", + "V1= r*Vc # in m**3\n", + "Gamma= 1.4 \n", + "P2= P1*r**Gamma # in bar\n", + "V2= Vc # in m**3\n", + "V3= Vc # in m**3\n", + "V4=1.38*Vc # in m**3\n", + "P3= 1.53*P2 # in bar\n", + "P4= P3 # in bar\n", + "expansionRatio= V1/V4 \n", + "P5= P4/expansionRatio**Gamma # in bar\n", + "V5= r*Vc # in m**3\n", + "W= (P3*(V4-Vc)+(P4*V4-P5*V5)/(Gamma-1)-(P2*V2-P1*V1)/(Gamma-1))*10**5 # in joule\n", + "Pm= W/(Vs*10**4) # in N/cm**2\n", + "print \"The mean effective pressure of the cycle = %0.2f N/cm**2\" %Pm\n", + "\n", + "# Note: The calculation in the book is wrong" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mean effective pressure of the cycle = 59.66 N/cm**2\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.13 - Page No : 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "C_P = 0.998 # in kJ/kg-K\n", + "C_v = 0.707 #in kJ/kg-K\n", + "T1 = 15 # in degree C\n", + "T1 = T1 +273 # in K\n", + "T2 = 400 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "Eta = (1 - (T1/T2))*100 # in %\n", + "print \"The ideal efficiency when engine is fitted with a perfect regenerator = %0.2f %% \" %Eta\n", + "R = C_P-C_v # in kJ/kg-K\n", + "r = 3 \n", + "Eta_r = 0.8 \n", + "Eta = ((R*(log(r)))*(T2-T1))/( (R*(log(r))*T2) + (1-Eta_r) * C_v * (T2-T1) )*100 # in %\n", + "print \"The ideal efficicency when efficiency of the regenrator is 0.8 = %0.1f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The ideal efficiency when engine is fitted with a perfect regenerator = 57.21 % \n", + "The ideal efficicency when efficiency of the regenrator is 0.8 = 45.7 % \n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.14 - Page No : 155" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T1 = 15 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "P1 = 1 # in bar\n", + "P2 = 5 # in bar\n", + "Gamma = 1.4 \n", + "T2 = T1 * ((P2/P1)**((Gamma-1)/Gamma)) # in K\n", + "C_P = 1.003 # in kJ/kg-K\n", + "CompWork = C_P*(T2 - T1) # Compressure work in kJ/kg\n", + "T3 = 800 # in degree C\n", + "T3 = T3 + 273 # in K\n", + "T4 = T3/((P2/P1)**((Gamma-1)/Gamma)) # in K\n", + "T4= round(T4) # in K\n", + "turbineWork = C_P * (T3-T4) # Turbine work in kJ/kg\n", + "Q = C_P * (T3-T2) # Heat input in kJ/kg\n", + "W = turbineWork-CompWork # in kJ/kg\n", + "W= round(W) #in kJ/kg\n", + "Eta = (W/Q)* 100 # in %\n", + "print \"the thermal efficiency of plant = %0.0f %% \" %round(Eta)\n", + "print \"Output of gas turbine installation\",int(W),\"kW per kg of flow per second\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the thermal efficiency of plant = 37 % \n", + "Output of gas turbine installation 229 kW per kg of flow per second\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 5.15 - Page No : 158" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "C_v = 0.711 # in kJ/kg-K\n", + "T3 = 850 # in degree C\n", + "T3 = T3 + 273 # in K\n", + "T2 = 90 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "E = C_v * (log(T3/T2)) # Entropy change in kJ/kg-K\n", + "print \"Entrophy change = %0.3f kJ/kg-K \" %E\n", + "W = (E * (T3-T2))/2 #output work in kJ/kg\n", + "Q = T2+E #rejected heat in kJ/kg\n", + "Q1 = W + Q #heat supplied in kJ/kg\n", + "Eta = (W/Q1) # in %\n", + "print \"The efficiency of cycle = %0.3f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Entrophy change = 0.803 kJ/kg-K \n", + "The efficiency of cycle = 0.456 % \n" + ] + } + ], + "prompt_number": 23 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_6_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_6_1.ipynb new file mode 100644 index 00000000..421394c6 --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_6_1.ipynb @@ -0,0 +1,1449 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 6 : Properties Of Steam And Steam Cycle\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.1 - Page No : 170" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "P = 10 # in bar\n", + "P = P *10**5 # in N/m**2\n", + "V = 2 #volume of water in m**3\n", + "W = P * V # in J\n", + "W = W * 10**-6 # in MJ\n", + "print \"Work done = %0.0f MJ \" %W" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Work done = 2 MJ \n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.2 - Page No : 170" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 1.013 # atm pressure in bar\n", + "P = P * 10**5 # in N/m**2\n", + "area= 1000*10**-4 # in m**2\n", + "L_w = 1000 # in N\n", + "P_L = L_w/area # Pressure due to load in N/m**2\n", + "PressOnPiston = P_L+P # absolute pressure to piston in N/m**2\n", + "a = 10**-3 # in m**2\n", + "U = PressOnPiston*a # in Joules\n", + "print \"Energy required to pump 1 kg of water at 0\u00b0C into the cylinder = %0.1f joules\" %U \n", + "# Part (b)\n", + "absPressure= 111.3*10**3 # in N/m**2\n", + "increaseInVol= (1.02-1)*10**-3 # in m**3\n", + "u_f= increaseInVol*absPressure # in joules\n", + "print \"Energy required to effect the change in volume = %0.3f joules \" %u_f \n", + "# Part (c)\n", + "increaseInVol= (1.52-0.001) # in m**3\n", + "ExternalWorkDone= absPressure*increaseInVol # in joules\n", + "print \"External work done = %0.3f kJ\" %(ExternalWorkDone*10**-3)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Energy required to pump 1 kg of water at 0\u00b0C into the cylinder = 111.3 joules\n", + "Energy required to effect the change in volume = 2.226 joules \n", + "External work done = 169.065 kJ\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.3 - Page No : 175" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "m_s = 92.3 # mass of steam in kg\n", + "m_w = 0.78 # mass of water in kg\n", + "m = m_s + m_w # total mass in kg\n", + "D_s = 92.3 # Dry steam in kg\n", + "D_F = D_s/m # Dryness fraction\n", + "print \"Dryness fraction = %0.2f \" %D_F" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction = 0.99 \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.4 - Page No : 176" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "L = 693.3 # Liquid heat in kJ/kg\n", + "L1 = 125.7 # Liquid heat of feed water in kJ/kg\n", + "m = 2 # mass of water in kg\n", + "Q = m * (L-L1) # in kJ\n", + "print \"Heat required to raise temperature = %0.1f kJ \" %Q\n", + "print \"The water is still liquid at the end of the heat supply\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat required to raise temperature = 1135.2 kJ \n", + "The water is still liquid at the end of the heat supply\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.5 - Page No : 176" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "x = 0.9 \n", + "h_f = 762.2 # in kJ/kg\n", + "h_fg = 2013.8 # in kJ/kg\n", + "H_wet = h_f + (x*h_fg) # in kJ/kg\n", + "En = 125.7 # Enthapy of liquid in kJ/kg\n", + "H_wet = H_wet - En # in kJ\n", + "print \"When dry fraction is 0.9, Heat required, to convert = %0.1f kJ \" %H_wet\n", + "# Part (b) when dry fraction is saturated\n", + "H_sat = h_f + h_fg # in kJ/kg\n", + "H_sat = H_sat-En # in kJ\n", + "print \"Heat required when steam is dry and saturated = %0.1f kJ \" %H_sat\n", + "C_P = 2.093 # in kJ/kg-K\n", + "t_sup = 300 # in degree C\n", + "t_sat = 179.9 # in degree C\n", + "H_sup = h_f + h_fg + C_P*(t_sup-t_sat) # in kJ\n", + "H_sup1 = H_sup - En # in kJ\n", + "print \"Heat required when the steam is super heated = %0.1f kJ \" %H_sup1" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "When dry fraction is 0.9, Heat required, to convert = 2448.9 kJ \n", + "Heat required when steam is dry and saturated = 2650.3 kJ \n", + "Heat required when the steam is super heated = 2901.7 kJ \n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.6 - Page No : 177" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "x = 0.95 \n", + "v_f = 0.001 \n", + "v_g = 0.1238 # in m**3/kg\n", + "V_wet = ((1-x)*v_f)+(x*v_g) # in m**3 correction little diff in ans \n", + "print \"Specific volume of wet steam = %0.5f m**3 \" %V_wet\n", + "print \"When the steam is dry saturated, the specific volume = %0.4f m**3/kg \" %v_g\n", + "T_sat = 201.3 # in degree C\n", + "T_sat = T_sat + 273 # in K\n", + "T_sup = 300 # in degree C\n", + "T_sup = T_sup + 273 # in K\n", + "V_sup = v_g * (T_sup/T_sat) # in m**3\n", + "print \"When the steam is superheated, the specific volume = %0.2f m**3 \" %V_sup" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Specific volume of wet steam = 0.11766 m**3 \n", + "When the steam is dry saturated, the specific volume = 0.1238 m**3/kg \n", + "When the steam is superheated, the specific volume = 0.15 m**3 \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.7 - Page No : 178" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "h_f = 720.7 # in kJ\n", + "h_fg = 2046.6 # in kJ\n", + "v_g = 0.2405 # in m**3\n", + "x = 0.9 \n", + "P = 8*10**2 # in kN/m**2\n", + "U_sat = h_f+x*h_fg-x*v_g*P # in kJ\n", + "print \"When the steam is wet, the internal energy = %0.2f kJ \" %U_sat\n", + "En = 2767.3 # Enthalpy of dry saturated stream\n", + "U_sat = En-(v_g*P) #in kJ/kg\n", + "print \"When the steam is dry and saturated, the internal energy = %0.2f kJ/kg \" %U_sat\n", + "C_P = 2.093 \n", + "del_s = 100 # in degree C\n", + "H_sup = h_f + h_fg + (C_P*del_s) # in kJ/kg\n", + "t_sat = 170.4+273 # in K\n", + "V_sup = (v_g*(t_sat+del_s))/t_sat # in m**3\n", + "U_sup = H_sup - P*V_sup # in kJ/kg\n", + "print \"When the steam is super heated, the internal energy = %0.1f kJ/kg \" %U_sup" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "When the steam is wet, the internal energy = 2389.48 kJ \n", + "When the steam is dry and saturated, the internal energy = 2574.90 kJ/kg \n", + "When the steam is super heated, the internal energy = 2740.8 kJ/kg \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.8 - Page No : 179" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "x = 0.88 # dryness fraction\n", + "h_fg = 2392.7 # in kJ/kg\n", + "H_wet = x * h_fg # in kJ/kg\n", + "Vs = 14.67 # Specific volume in m**3/kg\n", + "V_wet = x * Vs # in m**3/kg\n", + "Q = H_wet/V_wet # in kJ/m**3\n", + "print \"Heat to be extracted = %0.1f kJ/m**3 \" %Q " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat to be extracted = 163.1 kJ/m**3 \n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.9 - Page No : 180" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 12*10**2 # in kN/m**2\n", + "h_f = 798.1 # in kJ/kg\n", + "h_fg = 1984.5 # in kJ/kg\n", + "x = 0.8 \n", + "H_wet = h_f + (x*h_fg) # in kJ/kg\n", + "v_f = 0.001 # in m**3\n", + "v_g = 0.1684 # in m**3\n", + "V_wet = ((1-x)*v_f) + (x*v_g) # in m**3\n", + "En = H_wet/V_wet # kJ/m**3\n", + "print \"The enthalpy = %0.3f kJ/m**3 \" %En\n", + "U_wet = H_wet - ( V_wet * P ) # in kJ\n", + "U_wet1 = (U_wet/V_wet) # in kJ/m**3\n", + "print \"Internal energy = %0.3f kJ/m**3 \" %U_wet1\n", + "\n", + "# Note: There is calculation error to find the value of V_wet.( the correct value of V_wet is 0.13492 not 0.1308), \n", + "# so there is some difference between the output of coding and the answer of the book" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The enthalpy = 17682.330 kJ/m**3 \n", + "Internal energy = 16482.330 kJ/m**3 \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.10 - Page No : 185" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "T = 0 # in degree C\n", + "T = T + 273 # in K\n", + "T_sat = 179.9 # in degree C\n", + "T_sat = T_sat + 273 # in K\n", + "x = 0.8 \n", + "h_fg = 2013.8 # in kJ/kg\n", + "c_f = 4.188 \n", + "Phi_wet = c_f*log(T_sat/T)+x*h_fg/T_sat # in kJ/kg-K\n", + "print \"The entropy of wet steam = %0.2f kJ/kg-K \" %Phi_wet\n", + "Phi_g = (c_f*(log(T_sat/T))) + (h_fg/T_sat) # in kJ/kg-K\n", + "print \"The entropy of dry saturated steam = %0.2f kJ/kg-K \" %Phi_g\n", + "C_P = 2.3 \n", + "T_sup = 200+273 # in K\n", + "Phi = c_f *log(T_sat/T) + h_fg/T_sat+ C_P*log(T_sup/T_sat) # in kJ/kg-K\n", + "print \"The entropy of superheated steam = %0.2f kJ/kg-K \" %Phi" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The entropy of wet steam = 5.68 kJ/kg-K \n", + "The entropy of dry saturated steam = 6.57 kJ/kg-K \n", + "The entropy of superheated steam = 6.67 kJ/kg-K \n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.11 - Page No : 186" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "T_sat = 198.3 # in degree C\n", + "T_sat = T_sat + 273 # in K\n", + "T_sup = 300 # in degree C\n", + "T_sup = T_sup + 273 # in K\n", + "c_f = 4.188 \n", + "h_fg = 1945 # in kJ/kg-K\n", + "T = 273 # in K\n", + "C_P = 2.093 # in kJ/kg-K\n", + "Phi_sup =c_f *log(T_sat/T)+h_fg/T_sat+C_P*log(T_sup/T_sat) # in kJ/kg-K\n", + "print \"The value of specific entropy = %0.2f kJ/kg-K \" %Phi_sup" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The value of specific entropy = 6.82 kJ/kg-K \n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.12 - Page No : \t195" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#Given data\n", + "P = 16 # in bar\n", + "m_w = 73 # in gm\n", + "m_s = 980 # in gm\n", + "x = m_s/(m_s+m_w) \n", + "print \"Dryness fraction of steam = %0.2f \" %x" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam = 0.93 \n" + ] + } + ], + "prompt_number": 38 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.13 - Page No : 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 7 # in bar\n", + "P2 = 1.2 # in bar\n", + "h_f1 = 696.9 # in kJ/kg\n", + "h_fg1 = 2065 # in kJ/kg\n", + "h_g2 = 2684.9 # in kJ/kg\n", + "T_sup = 112 # in degree C\n", + "T_sat = 104.77 # in degree C\n", + "C_P = 2.1 # in kJ/kg\n", + "x1 = (h_g2+(C_P*(T_sup-T_sat))-h_f1)/h_fg1 \n", + "print \"Dryness fraction of steam = %0.3f\"%x1" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam = 0.970\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.14 - Page No : 197" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 14 # in bar\n", + "P2 = 1.2 # in bar\n", + "h_f1 = 830 \n", + "h_fg1 = 1958 \n", + "h_g2 = 2684.9 \n", + "x = (h_g2-h_f1)/h_fg1 \n", + "print \"Dryness fraction of steam = %0.4f\" %x" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam = 0.9473\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.15 - Page No : 199" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "m_s = 2.2 # in kg \n", + "m_w = 0.18 # in kg\n", + "x1 = m_s/(m_s+m_w) \n", + "h_f1 = 743 \n", + "h_fg1 = 2031 \n", + "h_g2 = 2685 \n", + "C_P = 2 \n", + "T_sup = 115 # in degree C\n", + "T_sat = 104.8 # in degree C\n", + "x2 = (h_g2 + (C_P*(T_sup-T_sat)) - h_f1)/h_fg1 \n", + "x = x1 * x2 \n", + "print \"The dryness fraction of steam = %0.4f\" %x" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The dryness fraction of steam = 0.8931\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.16 - Page No : 200" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "h_f1 = 232 # in kJ/kg\n", + "h_fg = 2369 # in kJ/kg\n", + "x = 0.8 \n", + "h_f2 = 167.5 # in kJ/kg\n", + "H_wet1 = h_f1 + (x*h_fg) # in kJ/kg\n", + "H_wet = H_wet1 - h_f2 # in kJ/kg\n", + "T1 = 38 # in degree C\n", + "T2 = 25 # in degree C\n", + "T = T1-T2 # in degree C\n", + "SpeHeat = 4.188 # in kJ/kg-K\n", + "m = H_wet/(T*SpeHeat) # in kJ/kg\n", + "print \"The quantity of circulating water required of condensed steam = %0.0f kJ/kg \" %round(m)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The quantity of circulating water required of condensed steam = 36 kJ/kg \n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.17 - Page No : 200" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V1 = 0.4 # volume of dry saturated steam\n", + "P1 = 1.5 # in MN/m**2\n", + "print \"Part (i) : For Isothermal operation :\"\n", + "Vs = 0.1318 # specific volume of dry steam\n", + "m = V1/Vs # quantity of steam present in the vessel in kg\n", + "h_f1= 844.6 # in kJ/kg\n", + "x1= 0.5 # dryness fraction\n", + "h_fg1= 1945.2 # in kJ/kg\n", + "Specific_Enth= h_f1+x1*h_fg1 # in kJ/kg\n", + "En= Specific_Enth*m # kJ\n", + "print \"Enthalpy of the fluid = %0.2f kJ \" %En\n", + "HeatLost= m*(1-x1)*h_fg1 # in kJ\n", + "print \"The loss of heat during the constant temperature process = %0.1f kJ \" % HeatLost\n", + "print \"Part (ii) : For Hyperbolic operation :\"\n", + "h_f2= 1008.3 # in kJ/kg\n", + "h_fg2= 1794 # in kJ/kg\n", + "Vs= 0.0659 # Specific volume after compression in m**3/kg\n", + "Vs1= 0.0666 # Specific volume of dry saturated steam in m**3/kg\n", + "x2=Vs/Vs1 \n", + "H_wet= h_f2+x2*h_fg2 # in kJ/kg\n", + "H= m*H_wet # in kJ\n", + "print \"Enthalpy of the fluid = %0.1f kJ\" %H\n", + "# Note : The calculation in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part (i) : For Isothermal operation :\n", + "Enthalpy of the fluid = 5515.02 kJ \n", + "The loss of heat during the constant temperature process = 2951.7 kJ \n", + "Part (ii) : For Hyperbolic operation :\n", + "Enthalpy of the fluid = 8447.5 kJ\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.18 - Page No : 201" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import pi\n", + "# Given data\n", + "P = 13.5 # power developed by engine in kW\n", + "P1 = 12 # Steam consumption of the engine in kg/kWh\n", + "S_C = P*P1 #steam consumed per hour in kg\n", + "S_C = S_C/60 # in kg/min\n", + "x = 0.85 \n", + "V_g = 1.430 \n", + "Volume = x * V_g # in m**3/kg\n", + "Volume = S_C * Volume # in m**3\n", + "d = 15*10**-2 #diameter of exhaust pipe in meter\n", + "A = (pi/4) * (d)**2 # in m**2\n", + "C = Volume/A # in meter/minute\n", + "print \"The velocity of steam = %0.1f metre/minute\" %C" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The velocity of steam = 185.7 metre/minute\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.19 - Page No : 202" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P = 2 #pressure of steam in bar\n", + "m = 0.1 #mass of steam in kg\n", + "V = 0.080 #volume of steam in m**3\n", + "V1 = 0.8872 #volume of 1kg dry saturated steam in m**3\n", + "x = V/(m*V1) \n", + "print \"Dryness fraction of steam = %0.3f\" %x" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam = 0.902\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.20 - Page No : 202" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "# Given data\n", + "P1 = 7+ 1 # in bar\n", + "H = 2767 # Enthalpy in kJ/kg\n", + "P2 = 1.5+1 # in bar\n", + "H1 = 2717 # enthalpy of 1kg of dry steam in kJ/kg\n", + "H_sup = H - H1 # Superheated of 1kg of steam in kJ\n", + "S1 = 2.17 # super heated steam in kJ/kg-K\n", + "theta = H_sup/S1 # in degree C\n", + "T_sat = 127.4 # in degree C\n", + "T_sup = T_sat + theta # in degree C\n", + "print \"The super heated temperature = %0.0f degree C \" %(T_sup)\n", + "# Note : The calculation in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The super heated temperature = 150 degree C \n" + ] + } + ], + "prompt_number": 67 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.21 - Page No : 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T_sat = 99.6 # in degree C\n", + "h_fg = 2258 # in kJ/kg\n", + "m = 1 # steam output of the boiler in (assumed)\n", + "m1 = 0.03 # exhaust steam\n", + "x = 0.9 \n", + "T1 = 21 # in degree C\n", + "Cp = 4.187 # kJ/kg-K\n", + "# Formula m1*(Cp*(T_sat-t)+x*h_fg)= m*Cp*(t-T1)\n", + "t= (m1*(Cp*T_sat+x*h_fg)+m*Cp*T1)/(Cp*(m+m1))\n", + "print \"Temperature of the feed water leaving the heater = %0.1f degree C \" %t" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Temperature of the feed water leaving the heater = 37.4 degree C \n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.22 - Page No : 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T = 20 # in degree C\n", + "H1 = 3039 # Enthalpy in kJ/kg\n", + "H2 = 2725 # Enthalpy of 1kg dry saturated steam\n", + "H_sup = H1-H2 # superheat of 1kg of steam in kJ/kg\n", + "H= 2621.4 # heat required for 1kg or water in kJ\n", + "m = H_sup/H # in kg\n", + "print \"Quantity of water = %0.2f kg \" %m" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quantity of water = 0.12 kg \n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.23 - Page No : 204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "x = 0.9 \n", + "h_f1 = 1087.4 # in kJ/kg\n", + "h_fg1 = 1712.9 # in kJ/kg\n", + "H_wet1 = h_f1 + (x*h_fg1) # in kJ/kg\n", + "H_sup2 = 3095 # in kJ/kg\n", + "H = H_sup2 - H_wet1 # in kJ/kg\n", + "print \"Heat recieved = %0.0f kJ/kg \" %H" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat recieved = 466 kJ/kg \n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.24 - Page No : 204" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V_fg =0.1632 # in m**3\n", + "T_sup = 200 # in degree C\n", + "T_sup = T_sup + 273 # in K\n", + "T_sat = 188 # in degree C\n", + "T_sat = T_sat + 273 # in K\n", + "V_sup = (V_fg*T_sup)/T_sat # in m**3/kg\n", + "V = 0.24 # Capacity of the vessel in m**3\n", + "Q = V/V_sup # in kg\n", + "V1 = 0.9774 #volume of 1kg dry saturated steam in m**3\n", + "x = V_sup/V1 \n", + "print \"Dryness fraction of steam = %0.4f\" %x" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Dryness fraction of steam = 0.1713\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.25 - Page No : 205" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V = 0.6 # in m**3\n", + "P2 = 2*10**2 # in kN/m**2\n", + "P1 = 10*10**2 # in kN/m**2\n", + "m = V/0.1946 # in kg\n", + "V_s = 0.8872 # Specific volume of dry saturated steam in m**3\n", + "x = 0.1946/V_s \n", + "h_f1 = 505 # in kJ/kg\n", + "h_fg1 = 2202 # in kJ/kg\n", + "H2 = m*(h_f1 + (x*h_fg1)) # in kJ\n", + "H1 = m*2776 # in kJ\n", + "Q = (H2-H1) - (V*(P2-P1)) # in kJ\n", + "print \"The mass of steam in the vessel = %0.2f kg \" %m\n", + "print \"The dryness fraction of steam = %0.4f the vessel \" %x\n", + "print \"The amount o heat transferred = %0.0f kJ \" %int(Q)\n", + "print \"Thus during cooling process there is loss of heat\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mass of steam in the vessel = 3.08 kg \n", + "The dryness fraction of steam = 0.2193 the vessel \n", + "The amount o heat transferred = -5032 kJ \n", + "Thus during cooling process there is loss of heat\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.26 - Page No : 206" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "x1 = 0.95 \n", + "P1 = 9 # in bar\n", + "P1= P1*10**2 # in kN/m**2\n", + "h_f1 = 743 # in kJ/kg\n", + "h_fg1 = 2030 # in kJ/kg\n", + "V = 0.204 # in m**3\n", + "x2 = 0.544\n", + "P2 = 5 # in bar\n", + "P2= P2*10**2 # in kN/m**2\n", + "h_f2 = 640 # in kJ/kg\n", + "h_fg2 = 2108 # in kJ/kg\n", + "H_wet1 = h_f1 + (x1*h_fg1) # in kJ/kg\n", + "print \"Total energy = %0.1f kJ/kg \" %H_wet1\n", + "U1 = H_wet1 - P1*V # in kJ/kg\n", + "print \"The internal energy = %0.1f kJ/kg \" %U1\n", + "V_g1 = 0.204 # in m**3\n", + "V1 = 0.3753 #volume of 1kg of dry stream in m**3\n", + "x2 = V_g1/V1 \n", + "H_wet2 = h_f2 + (x2*h_fg2) # in kJ\n", + "U2 = H_wet2 - P2*V # in kJ\n", + "del_U = U1-U2 # in kJ\n", + "H = del_U/V # in kJ\n", + "print \"Heat removed from 1 m**3 of steam = %0.1f kJ \" %H" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total energy = 2671.5 kJ/kg \n", + "The internal energy = 2487.9 kJ/kg \n", + "Heat removed from 1 m**3 of steam = 3941.5 kJ \n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.27 - Page No : 206" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 2.1 # in MN/m**2\n", + "P1= P1*10**3 #in kN/m**2\n", + "P2 = 0.7 # in MN/m**2\n", + "P2= P2*10**3 #in kN/m**2\n", + "V1 = 0.1281 # in m**3\n", + "x = 0.9 \n", + "n = 1.25 \n", + "h_f1= 920 # in kJ/kg\n", + "h_fg1= 1878.6 # in kJ/kg\n", + "h_f2= 697.0 # in kJ/kg\n", + "h_fg2= 2065.0 # in kJ/kg\n", + "V_wet1 = x * 0.0949 # in m**3/kg\n", + "m = V1/V_wet1 # in kg\n", + "print \"Mass of steam = %0.1f kg \" %m\n", + "V2 = V1*((P1/P2)**(1/n)) #in m**3\n", + "del_W = (P1*V1-P2*V2)/(n-1) # in kJ\n", + "print \"External work done = %0.1f kJ \" %del_W\n", + "V_2 = V2/m # in m**3/kg\n", + "x2 = V_2/0.273 \n", + "H1= h_f1+x*h_fg1 # in kJ/kg\n", + "U1= H1-P1*V_wet1 # in kJ/kg\n", + "H2= h_f2+x2*h_fg2 # in kJ/kg\n", + "U2= H2-P2*V_2 # in kJ/kg\n", + "del_E = m*(U2-U1) #in kJ\n", + "print \"Change in internal energy = %0.1f kJ \" %del_E\n", + "Q = del_W +del_E # in kJ\n", + "print \"Heat exchange = %0.1f kJ \" %Q\n", + "print \"Heat is lost to the surroundings.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass of steam = 1.5 kg \n", + "External work done = 212.3 kJ \n", + "Change in internal energy = -483.7 kJ \n", + "Heat exchange = -271.5 kJ \n", + "Heat is lost to the surroundings.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.28 - Page No : 207" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "h_f1 = 670 # in kJ/kg\n", + "h_fg1 = 2085 # in kJ/kg\n", + "h_f2 = 475 # in kJ/kg\n", + "h_fg2 = 2221 # in kJ/kg\n", + "P2 = 6*10**2 # in kJ/kg \n", + "P1 = 1.6*10**2 # in kJ/kg\n", + "n = 1.1 \n", + "x1 = 0.9 \n", + "V1 = 0.3159 # in m**3\n", + "V2 = 1.092 # in m**3\n", + "H_wet = h_f1 + (x1*h_fg1) # in kJ/kg\n", + "V_wet1 = x1*V1 # in m**3\n", + "V_wet2 = V_wet1*(P2/P1)**(1/n) # in m**3\n", + "x2 = V_wet2/V2 \n", + "H_wet2 = h_f2 + (x2*h_fg2) # in kJ/kg\n", + "U2= H_wet2-H_wet+P2*V_wet1-P1*V_wet2 # in kJ/kg\n", + "W= (P2*V_wet1-P1*V_wet2)/(n-1) # in kJ/kg\n", + "Q= U2+W # in kJ/kg\n", + "print \"Heat recieved by steam = %0.1f kJ/kg \" %Q" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Heat recieved by steam = 63.9 kJ/kg \n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.29 - Page No : 208" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 0.85*10**3 # in kN/m**2\n", + "P2 = 0.17*10**3 # in kN/m**2\n", + "n = 1.13 \n", + "x1 = 0.95 \n", + "V1 = x1*0.227 # in m**3/kg\n", + "V2 = V1 * ((P1/P2)**(1/n)) # in m**3/kg\n", + "x2 = V2/1.032 \n", + "print \"Final dryness fraction of steam = %0.3f\" %x2\n", + "W = (P1*V1-P2*V2)/(n-1) # in kJ/kg\n", + "print \"Change in internal energy = %0.1f kJ/kg \" %W" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Final dryness fraction of steam = 0.868\n", + "Change in internal energy = 238.3 kJ/kg \n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.30 - Page No : 209" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "# Given data\n", + "Cp= 2.3 # in kJ/kg-K\n", + "T_sat= 179.9 # in \u00b0C\n", + "T_sat= T_sat+273 # in K\n", + "H= 3052 # enthalpy in kJ/kg\n", + "P= 10*10**2 # in kN/m**2\n", + "h_f= 763 # in kJ/kg\n", + "h_fg= 2015 # in kJ/kg\n", + "V= 0.1944 # in m**3\n", + "# Formula H= h_f+h_fg*Cp*(t_sup-T_sat)-P*V*(t_sup/T_sat)\n", + "t_sup= (h_f+h_fg-Cp*T_sat-H)/(P*V/T_sat-Cp) # in K\n", + "t_sup= t_sup-273 # in \u00b0C\n", + "print \"The final temperature of the steam = %0.0f \u00b0C \" %math.ceil(t_sup)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The final temperature of the steam = 431 \u00b0C \n" + ] + } + ], + "prompt_number": 40 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.31 - Page No : 209" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import log\n", + "# Given data\n", + "m1 = 3 # in kg\n", + "m2 = 2 # in kg\n", + "T1 = 10 # in degree C\n", + "T2 = 80 # In Degree C\n", + "T = ((m1*T1)+(m2*T2))/(m1+m2) # in degree C\n", + "T = T + 273 # in K\n", + "T1 = T1 + 273 # in K\n", + "T2 = T2 + 273 # in K\n", + "c_f = 4.188 \n", + "del_phi1 = m1 * c_f*log(T/T1) # in kJ/K\n", + "del_phi2 = m2 * c_f*log(T/T2) # in kJ/K\n", + "Phi = del_phi1 + del_phi2 # in kJ/K\n", + "print \"Total change in entropy = %0.3f kJ/K \" %Phi" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Total change in entropy = 0.124 kJ/K \n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.32 - Page No : 216" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 15 # in bar\n", + "P2 = 0.15 # in bar\n", + "T_sat = 198.3 # in degree C\n", + "T_sat = T_sat + 273 # in K\n", + "h_fg1 = 1947 # in kJ/kg\n", + "h_fg2= 2369 # in kJ/kg\n", + "h_g1 = 845 # in kJ/kg\n", + "h_f2 = 232 # in kJ/kg\n", + "f_g2 = 7.985 # in kJ/kg-K\n", + "x1 = 0.8 \n", + "Phi_f1 = 2.315 # in kJ/kg-K\n", + "Phi_f2 = 0.772 # in kJ/kg-K\n", + "Phi1 = Phi_f1 + ((x1*h_fg1)/T_sat) # in kJ/kg-K\n", + "H1 = h_g1 + (x1*h_fg1) # in kJ/kg-K\n", + "Phi2 = Phi1 # in kJ/kg-K\n", + "x2 = (Phi1 - Phi_f2)/(f_g2 - Phi_f2) \n", + "H2 = h_f2 + (x2*h_fg2) # in kJ/kg\n", + "Eta = ((H1-H2)/(H1-h_f2))*100 # in %\n", + "print \"Part (i) When the steam supply is wet and dryness fraction is 0.8\"\n", + "print \"Rankine efficiency = %0.1f %% \" %Eta\n", + "delH = H1-H2 #theoretical work of steam in kJ/kg\n", + "W = delH*60/100 # in kJ/kg\n", + "Energy_Equivalent= 3600 # in kJ\n", + "Steam_C = Energy_Equivalent/W # Steam consumption in kg\n", + "print \"Steam consumption per kW-hr = %0.2f kg\" %Steam_C\n", + "print \"Part (ii) When the steam supply is dry and saturated\"\n", + "H_1 = 2792 # in kJ/kg\n", + "Phi_g1 = 6.445 # in kJ/kg-K\n", + "x_2 = (Phi_g1-Phi_f2)/(f_g2-Phi_f2) \n", + "H_2 = h_f2 + (x_2*h_fg2) # in kJ/kg\n", + "Eta1 = (H_1-H_2)/(H_1-h_f2) \n", + "print \"Rankine efficiency =\",round(Eta1,3),\"=\",round(Eta1*100,1),\"%%\" \n", + "W1 = (H_1-H_2)*60/100 # in kJ/kg\n", + "Steam_C= Energy_Equivalent/W1 # in kg\n", + "print \"Steam consumption per kW-hr = %0.2f kg is :\" %Steam_C\n", + "print \"Part (iii) When steam is superheated and temperature is 300\u00b0C\"\n", + "H_1 = 3039 # in kJ/kg\n", + "Phi_1 = 6.919 # in kJ/kg-K\n", + "x_2 = (Phi_1 - Phi_f2)/(f_g2-Phi_f2) \n", + "H_2 = h_f2 + (x_2 * h_fg2) # in kJ/kg\n", + "Eta = (H_1 - H_2)/(H_1-h_f2) \n", + "print \"Rankine efficiency =\",round(Eta,3),\"=\",round(Eta*100,1),\"%%\" \n", + "W2 = (H_1-H_2)*60/100 # in kJ/kg\n", + "Steam_C= Energy_Equivalent/W2 # in kg\n", + "print \"Steam consumption per kW-hr = %0.2f kg \" % Steam_C" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Part (i) When the steam supply is wet and dryness fraction is 0.8\n", + "Rankine efficiency = 26.6 % \n", + "Steam consumption per kW-hr = 10.37 kg\n", + "Part (ii) When the steam supply is dry and saturated\n", + "Rankine efficiency = 0.272 = 27.2 %%\n", + "Steam consumption per kW-hr = 8.61 kg is :\n", + "Part (iii) When steam is superheated and temperature is 300\u00b0C\n", + "Rankine efficiency = 0.281 = 28.1 %%\n", + "Steam consumption per kW-hr = 7.61 kg \n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.33 - Page No : 218" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T1 = 400 # in degree C\n", + "T1 = T1 + 273 # in K\n", + "T2 = 72.7 # in degree C\n", + "T2 = T2 + 273 # in K\n", + "Eta = ((T1-T2)/T1)*100 # in %\n", + "print \"For carnot cycle : \"\n", + "print \"Rankine efficiency = %0.1f %% \" %Eta\n", + "H1 = 3248 # in kJ/kg\n", + "h_f2 = 304.5 # in kJ/kg\n", + "del_H = 809.2 # in kJ/kg\n", + "Eta = (del_H/(H1-h_f2))*100 # in %\n", + "print \"For Rankine cycle : \"\n", + "print \"Rankine efficiency = %0.2f %% \" %Eta" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "For carnot cycle : \n", + "Rankine efficiency = 48.6 % \n", + "For Rankine cycle : \n", + "Rankine efficiency = 27.49 % \n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 6.34 - Page No : 218" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "P1 = 15 # in bar\n", + "H1 = 3039 # in kJ/kg\n", + "V_g1 = 0.1697 # in m**3/kg\n", + "Phi1 = 6.919 # in kJ/kg-K\n", + "P2_desh = 3.5*10**2 # in kN/m**2\n", + "Phi_g2 = 6.941 # in kJ/kg-K\n", + "Phi_f2 = 1.727 # in kJ/kg-K\n", + "P2 = 0.15*10**2 # in kN/m**2\n", + "h_f2 = 232 # in kJ/kg\n", + "x = (Phi1-Phi_f2)/(Phi_g2 - Phi_f2) \n", + "h_f = 584 # in kJ/kg\n", + "h_fg = 2148 # in kJ/kg\n", + "H2 = h_f + (x*h_fg) # in kJ/kg\n", + "V = 0.5241 # in m**3\n", + "V2=x*V # in m**3/kg\n", + "W = (H1-H2) + (P2_desh-P2)*V2 #work output of the cycle in kJ/kg\n", + "Eta = W/(H1-h_f2)*100 # in %\n", + "print \"The efficiency of the cycle = %0.1f %% \" %Eta\n", + "Energy_equivalent= 3600 # in kJ\n", + "S_consumption = Energy_equivalent/W # in kg\n", + "V = S_consumption* V_g1 # in m**3\n", + "print \"Total volume of steam = %0.2f m**3 \" %V" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The efficiency of the cycle = 17.5 % \n", + "Total volume of steam = 1.24 m**3 \n" + ] + } + ], + "prompt_number": 31 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_7_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_7_1.ipynb new file mode 100644 index 00000000..753af1cb --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_7_1.ipynb @@ -0,0 +1,250 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 7 : Flow Process\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.1 - Page No : 233" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "H1 = 2600 # in kJ/kg\n", + "H2 = 1850 # in kJ/kg\n", + "g = 9.81 \n", + "C1 = 10 # in meter/second\n", + "C2 = 20 # in meter/secon\n", + "Q = 120 # in kJ/kg\n", + "Z1 = 30 # in meter\n", + "Z2 = 10 # in meter\n", + "W = g*(Z1-Z2)/1000+H1-H2+(C1**2-C2**2)/(2*1000)+Q\n", + "print \"The work done = %0.0f kJ/kg \" %W" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The work done = 870 kJ/kg \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.2 - Page No : 234" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "H1 = 3100 # in kJ/kg\n", + "H2 = 1950 # in kJ/kg\n", + "C1 = 20 # in meter/second\n", + "C2 = 30 # in meter/secon\n", + "Q = 0 # in kJ/kg\n", + "Q_desh= 20 # in kJ/kg\n", + "Vs= 1.1 # in m**3/kg\n", + "W = H1-H2+(C1**2-C2**2)/(2*1000)+Q-Q_desh # in kJ/kg\n", + "m= 2 #mass flow rate in kg/sec\n", + "Power= m*W # in kW\n", + "print \"Power output of the turbine = %0.1f kW\" %Power\n", + "Area= m*Vs/C2 # in m**2\n", + "print \"Area of exhaust pipe = %0.3f m**2 \" %Area" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Power output of the turbine = 2259.5 kW\n", + "Area of exhaust pipe = 0.073 m**2 \n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.3 - Page No : 234" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import sqrt\n", + "# Given data\n", + "H1 = 2940 # in kJ/kg\n", + "H2 = 2630 # in kJ/kg\n", + "C = sqrt((H1-H2)*1000*2) # in m/sec\n", + "print \"Velocity of the steam leaving the nozzle = %0.1f m/sec \" %C" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Velocity of the steam leaving the nozzle = 787.4 m/sec \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.4 - Page No : 235" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from math import sqrt\n", + "# Given data\n", + "H1 = 2800 # in kJ/kg\n", + "H2 = 2600 # in kJ/kg\n", + "C2 = sqrt(2*(H1-H2)*1000) # in m/s\n", + "print \"Exit velocity = %0.0f m/s\" %C2\n", + "m_f = 25 # mass flow rate in kg/sec\n", + "V = 0.154 # in m**3/kg\n", + "A = (m_f*V)/C2 # in m**2\n", + "print \"Total exit area = %0.4f m**2\" %A" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Exit velocity = 632 m/s\n", + "Total exit area = 0.0061 m**2\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.5 - Page No : 235" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Q = 20 # in kJ/kg\n", + "P = 10 # in MW\n", + "P = P * 10**3 # in kW\n", + "H1 = 3248 # in kJ/kg\n", + "H2 = 2552 # in kJ/kg\n", + "C1 = 20 # m/s\n", + "C2 = 40 # m/s\n", + "m = P/((H1-H2+(C1**2-C2**2)/(2*1000))-Q) # in kg/s\n", + "print \"Mass = %0.3f kg \" %m" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Mass = 14.806 kg \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 7.6 - Page No : 236" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "h_f1 = 2584 # in kJ/kg\n", + "h_fg1 = 2392 # in kJ/kg\n", + "H2 = 192 # in kJ/kg\n", + "x = 0.2 \n", + "H1 = round(h_f1- (x*h_fg1)) # in kJ/kg\n", + "x1 = 0.8 \n", + "Vs = 14.67 # in m**3\n", + "V1 = x1*Vs # in m**3/kg\n", + "A = 0.45 # in m**2\n", + "C1 = V1/A # in m/s\n", + "Q = 5 # kJ/s\n", + "C2 = 0 \n", + "W = 0 \n", + "Q_desh = W-H1 - C1**2/(2*1000)-Q+H2+C2**2/2 # in kJ/s\n", + "print \"Rate of heat transfer = % 0.3f kJ/s \" %Q_desh\n", + "# Note : The calculation in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Rate of heat transfer = -1919.340 kJ/s \n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_8_1.ipynb b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_8_1.ipynb new file mode 100644 index 00000000..c6857143 --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/chapter_no_8_1.ipynb @@ -0,0 +1,958 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter No - 8 : Fuels And Combustion\n", + " " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.1 - Page No : 248" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from __future__ import division\n", + "# Given data\n", + "C= 85 # in %\n", + "H= 12.5 # in %\n", + "H1 = 35000 # heat liberated by carbon in kJ\n", + "H2 = 143000 # heat liberated by hydrogen in kJ\n", + "HCV = (C*H1+H*H2)/100 # Higher calorific value in kJ/kg\n", + "print \"Higher calorific value = %0.0f kJ/kg \" %HCV\n", + "ms = 9 \n", + "LCV= HCV -(ms*H*2442)/100 # Lower calorific value in kJ/kg\n", + "print \"Lower calorific value = %0.0f kJ/kg \" %LCV\n", + "\n", + "# Note: The calculated value in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Higher calorific value = 47625 kJ/kg \n", + "Lower calorific value = 44878 kJ/kg \n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.2 - Page No : 249" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "CH4 = 77 # in %\n", + "C2H6 = 22.5 #in %\n", + "H1 = 40.08 # heat liberated by CH4 in MJ/nm**3\n", + "H2 = 69.52 # heat liberated by C2H6 in MJ/nm**3\n", + "HCV = (CH4*H1+C2H6*H2)/100 # Higher calorific value in kJ/kg\n", + "print \"The higher calorific value = %0.3f MJ/nm**3\" %HCV\n", + "V1= CH4*2/100 # volume of water due to combustion of CH4 in m**3\n", + "V2= C2H6*3/100 # volume of water due to combustion of C2H6 in m**3\n", + "V= V1+V2 # total volume in m**3\n", + "ms= 18/22.41 # in kg\n", + "LCV= HCV-ms*V*2.242 # in MJ/nm**3\n", + "print \"The lower calorific value = %0.3f MJ/nm**3\" %LCV\n", + "print \"The word nm**3 means that cubic metre at normal temperature and pressure\"\n", + "\n", + "# Note: The calculated value in the book is not accurate" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The higher calorific value = 46.504 MJ/nm**3\n", + "The lower calorific value = 42.515 MJ/nm**3\n", + "The word nm**3 means that cubic metre at normal temperature and pressure\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.3 - Page No : 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "mw = 2.5 #mass of water in kg\n", + "mc= 0.744 #water equivalen of apparatus in kg\n", + "CoalMass = 1.01*10**-3 # in kg\n", + "T_r = 2.59 #temp. rise in degree C\n", + "C_c = 0.016 # Cooling correction in degree C\n", + "theta = T_r +C_c #corrected temp. rise in degree C\n", + "Cp = 4.1868 # in kJ/kg-K\n", + "m = mw+mc # in kg\n", + "Qw = m * Cp*theta #heat received by water in kJ\n", + "C = (Qw/CoalMass) # in kJ/kg\n", + "print \"Calorific value of the fuel = %0.0f kJ/kg \" %C" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Calorific value of the fuel = 35044 kJ/kg \n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.4 - Page No : 255" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "T_r = 2.912 # temp. rise in degree C\n", + "C_c = 0.058 #cooling correction in degree C\n", + "theta = T_r + C_c # in degree C\n", + "HyCon= 14/100 # Hydrogen content\n", + "C_P = 4.1868 # in J/gm-K\n", + "Cc = 16750 #calorific value of cotton in J/gm\n", + "m_w = 1400 # in gm\n", + "m_c = 500 # in gm\n", + "m = m_w+m_c # in gm\n", + "m1 = 0.005 #mass of cotton in gm\n", + "m2 = 0.579 #mass of oil in gm\n", + "Qw = m*C_P*theta # in J\n", + "H1= m1*Cc # heat given out by combustion of cotton in J\n", + "Qin= Qw-H1 # in J\n", + "C= Qin/m2 # J/gm or kJ/kg\n", + "LCV= C-2442*9*HyCon # in J/gm or kJ/kg\n", + "print \"Higher Calorific value of the fuel = %0.0f J/gm or kJ/kg\" %C\n", + "print \"Lower Calorific value of the fuel = %0.0f J/gm or kJ/kg\" %LCV" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Higher Calorific value of the fuel = 40660 J/gm or kJ/kg\n", + "Lower Calorific value of the fuel = 37583 J/gm or kJ/kg\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.5 - Page No : 259" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "W_c = 500*10**-3 #water collected in kg\n", + "C_P = 4.1868 # in kJ/kg-K\n", + "T_o = 28.3 #outlet temp. in \u00b0C\n", + "T_i = 14 #inlet temp. in \u00b0C\n", + "P_bero= 785 # barometric pressure in mm\n", + "P_gas= P_bero+90/13.6 # in mm\n", + "T1=17+273 # gas temp. in K\n", + "T2= 15+273 # in K\n", + "theta = T_o-T_i #temp. rise in \u00b0C\n", + "Qw = W_c * C_P*theta # in kJ\n", + "Vgs= 2.8*10**-3 #volume of gas consumed in m**3\n", + "E = Qw/Vgs # in kJ\n", + "V1= P_gas/760*(T2/T1) # in m**3\n", + "CalorificValue= E/V1 # in kJ/standard m**3\n", + "print \"Calorific value = %0.2f kJ/m**3 \" %CalorificValue" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Calorific value = 10335.56 kJ/m**3 \n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.6 - Page No : 264" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C = 0.83 # in kg\n", + "H = 0.05 # in kg\n", + "O = 0.02 # in kg\n", + "S = 0.002 # in kg\n", + "AbyF_min = (11.6 * C) + +(34.8*(H-(O/8))) + (4.35 * S) # in kg\n", + "print \"The therotical mass of air = %0.2f kg \" %AbyF_min" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The therotical mass of air = 11.29 kg \n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.7 - Page No : 265" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C = 0.86 # in kg\n", + "H = 0.14 # in kg\n", + "S = 0 # in kg\n", + "O = 0 # in kg\n", + "Vair = 0.77 #volume of 1kg of air in m**3\n", + "Spe_Gravity = 0.8 # specific gravity of petrol\n", + "maBYmf = (11.6*C)+(34.8*(H-O/8)) + (4.35*S) # in kg\n", + "print \"The therotical mass of air = %0.1f kg \" %maBYmf\n", + "V = maBYmf *Spe_Gravity*Vair # in m**3/litre\n", + "print \"Volume of air required = %0.3f m**3/litre \" %V" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The therotical mass of air = 14.8 kg \n", + "Volume of air required = 9.146 m**3/litre \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.8 - Page No : 265" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C = 0.75 # in kg\n", + "H = 0.08 # in kg\n", + "O = 0.03 # in kg\n", + "S = 0 # in kg\n", + "P = 1.1 # in bar\n", + "P = P*10**5 # in N/m**2\n", + "maBYmf = (11.6*C) + (34.8 * (H-(O/8))) + (4.35 *S) # in kg\n", + "print \"The mass of air = %0.2f kg \" %maBYmf\n", + "m = 1.5*(maBYmf ) # in kg\n", + "T = 20+273 # in K\n", + "R = 29.27 \n", + "V = (m*R*T)/P # in m**3\n", + "print \"Volume = %0.3f m**3 \" %V\n", + "\n", + "# Note: The calculated value of V in the book is wrong." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The mass of air = 11.35 kg \n", + "Volume = 1.328 m**3 \n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.9 - Page No : 266" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "C = 0.82 # in kg\n", + "H2 = .12 # in kg\n", + "O2 = 0.02 # in kg\n", + "a = C/12 \n", + "b = H2/2 \n", + "y = (32*(a+(0.5*b))-O2)/0.23 \n", + "print \"Minimum quantity of air = %0.2f kg \" %y" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Minimum quantity of air = 13.59 kg \n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.10 - Page No : 267" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "mC= 0.88 #mass of carbon in kg\n", + "mH2= 0.03 #mass of H2 in kg\n", + "mS= 0.005 #mass of S in kg\n", + "O2_mass= 2.66*mC + 8*mH2 + 2*mS # in kg\n", + "Air_mass= O2_mass/0.23 # in kg\n", + "Air_mass= 1.5*Air_mass # in kg (as 50% excess air is supplied)\n", + "print \"Actual mass of air required per kg of fuel for complete combustion = %0.3f kg\" %Air_mass\n", + "# The flue gases per kg of fuel will be:\n", + "CO2= 3.226 # in kg\n", + "N2= 13.04 # in kg\n", + "O2= 1.298 # in kg\n", + "total_mass= CO2+N2+O2 # in kg\n", + "CO2_per_by_mass= CO2/total_mass*100 # in %\n", + "O2_per_by_mass= O2/total_mass*100 # in %\n", + "N2_per_by_mass= N2/total_mass*100 # in %\n", + "print \"Percentage of CO2 by mass is : %0.1f\" %CO2_per_by_mass\n", + "print \"Percentage of O2 by mass is : %0.1f\" %O2_per_by_mass\n", + "print \"Percentage of N2 by mass is : %0.1f\" %N2_per_by_mass\n", + "M_wt_CO2= 44 \n", + "CO2_Per_M_com_M_wt= CO2_per_by_mass/M_wt_CO2 # % Mass composition molecular weight\n", + "M_wt_O2= 32 \n", + "O2_Per_M_com_M_wt= O2_per_by_mass/M_wt_O2 # % Mass composition molecular weight\n", + "M_wt_N2= 28 \n", + "N2_Per_M_com_M_wt= N2_per_by_mass/M_wt_N2 # % Mass composition molecular weight\n", + "total= CO2_Per_M_com_M_wt + O2_Per_M_com_M_wt + N2_Per_M_com_M_wt \n", + "CO2_per_by_vol= CO2_Per_M_com_M_wt/total*100 # in %\n", + "O2_per_by_vol= O2_Per_M_com_M_wt/total*100 # in %\n", + "N2_per_by_vol= N2_Per_M_com_M_wt/total*100 # in %\n", + "print \"Percentage of CO2 by volume is : %0.2f\" %CO2_per_by_vol\n", + "print \"Percentage of O2 by volume is : %0.0f\" %O2_per_by_vol\n", + "print \"Percentage of N2 by volume is : %0.2f\" %N2_per_by_vol" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Actual mass of air required per kg of fuel for complete combustion = 16.897 kg\n", + "Percentage of CO2 by mass is : 18.4\n", + "Percentage of O2 by mass is : 7.4\n", + "Percentage of N2 by mass is : 74.2\n", + "Percentage of CO2 by volume is : 12.65\n", + "Percentage of O2 by volume is : 7\n", + "Percentage of N2 by volume is : 80.35\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.11 - Page No : 269" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "Cp= 1 # in kJ/kg\n", + "H= 2.7*10**3 # total heat of vaport in flue gas in kJ/kg\n", + "CoalCalorific= 32.82*10**3 # in kJ/kg\n", + "T1= 310 # final gas flue temp. in \u00b0C\n", + "T2= 25 # boiler house temp. in \u00b0C\n", + "mC= 0.84 #mass of carbon in kg\n", + "mH2= 0.05 #mass of H2 in kg\n", + "O2_mass= 2.66*mC + 9*mH2 # in kg\n", + "Air_mass= O2_mass/0.23 # in kg\n", + "Air_mass= 1.5*Air_mass # in kg (as 50% excess air is supplied)\n", + "print \"Actual mass of air required per kg of fuel for complete combustion = %0.3f kg \" %Air_mass\n", + "# Analysis of dry flue gas by weight\n", + "CO2= 3.08 # in kg\n", + "N2= 13.24 # in kg\n", + "O2= 1.32 # in kg\n", + "total_mass= CO2+N2+O2 # in kg\n", + "CO2_per_by_mass= CO2/total_mass*100 # in %\n", + "O2_per_by_mass= O2/total_mass*100 # in %\n", + "N2_per_by_mass= N2/total_mass*100 # in %\n", + "print \"Percentage of CO2 by mass is : %0.2f\" %CO2_per_by_mass\n", + "print \"Percentage of O2 by mass is : %0.2f\" %O2_per_by_mass\n", + "print \"Percentage of N2 by mass is : %0.2f\" %N2_per_by_mass\n", + "M_wt_CO2= 44 \n", + "CO2_Per_M_com_M_wt= CO2_per_by_mass/M_wt_CO2 # % Mass composition molecular weight\n", + "M_wt_O2= 32 \n", + "O2_Per_M_com_M_wt= O2_per_by_mass/M_wt_O2 # % Mass composition molecular weight\n", + "M_wt_N2= 28 \n", + "N2_Per_M_com_M_wt= N2_per_by_mass/M_wt_N2 # % Mass composition molecular weight\n", + "total= CO2_Per_M_com_M_wt + O2_Per_M_com_M_wt + N2_Per_M_com_M_wt \n", + "CO2_per_by_vol= CO2_Per_M_com_M_wt/total*100 # in %\n", + "O2_per_by_vol= O2_Per_M_com_M_wt/total*100 # in %\n", + "N2_per_by_vol= N2_Per_M_com_M_wt/total*100 # in %\n", + "print \"Percentage of CO2 by volume is : %0.0f\" %CO2_per_by_vol\n", + "print \"Percentage of O2 by volume is : %0.0f\" %O2_per_by_vol\n", + "print \"Percentage of N2 by volume is : %0.0f\" %N2_per_by_vol\n", + "H_w_v= 9*mH2*H #heat carried away by water vapour in kJ\n", + "H_dry_flue= total_mass*Cp*(T1-T2) # in kJ\n", + "H_total= H_w_v+H_dry_flue # in kJ\n", + "H_available= CoalCalorific-H_total # in kJ\n", + "print \"Heat available for steam generation = %0.0f kJ\" %H_available" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Actual mass of air required per kg of fuel for complete combustion = 17.507 kg \n", + "Percentage of CO2 by mass is : 17.46\n", + "Percentage of O2 by mass is : 7.48\n", + "Percentage of N2 by mass is : 75.06\n", + "Percentage of CO2 by volume is : 12\n", + "Percentage of O2 by volume is : 7\n", + "Percentage of N2 by volume is : 81\n", + "Heat available for steam generation = 26578 kJ\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.12 - Page No : 271" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "mC= 0.86 #mass of carbon in kg\n", + "mH2= 0.14 #mass of H2 in kg\n", + "maBYmf= (2.66*mC + 8*mH2)/0.23 # in kg/kg of fuel\n", + "Air_supp_deficiency= maBYmf/10 # in kg/kg of fuel\n", + "Air_saved= 16/(12*0.23) # in kg/kg of carbon\n", + "m1= Air_supp_deficiency/Air_saved # mass of coal burns to carbon monoxide\n", + "m2= mC-m1 # mass of coal burns to carbon diooxide\n", + "CO2_formed= m2*3.66 # in kg\n", + "CO_formed= m1*28/12 # in kg\n", + "N2_formed= Air_supp_deficiency*0.77*9 # in kg\n", + "M_wt_CO2= 44 # molecular weight\n", + "M_wt_CO= 28 \n", + "M_wt_N2= 28 \n", + "CO2_rel_vol= CO2_formed/M_wt_CO2 \n", + "CO_rel_vol= CO_formed/M_wt_CO \n", + "N2_rel_vol= N2_formed/M_wt_N2 \n", + "total_rel_vol=CO2_rel_vol+CO_rel_vol+N2_rel_vol \n", + "CO2_vol= CO2_rel_vol/total_rel_vol*100 # in %\n", + "CO_vol= CO_rel_vol/total_rel_vol*100 # in %\n", + "N2_vol= N2_rel_vol/total_rel_vol*100 # in %\n", + "print \"Volumetric analysis of CO2 = %0.2f %%\" %CO2_vol\n", + "print \"Volumetric analysis of CO = %0.2f %% \" %CO_vol\n", + "print \"Volumetric analysis of N2 = %0.2f %% \" %N2_vol" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volumetric analysis of CO2 = 11.47 %\n", + "Volumetric analysis of CO = 4.86 % \n", + "Volumetric analysis of N2 = 83.67 % \n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.13 - Page No : 275" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "N = 83 #compositon of nitrogen in %\n", + "C = 81 #carbon mass in the fuel in %\n", + "C1 = 11 #compositon of CO2 in %\n", + "C2 = 2 # compositon of CO in %\n", + "O = 4 # composition of O2 in %\n", + "AirSupplied =N*C/(33*(C1+C2)) # in kg/kg\n", + "print \"The amount of air supplied = %0.1f kg per kg of fuel \" %AirSupplied\n", + "ExcessAir =79*O*C/(21*33*(C1+C2)) # in kg/kg\n", + "print \"Weight of excess air = %0.2f kg per kg of fuel \" %ExcessAir" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The amount of air supplied = 15.7 kg per kg of fuel \n", + "Weight of excess air = 2.84 kg per kg of fuel \n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.14 - Page No : 275" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "CO2= 10 # in %\n", + "O2= 6 # in %\n", + "N2= 84 # in %\n", + "# a= x/12 and b= (1-x)/2\n", + "# 0.23*y/32= a+b/2+c\n", + "abyc= CO2/O2 \n", + "# a/(0.77*y/28)= CO2/N2\n", + "x=0.835 \n", + "carbon_per= x*100 # in %\n", + "hydrogen_per= 100-carbon_per # in %\n", + "print \"The fuel consists of\",round(carbon_per,1),\"%% carbon and\",round(hydrogen_per,1),\"%% hydrogen.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The fuel consists of 83.5 %% carbon and 16.5 %% hydrogen.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.15 - Page No : 278" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "H2 = 50 # in %\n", + "CO = 5 # in %\n", + "CH4 = 35 # in %\n", + "V = ((0.5*(H2+CO))+(2*CH4))/21 # in m**3\n", + "print \"Quantity of air required for complete combustion of 1m**3 of gas = %0.2f m**3\" %V" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Quantity of air required for complete combustion of 1m**3 of gas = 4.64 m**3\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.16 - Page No : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "H2= 0.4 # in m**3\n", + "CH= 0.425 # in m**3\n", + "C2H4= 0.0253 # in m**3\n", + "C4H8= 0.0127 # in m**3\n", + "CO= 0.075 # in m**3\n", + "O2_vol= 0.5*H2 + 2*CH + 3*C2H4 + 6*C4H8 + 0.5*CO # in m**3\n", + "Air_vol= O2_vol/0.21 # in m**3\n", + "print \"The volume of air required for complete combustion = %0.1f m**3 \" %Air_vol\n", + "actualAirSupplied= 1.3*Air_vol # in m**3\n", + "print \"The actual quantity of air supplied = %0.2f m**3 \" %actualAirSupplied" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The volume of air required for complete combustion = 5.9 m**3 \n", + "The actual quantity of air supplied = 7.67 m**3 \n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.17 - Page No : 280" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V_H2= 0.15 # in m**3\n", + "V_CH4= 0.02 # in m**3\n", + "V_CO= 0.20 # in m**3\n", + "V_CO2= 0.06 # in m**3\n", + "V_O2= 0.03 # in m**3\n", + "V_N2= 0.54 # in m**3\n", + "V1= 0.5*V_H2 # quantity of O2 required for complete combustion of H2\n", + "V2= 2*V_CH4 # in m**3\n", + "V3= 0.5*V_CO # in m**3\n", + "V= V1+V2+V3 # total oxygen required in m**3\n", + "O2_supp= V-V_O2 # O2 to be supplied by air in m**3\n", + "Air_req_min= O2_supp/0.21 # minimum quantity of air required in m**3\n", + "Actual_Air_Supp= 1.5*Air_req_min # m**3 of air\n", + "print \"The volume of air supplied = %0.2f m**3\" %Actual_Air_Supp\n", + "Vol_Carbondioxide_inFlue= V_CO2+V_CH4+V_CO #total volume of carbon dioxide\n", + "Vol_O2_inFlue= (Actual_Air_Supp-Air_req_min)*0.21 # in m**3\n", + "N2_from_air_Supp= 0.79*Actual_Air_Supp # in m**3\n", + "Vol_N2_inFlue= N2_from_air_Supp+V_N2 # in m**3\n", + "total= Vol_Carbondioxide_inFlue+Vol_O2_inFlue+Vol_N2_inFlue # in m**3\n", + "Per_CarbonDioxide= Vol_Carbondioxide_inFlue/total*100 # in %\n", + "Per_Oxygen= Vol_O2_inFlue/total*100 # in %\n", + "Per_Nitrogen= Vol_N2_inFlue/total*100 # in %\n", + "print \"%% Carbon dioxide is : %0.1f %%\" %Per_CarbonDioxide\n", + "print \"%% Carbon dioxide is : %0.2f %%\" %Per_Oxygen\n", + "print \"%% Carbon dioxide is : %0.2f %%\" %Per_Nitrogen" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The volume of air supplied = 1.32 m**3\n", + "% Carbon dioxide is : 14.3 %\n", + "% Carbon dioxide is : 4.73 %\n", + "% Carbon dioxide is : 80.96 %\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.18 - Page No : 281" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "V_CH4= 0.14 # in m**3\n", + "V_CO= 0.35 # in m**3\n", + "V_CO2= 0.06 # in m**3\n", + "V_N2= 0.03 # in m**3\n", + "V_H2= 0.42 # in m**3\n", + "a= V_CH4+V_CO2+V_CO \n", + "b= 2*V_CH4+V_H2 \n", + "# a+0.5*b+c= V_CO2+V_CO/2+0.21*5\n", + "c= V_CO2+V_CO/2+0.21*5-a-0.5*b \n", + "d=V_N2+5*0.79 \n", + "total= a+c+d \n", + "Vol_per_CO2= a/total*100 # in %\n", + "Vol_per_O2= c/total*100 # in %\n", + "Vol_per_N2= d/total*100 # in %\n", + "print \"Volume percentage of CO2 is : %0.2f\" %Vol_per_CO2\n", + "print \"Volume percentage of O2 is : %0.2f\" %Vol_per_O2\n", + "print \"Volume percentage of N2 is : %0.2f\" %Vol_per_N2\n", + "m_CO2= 44 # molecular mass\n", + "m_O2= 32 # molecular mass\n", + "m_N2=28 # molecular mass\n", + "mass_ratio_CO2= Vol_per_CO2/m_CO2 \n", + "mass_ratio_O2= Vol_per_O2/m_O2 \n", + "mass_ratio_N2= Vol_per_N2/m_N2 \n", + "total_mass_ratio= mass_ratio_CO2+mass_ratio_O2+mass_ratio_N2 \n", + "mass_per_CO2= mass_ratio_CO2/total_mass_ratio*100 \n", + "mass_per_O2= mass_ratio_O2/total_mass_ratio*100 \n", + "mass_per_N2= mass_ratio_N2/total_mass_ratio*100 \n", + "print \"Mass percentage of CO2 is : %0.2f\" %mass_per_CO2\n", + "print \"Mass percentage of O2 is : %0.2f\" %mass_per_O2\n", + "print \"Mass percentage of N2 is : %0.2f\"%mass_per_N2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Volume percentage of CO2 is : 11.19\n", + "Volume percentage of O2 is : 7.83\n", + "Volume percentage of N2 is : 80.98\n", + "Mass percentage of CO2 is : 7.50\n", + "Mass percentage of O2 is : 7.22\n", + "Mass percentage of N2 is : 85.28\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.19 - Page No : 283" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "GCR= 110 # gas consumption rate in m**3/hour\n", + "rpm= 300 # round per minute\n", + "Vs= 0.1 # swept volume of engine in m**3\n", + "V_H2=0.50 # in m**3\n", + "V_CO= 0.05 # in m**3\n", + "V_CH4=0.25 # in m**3\n", + "V_CO2= 0.10 # in m**3\n", + "V_N2= 0.10 # in m**3\n", + "V_O2= 5.8 # in m**3\n", + "AirRequired= (0.5*(V_H2+V_CO)+2*V_CH4)/0.21 # in m**3\n", + "CO2_formed= V_CO+V_CH4 # in m**3\n", + "total_CO2= CO2_formed+V_CO2 # in m**3\n", + "N2_of_air= 0.79*AirRequired # in m**3\n", + "total_N2= N2_of_air+V_N2 # in m**3\n", + "TotalVolume= total_N2+total_CO2 # in m**3\n", + "V= TotalVolume # in m**3\n", + "ExcessAirSupplied= (V_O2*V)/(21-V_O2) # in m**3\n", + "TotalAirSupplied= ExcessAirSupplied+AirRequired # in m**3\n", + "AirFuel_ratio= round(TotalAirSupplied)/1 \n", + "print \"Air fuel ratio by volume is : %0.0f\" % AirFuel_ratio\n", + "# Let V1= Volume of air + gas aspirated per hour\n", + "V1= GCR*6 # in m**3\n", + "Vs_out= Vs*rpm/2*60 # in m**3\n", + "Ratio= V1/Vs_out \n", + "print \"The value of Ratio i.e.\"\n", + "print \"(Volume of air + gas aspirted per hour)/Volume swept out by piston per hour = %0.4f\" %Ratio" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Air fuel ratio by volume is : 5\n", + "The value of Ratio i.e.\n", + "(Volume of air + gas aspirted per hour)/Volume swept out by piston per hour = 0.7333\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example No : 8.20 - Page No : 291" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Given data\n", + "CO2= 9.9 # in %\n", + "CO= 7.2 # in %\n", + "H2= 3.3 # in %\n", + "CH4= 0.3 # in %\n", + "N2= 79.3 # in %\n", + "O2= N2*21/79 # in %\n", + "print \"Method 1 : By Carbon balance :- \"\n", + "Z= (CO2+CO+CH4)/8 \n", + "x= 8*Z \n", + "measured_air_fuel_ratio= 11.3 \n", + "mm1= 29 # molecular mass of air\n", + "mm2= 12*8+17 # molecular mass of C8H17\n", + "massOf_air= (O2+N2)*mm1 \n", + "massOf_fuel= Z*mm2 \n", + "air_fuel_ratio= massOf_air/massOf_fuel \n", + "print \"The air fuel ratio by mass is : %0.2f\" %air_fuel_ratio\n", + "Per_error= (air_fuel_ratio - measured_air_fuel_ratio)/measured_air_fuel_ratio*100 \n", + "print \"Percentage error is : %0.3f %%\" %Per_error\n", + "print \"Method 2 : By Hydrogen balance : \"\n", + "X= (O2-CO2-CO/2)*2 \n", + "Z= (4*CH4+2*H2+X*2)/17 \n", + "massOf_air= (O2+N2)*mm1 \n", + "massOf_fuel= Z*mm2 \n", + "air_fuel_ratio= massOf_air/massOf_fuel \n", + "print \"The air fuel ratio by mass is : %0.2f\" %air_fuel_ratio\n", + "Per_error= (air_fuel_ratio - measured_air_fuel_ratio)/measured_air_fuel_ratio*100 \n", + "print \"Percentage error is : %0.2f %%\" %Per_error\n", + "print \"Method 3 : By Carbon-Hydrogen balance : \"\n", + "y= (4*CH4+2*H2+X*2) \n", + "massOf_air= (O2+N2)*mm1 \n", + "massOf_fuel= x*12+y \n", + "air_fuel_ratio= massOf_air/massOf_fuel \n", + "print \"The air fuel ratio by mass is : %0.2f\" %air_fuel_ratio\n", + "Per_error= (air_fuel_ratio - measured_air_fuel_ratio)/measured_air_fuel_ratio*100 \n", + "print \"Percentage error is : %0.2f %%\" %Per_error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Method 1 : By Carbon balance :- \n", + "The air fuel ratio by mass is : 11.84\n", + "Percentage error is : 4.816 %\n", + "Method 2 : By Hydrogen balance : \n", + "The air fuel ratio by mass is : 11.49\n", + "Percentage error is : 1.67 %\n", + "Method 3 : By Carbon-Hydrogen balance : \n", + "The air fuel ratio by mass is : 11.79\n", + "Percentage error is : 4.33 %\n" + ] + } + ], + "prompt_number": 20 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file1_1.png b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file1_1.png Binary files differnew file mode 100644 index 00000000..225e656e --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file1_1.png diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file2_1.png b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file2_1.png Binary files differnew file mode 100644 index 00000000..56e36a59 --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file2_1.png diff --git a/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file3_1.png b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file3_1.png Binary files differnew file mode 100644 index 00000000..d4a9159d --- /dev/null +++ b/Engineering_Thermodynamics_by_Dr._S._S._Khandare/screenshots/file3_1.png |