diff options
Diffstat (limited to 'Theory_Of_Machines')
-rwxr-xr-x | Theory_Of_Machines/README.txt | 10 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch10.ipynb | 2084 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch11.ipynb | 1499 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch12.ipynb | 1145 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch13.ipynb | 1411 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch14.ipynb | 1036 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch15.ipynb | 1526 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch16.ipynb | 1466 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch2.ipynb | 361 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch3.ipynb | 1380 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch4.ipynb | 601 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch5.ipynb | 218 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch6.ipynb | 347 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch7.ipynb | 788 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch8.ipynb | 1243 | ||||
-rwxr-xr-x | Theory_Of_Machines/ch9.ipynb | 349 | ||||
-rwxr-xr-x | Theory_Of_Machines/screenshots/10Friction.png | bin | 0 -> 152226 bytes | |||
-rwxr-xr-x | Theory_Of_Machines/screenshots/9MechanismsWithLowerPairs.png | bin | 0 -> 122959 bytes | |||
-rwxr-xr-x | Theory_Of_Machines/screenshots/TimeVSVelocity.png | bin | 0 -> 10510 bytes |
19 files changed, 15464 insertions, 0 deletions
diff --git a/Theory_Of_Machines/README.txt b/Theory_Of_Machines/README.txt new file mode 100755 index 00000000..0967ddbe --- /dev/null +++ b/Theory_Of_Machines/README.txt @@ -0,0 +1,10 @@ +Contributed By: Maulik Rathod +Course: be +College/Institute/Organization: Alpha College of Engineering & Tech., Kalol +Department/Designation: Electronics & Communication +Book Title: Theory Of Machines +Author: R. S. Khurmi And J. K. Gupta +Publisher: Eurasia Publishing House (Pvt.) Ltd., New Delhi +Year of publication: 2009 +Isbn: 81-219-2524-X +Edition: 14
\ No newline at end of file diff --git a/Theory_Of_Machines/ch10.ipynb b/Theory_Of_Machines/ch10.ipynb new file mode 100755 index 00000000..dc3b7316 --- /dev/null +++ b/Theory_Of_Machines/ch10.ipynb @@ -0,0 +1,2084 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:4504e5e6afcec1f6614278d6f9600661d0ec5a3c47dfce6a30afddafccb88875" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 10 : Friction" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.1 Page No : 263" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "theta = 30. \t\t\t#degrees\n", + "P1 = 180. \t\t\t#Pulling force N\n", + "P2 = 220. \t\t\t#Pushing force N\n", + "\n", + "#Solution:\n", + "#Resolving the forces horizontally for the pull of 180N\n", + "F1 = P1*math.cos(math.radians(theta)) \t\t\t#N\n", + "#Resolving the forces for the push of 220 N\n", + "F2 = P2*math.cos(math.radians(theta)) \t\t\t#N\n", + "#Calculating the coefficient of friction\n", + "#For the pull of 180N F1 = mu*W-90*mu or F1/mu-W = -90 .....(i)\n", + "#For the push of 220N F2 = W*mu+110*mu or F2/mu-W = 110 .....(ii)\n", + "A = [[F1, -1],[ F2, -1]]\n", + "B = [-90., 110.]\n", + "V = linalg.solve(A, B)\n", + "mu = 1/V[0]\n", + "W = V[1]\n", + "\n", + "#Results:\n", + "print \" The weight of the body, W = %d N.\"%(round(W,-2))\n", + "print \" The coefficient of friction, mu = %.4f.\"%(mu)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The weight of the body, W = 1000 N.\n", + " The coefficient of friction, mu = 0.1732.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.2 Page No : 268" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "P1 = 1500.\n", + "P2 = 1720. \t\t\t#N\n", + "alpha1 = 12.\n", + "alpha2 = 15. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 10.10\n", + "#Effort applied parallel to the plane P1 = W*(math.sin(alpha1)+mu*math.cos(alpha1)) or P1/W-mu*math.cos(alpha1) = math.sin(alpha1) .....(i)\n", + "#Effort applied parallel to the plane P2 = W*(math.sin(alpha2)+mu*math.cos(alpha2)) or P2/W-mu*math.cos(alpha2) = math.sin(alpha2) .....(ii)\n", + "A = [[P1, -math.cos(math.radians(alpha1))],[ P2, -math.cos(math.radians(alpha2))]]\n", + "B = [math.sin(math.radians(alpha1)), math.sin(math.radians(alpha2))]\n", + "V = linalg.solve(A, B)\n", + "W = 1.0/V[0]\n", + "mu = V[1]\n", + "\n", + "#Results:\n", + "print \" Coefficient of friction, mu = %.3f.\"%(mu)\n", + "print \" Weight of the body, W = %d N.\"%(W)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Coefficient of friction, mu = 0.131.\n", + " Weight of the body, W = 4462 N.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.3 Page No : 272" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "W = 75.*1000 \t\t\t#W\n", + "v = 300. \t\t\t#mm/min\n", + "p = 6.\n", + "d0 = 40. \t \t\t#mm\n", + "mu = 0.1\n", + "\n", + "#Solution:\n", + "#Calculating the mean diameter of the screw\n", + "d = (d0-p/2)/1000 \t\t\t#m\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d*1000)) \t\t\t#radians\n", + "#Calculating the force required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the torque required to overcome the friction\n", + "T = P*d/2 \t\t\t#N-m\n", + "#Calculating the speed of the screw\n", + "N = v/p \t\t\t#rpm\n", + "#Calculating the angular speed\n", + "omega = round(2*math.pi*N/60,2) \t\t\t#rad/s\n", + "#Calculating the power of the motor\n", + "Power = T*omega/1000 \t\t\t#Power of the motor kW\n", + "\n", + "#Results:\n", + "print \" Power of the motor required = %.3f kW.\"%(Power)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power of the motor required = 1.114 kW.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.4 Page No : 273" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "p = 12.\n", + "d = 40. \t\t\t#mm\n", + "mu = 0.16\n", + "W = 2500. \t\t\t#N\n", + "\n", + "#Solutiom:\n", + "#Work done in drawing the wagons together agianst a steady load of 2500 N:\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d)) \t\t\t#radians\n", + "#Calculating the effort required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the torque required to overcome friction between the screw and nut\n", + "T = P*d/(2*1000) \t\t\t#N-m\n", + "#Calculating the number of turns required\n", + "N = 240/(2*p)\n", + "#Calculating the work done\n", + "W1 = T*2*math.pi*N \t\t\t#Work done N-m\n", + "#Work done in drawing the wagons together when the load increases from 2500 N to 6000 N:\n", + "W2 = W1*(6000.-2500)/2500.0 \t\t\t#Work done N-m\n", + "\n", + "#Results:\n", + "print \" Work done in drawing the wagons together agianst a steady load of 2500 N = %.1f N-m.\"%(W1)\n", + "print \" Work done in drawing the wagons together when the load increases from 2500 N to 6000 N = %.1f N-m.\"%(W2)\n", + "\n", + "# note : answer in book is wrong. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Work done in drawing the wagons together agianst a steady load of 2500 N = 826.2 N-m.\n", + " Work done in drawing the wagons together when the load increases from 2500 N to 6000 N = 1156.7 N-m.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.5 Page No : 274" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 150./1000 \t\t\t#m\n", + "ps = 2.*10**6 \t\t\t#N/m**2\n", + "d0 = 50.\n", + "p = 6. \t\t\t#mm\n", + "mu = 0.12\n", + "\n", + "#Solution:\n", + "#Calculating the load on the valve\n", + "W = ps*math.pi/4*D**2 \t\t\t#N\n", + "#Calculating the mean diameter of the screw\n", + "d = (d0-p/2)/1000 \t\t\t#m\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d*1000))\n", + "#Calculating the force required to turn the handle\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the torque required to turn the handle\n", + "T = P*d/2 \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The torque required to turn the handle, T = %.1f N-m.\"%(T)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The torque required to turn the handle, T = 135.1 N-m.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.6 Page No : 274" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "dc = 22.5 #mm\n", + "p = 5. #mm\n", + "D = 50. #mm\n", + "R = D/2 #mm\n", + "l = 500. \t #mm\n", + "mu = 0.1\n", + "mu1 = 0.16\n", + "W = 10.*1000 \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the mean diameter of the screw\n", + "d = dc+p/2 \t\t\t#mm\n", + "#Calculating the helix angle\n", + "alpha = p/(math.pi*d) \t\t\t#radians\n", + "#Calculating the force required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the total torque required\n", + "T = P*d/2+mu1*W*R \t\t\t#N-mm\n", + "#Calculating the force required at the end of a spanner\n", + "P1 = T/l \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Force required at the end of a spanner, P1 = %.2f N.\"%(P1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Force required at the end of a spanner, P1 = 121.37 N.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.7 Page No : 275" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 50. #mm\n", + "p = 12.5 #mm\n", + "D = 60. #mm\n", + "R = D/2 \t\t\t#mm\n", + "W = 10.*1000 #N\n", + "P1 = 100. \t\t\t#N\n", + "mu = 0.15\n", + "mu1 = 0.18\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d)) \t\t\t#radians\n", + "#Calculating the math.tangential force required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the total torque required to turn the hand wheel\n", + "T = P*d/2+mu1*W*R \t\t\t#N-mm\n", + "#Calculating the diameter of the hand wheel\n", + "D1 = T/(2*P1*1000)*2 \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" Diameter of the hand wheel, D1 = %.3f m.\"%(D1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Diameter of the hand wheel, D1 = 1.128 m.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.8 Page No : 276" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d0 = 55. #mm\n", + "D2 = 60. #mm\n", + "R2 = D2/2 #mm\n", + "D1 = 90. #mm\n", + "R1 = D1/2 \t\t #mm\n", + "p = 10./1000 \t #m\n", + "W = 400. \t\t #N\n", + "mu = 0.15\n", + "v = 6. \t\t\t#Cutting speed m/min\n", + "\n", + "#Solution:\n", + "#Calculating the mean diameter of the screw\n", + "d = d0-p/2 \t\t\t#mm\n", + "#Calculating the helix angle\n", + "alpha = p/(math.pi*d) \t\t\t#radians\n", + "#Calculating the force required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the mean radius of the flat surface\n", + "R = (R1+R2)/2 \t\t\t#mm\n", + "#Calculating the torque required\n", + "T = (P*d/2+mu1*W*R)/1000 \t\t\t#N-m\n", + "#Calculating the speed of the screw\n", + "N = v/p \t\t\t#rpm\n", + "#Calculating the angular speed\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the power required to operate the nut\n", + "Power = T*omega/1000 \t\t\t#Power required to operate the nut kW\n", + "\n", + "#Results:\n", + "print \" Power required to operate the nut = %.3f kW.\"%(Power)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power required to operate the nut = 0.275 kW.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.9 Page No : 277" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 50./1000\n", + "l = 0.7 \t\t\t#m\n", + "p = 10. \t\t\t#mm\n", + "mu = 0.15\n", + "W = 20.*1000 \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d*1000)) \t\t\t#radians\n", + "#Force required to raise the load:\n", + "#Calculating the force required at the circumference of the screw\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P1 = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the force required at the end of the lever\n", + "P11 = P1*d/(2*l) \t\t\t#N\n", + "#Calculating the force required at the circumference of the screw\n", + "P2 = W*(phi-alpha) \t\t\t#N\n", + "#Foce rewuired to lower the load:\n", + "#Calculating the force required at the end of the lever\n", + "P21 = P2*d/(2*l) \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Force required at the end of the lever to raise the load, P1 = %d N.\"%(P11)\n", + "print \" Force required at the end of the lever to lower the load, P1 = %d N.\"%(P21)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Force required at the end of the lever to raise the load, P1 = 155 N.\n", + " Force required at the end of the lever to lower the load, P1 = 62 N.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.10 Page No : 279" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 50.\n", + "p = 12.5 \t\t\t#mm\n", + "mu = 0.13\n", + "W = 25.*1000 \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = round(math.tan(p/(math.pi*d)),2) \t\t\t#radians\n", + "#Calculating the force required on the screw to raise the load\n", + "phi = round(math.tan(mu),2) \t\t\t#Limiting angle of friction radians\n", + "P1 = W*(alpha+phi)/(1-(alpha*phi)) \t\t\t#N\n", + "#Calculating the torque required on the screw to raise the load\n", + "T1 = P1*d/2 \t\t\t#N-mm\n", + "#Calculating the force required on the screw to lower the load\n", + "P2 = W*math.tan(phi-alpha) \t\t\t#N\n", + "#Calculating the torque required to lower the load\n", + "T2 = P2*d/2 \t\t\t#N\n", + "#Calculating the ratio of the torques required\n", + "r = T1/T2 \t\t\t#Ratio of the torques required N-mm\n", + "#Calculating the efficiency of the machine\n", + "eta = math.tan(alpha)/math.tan(alpha+phi)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Torque required on the screw to raise the load, T1 = %d N-mm.\"%(T1)\n", + "print \" Ratio of the torque required to raise the load to the torque required to lower the load = %.1f.\"%(r)\n", + "print \" Efficiency of the machine, eta = %.1f %%.\"%(eta)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Torque required on the screw to raise the load, T1 = 132629 N-mm.\n", + " Ratio of the torque required to raise the load to the torque required to lower the load = 4.2.\n", + " Efficiency of the machine, eta = 37.6 %.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.11 Page No : 280" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "p = 10. #mm\n", + "d = 50. #mm\n", + "D2 = 60. #mm\n", + "R2 = D2/2 #mm\n", + "D1 = 10. #mm\n", + "R1 = D1/2 \t\t#mm\n", + "W = 20.*1000 \t#N\n", + "mu = 0.08\n", + "mu1 = mu\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = round(math.tan(p/(math.pi*d)),4) \t\t\t#radians\n", + "#Calculating the force required at the circumference of the screw to lift the load\n", + "phi = round(math.tan(mu),2) \t\t\t#Limiting angle of friction radians\n", + "P = round(W*(alpha+phi)/(1 - (alpha*phi)),-1) #math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the torque required to overcome friction at the screw\n", + "T = P*d/(2*1000) \t\t\t#N-m\n", + "#Calculating the number of rotations made by the screw\n", + "N = 170/p\n", + "#When the load rotates with the screw:\n", + "#Calculating the work done in lifting the load\n", + "W1 = T*2*math.pi*N \t\t\t#Work done in lifting the load N-m\n", + "#Calculating the efficiency of the screw jack\n", + "eta1 = math.tan(alpha)/math.tan(alpha+phi)*100 \t\t\t#%\n", + "#When the load does not rotate with the screw:\n", + "#Calculating the mean radius of the bearing surface\n", + "R = (R1+R2)/2 \t\t\t#mm\n", + "#Calculating the torque required to overcome friction at the screw and the collar\n", + "T = (P*d/2+mu1*W*R)/1000 \t\t\t#N-m\n", + "#Calculating the work done by the torque in lifting the load\n", + "W2 = T*2*math.pi*N \t\t\t#Work done by the torque in lifting the load N-m\n", + "#Calculating the torque required to lift the load neglecting frition\n", + "T0 = (W*math.tan(alpha)*d/2)/1000 \t\t\t#N-m\n", + "#Calculating the efficiency of the screw jack\n", + "eta2 = T0/T*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" When the load rotates with the screw, work done in lifting the load = %.f N-m.\"%(W1)\n", + "print \" Efficiency of the screw jack, eta = %.1f %%.\"%(eta1)\n", + "print \" When the load does not rotate with the screw, work done in lifting the load = %d N-m.\"%(round(W2,-1))\n", + "print \" Efficiency of the screw jack, eta = %.1f %%.\"%(eta2)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " When the load rotates with the screw, work done in lifting the load = 7717 N-m.\n", + " Efficiency of the screw jack, eta = 44.1 %.\n", + " When the load does not rotate with the screw, work done in lifting the load = 10710 N-m.\n", + " Efficiency of the screw jack, eta = 31.8 %.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.12 Page No : 282" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "# Variables:\n", + "W = 10.*1000 #N\n", + "P1 = 100. \t\t\t#N\n", + "p = 12. #mm\n", + "d = 50. \t\t\t#mm\n", + "mu = 0.15\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d)) \t\t\t#radians\n", + "#Calculating the effort required at the circumference of the screw to raise the load\n", + "phi = math.tan(mu) \t\t\t#Limiting angle of friction radians\n", + "P = W*math.tan(alpha+phi) \t\t\t#N\n", + "#Calculating the torque required to overcome friction\n", + "T = P*d/2 \t\t\t#N-mm\n", + "#Calculating the length of the lever\n", + "l = T/P1 \t\t\t#mm\n", + "#Calculating the mechanical advantage\n", + "MA = W/P1\n", + "#Calculating the efficiency of the screw jack\n", + "eta = math.tan(alpha)/math.tan(alpha+phi)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" The length of the lever to be used, l = %.1f mm.\"%(l)\n", + "print \" Mechanical advantage obtained, M.A. = %d.\"%(MA)\n", + "if eta<50:\n", + " print \" The screw is a self locking screw.\";\n", + "else:\n", + " print \" The screw is not a self locking screw.\";\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The length of the lever to be used, l = 579.2 mm.\n", + " Mechanical advantage obtained, M.A. = 100.\n", + " The screw is a self locking screw.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.13 Page No : 284" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 22. #mm\n", + "p = 3. \t\t\t#mm\n", + "beta = 60./2 \t\t\t#degrees\n", + "W = 40.*1000 \t\t\t#N\n", + "mu = 0.15\n", + "\n", + "#Solution:\n", + "#Calculating the helix angle\n", + "alpha = round(math.tan(p/(math.pi*d)),4) \t\t\t#radians\n", + "#Calculating the virtual coefficient of friction\n", + "mu1 = round(mu/math.cos(math.radians(beta)),3)\n", + "#Calculating the force required at the circumference of the screw\n", + "P = W*((alpha+mu1)/(1 - alpha * mu1))\n", + "#Calculating the torque on one rod\n", + "T = P*d/(2.*1000) \t\t\t#N-m\n", + "#Calculating the torque required on the nut\n", + "T1 = 2*T \t\t\t#N-m\n", + "\n", + "\n", + "#Results:\n", + "print \" The torque required on the nut, T1 = %.2f N-m.\"%(T1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The torque required on the nut, T1 = 191.87 N-m.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.14 Page No : 284 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 25. #mm\n", + "p = 5. #mm\n", + "R = 25. \t\t\t#mm\n", + "beta = 27.5 \t\t#degrees\n", + "mu = 0.1\n", + "mu2 = 0.16\n", + "l = 0.5 \t\t\t#m\n", + "W = 10.*1000 \t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the virtual coefficient of friction\n", + "mu1 = mu/math.cos(math.radians(beta))\n", + "#Calculating the helix angle\n", + "alpha = math.tan(p/(math.pi*d)) \t\t\t#radians\n", + "#Calculating the force on the screw\n", + "phi1 = math.tan(mu1) \t\t\t#Virtual limiting angle of frcition radians\n", + "P = W*math.tan(alpha+phi1) \t\t\t#N\n", + "#Calculating the total torque transmitted\n", + "T = (P*d/2+mu2*W*R)/1000 \t\t\t#N-m\n", + "#Calculating the force required at the end of a spanner\n", + "P1 = T/l \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Force required at the end of a spanner, P1 = %.1f N.\"%(P1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Force required at the end of a spanner, P1 = 124.7 N.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.15 Page No : 286" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 60.\n", + "r = d/2. \t\t\t#mm\n", + "W = 2000. \t\t\t#N\n", + "mu = 0.03\n", + "N = 1440. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = mu*W*(r/1000) \t\t\t#N-m\n", + "#Calculating the power transmitted\n", + "P = T*omega \t\t\t#W\n", + "\n", + "#Results:\n", + "print \" The power transmitted, P = %.1f W.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The power transmitted, P = 271.4 W.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.16 Page No : 288" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 150./1000 #m\n", + "R = D/2 \t\t\t#m\n", + "N = 100. \t\t\t#rpm\n", + "W = 20.*1000 \t\t\t#N\n", + "mu = 0.05\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the total frictional torque for uniform pressure distribution\n", + "T = 2./3*mu*W*R \t\t\t#N-m\n", + "#Calculating the power lost in friction\n", + "P = T*omega \t\t\t#W\n", + "\n", + "#Results:\n", + "print \" Power lost in friction, P = %.1f W.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power lost in friction, P = 523.6 W.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.17 Page No : 292" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "W = 20.*1000 \t\t\t#N\n", + "alpha = 120./2 \t\t\t#degrees\n", + "Pn = 0.3 \t\t\t#N/mm**2\n", + "N = 200. \t \t\t#rpm\n", + "mu = 0.1\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the inner radius of the bearing surface\n", + "r2 = math.sqrt(W/(3*math.pi*Pn)) \t\t\t#mm\n", + "#Calculating the outer radius of the bearing surface\n", + "r1 = 2*r2 \t\t\t#mm\n", + "#Calculating the total frictional torque assuming uniform pressure\n", + "T = 2./3*mu*W*(1/math.sin(math.radians(alpha)))*(r1**3-r2**3)/(r1**2-r2**2)/1000.0 \t\t\t#N-m\n", + "#Calculating the power absorbed in friction\n", + "P = T*omega/1000.0 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \"External Diameters r1= %.f mm\"%r1\n", + "print \"Internal Diameters r2= %.f mm\"%r2\n", + "print \" Power absorbed in friction, P = %.3f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "External Diameters r1= 168 mm\n", + "Internal Diameters r2= 84 mm\n", + " Power absorbed in friction, P = 6.328 kW.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.18 Page No : 292" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 200./1000\n", + "R = D/2 \t\t\t#m\n", + "W = 30.*1000 \t\t\t#N\n", + "alpha = 120./2 \t\t\t#degrees\n", + "mu = 0.025\n", + "N = 140. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Power lost in friction assuming uniform pressure:\n", + "#Calculating the total frictional torque\n", + "T = 2./3*mu*W*R*(1/math.sin(math.radians(alpha))) \t\t\t#N-m\n", + "#Calculating the power lost in friction\n", + "P1 = T*omega \t\t\t#Power lost in friction W\n", + "#Power lost in friction assuming uniform wear:\n", + "#Calculating the total frictional torque\n", + "T = 1./2*mu*W*R*(1./math.sin(math.radians(alpha))) \t\t\t#N-m\n", + "#Calculating the power lost in friction\n", + "P2 = T*omega \t\t\t#Power lost in friction W\n", + "\n", + "#Resluts:\n", + "print \" Power lost in friction assuming uniform pressure, P = %d W.\"%(P1)\n", + "print \" Power lost in friction assuming uniform wear, P = %.1f W.\"%(P2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power lost in friction assuming uniform pressure, P = 846 W.\n", + " Power lost in friction assuming uniform wear, P = 634.8 W.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.19 Page No : 295" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n = 6.\n", + "d1 = 600. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 300. #mm\n", + "r2 = d2/2 \t\t #mm\n", + "W = 100.*1000 \t #N\n", + "mu = 0.12\n", + "N = 90. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the engine\n", + "omega = 2*math.pi*N/60.0 \t\t\t#rad/s\n", + "#Power absorbed in friction assuming uniform pressure:\n", + "#Calculating the total frictional torque transmitted\n", + "T = 2./3*mu*W*(r1**3-r2**3)/(r1**2-r2**2)/1000.0 \t\t\t#N-m\n", + "#Calculating the power absorbed in friction\n", + "P1 = T*omega/1000.0 \t\t\t#Power absorbed in friction assuming uniform pressure kW\n", + "#Power absorbed in friction assuming uniform wear:\n", + "#Calculating the total frictional torque transmitted\n", + "T = 1./2*mu*W*(r1+r2)/1000.0 \t\t\t#N-m\n", + "#Calculating the power absorbed in friction\n", + "P2 = T*omega/1000.0 \t\t\t#Power absorbed in friction assuming uniform wear kW\n", + "\n", + "#Results:\n", + "print \" Power absorbed in friction assuming uniform pressure, P = %.1f kW.\"%(P1)\n", + "print \" Power absorbed in friction assuming uniform wear, P = %.2f kW.\"%(P2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power absorbed in friction assuming uniform pressure, P = 26.4 kW.\n", + " Power absorbed in friction assuming uniform wear, P = 25.45 kW.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.20 Page No : 296" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d1 = 400. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 250. #mm\n", + "r2 = d2/2 \t\t\t#mm\n", + "p = 0.35 \t\t\t#N/mm**2\n", + "mu = 0.05\n", + "N = 105. \t\t\t#rpm\n", + "W = 150.*1000 \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the total frictional torque transmitted for uniform pressure\n", + "T = 2./3*mu*W*(r1**3-r2**3)/(r1**2-r2**2)/1000 \t\t\t#N-m\n", + "#Calculating the power absorbed\n", + "P = T*omega/1000 \t\t\t#kW\n", + "#Calculating the number of collars required\n", + "n = W/(p*math.pi*(r1**2-r2**2))\n", + "\n", + "#Results:\n", + "print \" Power absorbed, P = %.2f kW.\"%(P)\n", + "print \" Number of collars required, n = %d.\"%(n+1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power absorbed, P = 13.64 kW.\n", + " Number of collars required, n = 6.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.21 Page No : 296" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d2 = 300./1000 #mm\n", + "r2 = d2/2 \t\t\t#m\n", + "W = 200.*1000 \t\t#N\n", + "N = 75. \t\t\t#rpm\n", + "mu = 0.05\n", + "p = 0.3 \t\t\t#N/mm**2\n", + "P = 16.*1000 \t\t#W\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocity of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the total frictional torque transmitted\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the external diameter of the collar\n", + "#We have T = 2/3*mu*W*(r1**3-r2**3)/(r1**2-r2**2) or (2*mu*W)*r1**2-(3*T-2*mu*W*r2)*r1+(2*mu*W*r2**2-3*T*r2) = 0\n", + "A = 2*mu*W\n", + "B = -(3*T-2*mu*W*r2)\n", + "C = 2*mu*W*r2**2-3*T*r2\n", + "r1 = (-B+math.sqrt(B**2-4*A*C))/(2*A)*1000 \t\t\t#mm\n", + "d1 = 2*r1 \t\t\t#mm\n", + "#Calculating the number of collars\n", + "n = W/(p*math.pi*(r1**2-(r2*1000)**2))\n", + "\n", + "#Results:\n", + "print \" External diameter of the collar, d1 = %d mm.\"%(d1)\n", + "print \" Number of collars, n = %d.\"%(n+1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " External diameter of the collar, d1 = 498 mm.\n", + " Number of collars, n = 6.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.22 Page No : 302" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "W = 4.*1000 \t\t#N\n", + "r2 = 50.\n", + "r1 = 100. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the maximum pressure\n", + "pmax = W/(2*math.pi*r2*(r1-r2)) \t\t\t#N/mm**2\n", + "#Calculating the minimum pressure\n", + "pmin = W/(2*math.pi*r1*(r1-r2)) \t\t\t#N/mm**2\n", + "#Calculating the average pressure\n", + "pav = W/(math.pi*(r1**2-r2**2)) \t\t\t#N/mm**2\n", + "\n", + "#Results:\n", + "print \" Maximum pressure, pmax = %.4f N/mm**2.\"%(pmax)\n", + "print \" Minimum pressure, pmin = %.4f N/mm**2.\"%(pmin)\n", + "print \" Average pressure, pav = %.2f N/mm**2.\"%(pav)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum pressure, pmax = 0.2546 N/mm**2.\n", + " Minimum pressure, pmin = 0.1273 N/mm**2.\n", + " Average pressure, pav = 0.17 N/mm**2.\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.23 Page No : 303" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d1 = 300. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 200. #mm\n", + "r2 = d2/2 \t\t\t#mm\n", + "p = 0.1 \t\t\t#N/mm**2\n", + "mu = 0.3\n", + "N = 2500. \t\t\t#rpm\n", + "n = 2.\n", + "\n", + "#Solution:\n", + "#Calculating the radial speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the intensity of pressure\n", + "C = p*r2 \t\t\t#N/mm\n", + "#Calculating the axial thrust\n", + "W = 2*math.pi*C*(r1-r2) \t\t\t#N\n", + "#Calculating the mean radius of the friction surfaces for uniform wear\n", + "R = (r1+r2)/(2*1000) \t\t\t#m\n", + "#Calculating the torque transmitted\n", + "T = n*mu*W*R \t\t\t#N-m\n", + "#Calculating the power transmitted by a clutch\n", + "P = T*omega/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted by a clutch, P = %.3f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted by a clutch, P = 61.685 kW.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.24 Page No : 303" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n = 2.\n", + "mu = 0.255\n", + "P = 25.*1000 \t\t#W\n", + "N = 3000. \t\t\t#rpm\n", + "r = 1.25 \t\t\t#Ratio of radii r1/r2\n", + "p = 0.1 \t\t\t#N/mm**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P/omega*1000 \t\t\t#N-mm\n", + "#Calculating the inner radius\n", + "r2 = (T/(n*mu*2*math.pi*0.1*(1.25-1)*(1.25+1)/2))**(1./3) \t\t\t#mm\n", + "#Calculating the outer radius\n", + "r1 = r*r2 \t\t\t#mm\n", + "#Calculating the axial thrust to be provided by springs\n", + "C = 0.1*r2 \t\t\t#Intensity of pressure N/mm\n", + "W = 2*math.pi*C*(r1-r2) \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Outer radius of the frictional surface, r1 = %.f mm.\"%(r1)\n", + "print \" Inner radius of the frictional surface, r2 = %.f mm.\"%(r2)\n", + "print \" Axial thrust to be provided by springs, W = %.f N.\"%(W)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Outer radius of the frictional surface, r1 = 120 mm.\n", + " Inner radius of the frictional surface, r2 = 96 mm.\n", + " Axial thrust to be provided by springs, W = 1446 N.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.25 Page No : 304" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "P = 7.5*1000 \t\t#W\n", + "N = 900. \t\t\t#rpm\n", + "p = 0.07 \t\t\t#N/mm**2\n", + "mu = 0.25\n", + "n = 2.\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P/omega*1000 \t\t\t#N-mm\n", + "#Calculating the mean radius of the friction lining\n", + "R = (T/(math.pi/2*n*mu*p))**(1./3) \t\t\t#mm\n", + "#Calculating the face width of the friction lining\n", + "w = R/4 \t\t\t#mm\n", + "#Calculating the outer and inner radii of the clutch plate\n", + "#We have w = r1-r2 or r1-r2 = w .....(i) \n", + "#Also R = (r1+r2)/2 or r1+r2 = 2*R .....(ii) \n", + "A = [[1, -1],[ 1, 1]]\n", + "B = [w,2*R]\n", + "V = linalg.solve(A,B)\n", + "r1 = V[0]\n", + "r2 = V[1]\n", + "\n", + "#Results:\n", + "print \" Mean radius of the friction lining, R = %d mm.\"%(R)\n", + "print \" Face width of the friction lining, w = %.2f mm.\"%(w)\n", + "print \" Outer radius of the clutch plate, r1 = %.3f mm.\"%(r1)\n", + "print \" Inner radius of the clutch plate, r2 = %.3f mm.\"%(r2)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mean radius of the friction lining, R = 113 mm.\n", + " Face width of the friction lining, w = 28.28 mm.\n", + " Outer radius of the clutch plate, r1 = 127.258 mm.\n", + " Inner radius of the clutch plate, r2 = 98.979 mm.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.26 Page No : 305" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 100. \t\t\t#kW\n", + "N = 2400. \t\t\t#rpm\n", + "T = 500.*1000 \t\t#N-mm\n", + "p = 0.07 \t\t\t#N/mm**2\n", + "mu = 0.3\n", + "Ns = 8. \t\t\t#Number of springs\n", + "k = 40. \t\t\t#Stiffness N/mm\n", + "n = 2.\n", + "\n", + "#Solution:\n", + "#Calculating the inner radius of the friction plate\n", + "r2 = round((T/(n*mu*2*math.pi*p*(1.25-1)*(1.25+1)/2))**(1./3),-1) \t\t\t#mm\n", + "#Calculating the outer radius of the friction plate\n", + "r1 = 1.25*r2 \t\t\t#mm\n", + "#Calculating the total stiffness of the springs\n", + "s = k*Ns \t\t\t#N/mm\n", + "#Calculating the intensity of pressure\n", + "C = p*r2 \t\t\t#N/mm\n", + "#Calculating the axial force required to engage the clutch\n", + "W = 2*math.pi*C*(r1-r2) \t\t\t#N\n", + "#Calculating the initial compression in the springs\n", + "IC = W/s \t\t\t#Initial compression in the springs mm\n", + "\n", + "#Results:\n", + "print \" Outer radius of the friction plate, r1 = %.1f mm.\"%(r1)\n", + "print \" Inner radius of the friction plate, r2 = %.f mm.\"%(r2)\n", + "print \" Initial compression in the springs = %.1f mm.\"%(IC)\n", + "\n", + "# book answer is wrong." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Outer radius of the friction plate, r1 = 237.5 mm.\n", + " Inner radius of the friction plate, r2 = 190 mm.\n", + " Initial compression in the springs = 12.4 mm.\n" + ] + } + ], + "prompt_number": 33 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.27 Page No : 306" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "d1 = 220. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 160. #mm\n", + "r2 = d2/2 \t\t\t#mm\n", + "W = 570. \t\t\t#N\n", + "m1 = 800. #kg\n", + "m2 = 1300. \t\t\t#kg\n", + "k1 = 200./1000 #m\n", + "k2 = 180./1000 \t\t#m\n", + "mu = 0.35\n", + "N1 = 1250. \t\t\t #rpm\n", + "n = 2.\n", + "\n", + "#Solution:\n", + "#Calculating the initial angular speed of the motor shaft\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Calculating the moment of inertia for the motor armature and shaft\n", + "I1 = m1*k1**2 \t\t\t#kg-m**2\n", + "#Calculating the moment of inertia for the rotor\n", + "I2 = m2*k2**2 \t\t\t#kg-m**2\n", + "#Calculating the final speed of the motor and rotor\n", + "omega2 = 0\n", + "omega3 = (I1*omega1+I2*omega2)/(I1+I2) \t\t\t#rad/s\n", + "#Calculating the mean radius of the friction plate\n", + "R = (r1+r2)/(2*1000) \t\t\t#m\n", + "#Calculating the frictional torque\n", + "T = n*mu*W*R \t\t\t#N-m\n", + "#Calculating the angular acceleration of the rotor\n", + "alpha2 = T/I2 \t\t\t#rad/s**2\n", + "#Calculating the time to reach the speed of omega3\n", + "omegaF = omega3\n", + "omegaI = omega2\n", + "t = (omegaF-omegaI)/alpha2 \t\t\t#seconds\n", + "#Calculating the angular kinetic energy before impact\n", + "E1 = 1./2*I1*omega1**2+1./2*I2*omega2**2 \t\t\t#N-m\n", + "#Calculating the angular kinetic energy after impact\n", + "E2 = 1./2*(I1+I2)*omega3**2 \t\t\t#N-m\n", + "#Calculating the kinetic energy lost during the period of slipping\n", + "E = round(E1-E2,-3) \t\t\t#N-m\n", + "#Calculating the torque on armature shaft\n", + "T1 = -60-T \t\t\t#N-m\n", + "#Calculating the torque on rotor shaft\n", + "T2 = T \t\t\t#N-m\n", + "#Calculating the time of slipping assuming constant resisting torque:\n", + "#Considering armature shaft omega3 = omega1+alpha1*t1 or omega3-(T1/I1)*t1 = omega1 .....(i)\n", + "#Considering rotor shaft omega3 = alpha2*t1 or omega3-(T2/I2)*t1 = 0 .....(ii)\n", + "A = [[1, -T1/I1],[ 1, -T2/I2]]\n", + "B = [omega1, 0]\n", + "V = linalg.solve(A,B)\n", + "t11 = V[1] \t\t\t#Time of slipping assuming constant resisting torque seconds\n", + "#Calculating the time of slipping assuming constant driving torque:\n", + "#Calculating the torque on armature shaft\n", + "T1 = 60-T \t\t\t#N-m\n", + "t12 = (omega2-omega1)/(T1/I1-T2/I2) \t\t\t#Time of slipping assuming constant driving torque seconds\n", + "\n", + "#Results:\n", + "print \" Final speed of the motor and rotor, omega3 = %.2f rad/s.\"%(omega3)\n", + "print \" Time to reach the speed of %.2f rad/s, t = %.1f s.\"%(omega3,t)\n", + "print \" Kinetic energy lost during the period of slipping = %d N-m.\"%(E)\n", + "print \" Time of slipping assuming constant resisting torque, t1 = %.1f s.\"%(t11)\n", + "print \" Time of slipping assuming constant driving torque, t1 = %d s.\"%(t12)\n", + "\n", + "# rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Final speed of the motor and rotor, omega3 = 56.51 rad/s.\n", + " Time to reach the speed of 56.51 rad/s, t = 62.8 s.\n", + " Kinetic energy lost during the period of slipping = 156000 N-m.\n", + " Time of slipping assuming constant resisting torque, t1 = 33.1 s.\n", + " Time of slipping assuming constant driving torque, t1 = 624 s.\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.28 Page No : 308" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n = 4.\n", + "mu = 0.3\n", + "p = 0.127 \t\t\t#N/mm**2\n", + "N = 500. \t\t\t#rpm\n", + "r1 = 125. #mm\n", + "r2 = 75. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the maximum intensity of pressure\n", + "C = p*r2 \t\t\t#N/mm\n", + "#Calculating the axial force required to engage the clutch\n", + "W = 2*math.pi*C*(r1-r2) \t\t\t#N\n", + "#Calculating the mean radius of the friction surfaces\n", + "R = (r1+r2)/(2*1000) \t\t\t#m\n", + "#Calculating the torque transmitted\n", + "T = n*mu*W*R \t\t\t#N-m\n", + "#Calculating the power transmitted\n", + "P = T*omega/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.1f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 18.8 kW.\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.29 Page No : 308" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n1 = 3.\n", + "n2 = 2.\n", + "mu = 0.3\n", + "d1 = 240. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 120. #mm\n", + "r2 = d2/2 \t\t\t#mm\n", + "P = 25.*1000 \t\t#W\n", + "N = 1575. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the number of pairs of friction surfaces\n", + "n = n1+n2-1\n", + "#Calculating the mean radius of friction surfaces for uniform wear\n", + "R = (r1+r2)/(2*1000) \t\t\t#m\n", + "#Calculating the axial force on each friction surface\n", + "W = T/(n*mu*R) \t\t\t#N\n", + "#Calculating the maximum axial intensity of pressure\n", + "p = W/(2*math.pi*r2*(r1-r2)) \t\t\t#N/mm**2\n", + "\n", + "#Results:\n", + "print \" Maximum axial intensity of pressure, p = %.3f N/mm**2.\"%(p)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum axial intensity of pressure, p = 0.062 N/mm**2.\n" + ] + } + ], + "prompt_number": 36 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.30 Page No : 309" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n1 = 3.\n", + "n2 = 2.\n", + "n = 4.\n", + "mu = 0.3\n", + "d1 = 240. #mm\n", + "r1 = d1/2 #mm\n", + "d2 = 120. #mm\n", + "r2 = d2/2 \t\t\t#mm\n", + "P = 25.*1000 \t\t#W\n", + "N = 1575. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the mean radius of the contact surface for uniform pressure\n", + "R = 2./3*(r1**3-r2**3)/(r1**2-r2**2)/1000 \t\t\t#m\n", + "#Calculating the total spring load\n", + "W1 = T/(n*mu*R) \t\t\t#N\n", + "#Calculating the maximum power transmitted:\n", + "\n", + "# Variables:\n", + "ns = 6. \t\t\t#Number of springs\n", + "c = 8. \t\t\t#Contact surfaces of the spring\n", + "w = 1.25 \t\t\t#Wear on each contact surface mm\n", + "k = 13.*1000 \t\t\t#Stiffness of each spring N/m\n", + "#Calculating the total wear\n", + "Tw = c*w/1000 \t\t\t#Total wear m\n", + "#Calculating the reduction in spring force\n", + "Rs = Tw*k*ns \t\t\t#N\n", + "#Calculating the new axial load\n", + "W2 = W1-Rs \t\t\t#N\n", + "#Calculating the mean radius of the contact surfaces for uniform wear\n", + "R = (r1+r2)/(2*1000) \t\t\t#m\n", + "#Calculating the torque transmitted\n", + "T = n*mu*W2*R \t\t\t#N-m\n", + "#Calculating the maximum power transmitted\n", + "P = T*omega/1000 \t\t\t#kw\n", + "\n", + "#Results:\n", + "print \" Total spring load, W = %d N.\"%(W1)\n", + "print \" Maximum power that can be transmitted, P = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Total spring load, W = 1353 N.\n", + " Maximum power that can be transmitted, P = 10.21 kW.\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.31 Page No : 314" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "P = 90.*1000 \t\t#W\n", + "N = 1500. \t\t\t#rpm\n", + "alpha = 20. \t\t#degrees\n", + "mu = 0.2\n", + "D = 375.\n", + "R = D/2. \t\t\t#mm\n", + "pn = 0.25 \t\t\t#N/mm**2\n", + "\n", + "#SOlution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P*1000/156 \t\t\t#N-mm\n", + "#Calculating the width of the bearing surface\n", + "b = T/(2*math.pi*mu*pn*R**2) \t\t\t#mm\n", + "#Calculating the external and internal radii of the bearing surface\n", + "#We know that r1+r2 = 2*R and r1-r2 = b*math.sin(math.radians(alpha)\n", + "A = [[1, 1],[1, -1]]\n", + "B = [2*R, b*math.sin(math.radians(alpha))]\n", + "V = linalg.solve(A,B)\n", + "r1 = V[0] \t\t\t#mm\n", + "r2 = V[1] \t\t\t#mm\n", + "#Calculating the intensity of pressure\n", + "C = round(pn*r2,1) \t\t\t#N/mm\n", + "#Calculating the axial load required\n", + "W = 2*math.pi*C*(r1-r2) \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Width of the bearing surface, b = %.1f mm.\"%(b)\n", + "print \" External radius of the bearing surface, r1 = %.1f mm.\"%(r1)\n", + "print \" Internal radius of the bearing surface, r2 = %.1f mm.\"%(r2)\n", + "print \" Axial load required, W = %.f N.\"%(W)\n", + "\n", + "# rounding off error. Please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Width of the bearing surface, b = 52.2 mm.\n", + " External radius of the bearing surface, r1 = 196.4 mm.\n", + " Internal radius of the bearing surface, r2 = 178.6 mm.\n", + " Axial load required, W = 5006 N.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.32 Page No : 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 45.*1000 \t\t#W\n", + "N = 1000. \t\t\t#rpm\n", + "alpha = 12.5 \t\t#degrees\n", + "D = 500./1000\n", + "R = D/2 \t\t\t#m\n", + "mu = 0.2\n", + "pn = 0.1 \t\t\t#N/mm**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque developed by the clutch\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the normal load acting on the friction surface\n", + "Wn = T/(mu*R) \t\t\t#N\n", + "#Calculating the axial spring force necessary to engage the clutch\n", + "We = Wn*(math.sin(math.radians(alpha))+mu*math.cos(math.radians(alpha))) \t\t\t#N\n", + "#Calculating the face width required\n", + "b = Wn/(pn*2*math.pi*R*1000) \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Axial force necessary to engage the clutch, We = %d N.\"%(round(We,-1))\n", + "print \" Face width required, b = %.1f mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Axial force necessary to engage the clutch, We = 3540 N.\n", + " Face width required, b = 54.7 mm.\n" + ] + } + ], + "prompt_number": 45 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.33 Page No : 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "alpha = 30./2 \t\t#degrees\n", + "pn = 0.35 \t\t\t#N/mm**2\n", + "P = 22.5*1000 \t\t#W\n", + "N = 2000. \t\t\t#rpm\n", + "mu = 0.15\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted by the clutch\n", + "T = P/omega*1000 \t\t\t#N-mm\n", + "#Calculating the mean radius of the contact surface\n", + "R = (T/(2*math.pi*mu*pn/3))**(1./3) \t\t\t#mm\n", + "#Calculating the face width of the contact surface\n", + "b = R/3\n", + "#Calculating the outer and inner radii of the contact surface\n", + "#Refer Fig. 10.27\n", + "#We have r1-r2 = b*math.sin(math.radians(alpha) and r1+r2 = 2*R\n", + "A = [[1, -1],[ 1, 1]]\n", + "B = [b*math.sin(math.radians(alpha)), 2*R]\n", + "V = linalg.solve(A, B)\n", + "r1 = V[0] \t\t\t#mm\n", + "r2 = V[1] \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Mean radius of the contact surface, R = %d mm.\"%(R)\n", + "print \" Outer radius of the contact surface, r1 = %.2f mm.\"%(r1)\n", + "print \" Inner radius of the contact surface, r2 = %.2f mm.\"%(r2)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mean radius of the contact surface, R = 99 mm.\n", + " Outer radius of the contact surface, r1 = 103.51 mm.\n", + " Inner radius of the contact surface, r2 = 94.95 mm.\n" + ] + } + ], + "prompt_number": 48 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.34 Page No : 316" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 75./1000 #mm\n", + "R = D/2 \t\t\t#m\n", + "alpha = 15 \t\t\t#degrees\n", + "mu = 0.3\n", + "W = 180. \t\t\t#N\n", + "NF = 1000. \t\t\t#rpm\n", + "m = 13.5 \t\t\t#kg\n", + "k = 150./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the flywheel\n", + "omegaF = 2*math.pi*NF/60 \t\t\t#rad/s\n", + "#Calculating the torque required to produce slipping\n", + "T = round(mu*W*R*(1/math.sin(math.radians(alpha))),1) \t\t\t#N-m\n", + "#Calculating the mass moment of inertia of the flywheel\n", + "IF = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the flywheel\n", + "alphaF = T/IF \t\t\t#rad/s**2\n", + "#Calculating the time required for the flywheel to attain full speed\n", + "tF = round(omegaF/alphaF,1) \t\t\t#seconds\n", + "#Calculating the angle turned through by the motor and flywheel in time tF\n", + "theta = 1./2*omegaF*tF \t\t\t#rad\n", + "#Calculating the energy lost in slipping of the clutch\n", + "E = T*theta \t\t\t#Energy lost in slipping of the clutch N-m\n", + "\n", + "#Results:\n", + "print \" Torque required to produce slipping, T = %.1f N-m.\"%(T)\n", + "print \" Time required for the flywheel to attain full speed, tF = %.1f s.\"%(tF)\n", + "print \" Energy lost in slipping of the clutch = %d N-m.\"%(E)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Torque required to produce slipping, T = 7.8 N-m.\n", + " Time required for the flywheel to attain full speed, tF = 4.1 s.\n", + " Energy lost in slipping of the clutch = 1674 N-m.\n" + ] + } + ], + "prompt_number": 55 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.35 Page No : 319" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 15.*1000 \t\t\t#W\n", + "N = 900. \t\t\t #rpm\n", + "n = 4.\n", + "mu = 0.25\n", + "R = 150./1000\n", + "r = 120./1000 \t\t\t#m\n", + "theta = 60. \t\t\t#degrees\n", + "p = 0.1 \t\t\t #N/mm**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the speed at which the engagement begins\n", + "omega1 = 3./4*omega \t\t\t#rad/s\n", + "#Calculating the torque transmitted at the running speed\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the mass of the shoes\n", + "m = T/(n*mu*(omega**2*r-omega1**2*r)*R) \t\t\t#kg\n", + "#Calculating the contact length of shoes\n", + "l = (theta*math.pi/180)*R*1000 \t\t\t#mm\n", + "#Calculating the centrifugal force acting on each shoe\n", + "Pc = m*omega**2*r \t\t\t#N\n", + "#Calculating the inward force on each shoe exerted by the spring\n", + "Ps = m*omega1**2*r \t\t\t#N\n", + "#Calculating the width of the shoes\n", + "b = (Pc-Ps)/(l*p) \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Mass of the shoes, m = %.2f kg.\"%(m)\n", + "print \" Width of the shoes, b = %.1f mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the shoes, m = 2.28 kg.\n", + " Width of the shoes, b = 67.5 mm.\n" + ] + } + ], + "prompt_number": 56 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 10.36 Page No : 320" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n = 4.\n", + "mu = 0.3\n", + "c = 5.\n", + "r = 160. \t\t\t#mm\n", + "S = 500. \t\t\t#N\n", + "D = 400./1000\n", + "R = D/2 \t\t\t#m\n", + "m = 8. \t\t\t #kg\n", + "s = 50. \t\t\t#N/mm\n", + "N = 500. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the clutch\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the operating radius\n", + "r1 = (r+c)/1000 \t\t\t#m\n", + "#Calculating the centrifugal force on each shoe\n", + "Pc = m*omega**2*r1 \t\t\t#N\n", + "#Calculating the inward force exerted by the spring\n", + "Ps = S+c*s \t\t\t#N\n", + "#Calculating the frictional force acting math.tangentially on each shoe\n", + "F = mu*(Pc-Ps) \t\t\t#N\n", + "#Calculating the total frictional torque transmitted by the clutch\n", + "T = n*F*R \t\t\t#N-m\n", + "#Calculating the power transmitted\n", + "P = T*omega/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.1f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 36.1 kW.\n" + ] + } + ], + "prompt_number": 45 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch11.ipynb b/Theory_Of_Machines/ch11.ipynb new file mode 100755 index 00000000..dab30d35 --- /dev/null +++ b/Theory_Of_Machines/ch11.ipynb @@ -0,0 +1,1499 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:090249f83a260ba2b6a1983f6426576be55ba0e881a9fae7d9c5cbc674e22e36" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11 : Belt, Rope and Chain Drives" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.1 Page No : 333" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N1 = 150. \t\t\t#rpm\n", + "d1 = 750. #mm\n", + "d2 = 450. #mm\n", + "d3 = 900. #mm\n", + "d4 = 150. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the speed of the dynamo shaft when there is no slip\n", + "N41 = N1*(d1*d3)/(d2*d4) \t\t\t#rpm\n", + "#Calculating the speed of the dynamo shaft whne there is a slip of 2% at each drive\n", + "s1 = 2.\n", + "s2 = 2. \t\t\t#%\n", + "N42 = N1*(d1*d3)/(d2*d4)*(1-s1/100)*(1-s2/100) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Speed of the dynamo shaft when there is no slip, N4 = %d rpm.\"%(N41)\n", + "print \" Speed of the dynamo shaft when there is a slip of 2 %% at each drive, N4 = %d rpm.\"%(N42)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the dynamo shaft when there is no slip, N4 = 1500 rpm.\n", + " Speed of the dynamo shaft when there is a slip of 2 % at each drive, N4 = 1440 rpm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.2 Page No : 334" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d1 = 1.\n", + "d2 = 2.25 \t\t\t#m\n", + "N1 = 200. \t\t\t#rpm\n", + "sigma1 = 1.4*10**6\n", + "sigma2 = 0.5*10**6\n", + "E = 100.*10**6 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Calculating the speed of the driven pulley\n", + "N21 = round(N1*(d1/d2),1) \t\t\t#rpm\n", + "\n", + "#Calculating the speed of the shaft considering creep\n", + "N22 = N1*(d1/d2)*(E+math.sqrt(sigma2))/(E+math.sqrt(sigma1))\t\t\t#rpm\n", + "#Calculating the speed lost by the driven pulley due to creep\n", + "Nl = N21-N22 \t\t\t#Speed lost by the driven pulley due to creep rpm\n", + "\n", + "#Results:\n", + "print \" Speed lost by the driven pulley due to creep = %.3f rpm.\"%(Nl)\n", + "\n", + "# note : answer is accurate. please check using calculator." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed lost by the driven pulley due to creep = 0.012 rpm.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.3 Page No : 337" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "N1 = 160. #rpm\n", + "N3 = N1 #rpm\n", + "N5 = N3 #rpm\n", + "N2 = 60. #rpm\n", + "N4 = 80. #rpm\n", + "N6 = 100. \t\t\t#rpm\n", + "x = 720.\n", + "r1 = 40. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#For a crossed belt:\n", + "#Calcluating the radii of pulleys 2 3 4 5 and 6 \n", + "r2 = r1*(N1/N2) \t\t\t#mm\n", + "#For pulleys 3 and 4 r4 = r3*(N3/N4) or r3*(N3/N4)-r4 = 0\n", + "#For a crossed belt drive r3+r4 = r1+r2\n", + "A = [[N3/N4, -1],[ 1, 1]]\n", + "B = [0, r1+r2]\n", + "V = linalg.solve(A,B)\n", + "r3 = V[0] \t\t\t#mm\n", + "r4 = V[1] \t\t\t#mm\n", + "#For pulleys 5 and 6 r6 = r5*(N5/N6) or r5*(N5/N6)-r6 = 0\n", + "#For a crossed belt drive r5+r6 = r1+r2\n", + "A = [[N5/N6, -1],[ 1, 1]]\n", + "B = [0, r1+r2]\n", + "V = linalg.solve(A,B)\n", + "r5 = V[0] \t\t\t#mm\n", + "r6 = V[1] \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" For a crossed belt, r2 = %.1fmm;\"%(r2)\n", + "print \" r3 = %.1f mm;\"%(r3)\n", + "print \" r4 = %.1f mm;\"%(r4)\n", + "print \" r5 = %.1f mm;\"%(r5)\n", + "print \" r6 = %.1f mm.\"%(r6)\n", + "#For an open belt:\n", + "#Calcluating the radii of pulleys 2 3 4 5 and 6\n", + "r2 = r1*(N1/N2) \t\t\t#mm\n", + "#Calculating the length of belt for an open belt drive\n", + "L = math.pi*(r1+r2)+(r2-r1)**2/x+2*x \t\t\t#mm\n", + "#For pulleys 3 and 4 r4 = r3*(N3/N4) or r3*(N3/N4)-r4 = 0\n", + "#Since L is constant for pulleys 3 and 4 pi*(r3+r4)+(r4-r3)**2/x+2*x-L = 0\n", + "def f(a):\n", + " r3 = a[0]\n", + " r4 = a[1]\n", + " y = [0,0]\n", + " y[0] = r3*(N3/N4)-r4\n", + " y[1] = math.pi*(r3+r4)+(r4-r3)**2/x+2*x-L\n", + " return y\n", + "\n", + "z = fsolve(f,[1,1])\n", + "r3 = z[0] \t\t\t#mm\n", + "r4 = z[1] \t\t\t#mm\n", + "#For pulleys 5 and 6 r6 = r5*(N5/N6) or r5*(N5/N6)-r6 = 0\n", + "#Since L is constant for pulleys 5 and 6 pi*(r5+r6)+(r6-r5)**2/x+2*x-L = 0\n", + "def f1(a):\n", + " r5 = a[0]\n", + " r6 = a[1]\n", + " y = [0,0]\n", + " y[0] = r5*(N5/N6)-r6\n", + " y[1] = math.pi*(r5+r6)+(r6-r5)**2/x+2*x-L\n", + " return y\n", + "\n", + "z = fsolve(f1,[1,1])\n", + "r5 = z[0] \t\t\t#mm\n", + "r6 = z[1] \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" For an open belt, r2 = %.1fmm\"%(r2)\n", + "print \" r3 = %.1f mm;\"%(r3)\n", + "print \" r4 = %.1f mm;\"%(r4)\n", + "print \" r5 = %d mm;\"%(round(r5,-1))\n", + "print \" r6 = %d mm.\"%(r6)\n", + "\n", + "# note : answers are slightly different because of fsolve function and rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " For a crossed belt, r2 = 106.7mm;\n", + " r3 = 48.9 mm;\n", + " r4 = 97.8 mm;\n", + " r5 = 56.4 mm;\n", + " r6 = 90.3 mm.\n", + " For an open belt, r2 = 106.7mm\n", + " r3 = 49.2 mm;\n", + " r4 = 98.4 mm;\n", + " r5 = 60 mm;\n", + " r6 = 91 mm.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.4 Page No : 342" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 600./1000 \t\t\t#m\n", + "N = 200. \t\t\t #rpm\n", + "mu = 0.25\n", + "theta = 160*math.pi/180 \t\t\t#radians\n", + "T1 = 2500. \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calcluating the velocity of the belt\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calcluating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calcluating the power transmitted by the belt\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted by the belt, P = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted by the belt, P = 7.89 kW.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.5 Page No : 343" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "W = 9.*1000\n", + "T1 = W \t\t\t#N\n", + "d = 300./1000 \t#m\n", + "N = 20. \t\t#rpm\n", + "mu = 0.25\n", + "\n", + "#Solution:\n", + "#Force required by the man:\n", + "#Calculating the angle of contact\n", + "theta = 2.5*2*math.pi \t\t\t#rad\n", + "#Calculating the force required by the man\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Power to raise the casting:\n", + "#Calculating the velocity of the rope\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calculating the power to raise the casting\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Force required by the man, T2 = %.2f N.\"%(T2)\n", + "print \" Power to raise the casting, P = %.3f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Force required by the man, T2 = 177.33 N.\n", + " Power to raise the casting, P = 2.772 kW.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.6 Page No : 344" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d1 = 450./1000 #mm\n", + "r1 = d1/2 #m\n", + "d2 = 200./1000 #m\n", + "r2 = d2/2\n", + "x = 1.95 \t\t\t#m\n", + "N1 = 200. \t\t\t#rpm\n", + "T1 = 1.*1000 \t\t\t#N\n", + "mu = 0.25\n", + "\n", + "#Solution:\n", + "#Calculating the speed of the belt\n", + "v = math.pi*d1*N1/60 \t\t\t#m/s\n", + "#Length of the belt:\n", + "#Calculating the length of the crossed belt\n", + "L = math.pi*(r1+r2)+2*x+(r1+r2)**2/x \t\t\t#m\n", + "#Angle of contact between the belt and each pulley:\n", + "#Calculating the angle alpha\n", + "alpha = math.sin((r1+r2)/x)*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of contact between the belt and each pulley\n", + "theta = (180+2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Power transmitted:\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Length of the belt, L = %.3f m.\"%(L)\n", + "print \" Angle of contact between the belt and each pulley, theta = %.3f rad.\"%(theta)\n", + "print \" Power transmitted, P = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Length of the belt, L = 4.975 m.\n", + " Angle of contact between the belt and each pulley, theta = 3.473 rad.\n", + " Power transmitted, P = 2.73 kW.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.7 Page No : 347" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "N1 = 200.\n", + "N2 = 300. \t\t\t#rpm\n", + "P = 6.*1000 \t\t#W\n", + "b = 100.\n", + "t = 10. \t\t\t#mm\n", + "x = 4.\n", + "d2 = 0.5 \t\t\t#m\n", + "mu = 0.3\n", + "\n", + "#Solution:\n", + "#Stress in the belt for an open belt drive:\n", + "#Calculating the diameter of the larger pulley\n", + "d1 = d2*(N2/N1) \t\t\t#m\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d2*N2/60 \t\t\t#m/s\n", + "#Calculating the angle alpha for an open belt drive\n", + "alphao = math.sin((r1-r2)/x)*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of contact on the smaller pulley\n", + "thetao = (180-2*alphao)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tensions in the belt\n", + "#Ratio of the tensions in the belt T1/T2 = math.exp(mu*thetao) or T1-T2*math.exp(mu*thetao) = 0\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "A = [[1, -math.exp(mu*thetao)],[ 1, -1]]\n", + "B = [0, P/v]\n", + "V = linalg.solve(A,B)\n", + "T1o = V[0] \t\t\t#N\n", + "T2o = V[1] \t\t\t#N\n", + "#Calculating the stress in the belt\n", + "sigmao = T1o/(b*t) \t\t\t#MPa\n", + "#Stress in the belt for a cross belt drive:\n", + "#Calculating the angle alpha for a cross belt drive\n", + "alphac = math.sin((d1+d2)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of contact\n", + "thetac = (180+2*alphac)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tensions in the belt \n", + "#Ratio of the tensions in the belt T1/T2 = math.exp(mu*thetac) or T1-T2*math.exp(mu*thetac) = 0\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "A = [[1, -math.exp(mu*thetac)],[ 1, -1]]\n", + "B = [0, P/v]\n", + "V = linalg.solve(A,B)\n", + "T1c = V[0] \t\t\t#N\n", + "T2c = V[1] \t\t\t#N\n", + "#Calculating the stress in the belt\n", + "sigmac = T1c/(b*t) \t\t\t#MPa\n", + "\n", + "#Results:\n", + "print \" Stress in the belt for an open belt drive, sigma = %.3f MPa.\"%(sigmao)\n", + "print \" Stress in the belt for a cross belt drive, sigma = %.3f MPa.\"%(sigmac)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Stress in the belt for an open belt drive, sigma = 1.267 MPa.\n", + " Stress in the belt for a cross belt drive, sigma = 1.184 MPa.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.8 Page No : 348" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 7.5*1000 \t\t#W\n", + "d = 1.2 #m\n", + "t = 10./1000 \t\t#m\n", + "N = 250. \t\t\t#rpm\n", + "theta = 165.*math.pi/180 \t\t\t#radians\n", + "mu = 0.3\n", + "sigma = 1.5*10**6 \t\t\t#N/m**2\n", + "rho = 1.*10**3 \t\t\t#kg/m**3\n", + "\n", + "#Solution:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calculating the tensions in the belt\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "#Ratio of tensions in the belt math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "A = [[1, -1],[1, -math.exp(mu*theta)]]\n", + "B = [P/v, 0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the width of the belt\n", + "b = T1/(sigma*t-t*1*rho*v**2)*1000 \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Width of the belt, b = %.1f mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Width of the belt, b = 65.9 mm.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.9 Page No : 349" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "t = 9.75/1000\n", + "d1 = 300./1000\n", + "x = 3. \t\t\t #m\n", + "P = 15.*1000 \t\t\t#W\n", + "N1 = 900.\n", + "N2 = 300. \t\t\t#rpm\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "sigma = 2.5*10**6 \t\t\t#N/m**2\n", + "mu = 0.3\n", + "\n", + "#Solution:\n", + "#Calculating the diameter of the driven pulley\n", + "d2 = d1*(N1/N2) \t\t\t#m\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d1*N1/60 \t\t\t#m/s\n", + "#Calculating the angle alpha for an open belt drive\n", + "alpha = math.sin((d2-d1)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of lap\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tensions in the belt\n", + "#Ratio of tensions math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "A = [[1, -math.exp(mu*theta)],[ 1, -1]]\n", + "B = [0, P/v]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the width of the belt\n", + "b = T1/(sigma*t-t*1*rho*v**2)*1000 \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Width of the belt, b = %d mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Width of the belt, b = 80 mm.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.10 Page No : 350" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "theta = 120*math.pi/180 #degrees\t\t\t#radians\n", + "b = 100./1000\n", + "t = 6./1000 \t\t\t#m\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "mu = 0.3\n", + "sigma = 2*10**6 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Speed of the belt for greatest power:\n", + "#Calculating the maximum tension in the belt\n", + "T = sigma*b*t \t\t\t#N\n", + "#Calculating the mass of the belt per metre length\n", + "l = 1. \t\t\t#m\n", + "m = b*t*l*rho \t\t\t#kg/m\n", + "#Calculating the speed of the belt for greatest power\n", + "v = math.sqrt(T/(3*m)) \t\t\t#m/s\n", + "#Greatest power which the belt can transmit\n", + "#Calculating the centrifugal tension for maximum power to be transmitted\n", + "TC = T/3 \t\t\t#N\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calculating the greatest power which the belt can transmit\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Speed of the belt for greatest power, v = %.2f m/s.\"%(v)\n", + "print \" Greatest power which the belt can transmit, P = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the belt for greatest power, v = 25.82 m/s.\n", + " Greatest power which the belt can transmit, P = 9.64 kW.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.11 Page No : 351" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d1 = 1.2 #m\n", + "r1 = d1/2 #m\n", + "d2 = 0.5 #m\n", + "r2 = d2/2 #m\n", + "x = 4. \t\t\t#m\n", + "m = 0.9 \t\t\t#kg/m\n", + "T = 2000. \t\t\t#N\n", + "mu = 0.3\n", + "N1 = 200. #rpm\n", + "N2 = 450. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d1*N1/60 \t\t\t#m/s\n", + "#Calculating the centrifugal tension\n", + "TC = m*v**2 \t\t\t#N\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the angle alpha for an open belt drive\n", + "alpha = math.sin((r1-r2)/x)*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of lap on the smaller pulley\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calculating the torque on the shaft of larger pulley\n", + "TL = (T1-T2)*r1 \t\t\t#N-m\n", + "#Calculating the torque on the shaft of smaller pulley\n", + "TS = (T1-T2)*r2 \t\t\t#N-m\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "#Power lost in friction:\n", + "#Calculating the input power\n", + "P1 = TL*2*math.pi*N1/(60*1000) \t\t\t#kW\n", + "#Calculating the output power\n", + "P2 = TS*2*math.pi*N2/(60*1000) \t\t\t#kW\n", + "#Calculating the power lost in friction\n", + "Pf = P1-P2 \t\t\t#Power lost in friction kW\n", + "#Calculating the efficiency of the drive\n", + "eta = P2/P1*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Torque on the shaft of larger pulley, TL = %.1f N-m.\"%(TL)\n", + "print \" Torque on the shaft of smaller pulley, TS = %d N-m.\"%(TS)\n", + "print \" Power transmitted, P = %.2f kW.\"%(P)\n", + "print \" Power lost in friction = %.2f kW.\"%(Pf)\n", + "print \" Efficiency of the drive, eta = %.1f %%.\"%(eta)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Torque on the shaft of larger pulley, TL = 657.0 N-m.\n", + " Torque on the shaft of smaller pulley, TS = 273 N-m.\n", + " Power transmitted, P = 13.76 kW.\n", + " Power lost in friction = 0.86 kW.\n", + " Efficiency of the drive, eta = 93.8 %.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.12 Page No : 353" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "T0 = 2000. \t\t\t#N\n", + "mu0 = 0.3\n", + "theta = 150.*math.pi/180 \t\t\t#radians\n", + "r2 = 200./1000\n", + "d2 = 2*r2 \t\t\t#m\n", + "N2 = 500.\t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d2*N2/60 \t\t\t#m/s\n", + "#Calculating the tensions in the belt\n", + "#Initial tension T0 = (T1+T2)/2 or T1+T2 = 2*T0\n", + "#Ratio of the tensions in the belt math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "A = [[1, 1],[ 1 ,-math.exp(mu*theta)]]\n", + "B = [2*T0, 0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.1f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 15.7 kW.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.13 Page No : 354" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "x = 4.8\n", + "d1 = 1.5 #m\n", + "d2 = 1. \t\t\t#m\n", + "T0 = 3.*1000 \t\t#N\n", + "m = 1.5 \t\t\t#kg/m\n", + "mu = 0.3\n", + "N2 = 400. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d2*N2/60 \t\t\t#m/s\n", + "#Calculating the centrifugal tension\n", + "TC = m*v**2 \t\t\t#N\n", + "#Calculating the angle alpha\n", + "alpha = math.sin((d1-d2)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of lap for the smaller pulley\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tensions in the belt\n", + "#Initial tension T0 = (T1+T2+2*TC)/2 or T1+T2 = 2*(T0-TC)\n", + "#Ratio of tensions in the belt math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "A = [[1, 1],[1, -math.exp(mu*theta)]]\n", + "B = [2*(T0-TC), 0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.f kW.\"%(P)\n", + "\n", + "# answer are slightly different because of solve function" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 42 kW.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.14 Page No : 355" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "x = 1.2 #m\n", + "d2 = 400./1000 #m\n", + "t = 5./1000 #m\n", + "b = 80./1000 \t\t#m\n", + "N1 = 350. #rpm\n", + "N2 = 140. \t\t\t#rpm\n", + "mu = 0.3\n", + "sigma = 1.4*10**6 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Calculating the diameter of the driving pulley\n", + "d1 = d2*(N2/N1) \t\t\t#m\n", + "#Maximum power transmitted by the belting:\n", + "#Refer Fig. 11.18\n", + "#Calculating the angle alpha\n", + "alpha = math.sin((d2-d1)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of contact of the belt on the driving pulley\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the maximum tension to which the belt can be subjected\n", + "T1 = sigma*b*t \t\t\t#N\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d1*N1/60 \t\t\t#m/s\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "#Calculating the required initial belt tension\n", + "T0 = (T1+T2)/2 \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Diameter of the driving pulley, d1 = %.2f m.\"%(d1)\n", + "print \" Maximum power transmitted by the belting, P = %.3f kW.\"%(P)\n", + "print \" Required initial belt tension, T0 = %.1f N.\"%(T0)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Diameter of the driving pulley, d1 = 0.16 m.\n", + " Maximum power transmitted by the belting, P = 0.963 kW.\n", + " Required initial belt tension, T0 = 395.8 N.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.15 Page No : 356" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "d2 = 240./1000 #m\n", + "d1 = 600./1000 #m\n", + "x = 3. \t\t\t #m\n", + "P = 4.*1000 \t\t#W\n", + "N2 = 300. \t\t\t#rpm\n", + "mu = 0.3\n", + "T1s = 10. \t\t\t#Safe working tension N/mm width\n", + "\n", + "#Solution:\n", + "#Minimum width of the belt:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d2*N2/60 \t\t\t#m/s\n", + "#Calculating the angle alpha for an open belt drive\n", + "alpha = math.sin((d1-d2)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of lap on the smaller pulley\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tensions in the belt\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "#Ratio of tensions math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "A = [[1, -1],[ 1, -math.exp(mu*theta)]]\n", + "B = [P/v, 0]\n", + "V = linalg.solve(A, B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the minimum width of the belt\n", + "b = T1/T1s \t\t\t#mm\n", + "#Calculating the initial belt tension\n", + "T0 = (T1+T2)/2 \t\t\t#N\n", + "#Calculating the length of the belt required\n", + "L = math.pi/2*(d1+d2)+2*x+(d1-d2)**2/(4*x) \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" Minimum width of the belt, b = %.1f mm.\"%(b)\n", + "print \" Initial belt tension, T0 = %.1f N.\"%(T0)\n", + "print \" Length of the belt required, L = %.2f m.\"%(L)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Minimum width of the belt, b = 178.0 mm.\n", + " Initial belt tension, T0 = 1249.5 N.\n", + " Length of the belt required, L = 7.33 m.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.16 Page No : 357" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math\n", + "\n", + "# Variables:\n", + "d1 = 400./1000 #m\n", + "d2 = 250./1000 #m\n", + "x = 2.\n", + "mu = 0.4 \t\t\t#m\n", + "T = 1200. \t\t\t#N\n", + "v = 10. \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Power transmitted:\n", + "#Calculating the angle alpha for an open belt drive\n", + "alpha = math.sin((d1-d2)/(2*x))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of contact\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T \t\t\t#Neglecting centrifugal tension N\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta) \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.2f kW.\"%(P)\n", + "#Power transmitted when initial tension is increased by 10%:\n", + "#Calculating the initial tension\n", + "T0 = (T1+T2)/2 \t\t\t#N\n", + "#Calculating the increased initial tension\n", + "T0dash = T0+10./100*T0 \t\t\t#N\n", + "#Calculating the corresponding tensions in the belt\n", + "#We have T0dash = (T1+T2)/2 or T1+T2 = 2*T0dash\n", + "#Ratio of the tensions math.log(T1/T2) = mu*theta or T1-T2*math.exp(mu*theta) = 0\n", + "A = [[1, 1],[ 1, -math.exp(mu*theta)]]\n", + "B = [2*T0dash, 0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P1 = (T1-T2)*v/1000 \t\t\t#kW\n", + "#Power transmitted when coefficient of friction is increased by 10%:\n", + "#Calculating the increased coefficient of friction\n", + "mudash = mu+10./100*mu\n", + "#Calculating the corresponding tensions in the belt\n", + "#Ratio of the tensions math.log(T1/T2) = mudash*theta or T1-T2*math.exp(mudash*theta) = 0\n", + "#Initial tension T0 = (T1+T2)/2 or T1+T2 = 2*T0\n", + "A = [[1, -math.exp(mudash*theta)],[ 1, 1]]\n", + "B = [0, 2*T0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P2 = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "if P1>P2:\n", + " print \" Since the power transmitted by increasing the initial tension is more\\\n", + " therefore in order to increase the power transmitted we shall adopt\\\n", + " the method of increasing the initial tension.\"\n", + "else:\n", + " print \" Since the power transmitted by increasing the coefficient of friction is more,\\\n", + " therefore in order to increase the power transmitted we shall adopt the method of increasing\\\n", + " the coefficient of friction.\"\n", + "#Percentage increase in power:\\\n", + "#Calculating the percentage increase in power when the initial tension is increased\n", + "I1 = (P1-P)/P*100. \t\t\t#Percentage increase in power when the initial tension is increased %\n", + "#Calculating the percentage increase in power when coefficient of friction is increased\n", + "I2 = (P2-P)/P*100. \t\t\t#Percentage increase in power when coefficient of friction is increased %\n", + "\n", + "\n", + "#Results:\n", + "print \" Percentage increase in power when the initial tension is increased = %.2f %%.\"%(I1)\n", + "print \" Percentage increase in power when coefficient of friction is increased = %.1f %%.\"%(I2)\n", + "\n", + "#rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 8.48 kW.\n", + " Since the power transmitted by increasing the initial tension is more therefore in order to increase the power transmitted we shall adopt the method of increasing the initial tension.\n", + " Percentage increase in power when the initial tension is increased = 10.00 %.\n", + " Percentage increase in power when coefficient of friction is increased = 7.6 %.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.17 Page No : 362" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "beta = 30./2 \t\t\t#degrees\n", + "alpha = 750.*10**-6 \t#mm**2\n", + "mu = 0.12\n", + "rho = 1.2*1000 \t\t\t#kg/m**3\n", + "sigma = 7.*10**6 \t\t#N/m**2\n", + "d = 300./1000 \t\t\t#m\n", + "N = 1500. \t\t\t #rpm\n", + "\n", + "#Solution:\n", + "#Power transmitted:\n", + "#Calculating the velocity of the belt\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calculating the mass of the belt per metre length\n", + "l = 1 \t\t\t#m\n", + "m = alpha*l*rho \t\t\t#kg/m\n", + "#Calculating the centrifugal tension\n", + "TC = m*v**2 \t\t\t#N\n", + "#Calculating the maximum tension in the belt\n", + "T = sigma*alpha \t\t\t#N\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the tension in the slack side of the belt\n", + "theta = math.pi \t\t\t#Angle of contact radians\n", + "T2 = T1/math.exp(mu*theta*(1/math.sin(math.radians(beta)))) \t\t\t#N\n", + "#Calculating the power transmitted\n", + "P = (T1-T2)*v*2/1000 \t\t\t#kW\n", + "#Shaft speed:\n", + "#Calculating the belt speed for maximum power transmitted\n", + "v1 = math.sqrt(T/(3*m)) \t\t\t#m/s\n", + "#Calculating the shaft speed for maximum power transmitted\n", + "N1 = v1*60/(math.pi*d) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Power transmitted, P = %.3f kW.\"%(P)\n", + "print \" Shaft speed at which the power transmitted would be maximum, N1 = %d rpm.\"%(N1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power transmitted, P = 171.690 kW.\n", + " Shaft speed at which the power transmitted would be maximum, N1 = 2807 rpm.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.18 Page No : 363" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "beta = 30./2 \t\t\t#degrees\n", + "t = 20./1000\n", + "b = 20./1000 \t\t\t#m\n", + "m = 0.35 \t\t\t #kg/m\n", + "sigma = 1.4*10**6 \t\t\t#N/m**2\n", + "theta = 140.*math.pi/180 \t\t\t#radians\n", + "mu = 0.15\n", + "\n", + "#Solution:\n", + "#Calculating the maximum tension in the belt\n", + "T = sigma*b*t \t\t\t#N\n", + "#Calculating the velocity of the belt for maximum power to be transmitted\n", + "v = math.sqrt(T/(3*m)) \t\t\t#m/s\n", + "#Calculating the centrifugal tension\n", + "TC = T/3 \t\t\t#N\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta*(1/math.sin(math.radians(beta)))) \t\t\t#N\n", + "#Calculating the maximum power transmitted\n", + "P = (T1-T2)*v/1000 \t\t\t#kW\n", + "\n", + "#Results:\n", + "print \" Maximum power transmitted, P = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum power transmitted, P = 6.53 kW.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.19 Page No : 363" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 90. \t\t\t#kW\n", + "N2 = 250.\n", + "N1 = 750. \t\t\t#rpm\n", + "d2 = 1.\n", + "x = 1.75 \t\t\t#m\n", + "v = 1600./60 \t\t\t#m/s\n", + "a = 375.*10**-6 \t\t\t#m**2\n", + "rho = 1000. \t\t\t#kg/m**3\n", + "sigma = 2.5*10**6 \t\t\t#N/m**2\n", + "beta = 35./2 \t\t\t#degrees\n", + "mu = 0.25\n", + "\n", + "#Solution:\n", + "#Calculating the diameter of the pulley on the motor shaft\n", + "d1 = d2*(N2/N1) \t\t\t#m\n", + "#Calculating the mass of the belt per metre length\n", + "l = 1 \t\t\t #m\n", + "m = a*l*rho \t\t\t#kg/m\n", + "#Calculating the centrifugal tension\n", + "TC = m*v**2 \t\t\t#N\n", + "#Calculating the maximum tension in the belt\n", + "T = sigma*a \t\t\t#N\n", + "#Calculating the tension in the tight side of the belt\n", + "T1 = T-TC \t\t\t #N\n", + "#Refer Fig. 11.21\n", + "#Calculating the angle alpha\n", + "alpha = math.sin(math.radians((d2-d1)/(2*x)))*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle of lap on smaller pulley\n", + "theta = (180-2*alpha)*math.pi/180 \t\t\t#radians\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta*(1/math.sin(math.radians(beta)))) \t\t\t#N\n", + "#Number of V-belts:\n", + "#Calculating the power transmitted per belt\n", + "P1 = (T1-T2)*v/1000 \t\t\t#Power transmitted per belt kW\n", + "#Calculating the number of V-belts\n", + "n = P/16.086 \t\t\t#Number of V-belts\n", + "#Calculating the length each of belt for an open belt drive\n", + "L = math.pi/2*(d2+d1)+2*x+(d2-d1)**2/(4*x) \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" Number of V-belts = %.f.\"%(n)\n", + "print \" Length of each belt, L = %.2f m.\"%(L)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of V-belts = 6.\n", + " Length of each belt, L = 5.66 m.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.20 Page No : 367" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 600. \t\t\t#kW\n", + "d = 4. \t\t\t #m\n", + "N = 90. \t\t\t#rpm\n", + "theta = 160.*math.pi/180 \t\t\t#radians\n", + "beta = 45./2 \t\t\t#degrees\n", + "mu = 0.28\n", + "m = 1.5 \t\t\t#kg/m\n", + "T = 2400. \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Calculating the velocity of the rope\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calculating the centrifugal tension\n", + "TC = m*v**2 \t\t\t#N\n", + "#Calculating the tension in the tight side of the rope\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the tension in the slack side of the belt\n", + "T2 = T1/math.exp(mu*theta*(1/math.sin(math.radians(beta)))) \t\t\t#N\n", + "#Calculating the power transmitted per rope\n", + "P1 = (T1-T2)*v/1000 \t\t\t#Power transmitted per rope kW\n", + "#Calculating the number of ropes\n", + "n = P/P1 \t\t\t#Number of ropes\n", + "\n", + "#Results:\n", + "print \" Number of ropes required = %d.\"%(n+1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of ropes required = 20.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.21 Page No : 367" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 3.6 \t\t\t#m\n", + "n = 15. \t\t\t#Number of grooves\n", + "beta = 45./2 \t\t#degrees\n", + "theta = 170.*math.pi/180 \t\t\t#radians\n", + "mu = 0.28\n", + "T = 960. \t\t\t#N\n", + "m = 1.5 \t\t\t#kg/m\n", + "\n", + "#Solution:\n", + "#Speed of the pulley:\n", + "#Calculating the velocity of the rope\n", + "v = math.sqrt(T/(3*m)) \t\t\t#m/s\n", + "#Calculating the speed of the pulley\n", + "N = v*60/(math.pi*d) \t\t\t#rpm\n", + "#Power transmitted\n", + "#Calculating the centrifugal tension for maximum power\n", + "TC = T/3 \t\t\t#N\n", + "#Calculating the tension in the tight side of the rope\n", + "T1 = T-TC \t\t\t#N\n", + "#Calculating the tension in the slack side of the rope\n", + "T2 = T1/math.exp(mu*theta*(1/math.sin(math.radians(beta)))) \t\t\t#N\n", + "#Calculating the power transmitted per rope\n", + "P1 = (T1-T2)*v/1000 \t\t\t#Power transmitted per rope kW\n", + "#Calculating the total power transmitted\n", + "P = P1*n \t\t\t#Total power transmitted kW\n", + "\n", + "#Results:\n", + "print \" Speed of the pulley for maximum power, N = %.1f rpm.\"%(N)\n", + "print \" Power transmitted = %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the pulley for maximum power, N = 77.5 rpm.\n", + " Power transmitted = 124.22 kW.\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.22 Page No : 368" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "PT = 24. \t\t\t#kW\n", + "d = 400./1000 \t\t#m\n", + "N = 110. \t\t\t#rpm\n", + "beta = 45./2 \t\t#degrees\n", + "theta = 160.*math.pi/180 \t\t\t#radians\n", + "mu = 0.28\n", + "n = 10.\n", + "\n", + "#Solution:\n", + "#Initial tension:\n", + "#Calculating the power transmitted per rope\n", + "P = PT/n*1000 \t\t\t#W\n", + "#Calculating the velocity of the rope\n", + "v = math.pi*d*N/60 \t\t\t#m/s\n", + "#Calculating the tensions in the rope\n", + "#Power transmitted P = (T1-T2)*v or T1-T2 = P/v\n", + "#Ratio of tensions math.log(T1/T2) = mu*theta*(1/math.sin(math.radians(beta)) or T1-T2*math.exp(mu*theta*(1/math.math.sin(math.radians(beta))) = 0\n", + "A = [[1, -1],[ 1, -math.exp(mu*theta*(1/math.sin(math.radians(beta))))]]\n", + "B = [P/v, 0]\n", + "V = linalg.solve(A,B)\n", + "T1 = V[0] \t\t\t#N\n", + "T2 = V[1] \t\t\t#N\n", + "#Calculating the initial tension in each rope\n", + "T0 = (T1+T2)/2 \t\t\t#N\n", + "#Diameter of each rope:\n", + "#Calculating the girth of rope\n", + "C = math.sqrt(T1/(122.*10**3-53.*v**2))*1000 \t\t\t#mm\n", + "#Calculating the diameter of each rope\n", + "d1 = C/math.pi \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Initial tension, T0 = %.2f N.\"%(T0)\n", + "print \" Diameter of each rope, d1 = %.2f mm.\"%(d1)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Initial tension, T0 = 676.00 N.\n", + " Diameter of each rope, d1 = 31.56 mm.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.23 Page No : 376" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N1 = 240. #rpm\n", + "N2 = 120. \t\t\t#rpm\n", + "T1 = 20.\n", + "d2 = 600./1000 #m\n", + "r2 = d2/2 #m\n", + "x = 800./1000 \t\t#m\n", + "\n", + "#SOlution:\n", + "#Calculating the number of teeth on the drive sprocket\n", + "T2 = T1*(N1/N2)\n", + "#Calculating the pitch of the chain\n", + "p = r2*2*math.sin(math.radians(180/T2))*1000 \t\t\t#mm\n", + "#Length of the chain:\n", + "m = x*1000/p\n", + "#Calculating the multiplying factor\n", + "K = (T1+T2)/2+2*m+(1/math.sin(math.radians(180/T1))-1/math.sin(math.radians(180/T2)))**2/(4*m)\n", + "#Calculating the length of the chain\n", + "L = p*K/1000 \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" Number of teeth on the driven sprocket, T2 = %d.\"%(T2)\n", + "print \" Pitch of the chain, p = %.1f mm.\"%(p)\n", + "print \" Length of the chain, L = %.4f m.\"%(L)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on the driven sprocket, T2 = 40.\n", + " Pitch of the chain, p = 47.1 mm.\n", + " Length of the chain, L = 3.0402 m.\n" + ] + } + ], + "prompt_number": 23 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch12.ipynb b/Theory_Of_Machines/ch12.ipynb new file mode 100755 index 00000000..22e6fba9 --- /dev/null +++ b/Theory_Of_Machines/ch12.ipynb @@ -0,0 +1,1145 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:844073ad5c928bfdaf4248256fc5562a2dc71b1c2156a1230e38f2c366a18bf7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 12 : Toothed Gearing" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.1 Page No : 393" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 120.*1000 \t\t\t#W\n", + "d = 250./1000\n", + "r = d/2 \t\t\t#m\n", + "N = 650. \t\t\t#rpm\n", + "phi = 20. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the gear\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque transmitted\n", + "T = P/omega \t\t\t#N-m\n", + "#Calculating the math.tangential load on the pinion\n", + "FT = T/r \t\t\t#N\n", + "#Calculating the total load due to power transmitted\n", + "F = FT/(math.cos(math.radians(phi))*1000) \t\t\t#kN\n", + "\n", + "#Results:\n", + "print \" Total load due to power transmitted, F = %.2f kN.\"%(F)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Total load due to power transmitted, F = 15.01 kN.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.2 Page No : 397" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "T = 40.\n", + "t = T\n", + "phi = 20. \t\t\t#degrees\n", + "m = 6. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the circular pitch\n", + "pc = math.pi*m \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = 1.75*pc \t\t\t#Length of arc of contact mm\n", + "#Calculating the length of path of contact\n", + "Lpc = Lac*math.cos(phi) \t\t\t#Length of path of contact mm\n", + "#Calculating the pitch circle radii of each wheel\n", + "R = m*T/2 \t\t\t#mm\n", + "r = R \t\t\t#mm\n", + "#Calculating the radius of the addendum circle of each wheel\n", + "RA = math.sqrt(R**2*(math.cos(phi))**2+(Lpc/2+R*math.sin(phi))**2) \t\t\t#mm\n", + "#Calculating the addendum of the wheel\n", + "Ad = RA-R \t\t\t#Addendum of the wheel mm\n", + "\n", + "#Results:\n", + "print \" Addendum of the wheel = %.2f mm.\"%(Ad)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Addendum of the wheel = 6.17 mm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.3 Page No : 398" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "t = 30.\n", + "T = 80.\n", + "phi = 20. \t\t\t#degrees\n", + "m = 12. \t\t\t#mm\n", + "Addendum = 10. \t\t#mm\n", + "\n", + "#Solution:\n", + "#Length of path of contact:\n", + "#Calculating the pitch circle radius of pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of gear\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of pinion\n", + "rA = r+Addendum \t\t\t#mm\n", + "#Calculating the radius of addendum circle of gear\n", + "RA = R+Addendum \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "#Refer Fig. 12.11\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#Length of arc of contact mm\n", + "#Contact ratio:\n", + "#Calculating the circular pitch\n", + "Pc = math.pi*m \t\t\t#mm\n", + "#Calculating the contact ratio\n", + "CR = Lac/Pc \t\t\t#Contact ratio\n", + "\n", + "#Results:\n", + "print \" Length of path of contact, KL = %.1f mm.\"%(KL)\n", + "print \" Length of arc of contact = %.2f mm.\"%(Lac)\n", + "print \" Contact ratio = %.1f.\"%(CR)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Length of path of contact, KL = 52.3 mm.\n", + " Length of arc of contact = 55.61 mm.\n", + " Contact ratio = 1.5.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.4 Page No : 399" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "phi = 20. \t\t\t#degrees\n", + "t = 20.\n", + "G = 2.\n", + "m = 5. \t\t\t#mm\n", + "v = 1.2 \t\t\t#m/s\n", + "addendum = 1*m \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Angle turned through by pinion when one pair of teeth is in mesh:\n", + "#Calculating the pitch circle radius of pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of wheel\n", + "R = m*G*t/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of pinion\n", + "rA = r+addendum \t\t\t#mm\n", + "#Calculating the radius of addendum circle of wheel\n", + "RA = R+addendum \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the angle turned by the pinion\n", + "angle = Lac*360/(2*math.pi*r) \t\t\t#Angle turned by the pinion degrees\n", + "#Maximum velocity of sliding:\n", + "#Calculating the angular speed of pinion\n", + "omega1 = v*1000/r \t\t\t#rad/s\n", + "#Calculating the angular speed of wheel\n", + "omega2 = v*1000/R \t\t\t#rad/s\n", + "#Calculating the maximum velocity of sliding\n", + "vS = (omega1+omega2)*KP \t\t\t#mm/s\n", + "\n", + "#Results:\n", + "print \" Angle turned through by pinion when one pair of teeth is in mesh = %.2f degrees.\"%(angle)\n", + "print \" Maximum velocity of sliding, vS = %.1f mm/s.\"%(vS)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Angle turned through by pinion when one pair of teeth is in mesh = 29.43 degrees.\n", + " Maximum velocity of sliding, vS = 455.3 mm/s.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.5 Page No : 400" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "T = 40.\n", + "t = 20.\n", + "N1 = 2000. \t\t\t#rpm\n", + "phi = 20. \t\t\t#degrees\n", + "addendum = 5.\n", + "m = 5. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocity of the smaller gear\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Calculating the angular velocity of the larger gear\n", + "omega2 = omega1*t/T \t\t\t#rad/s\n", + "#Calculating the pitch circle radius of the smaller gear\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of the larger gear\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of aaddendum circle of smaller gear\n", + "rA = r+addendum \t\t\t#mm\n", + "#Calculating the radius of addendum circle of larger gear\n", + "RA = R+addendum \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the velocity of sliding at the point of engagement\n", + "vSK = (omega1+omega2)*KP \t\t\t#mm/s\n", + "#Calculating the velocity of sliding at the point of disengagement\n", + "vSL = (omega1+omega2)*PL \t\t\t#mm/s\n", + "#Angle through which the pinion turns:\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#Length of arc of contact mm\n", + "#Calculating the circumference of pinion\n", + "C = 2*math.pi*r \t\t\t#Circumference of pinion mm\n", + "#Calculating the angle through which the pinion turns\n", + "angle = Lac*360/C \t\t\t#Angle through which the pinion turns degrees\n", + "\n", + "#Results:\n", + "print \" Velocity of sliding at the point of engagement, vSK = %.f mm/s.\"%(vSK)\n", + "print \" Velocity of sliding at the point of disengagement, vsL = %.f mm/s.\"%(vSL)\n", + "print \" Angle through which the pinion turns = %.2f degrees.\"%(angle)\n", + "\n", + "# answers differ due to rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of sliding at the point of engagement, vSK = 3973 mm/s.\n", + " Velocity of sliding at the point of disengagement, vsL = 3610 mm/s.\n", + " Angle through which the pinion turns = 29.43 degrees.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.6 Page No : 401" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# Variables:\n", + "phi = 20. \t\t\t#degrees\n", + "m = 6.\n", + "addendum = 1*m \t\t\t#mm\n", + "t = 17.\n", + "T = 49.\n", + "\n", + "#Solution:\n", + "#Number of pairs of teeth in contact:\n", + "#Calculating the pitch circle radius of pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of gear\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of pinion\n", + "rA = r+addendum \t\t\t#mm\n", + "#Calculating the radius of addendum circle of gear\n", + "RA = R+addendum \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "#Refer Fig. 12.11\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#Length of arc of contact mm\n", + "#Calculating the circular pitch\n", + "pc = math.pi*m \t\t\t#mm\n", + "#Calculating the number of pairs of teeth in contact\n", + "n = Lac/pc \t\t\t#Number of pairs of teeth in contact\n", + "#Angle turned by the pinion and gear wheel when one pair of teeth is in contact:\n", + "#Calculating the angle turned through by the pinion\n", + "anglep = Lac*360/(2*math.pi*r) \t\t\t#Angle turned through by the pinion degrees\n", + "#Calculating the angle turned through by the wheel\n", + "angleg = Lac*360/(2*math.pi*R) \t\t\t#Angle turned through by the gear wheel degrees\n", + "#Ratio of sliding to rolling motion:\n", + "#At the instant when the tip of a tooth on the larger wheel is just making contact with its mating teeth\n", + "r1 = ((1+t/T)*KP)/r \t\t\t#Ratio of sliding velocity to rolling velocity\n", + "#At the instant when the tip of a tooth on a larger wheel is just leaving contact with its mating teeth\n", + "r2 = ((1+t/T)*PL)/r \t\t\t#Ratio of sliding velocity to rolling velocity\n", + "\n", + "\n", + "#Results:\n", + "print \" Number of pairs of teeth in contact = %.f.\"%(n)\n", + "print \" Angle turned through by the pinion = %.1f degrees.\"%(anglep)\n", + "print \" Angle turned through by the gear wheel = %.f degrees.\"%(angleg)\n", + "print \" At the instant when the tip of a tooth on the larger wheel is just\\\n", + " making contact with its mating teeth, ratio of sliding \\nvelocity to rolling velocity = %.2f.\"%(r1)\n", + "print \" At the instant when the tip of a tooth on a larger wheel is just leaving contact\\\n", + " with its mating teeth, ratio of sliding velocity to rolling velocity = %.3f.\"%(r2)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of pairs of teeth in contact = 2.\n", + " Angle turned through by the pinion = 34.6 degrees.\n", + " Angle turned through by the gear wheel = 12 degrees.\n", + " At the instant when the tip of a tooth on the larger wheel is just making contact with its mating teeth, ratio of sliding \n", + "velocity to rolling velocity = 0.41.\n", + " At the instant when the tip of a tooth on a larger wheel is just leaving contact with its mating teeth, ratio of sliding velocity to rolling velocity = 0.354.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.7 Page No : 403" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "t = 18.\n", + "T = 72.\n", + "phi = 20. \t\t\t#degrees\n", + "m = 4. \t\t\t #mm\n", + "addendump = 8.5 \t\t\t#Addendum on pinion mm\n", + "addendumg = 3.5 \t\t\t#Addendum on gear mm\n", + "\n", + "#SOlution:\n", + "#Refer Fig. 12.12\n", + "#Calculating the pitch circle radius of the pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of the gear\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of the pinion\n", + "rA = r+addendump \t\t\t#mm\n", + "#Calculating the radius of addendum circle of the gear\n", + "RA = R-addendumg \t\t\t#mm\n", + "#Calculating the radius of the base circle of the pinion\n", + "O1M = r*math.cos(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the radius of the base circle of the gear\n", + "O2N = R*math.cos(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "KP = R*math.sin(math.radians(phi))-math.sqrt(RA**2-O2N**2) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-O1M**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of the path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Length of the path of contact, KL = %.2f mm.\"%(KL)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Length of the path of contact, KL = 28.04 mm.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.8 Page No : 406" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "t = 20.\n", + "T = 40.\n", + "m = 10. \t\t\t#mm\n", + "phi = 20. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Addendum height for each gear wheel:\n", + "#Calculating the pitch circle radius of the smaller gear wheel\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of the larger wheel\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle for the larger gear wheel\n", + "RA = math.sqrt((r*math.sin(math.radians(phi))/2+R*math.sin(math.radians(phi)))**2+R**2*(math.cos(math.radians(phi)))**2) \t\t\t#mm\n", + "#Calculating the addendum height for larger gear wheel\n", + "addendumg = RA-R \t\t\t#mm\n", + "#Calculating the radius of addendum circle for the smaller gear wheel\n", + "rA = math.sqrt((R*math.sin(math.radians(phi))/2+r*math.sin(math.radians(phi)))**2+r**2*(math.cos(math.radians(phi)))**2) \t\t\t#mm\n", + "#Calculating the addendum height for smaller gear wheel\n", + "addendump = rA-r \t\t\t#mm\n", + "#Calculating the length of the path of contact\n", + "Lpc = (r+R)*math.sin(math.radians(phi))/2 \t\t\t#Length of the path of contact mm\n", + "#Calculating the length of the arc of contact\n", + "Lac = Lpc/math.cos(math.radians(phi)) \t\t\t#Length of the arc of contact mm\n", + "#Contact ratio:\n", + "#Calculating the circular pitch\n", + "pc = math.pi*m \t\t\t#mm\n", + "#Calculating the contact ratio\n", + "CR = Lpc/pc \t\t\t#Contact ratio\n", + "\n", + "#Results:\n", + "print \" Addendum height for larger gear wheel = %.1f mm.\"%(addendumg)\n", + "print \" Addendum height for smaller gear wheel = %.1f mm.\"%(addendump)\n", + "print \" Length of the path of contact = %.1f mm.\"%(Lpc)\n", + "print \" Length of the arc of contact = %.1f mm.\"%(Lac)\n", + "print \" Contact ratio = %d.\"%(CR+1)\n", + "\n", + "# book answer is wrong for 2nd " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Addendum height for larger gear wheel = 6.5 mm.\n", + " Addendum height for smaller gear wheel = 16.2 mm.\n", + " Length of the path of contact = 51.3 mm.\n", + " Length of the arc of contact = 54.6 mm.\n", + " Contact ratio = 2.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.9 Page No : 410" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "G = 3.\n", + "phi = 20. \t\t\t#degrees\n", + "Aw = 1. \t\t\t#module\n", + "\n", + "#Solution:\n", + "#Calculating the minimum number of teeth for a gear ratio of 3:1\n", + "t1 = (2*Aw)/(G*(math.sqrt(1+1/G*(1/G+2)*(math.sin(math.radians(phi)))**2)-1))\n", + "#Calculating the minimum number of teeth for equal wheel\n", + "t2 = (2*Aw)/(math.sqrt(1+3*(math.sin(math.radians(phi)))**2)-1)\n", + "\n", + "#Results:\n", + "print \" Minimum number of teeth for a gear ratio of 3:1, t = %.f.\"%(t1+1)\n", + "print \" Minimum number of teeth for equal wheel, t = %d.\"%(t2+1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Minimum number of teeth for a gear ratio of 3:1, t = 16.\n", + " Minimum number of teeth for equal wheel, t = 13.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.10 Page No : 410" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import numpy\n", + "\n", + "# Variables:\n", + "G = 4.\n", + "phi = 14.5 \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Least number of teeth on each wheel:\n", + "#Calculating the least number of teeth on the pinion\n", + "t = 2*math.pi/(math.tan(math.radians(phi)))\n", + "#Calculating the least number of teeth on the gear\n", + "T = G*t\n", + "\n", + "#Results:\n", + "print \" Least number of teeth on the pinion, t = %.1f.\"%(t)\n", + "print \" Least number of teeth on the gear, T = %.f.\"%(round(T,-1))\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Least number of teeth on the pinion, t = 24.3.\n", + " Least number of teeth on the gear, T = 100.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.11 Page No : 411" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "phi = 16. \t\t\t#degrees\n", + "m = 6. \t\t\t #mm\n", + "t = 16.\n", + "G = 1.75\n", + "T = G*t\n", + "N1 = 240. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the pinion\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Addenda on pinion and gear wheel:\n", + "#Calculating the addendum on pinion\n", + "addendump = m*t/2*(math.sqrt(1+T/t*(T/t+2)*(math.sin(math.radians(phi)))**2)-1) \t\t\t#Addendum on pinion mm\n", + "#Calculating the addendum on wheel\n", + "addendumg = m*T/2*(math.sqrt(1+t/T*(t/T+2)*(math.sin(math.radians(phi)))**2)-1) \t\t\t#Addendum on wheel mm\n", + "#Length of path of contact:\n", + "#Calculating the pitch circle radius of wheel\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the pitch circle radius of pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the addendum circle radius of wheel\n", + "RA = R+addendump \t\t\t#mm\n", + "#Calculating the addendum circle radius of pinion\n", + "rA = r+addendumg \t\t\t#mm\n", + "#Calculating the length of path of approach\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Maximum velocity of sliding of teeth on either side of pitch point:\n", + "#Calculating the angular speed of gear wheel\n", + "omega2 = omega1/G \t\t\t#rad/s\n", + "#Calculating the maximum velocity of sliding of teeth on the left side of pitch point\n", + "vmaxl = (omega1+omega2)*KP \t\t\t#Maximum velocity of sliding of teeth on the left side of pitch point mm/s\n", + "#Calculating the maximum velocity of sliding of teeth on the right side of pitch point\n", + "vmaxr = (omega1+omega2)*PL \t\t\t#Maximum velocity of sliding of teeth on the right side of pitch point mm/s\n", + "\n", + "#Results:\n", + "print \" Addendum on pinion = %.2f mm.\"%(addendump)\n", + "print \" Addendum on wheel = %.2f mm.\"%(addendumg)\n", + "print \" Length of path of contact, KL = %.2f mm.\"%(KL)\n", + "print \" Maximum velocity of sliding of teeth on the left side of pitch point = %d mm/s.\"%(vmaxl)\n", + "print \" Maximum velocity of sliding of teeth on the right side of pitch point = %d mm/s.\"%(vmaxr)\n", + "\n", + "# rounding error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Addendum on pinion = 10.76 mm.\n", + " Addendum on wheel = 4.56 mm.\n", + " Length of path of contact, KL = 38.39 mm.\n", + " Maximum velocity of sliding of teeth on the left side of pitch point = 1044 mm/s.\n", + " Maximum velocity of sliding of teeth on the right side of pitch point = 471 mm/s.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.12 Page No : 412" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "phi = 20. \t\t\t#degrees\n", + "t = 30.\n", + "T = 50.\n", + "m = 4.\n", + "N1 = 1000. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of thr pinion\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Sliding velocities at engagement and at disengagement of a pair of teeth:\n", + "#Calculating the addendum of the smaller gear\n", + "addendump = m*t/2*(math.sqrt(1+T/t*(T/t+2)*(math.sin(math.radians(phi)))**2)-1) \t\t\t#Addendum of the smaller gear mm\n", + "#Calculating the addendum of the larger gear\n", + "addendumg = m*T/2*(math.sqrt(1+t/T*(t/T+2)*(math.sin(math.radians(phi)))**2)-1) \t\t\t#Addendum of the larger gear mm\n", + "#Calculating the pitch circle radius of the smaller gear\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of the smaller gear\n", + "rA = r+addendump \t\t\t#mm\n", + "#Calculating the pitch circle radius of the larer gear\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of the larger gear\n", + "RA = R+addendumg \t\t\t#mm\n", + "#Calculating the path of approach\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the angular speed of the larger gear\n", + "omega2 = omega1*t/T \t\t\t#rad/s\n", + "#Calculating the sliding velocity at engagement of a pair of teeth\n", + "v1 = (omega1+omega2)*KP \t\t\t#Sliding velocity at engagement of a pair of teeth mm/s\n", + "#Calculating the sliding velocity at disengagement of a pair of teeth\n", + "v2 = (omega1+omega2)*PL \t\t\t#Sliding velocity at disengagement of a pair of teeth mm/s\n", + "#Contact ratio:\n", + "#Calculating the length of the arc of contact\n", + "Lac = (KP+PL)/math.cos(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the circular pitch\n", + "pc = math.pi*m \t\t\t#Circular pitch mm\n", + "#Calculating the contact ratio\n", + "CR = Lac/pc \t\t\t#Contact ratio\n", + "\n", + "#Results:\n", + "print \" Sliding velocity at engagement of a pair of teeth = %.3f m/s.\"%(v1/1000)\n", + "print \" Sliding velocity at disengagement of a pair of teeth = %.3f m/s.\"%(v2/1000)\n", + "print \" Contact ratio = %d.\"%(CR+1)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Sliding velocity at engagement of a pair of teeth = 3.438 m/s.\n", + " Sliding velocity at disengagement of a pair of teeth = 5.731 m/s.\n", + " Contact ratio = 5.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.13 Page No : 414" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "G = 3.\n", + "m = 6.\n", + "AP = 1*m\n", + "AW = AP \t\t\t#mm\n", + "phi = 20. \t\t\t#degrees\n", + "N1 = 90. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the pinion\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Calculating the number of teeth on the pinion to avoid interference on it\n", + "t = 2*AP/(math.sqrt(1+G*(G+2)*(math.sin(math.radians(phi)))**2)-1)\n", + "#Calculating the corresponding number of teeth on the wheel\n", + "T = G*t\n", + "#Length of path and arc of contact:\n", + "#Calculating the pitch circle radius of pinion\n", + "r = m*t/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of pinion\n", + "rA = r+AP \t\t\t#mm\n", + "#Calculating the pitch circle radius of wheel\n", + "R = m*T/2 \t\t\t#mm\n", + "#Calculating the radius of addendum circle of wheel\n", + "RA = R+AW \t\t\t#mm\n", + "#Calculating the path of approach\n", + "KP = math.sqrt(RA**2-R**2*(math.cos(math.radians(phi)))**2)-R*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the path of recess\n", + "PL = math.sqrt(rA**2-r**2*(math.cos(math.radians(phi)))**2)-r*math.sin(math.radians(phi)) \t\t\t#mm\n", + "#Calculating the length of path of contact\n", + "KL = KP+PL \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#Length of arc of contact mm\n", + "#Number of pairs of teeth in contact:\n", + "#Calculating the circular pitch\n", + "pc = math.pi*m \t\t\t#mm\n", + "#Calculating the number of pairs of teeth in contact\n", + "n = Lac/pc \t\t\t#Number of pairs of teeth in contact\n", + "#Maximum velocity of sliding:\n", + "#Calculating the angular speed of wheel\n", + "omega2 = omega1*t/T \t\t\t#rad/s\n", + "#Calculating the maximum velocity of sliding\n", + "vs = (omega1+omega2)*KP \t\t\t#mm/s\n", + "\n", + "#Results:\n", + "print \" Number of teeth on the pinion to avoid interference, t = %d.\"%(t+1)\n", + "print \" Corresponding number of teeth on the wheel, T = %.F.\"%(T+1)\n", + "print \" Length of path of contact, KL = %.2f mm.\"%(KL)\n", + "print \" Length of arc of contact = %.2f mm.\"%(Lac)\n", + "print \" Number of pairs of teeth in contact = %d.\"%(n+1)\n", + "print \" Maximum velocity of sliding, vs = %.f mm/s.\"%(vs)\n", + "\n", + "# ROUNDING ERROR" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on the pinion to avoid interference, t = 19.\n", + " Corresponding number of teeth on the wheel, T = 56.\n", + " Length of path of contact, KL = 29.24 mm.\n", + " Length of arc of contact = 31.12 mm.\n", + " Number of pairs of teeth in contact = 2.\n", + " Maximum velocity of sliding, vs = 197 mm/s.\n" + ] + } + ], + "prompt_number": 34 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.14 Page No : 416" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "T = 20.\n", + "d = 125. #mm\n", + "r = d/2\n", + "OP = r\n", + "LH = 6.25 \t\t\t#mm\n", + "#Calculating the least pressure angle to avoid interference\n", + "phi = math.sin(math.sqrt(LH/r))*180/math.pi \t\t\t#degrees\n", + "#Length of arc of contact:\n", + "#Calculating the length of path of contact\n", + "KL = math.sqrt((OP+LH)**2-(OP*math.cos(math.radians(phi)))**2) \t\t\t#mm\n", + "#Calculating the length of arc of contact\n", + "Lac = KL/math.cos(math.radians(phi)) \t\t\t#Length of arc of contact mm\n", + "#Minimum number of teeth:\n", + "#Calculating the circular pitch\n", + "pc = math.pi*d/T \t\t\t#mm\n", + "#Calculating the number of pairs of teeth in contact\n", + "n = Lac/pc \t\t\t#Number of pairs of teeth in contact\n", + "#Calculating the minimum number of teeth in contact\n", + "nmin = n \t\t\t#Mimimum number of teeth in contact\n", + "\n", + "#Results:\n", + "print \" Least pressure angle to avoid interference, phi = %.3f degrees.\"%(phi)\n", + "print \" Length of arc of contact = %.2f mm.\"%(Lac)\n", + "print \" Minimum number of teeth in contact = %d or %d pair.\"%(nmin+1,(nmin+1)/2)\n", + "\n", + "# rounding error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Least pressure angle to avoid interference, phi = 17.818 degrees.\n", + " Length of arc of contact = 36.17 mm.\n", + " Minimum number of teeth in contact = 2 or 1 pair.\n" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.15 Page No : 421" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "L = 175./1000\n", + "d2 = 100./1000 #m\n", + "r2 = d2/2 \t\t\t #m\n", + "theta = 70. \t\t\t#degrees\n", + "G = 1.5\n", + "T2 = 80.\n", + "Tf = 75. \t\t\t#Torque on faster wheel N-m\n", + "\n", + "#Solution:\n", + "#Spiral angles for each wheel:\n", + "#Calculating the number of teeth on slower wheel\n", + "T1 = T2*G\n", + "#Calculating the pitch circle diameter of the slower wheel\n", + "d1 = (L*2)-d2 \t\t\t#m\n", + "#Calculating the spiral angles\n", + "#We have d2/d1 = (T2*math.cos(alpha1))/(T1*math.cos(alpha2)) or T2*d1*math.cos(alpha1)-T1*d2*math.cos(alpha2) = 0 .....(i)\n", + "#Also alpha1+alpha2 = theta or alpha1+alpha2-theta = 0 .....(ii)\n", + "def f(x):\n", + " alpha1 = x[0]\n", + " alpha2 = x[1]\n", + " y = [0,0]\n", + " y[0] = T2*d1*math.cos(alpha1)-T1*d2*math.cos(alpha2)\n", + " y[1] = alpha1+alpha2-theta*math.pi/180\n", + " return y\n", + " \n", + "z = fsolve(f,[1,1])\n", + "alpha1 = z[0]*180/math.pi \t\t\t#Spiral angle for slower wheel degrees \n", + "alpha2 = z[1]*180/math.pi \t\t\t#Spiral angle for faster wheel degrees\n", + "#Axial thrust on each shaft:\n", + "#Calculating the math.tangential force at faster wheel\n", + "F2 = Tf/r2 \t\t\t#N\n", + "#Calculating the normal reaction at the point of contact\n", + "RN = F2/math.cos(math.radians(alpha2)) \t\t\t#N\n", + "#Calculating the axial thrust on the shaft of slower wheel\n", + "Fa1 = RN*math.sin(math.radians(alpha1)) \t\t\t#N\n", + "#Calculating the axial thrust on the shaft of faster wheel\n", + "Fa2 = RN*math.sin(math.radians(alpha2)) \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Spiral angle for slower wheel, alpha1 = %.2f degrees.\"%(alpha1)\n", + "print \" Spiral angle for faster wheel, alpha2 = %.2f degrees.\"%(alpha2)\n", + "print \" Axial thrust on the shaft of slower wheel, Fa1 = %d N.\"%(Fa1+1)\n", + "print \" Axial thrust on the shaft of faster wheel, Fa2 = %d N.\"%(Fa2+1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Spiral angle for slower wheel, alpha1 = 54.65 degrees.\n", + " Spiral angle for faster wheel, alpha2 = 15.35 degrees.\n", + " Axial thrust on the shaft of slower wheel, Fa1 = 1269 N.\n", + " Axial thrust on the shaft of faster wheel, Fa2 = 412 N.\n" + ] + } + ], + "prompt_number": 45 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.16 Page No : 422" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "L = 400./1000 \t\t\t#m\n", + "G = 3.\n", + "theta = 50.\n", + "phi = 6. \t\t\t#degrees\n", + "pN = 18. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Number of teeth on each wheel:\n", + "#Calculating the spiral angles of the driving and driven wheels\n", + "alpha1 = theta/2 \t\t\t#degrees\n", + "alpha2 = alpha1 \t\t\t#degrees\n", + "#Calculating the number of teeth on driver wheel\n", + "T1 = L*1000*2*math.pi/(pN*(1/math.cos(math.radians(alpha1))+G/math.cos(math.radians(alpha2))))\n", + "#Calculating the number of teeth on driven wheel\n", + "T2 = G*T1\n", + "#Calculating the exact centre distance\n", + "#L1 = pN*T1/(2*math.pi)*(1/math.cos(math.radians(alpha1))+G/math.cos(math.radians(alpha2))) \t\t\t#mm\n", + "L1 = pN*T1/(2*math.pi)*((1+G)/math.cos(math.radians(alpha1))) \t\t\t#mm\n", + "#Calculating the efficiency of the drive\n", + "eta = (math.cos(math.radians(alpha2+phi))*math.cos(math.radians(alpha1)))/(math.cos(math.radians(alpha1-phi))*math.cos(math.radians(alpha2)))*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Number of teeth on driver wheel, T1 = %d.\"%(T1+1)\n", + "print \" Number of teeth on driven wheel, T2 = %.f.\"%(T2+1)\n", + "print \" Exact centre distance, L1 = %.1f mm.\"%(L1)\n", + "print \" Efficiency of the drive, eta = %.1f %%.\"%(eta)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on driver wheel, T1 = 32.\n", + " Number of teeth on driven wheel, T2 = 96.\n", + " Exact centre distance, L1 = 400.0 mm.\n", + " Efficiency of the drive, eta = 90.7 %.\n" + ] + } + ], + "prompt_number": 51 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.17 Page No : 423" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "pN = 12.5\n", + "L = 134. \t\t\t#mm\n", + "theta = 80.\n", + "phi = 6. \t\t\t#degrees\n", + "G = 1.25\n", + "\n", + "#Solution:\n", + "#Spiral angle of each wheel:\n", + "#Calculating the spiral angles of wheels 1 and 2\n", + "#We have d2/d1 = (T2*math.cos(alpha1))/(T1*math.cos(alpha2)) or math.cos(alpha1)-G*math.cos(alpha2) = 0 .....(i)\n", + "#Also alpha1+alpha2 = theta or alpha1+alpha2-theta = 0 .....(ii)\n", + "def f(x):\n", + " alpha1 = x[0]\n", + " alpha2 = x[1]\n", + " y = [0,0]\n", + " y[0] = math.cos(alpha1)-G*math.cos(alpha2)\n", + " y[1] = alpha1+alpha2-theta*math.pi/180\n", + " return y\n", + "\n", + "z = fsolve(f,[1,1])\n", + "alpha1 = z[0]*180/math.pi \t\t\t#Spiral angle for slower wheel degrees\n", + "alpha2 = z[1]*180/math.pi \t\t\t#Spiral angle for faster wheel degrees\n", + "#Number of teeth on each wheel:\n", + "#Calculating the diameters of the wheels\n", + "d1 = L\n", + "d2 = d1 \t\t\t#mm\n", + "#Calculating the number of teeth on wheel 1\n", + "T1 = d1*math.pi*math.cos(math.radians(alpha1))/pN\n", + "#Calculating the number of teeth on wheel 2\n", + "T2 = T1/G\n", + "#Calculating the efficiency of the drive\n", + "eta = (math.cos(math.radians(alpha2+phi))*math.cos(math.radians(alpha1)))/(math.cos(math.radians(alpha1-phi))*math.cos(math.radians(alpha2)))*100 \t\t\t#%\n", + "#Calculating the maximum efficiency\n", + "etamax = (math.cos(math.radians(theta+phi))+1)/(math.cos(math.radians(theta-phi))+1)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Spiral angle for slower wheel, alpha1 = %.2f degrees.\"%(alpha1)\n", + "print \" Spiral angle for faster wheel, alpha2 = %.2f degrees.\"%(alpha2)\n", + "print \" Number of teeth on wheel 1, T1 = %.1f.\"%(T1)\n", + "print \" Number of teeth on wheel 2, T2 = %.f.\"%(T2+1)\n", + "print \" Efficiency of the drive, eta = %d %%.\"%(eta+1)\n", + "print \" Maximum efficiency, etamax = %.1f %%.\"%(etamax)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Spiral angle for slower wheel, alpha1 = 32.46 degrees.\n", + " Spiral angle for faster wheel, alpha2 = 47.54 degrees.\n", + " Number of teeth on wheel 1, T1 = 28.4.\n", + " Number of teeth on wheel 2, T2 = 24.\n", + " Efficiency of the drive, eta = 83 %.\n", + " Maximum efficiency, etamax = 83.9 %.\n" + ] + } + ], + "prompt_number": 57 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch13.ipynb b/Theory_Of_Machines/ch13.ipynb new file mode 100755 index 00000000..d6a66198 --- /dev/null +++ b/Theory_Of_Machines/ch13.ipynb @@ -0,0 +1,1411 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:e7234bd223a2d57f8ee3c0d73106a260e10c7534a13d5c3bf25633720527eb77" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 13 : Gear Trains" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.1 Page No : 432" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Variables:\n", + "NA = 975 \t\t\t#rpm\n", + "TA = 20.\n", + "TB = 50.\n", + "TC = 25\n", + "TD = 75\n", + "TE = 26\n", + "TF = 65\n", + "\n", + "#Solution:\n", + "#Calculating the speed of gear F\n", + "NF = NA*(TA*TC*TE)/(TB*TD*TF) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Speed of gear F, NF = %d rpm.\"%(NF)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of gear F, NF = 52 rpm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.2 Page No : 433" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "x = 600.\n", + "pc = 25. \t\t\t#mm\n", + "N1 = 360.\n", + "N2 = 120. \t\t\t#rpm\n", + "#Solution:\n", + "#Calculating the pitch circle diameters of each gear\n", + "#Speed ratio N1/N2 = d2/d1 or N1*d1-N2*d2 = 0 .....(i)\n", + "#Centre distance between the shafts x = 1/2*(d1+d2) or d1+d2 = 600*2 .....(ii)\n", + "A = [[N1, -N2],[ 1, 1]]\n", + "B = [0, 600*2]\n", + "V = linalg.solve(A,B)\n", + "d1 = V[0] \t\t\t#mm\n", + "d2 = V[1] \t\t\t#mm\n", + "#Calculating the number of teeth on the first gear\n", + "T1 = round(math.pi*d1/pc)\n", + "#Calculating the number of teeth on the second gear\n", + "T2 = int(math.pi*d2/pc+1)\n", + "#Calculating the pitch circle diameter of the first gear\n", + "d1dash = T1*pc/math.pi \t\t\t#mm\n", + "#Calculating the pitch circle diameter of the second gear\n", + "d2dash = T2*pc/math.pi \t\t\t#mm\n", + "#Calculating the exact distance between the two shafts\n", + "xdash = (d1dash+d2dash)/2 \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" The number of teeth on the first and second gear must be %d and %d and their pitch\\\n", + " circle diameters must be %.2f mm and %.1f mm respectively.\"%(T1,T2,d1dash,d2dash)\n", + "print \" The exact distance between the two shafts must be %.2f mm.\"%(xdash)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The number of teeth on the first and second gear must be 38 and 114 and their pitch circle diameters must be 302.39 mm and 907.2 mm respectively.\n", + " The exact distance between the two shafts must be 604.79 mm.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.3 Page No : 435" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "rAD = 12. \t\t\t#Speed ratio NA/ND\n", + "mA = 3.125 #mm\n", + "mB = mA #mm\n", + "mC = 2.5 #mm\n", + "mD = mC #mm\n", + "x = 200. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the speed ratio between the gears A and B and C and D \n", + "rAB = math.sqrt(rAD) \t\t\t#Speed ratio between the gears A and B\n", + "rCD = math.sqrt(rAB) \t\t\t#Speed ratio between the gears C and D\n", + "#Calculating the ratio of teeth on gear B to gear A\n", + "rtBA = rAB \t\t\t#Ratio of teeth on gear B to gear A\n", + "#Calculating the ratio of teeth on gear D to gear C\n", + "rtDC = rCD \t\t\t#Ratio of teeth on gear D to gear C\n", + "#Calculating the number of teeth on the gears A and B\n", + "#Distance between the shafts x = mA*TA/2+mB*TB/2 or (mA/2)*TA+(mB/2)*TB = x .....(i)\n", + "#Ratio of teeth on gear B to gear A TB/TA = math.sqrt(12) or math.sqrt(12)*TA-TB = 0 .....(ii)\n", + "A = [[mA/2, mB/2],[math.sqrt(12) ,-1]]\n", + "B = [x, 0]\n", + "V = linalg.solve(A,B)\n", + "TA = int(V[0])\n", + "TB = round(V[1])\n", + "#Calculating the number of teeth on the gears C and D\n", + "#Dismath.tance between the shafts x = mC*TC/2+mD*TD/2 or (mC/2)*TC+(mD/2)*TD = x .....(iii)\n", + "#Ratio of teeth on gear D to gear C TD/TC = math.sqrt(12) or math.sqrt(12)*TC-TD = 0 .....(iv)\n", + "A = [[mC/2, mD/2],[ math.sqrt(12) ,-1]]\n", + "B = [x, 0]\n", + "V = linalg.solve(A,B)\n", + "TC = round(V[0])\n", + "TD = int(V[1])\n", + "\n", + "#Results:\n", + "print \" Number of teeth on gear A, TA = %d.\"%(TA)\n", + "print \" Number of teeth on gear B, TB = %d.\"%(TB)\n", + "print \" Number of teeth on gear C, TC = %d.\"%(TC)\n", + "print \" Number of teeth on gear D, TD = %d.\"%(TD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on gear A, TA = 28.\n", + " Number of teeth on gear B, TB = 99.\n", + " Number of teeth on gear C, TC = 36.\n", + " Number of teeth on gear D, TD = 124.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.4 Page No : 438" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TA = 36.\n", + "TB = 45.\n", + "NC = 150. \t\t\t#rpm anticlockwise\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.7\n", + "#Algebraic method:\n", + "#Calculating the speed of gear B when gear A is fixed\n", + "NA = 0.\n", + "NC = 150. \t\t\t#rpm\n", + "NB1 = (-TA/TB)*(NA-NC)+NC \t\t\t#rpm\n", + "#Calculating the speed of gear B when gear A makes 300 rpm clockwise\n", + "NA = -300. \t\t\t#rpm\n", + "NB2 = (-TA/TB)*(NA-NC)+NC \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Speed of gear B when gear A is fixed, NB = %d rpm.\"%(NB1)\n", + "print \" Speed of gear B when gear A makes 300 rpm clockwise, NB = %d rpm.\"%(NB2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of gear B when gear A is fixed, NB = 270 rpm.\n", + " Speed of gear B when gear A makes 300 rpm clockwise, NB = 510 rpm.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.5 Page No : 440" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TB = 75.\n", + "TC = 30.\n", + "TD = 90.\n", + "NA = 100. \t\t\t#rpm clockwise\n", + "\n", + "#Solution:\n", + "#Refer Table 13.3\n", + "#Calculating the number of teeth on gear E\n", + "TE = TC+TD-TB\n", + "#Calculating the speed of gear C\n", + "y = -100.\n", + "x = y*(TB/TE)\n", + "NC = y-x*(TD/TC) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Speed of gear C, NC = %d rpm, anticlockwise.\"%(NC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of gear C, NC = 400 rpm, anticlockwise.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.6 Page No : 443" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TA = 72.\n", + "TC = 32.\n", + "NEF = 18. \t\t\t#Speed of arm EF rpm\n", + "\n", + "#Solution:\n", + "#Refer Table 13.5\n", + "#Speed of gear C:\n", + "y = 18. \t\t\t#rpm\n", + "x = y*(TA/TC)\n", + "NC = x+y \t\t\t#Speed of gear C rpm\n", + "#Speed of gear B:\n", + "#Calculating the number of teeth on gear B\n", + "TB = (TA-TC)/2\n", + "#Calculating the speed of gear B\n", + "NB = y-x*(TC/TB) \t\t\t#Speed of gear B rpm\n", + "\n", + "#Solution:\n", + "print \" Speed of gear C = %.1f rpm.\"%(NC)\n", + "print \" Speed of gear B = %.1f rpm in the opposite direction of arm.\"%(-NB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of gear C = 58.5 rpm.\n", + " Speed of gear B = 46.8 rpm in the opposite direction of arm.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.7 Page No : 444" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TA = 40.\n", + "TD = 90.\n", + "\n", + "#Solution:\n", + "#Calculating the number of teeth on gears B and C\n", + "#From geometry of the Fig. 13.11 dA+2*dB = dD\n", + "#Since the number of teeth are proportional to their pitch circle diameters\n", + "TB = (TD-TA)/2\n", + "TC = TB\n", + "#Refer Table 13.6\n", + "#Speed of arm when A makes 1 revolution clockwise and D makes half revolution anticlockwise:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table -x-y = -1 or x+y = 1 .....(i)\n", + "#The gear D makes half revolution anticlockwise i.e. x*(TA/TD)-y = 1/2 .....(ii)\n", + "A = [[1, 1],[TA/TD, -1]]\n", + "B = [1, 1./2]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the speed of arm\n", + "varm = -y \t\t\t#Speed of arm revolutions\n", + "\n", + "#Results:\n", + "print \" Speed of arm when A makes 1 revolution clockwise and D makes half revolution\\\n", + " anticlockwise = %.2f revolution anticlockwise.\"%(varm)\n", + "#Speed of arm when A makes 1 revolution clockwise and D is stationary:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table -x-y = -1 or x+y = 1 .....(iii)\n", + "#The gear D is stationary i.e. x*(TA/TD)-y = 0 .....(iv)\n", + "A = [[1, 1],[ TA/TD, -1]]\n", + "B = [1, 0]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the speed of arm\n", + "varm = -y \t\t\t#Speed of arm revolutions\n", + "\n", + "#Results:\n", + "print \" Speed of arm when A makes 1 revolution clockwise and D is stationary = %.3f revolution\\\n", + " clockwise.\"%(-varm)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of arm when A makes 1 revolution clockwise and D makes half revolution anticlockwise = 0.04 revolution anticlockwise.\n", + " Speed of arm when A makes 1 revolution clockwise and D is stationary = 0.308 revolution clockwise.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.8 Page No : 446" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TC = 28.\n", + "TD = 26.\n", + "TE = 18.\n", + "TF = TE\n", + "\n", + "#Solution:\n", + "#The sketch is as in Fig. 13.12\n", + "#Number of teeth on wheels A and B:\n", + "#From geometry dA = dC+2*dE and dB = dD+2*dF\n", + "#Since the number of teeth are proportional to their pitch circle diameters\n", + "TA = TC+2*TE\n", + "TB = TD+2*TF\n", + "#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed:\n", + "#Since the arm G makes 100 rpm clockwise therefore from the fourth row of Table 13.7\n", + "y = -100\n", + "x = -y\n", + "#Calculating the speed of wheel B\n", + "NB1 = y+x*(TA/TC)*(TD/TB) \t\t\t#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed rpm\n", + "#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter clockwise:\n", + "#Since the arm G makes 100 rpm clockwise therefore from the fourth row of Table 13.7\n", + "y = -100\n", + "x = 10-y\n", + "#Calculating the speed of wheel B\n", + "NB2 = y+x*(TA/TC)*(TD/TB) \t\t\t#Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter clockwise rpm\n", + "\n", + "#Solution:\n", + "print \" Number of teeth on wheel A, TA = %d.\"%(TA)\n", + "print \" Number of teeth on wheel B, TB = %d.\"%(TB)\n", + "print \" Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed = %.1f rpm, clockwise.\"%(-NB1)\n", + "print \" Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter\\\n", + " clockwise = %.1f rpm, counter clockwise.\"%(NB2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on wheel A, TA = 64.\n", + " Number of teeth on wheel B, TB = 62.\n", + " Speed of wheel B when arm G makes 100 rpm clockwise and wheel A is fixed = 4.1 rpm, clockwise.\n", + " Speed of wheel B when arm G makes 100 rpm clockwise and wheel A makes 10 rpm counter clockwise = 5.4 rpm, counter clockwise.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.9 Page No : 447" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "dD = 224.\n", + "m = 4. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Table 13.8\n", + "#Calculating the values of x and y\n", + "y = 1.\n", + "x = 5-y\n", + "#Calculating the number of teeth on gear D\n", + "TD = dD/m\n", + "#Calculating the number of teeth on gear B\n", + "TB = y/x*TD\n", + "#Calculating the number of teeth on gear C\n", + "TC = (TD-TB)/2\n", + "\n", + "#Results:\n", + "print \" Number of teeth on gear D, TD = %d.\"%(TD)\n", + "print \" Number of teeth on gear B, TB = %d.\"%(TB)\n", + "print \" Number of teeth on gear C, TC = %d.\"%(TC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on gear D, TD = 56.\n", + " Number of teeth on gear B, TB = 14.\n", + " Number of teeth on gear C, TC = 21.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.10 Page No : 448" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TC = 50.\n", + "TD = 20.\n", + "TE = 35.\n", + "NA = 110. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the number of teeth on internal gear G\n", + "TG = TC+TD+TE\n", + "#Speed of shaft B:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of Table 13.9\n", + "#y-x*(TC/TD)*(TE/TG) = 0 .....(i)\n", + "#Also x+y = 110 or y+x = 110 .....(ii)\n", + "A = [[1, -(TC/TD)*(TE/TG)],[ 1, 1]]\n", + "B = [0, 110]\n", + "V = linalg.solve(A,B)\n", + "x = V[1]\n", + "y = V[0]\n", + "#Calculating the speed of shaft B\n", + "NB = round(+y) \t\t\t#Speed of shaft B rpm\n", + "\n", + "#Results:\n", + "print \" Number of teeth on internal gear G, TG = %d.\"%(TG)\n", + "print \" Speed of shaft B = %d rpm, anticlockwise.\"%(NB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on internal gear G, TG = 105.\n", + " Speed of shaft B = 50 rpm, anticlockwise.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.11 Page No : 450" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TA = 12.\n", + "TB = 30.\n", + "TC = 14.\n", + "NA = 1.\n", + "ND = 5. \t\t\t#rps\n", + "\n", + "#Solution:\n", + "#Number of teeth on wheels D and E:\n", + "#Calculating the number of teeth on wheel E\n", + "TE = TA+2*TB\n", + "#Calculating the number of teeth on wheel E\n", + "TD = TE-(TB-TC)\n", + "#Magnitude and direction of angular velocities of arm OP and wheel E:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of Table 13.10 -x-y = -1 or x+y = 1 .....(i)\n", + "#Also x*(TA/TB)*(TC/TD)-y = 5 .....(ii)\n", + "A = [[1, 1],[(TA/TB)*(TC/TD) ,-1]]\n", + "B = [1, 5]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the angular velocity of arm OP\n", + "omegaOP = -y*2*math.pi \t\t\t#Angular velocity of arm OP rad/s\n", + "#Calculating the angular velocity of wheel E\n", + "omegaE = (x*TA/TE-y)*2*math.pi \t\t\t#Angular velocity of wheel E rad/s\n", + "\n", + "#Results:\n", + "print \" Number of teeth on wheel E, TE = %d.\"%(TE)\n", + "print \" Number of teeth on wheel D, TD = %d.\"%(TD)\n", + "print \" Angular velocity of arm OP = %.3f rad/s, counter clockwise.\"%(omegaOP)\n", + "print \" Angular velocity of wheel E = %.2f rad/s, counter clockwise.\"%(omegaE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on wheel E, TE = 72.\n", + " Number of teeth on wheel D, TD = 56.\n", + " Angular velocity of arm OP = 27.989 rad/s, counter clockwise.\n", + " Angular velocity of wheel E = 33.70 rad/s, counter clockwise.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.12 Page No : 451" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TB = 80.\n", + "TC = 82.\n", + "TD = 28.\n", + "NA = 500. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the number of teeth on wheel E\n", + "TE = TB+TD-TC\n", + "#Calculating the values of x and y\n", + "y = 800.\n", + "x = -y*(TE/TB)*(TC/TD)\n", + "#Calculating the speed of shaft F\n", + "NF = x+y \t\t\t#Speed of shaft F rpm\n", + "\n", + "#Results:\n", + "print \" Speed of shaft F = %d rpm, anticlockwise.\"%(NF)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of shaft F = 38 rpm, anticlockwise.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.13 Page No : 452" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# variables\n", + "\n", + "TA = 100. ; # Gear A teeth\n", + "TC = 101. ; # Gear C teeth\n", + "TD = 99. ; # Gear D teeth\n", + "TP = 20. # Gear planet teeth\n", + "y = 1\n", + "x = 0 - y\n", + "\n", + "# calculations\n", + "NC = y + x * TA/TC\n", + "ND = y + x * TA/TD\n", + "\n", + "# results\n", + "print \"revolutions of gear C : %.4f\"%NC\n", + "print \"revolutions of gear D : %.4f \"%ND\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "revolutions of gear C : 0.0099\n", + "revolutions of gear D : -0.0101 \n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.14 Page No : 453" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "NA = 300. \t\t\t#rpm\n", + "TD = 40.\n", + "TE = 30.\n", + "TF = 50.\n", + "TG = 80.\n", + "TH = 40.\n", + "TK = 20.\n", + "TL = 30.\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.18 and Table 13.13\n", + "#Calculating the speed of wheel E\n", + "NE = NA*(TD/TE) \t\t\t#rpm\n", + "#Calculating the number of teeth on wheel C\n", + "TC = TH+TK+TL\n", + "#Speed and direction of rotation of shaft B:\n", + "#Calculating the values of x and y\n", + "#We have -x-y = -400 or x+y = 400 .....(i)\n", + "#Also x*(TH/TK)*(TL/TC)-y = 0 .....(ii) \n", + "A = [[1, 1],[ (TH/TK)*(TL/TC), -1]]\n", + "B = [400, 0]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the speed of wheel F\n", + "NF = -y \t\t\t#rpm\n", + "#Calculating the speed of shaft B\n", + "NB = -NF*(TF/TG) \t\t\t#Speed of shaft B rpm\n", + "\n", + "#Results:\n", + "print \" Number of teeth on wheel C, TC = %.1f.\"%(TC)\n", + "print \" Speed of shaft B = %.1f rpm, anticlockwise.\"%(NB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on wheel C, TC = 90.0.\n", + " Speed of shaft B = 100.0 rpm, anticlockwise.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.15 Page No : 455" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "T1 = 80.\n", + "T8 = 160.\n", + "T4 = 100.\n", + "T3 = 120.\n", + "T6 = 20.\n", + "T7 = 66.\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.19 and Table 13.14\n", + "#Calculating the number of teeth on wheel 2\n", + "T2 = (T3-T1)/2\n", + "#Calculating the values of x and y\n", + "#Assuming that wheel 1 makes 1 rps anticlockwise x+y = 1 .....(i)\n", + "#Also y-x*(T1/T3) = 0 or x*(T1/T3)-y = 0 .....(ii)\n", + "A = [[1, 1],[ 1, T1/T3]]\n", + "B = [1, 0]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the speed of casing C\n", + "NC = y \t\t\t#Speed of casing C rps\n", + "#Calculating the speed of wheel 2\n", + "N2 = y-x*(T1/T2) \t\t\t#Speed of wheel 2 rps\n", + "#Calculating the number of teeth on wheel 5\n", + "T5 = (T4-T6)/2\n", + "#Calculating the values of x1 and y1\n", + "y1 = -2\n", + "x1 = (y1-0.4)*(T4/T6)\n", + "#Calculating the speed of wheel 6\n", + "N6 = x1+y1 \t\t\t#Speed of wheel 6 rps\n", + "#Calculating the values of x2 and y2\n", + "y2 = 0.4\n", + "x2 = -(14+y2)*(T7/T8)\n", + "#Calculating the speed of wheel 8\n", + "N8 = x2+y2 \t\t\t#Speed of wheel 8 rps\n", + "#Calculating the velocity ratio of the output shaft B to the input shaft A\n", + "vr = N8/1 \t\t\t#Velocity ratio\n", + "\n", + "#Results:\n", + "print \" Velocity ratio of the output shaft B to the input shaft A = %.2f.\"%(vr)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity ratio of the output shaft B to the input shaft A = -5.54.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.16 Page No : 459" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TA = 40.\n", + "TB = 30.\n", + "TC = 50.\n", + "NX = 100.\n", + "NA = NX \t\t\t #rpm\n", + "Narm = 100. \t\t\t#Speed of armrpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.22 and Table 13.18\n", + "#Calculating the values of x and y\n", + "y = +100\n", + "x = -100-y\n", + "#Calculating the speed of the driven shaft\n", + "NY = y-x*(TA/TB) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Speed of the driven shaft, NY = %.1f rpm, anticlockwise.\"%(NY)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the driven shaft, NY = 366.7 rpm, anticlockwise.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.17 Page No : 460" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TB = 20.\n", + "TC = 80.\n", + "TD = 80.\n", + "TE = 30.\n", + "TF = 32.\n", + "NB = 1000. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.23 and Table 13.19\n", + "#Speed of the output shaft when gear C is fixed:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table y-x*(TB/TC) = 0 .....(i) \n", + "#Also x+y = +1000 or y+x = 1000 .....(ii)\n", + "A = [[1, -TB/TC],[ 1, 1]]\n", + "B = [0, 1000]\n", + "V = linalg.solve(A,B)\n", + "x = V[1]\n", + "y = V[0]\n", + "#Calculating the speed of output shaft\n", + "NF1 = y-x*(TB/TD)*(TE/TF) \t\t\t#Speed of the output shaft when gear C is fixed rpm\n", + "#Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of te table y-x*(TB/TC) = +10 .....(iii)\n", + "#Also x+y = +1000 or y+x = 1000 .....(iv)\n", + "A = [[1, -TB/TC],[1, 1]]\n", + "B = [10, 1000]\n", + "V = linalg.solve(A,B)\n", + "x = V[1]\n", + "y = V[0]\n", + "#Calculating the speed of output shaft\n", + "NF2 = y-x*(TB/TD)*(TE/TF) \t\t\t#Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise rpm\n", + "\n", + "#Results:\n", + "print \" Speed of the output shaft when gear C is fixed = %.1f rpm, counter clockwise.\"%(NF1)\n", + "print \" Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise = %.1f rpm, \\\n", + " counter clockwise.\"%(NF2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the output shaft when gear C is fixed = 12.5 rpm, counter clockwise.\n", + " Speed of the output shaft when gear C is rotated at 10 rpm counter clockwise = 22.4 rpm, counter clockwise.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.18 Page No : 461" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "TA = 10.\n", + "TB = 60.\n", + "NA = 1000.\n", + "NQ = 210.\n", + "ND = NQ \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.24 and Table 13.20\n", + "#Calculating the speed of crown gear B\n", + "NB = NA*(TA/TB) \t\t\t#rpm\n", + "#Calculating the values of x and y\n", + "y = 200.\n", + "x = y-210.\n", + "#Calculating the speed of road wheel attached to axle P\n", + "NC = x+y \t\t\t#Speed of road wheel attached to axle P rpm\n", + "\n", + "#Results:\n", + "print \" Speed of road wheel attached to axle P = %d rpm.\"%(NC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of road wheel attached to axle P = 190 rpm.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.19 Page No : 463" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TA = 15.\n", + "TB = 20.\n", + "TC = 15.\n", + "NA = 1000. \t\t\t#rpm\n", + "Tm = 100. \t\t\t#Torque developed by motor N-m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.26 and Table 13.21\n", + "#Calculating the number of teeth on gears E and D\n", + "TE = TA+2*TB\n", + "TD = TE-(TB-TC)\n", + "#Speed of the machine shaft:\n", + "#From the fourth row of the table x+y = 1000 or y+x = 1000 .....(i)\n", + "#Also y-x*(TA/TE) = 0 .....(ii) \n", + "A = [[1, 1],[1, -TA/TE]]\n", + "B = [1000, 0]\n", + "V = linalg.solve(A,B)\n", + "y = round(V[0])\n", + "x = round(V[1])\n", + "#Calculating the speed of machine shaft\n", + "ND = y-x*(TA/TB)*(TC/TD) \t\t\t#rpm\n", + "#Calculating the torque exerted on the machine shaft\n", + "Ts = Tm*NA/ND \t\t\t#Torque exerted on the machine shaft N-m\n", + "\n", + "#Results:\n", + "print \" Speed of machine shaft, ND = %.2f rpm, anticlockwise.\"%(ND)\n", + "print \" Torque exerted on the machine shaft = %.f N-m.\"%(Ts)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of machine shaft, ND = 37.15 rpm, anticlockwise.\n", + " Torque exerted on the machine shaft = 2692 N-m.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.20 Page No : 465" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "Ts = 100 \t\t\t#Torque on the sun wheel N-m\n", + "r = 5 \t\t\t#Ratio of speeds of gear S to C NS/NC\n", + "#Refer Fig. 13.27 and Table 13.22\n", + "#Number of teeth on different wheels:\n", + "#Calculating the values of x and y\n", + "y = 1.\n", + "x = 5-y\n", + "\n", + "#Calculating the number of teeth on wheel E\n", + "TS = 16.\n", + "TE = 4*TS\n", + "#Calculating the number of teeth on wheel P\n", + "TP = (TE-TS)/2\n", + "#Torque necessary to keep the internal gear stationary:\n", + "Tc = Ts*r \t\t\t#Torque on CN-m\n", + "#Caluclating the torque necessary to keep the internal gear stationary\n", + "Ti = Tc-Ts \t\t\t#Torque necessary to keep the internal gear stationary N-m\n", + "\n", + "#Results:\n", + "print \" Number of teeth on different wheels, TE = %d.\"%(TE)\n", + "print \" Torque necessary to keep the internal gear stationary = %d N-m.\"%(Ti)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Number of teeth on different wheels, TE = 64.\n", + " Torque necessary to keep the internal gear stationary = 400 N-m.\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.21 Page No : 466" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "TA = 14.\n", + "TC = 100.\n", + "r = 98./41 \t\t\t#TE/TD\n", + "PA = 1.85*1000 \t\t\t#W\n", + "NA = 1200. \t\t\t#rpm\n", + "TB = 43\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.28 and Table 13.23\n", + "#Calculating the number of teeth on wheel B TB = (TC-TA)/2\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table -y+x*(TA/TC) = 0 or x*(TA/TC)-y = 0 .....(i)\n", + "#Also x-y = 1200 or x+y = -1200 .....(ii)\n", + "A = [[TA/TC, -1],[ 1, 1]]\n", + "B = [0, -1200]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "#Calculating the speed of gear E\n", + "NE = round(-y+x*(TA/TB)*(1./r)) \t\t\t#rpm\n", + "#Fixing torque required at C:\n", + "#Calculating the torque on A\n", + "Ta = PA*60./(2*math.pi*NA) \t\t\t#Torque on A N-m\n", + "#Calculating the torque on E\n", + "Te = PA*60./(2*math.pi*NE) \t\t\t#Torque on E\n", + "#Calculating the fixing torque required at C\n", + "Tc = Te-Ta \t\t\t#Fixing torque at C N-m\n", + "\n", + "#Results:\n", + "print \" Speed and direction of rotation of gear E, NE = %d rpm, anticlockwise.\"%(NE)\n", + "print \" Fixing torque required at C = %.1f N-m.\"%(Tc)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed and direction of rotation of gear E, NE = 4 rpm, anticlockwise.\n", + " Fixing torque required at C = 4401.8 N-m.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.22 Page No : 468" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TB = 15.\n", + "TA = 60.\n", + "TC = 20.\n", + "omegaY = 740.\n", + "omegaA = omegaY \t\t\t#rad/s\n", + "P = 130*1000. \t\t\t#W\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.29 and Table 13.24\n", + "#Calculating the number of teeth on wheel D\n", + "TD = TA-(TC+TB)\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table y-x*(TD/TC)*(TB/TA) = 740 .....(i)\n", + "#Also x+y = 0 or y+x = 0 .....(ii)\n", + "A = [[1, -(TD/TC)*(TB/TA)],[ 1, 1]]\n", + "B = [740, 0]\n", + "V = linalg.solve(A,B)\n", + "x = V[1]\n", + "y = V[0]\n", + "#Calculating the speed of shaft X\n", + "omegaX = y \t\t\t#rad/s\n", + "#Holding torque on wheel D:\n", + "#Calculating the torque on A\n", + "Ta = P/omegaA \t\t\t#Torque on A N-m\n", + "#Calculating the torque on X\n", + "Tx = P/omegaX \t\t\t#Torque on X N-m\n", + "#Calculating the holding torque on wheel D\n", + "Td = Tx-Ta \t\t\t#Holding torque on wheel D N-m\n", + "\n", + "#Results:\n", + "print \" Speed of shaft X, omegaX = %.1f rad/s.\"%(omegaX)\n", + "print \" Holding torque on wheel D = %.1f N-m.\"%(Td)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of shaft X, omegaX = 563.8 rad/s.\n", + " Holding torque on wheel D = 54.9 N-m.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.23 Page No : 469" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TP = 144.\n", + "TQ = 120.\n", + "TR = 120.\n", + "TX = 36.\n", + "TY = 24.\n", + "TZ = 30.\n", + "NI = 1500. \t\t\t#rpm\n", + "P = 7.5*1000 \t\t\t#W\n", + "eta = 0.8\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.30 and Table 13.25\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table x+y = -1500 .....(i) \n", + "#Also y-x*(TZ/TR) = 0 or -x*(TZ/TR)+y = 0 .....(ii)\n", + "A = [[1, 1],[-TZ/TR, 1]]\n", + "B = [-1500, 0]\n", + "V = linalg.solve(A,B)\n", + "x = V[0]\n", + "y = V[1]\n", + "\n", + "#Calculating the values of x1 and y1\n", + "#We have y1-x1*(TY/TQ) = y .....(iii)\n", + "#Also x1+y1 = x+y or y1+x1 = x+y .....(iv)\n", + "A = [[1, -TY/TQ],[ 1, 1]]\n", + "B = [y, x+y]\n", + "V = linalg.solve(A , B)\n", + "x1 = V[1]\n", + "y1 = V[0]\n", + "#Speed and direction of the driven shaft O and the wheel P:\n", + "#Calculating the speed of shaft O\n", + "NO = y1 \t\t\t#rpm\n", + "#Calculating the speed of wheel P\n", + "NP = y1+x1*(TY/TQ)*(TX/TP) \t\t\t#rpm\n", + "#Torque tending to rotate the fixed wheel R:\n", + "#Calculating the torque on shaft I\n", + "T1 = P*60/(2*math.pi*NI) \t\t\t#N-m\n", + "#Calculating the torque on shaft O\n", + "T2 = eta*P*60/(2*math.pi*(-NO)) \t\t\t#N-m\n", + "#Calculating the torque tending to rotate the fixed wheel R\n", + "T = T2-T1 \t\t\t#Torque tending to rotate the fixed wheel R N-m\n", + "\n", + "#Results:\n", + "print \" Speed of the driven shaft O, NO = %d rpm, clockwise.\"%(-NO)\n", + "print \" Speed of the wheel P, NP = %d rpm, clockwise.\"%(-NP)\n", + "print \" Torque tending to rotate the fixed wheel R = %.2f N-m.\"%(T)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the driven shaft O, NO = 500 rpm, clockwise.\n", + " Speed of the wheel P, NP = 550 rpm, clockwise.\n", + " Torque tending to rotate the fixed wheel R = 66.85 N-m.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 13.24 Page No : 471" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "TA = 34.\n", + "TB = 120.\n", + "TC = 150.\n", + "TD = 38.\n", + "TE = 50.\n", + "PX = 7.5*1000 \t\t\t#W\n", + "NX = 500. \t\t\t#rpm\n", + "m = 3.5 \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 13.31 and Table 13.27\n", + "#Output torque of shaft Y:\n", + "#Calculating the values of x and y\n", + "#From the fourth row of the table x+y = 500 or y+x = 500 .....(i)\n", + "#Alsoy-x*(TA/TC) = 0 .....(ii)\n", + "A = [[1, 1],[ 1, -TA/TC]]\n", + "B = [500, 0]\n", + "V = linalg.solve(A, B)\n", + "y = round(V[0],1) \t\t\t#rpm\n", + "x = round(V[1],1) \t\t\t#rpm\n", + "#Calculating the speed of output shaft Y\n", + "NY = y-x*(TA/TB)*(TD/TE) \t\t\t#rpm\n", + "#Calculating the speed of wheel E\n", + "NE = NY \t\t\t#rpm\n", + "#Calculating the input power assuming 100 per cent efficiency\n", + "PY = PX \t\t\t#W\n", + "#Calculating the output torque of shaft Y\n", + "Ty = PY*60/(2*math.pi*NY*1000) \t\t\t#Output torque on shaft Y kN-m\n", + "#Tangential force between wheels D and E:\n", + "#Calculating the pitch circle radius of wheel E\n", + "rE = m*TE/(2*1000) \t\t\t#m\n", + "#Calculating the tangential force between wheels D and E\n", + "FtDE = Ty/rE \t\t\t#Tangential force between wheels D and E kN\n", + "#Tangential force between wheels B and C:\n", + "#Calculating the input torque on shaft X\n", + "Tx = PX*60/(2*math.pi*NX) \t\t\t#Input torque on shaft X N-m\n", + "#Calculating the fixing torque on the fixed wheel C\n", + "Tf = Ty-Tx/1000 \t\t\t#Fixing torque on the fixed wheelC kN-m\n", + "#Calculating the pitch circle radius of wheel C\n", + "rC = m*TC/(2*1000) \t\t\t#m\n", + "#Calculating the tangential forces between wheels B and C\n", + "FtBC = Tf/rC \t\t\t#kN\n", + "\n", + "#Results:\n", + "print \" Output torque of shaft Y = %.3f kN-m.\"%(Ty)\n", + "print \" Tangential force between wheels D and E = %.1f kN.\"%(FtDE)\n", + "print \" Tangential force between wheels B and C = %.f kN.\"%(FtBC)\n", + "\n", + "# note : answers are slightly different because of solve function and rounding off errors." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Output torque of shaft Y = 15.468 kN-m.\n", + " Tangential force between wheels D and E = 176.8 kN.\n", + " Tangential force between wheels B and C = 58 kN.\n" + ] + } + ], + "prompt_number": 6 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch14.ipynb b/Theory_Of_Machines/ch14.ipynb new file mode 100755 index 00000000..90379bfd --- /dev/null +++ b/Theory_Of_Machines/ch14.ipynb @@ -0,0 +1,1036 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:6f6f9834675f8099d2eeff645403e77a31c86a5aa089d3f5df9c6f15fe0a122e" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 14 : Gyroscopic Couple and Precessional Motion" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.1 Page No : 484" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 300./1000\n", + "r = d/2\n", + "l = 600./1000 \t\t\t#m\n", + "m = 5. \t\t\t#kg\n", + "N = 300. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the disc\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the disc\n", + "#about an axis through its centre of gravity and perpendicular to the plane of the disc\n", + "I = m*r**2/2 \t\t\t#kg-m**2\n", + "#Calculating the couple due to mass of disc\n", + "C = m*9.81*l \t\t\t#N-m\n", + "#Calculating the speed of precession\n", + "omegaP = C/(I*omega) \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" Speed of precession, omegaP = %.1f rad/s.\"%(omegaP)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of precession, omegaP = 16.7 rad/s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.2 Page No : 485" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 150./1000\n", + "r = d/2\n", + "x = 100./1000 \t\t\t#m\n", + "m = 5. \t\t\t #kg\n", + "N = 1000.\n", + "NP = 60. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the disc\n", + "omega = round(2*math.pi*N/60,1) \t\t\t#rad/s\n", + "#Calculating the speed of precession of the axle\n", + "omegaP = round(2*math.pi*NP/60,3) \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the disc\n", + "# about an axis through its centre of gravity and perpendicular to the plane of disc\n", + "I = round(m*r**2/2,3) \t\t\t#kg-m**2\n", + "#Calculating the gyroscopic couple acting on the disc\n", + "C = round(I*omega*omegaP,1) \t\t\t#N-m\n", + "#Calculating the force at each bearing due to the gyroscopic couple\n", + "F = C/x \t\t\t#N\n", + "#Calculating the reactions at the bearings A and B\n", + "RA = m/2*9.81 \t\t\t#N\n", + "RB = round(RA,1) \t\t\t#N\n", + "#Resulmath.tant reaction at each bearing:\n", + "#Calculating the resultant reaction at the bearing A\n", + "RA1 = F+RA \t\t\t#N\n", + "#Calculating the resultant reaction at the bearing B\n", + "RB1 = F-RB \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Resultant reaction at the bearing A RA1 = %.1f N upwards.\"%(RA1)\n", + "print \" Resultant reaction at the bearing B RB1 = %.1f N downwards.\"%( RB1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Resultant reaction at the bearing A RA1 = 116.5 N upwards.\n", + " Resultant reaction at the bearing B RB1 = 67.5 N downwards.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.3 Page No : 487" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "R = 50.\n", + "k = 0.3 \t\t\t#m\n", + "v = 200.*1000/3600 \t\t\t#m/s\n", + "m = 400. \t\t\t#kg\n", + "N = 2400. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the engine\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the engine and the propeller\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of precession\n", + "omegaP = v/R \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple acting on the aircraft\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple acting on the aircraft, C = %.3f kN-m.\"%(C)\n", + "print \" The effect of the gyroscopic couple is to lift the nose upwards and tail downwards.\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple acting on the aircraft, C = 10.053 kN-m.\n", + " The effect of the gyroscopic couple is to lift the nose upwards and tail downwards.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.4 Page No : 491" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 8.*1000 \t\t\t#kg\n", + "k = 0.6\n", + "R = 75. \t\t\t#m\n", + "N = 1800. \t\t\t#rpm\n", + "v = 100.*1000/3600 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = round(2*math.pi*N/60,1) \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of precession\n", + "omegaP = round(v/R,2) \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple, C = %.3f kN-m.\"%(C)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple, C = 200.866 kN-m.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.5 Page No : 491" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 1500. \t\t\t#rpm\n", + "m = 750. \t\t\t#kg\n", + "omegaP = 1. \t\t\t#rad/s\n", + "k = 250./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the gyroscopic couple transmitted to the hull\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple transmitted to the hull, C = %.3f kN-m.\"%(C)\n", + "print \" When the pitching is upward, the relative gyroscopic couple acts in the clockwise direction.\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple transmitted to the hull, C = 7.363 kN-m.\n", + " When the pitching is upward, the relative gyroscopic couple acts in the clockwise direction.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.6 Page No : 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 3500. \t\t\t#kg\n", + "k = 0.45 \t\t\t#m\n", + "N = 3000. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#When the ship is steering to the left:\n", + "R = 100. \t\t\t#m\n", + "v = 36.*1000/3600 \t\t\t#m/s\n", + "\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of precession\n", + "omegaP = v/R \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple when the ship is steering to the left. C = %.2f kN-m.\"%(C)\n", + "print \" When the rotor rotates clockwise and the ship takes a left turn.\\\n", + " the effect of the reactive gyroscopic couple is to raise the bow and lower the stern.\"\n", + "#When the ship is pitching with the bow falling:\n", + "tp = 40. \t\t\t#s\n", + "#Calculating the amplitude of swing\n", + "phi = 12./2*math.pi/180 \t\t\t#rad\n", + "#Calculating the angular velocity of the simple harmonic motion\n", + "omega1 = 2*math.pi/tp \t\t\t#rad/s\n", + "#Calculating the maximum angular velocity of precession\n", + "omegaP = phi*omega1 \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple when the ship is pitching with the bow falling, C = %.3f kN-m.\"%(C)\n", + "print \" When the bow is falling, the effect of the reactive gyroscopic couple is to move\\\n", + " the ship towards port side.\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple when the ship is steering to the left. C = 22.27 kN-m.\n", + " When the rotor rotates clockwise and the ship takes a left turn. the effect of the reactive gyroscopic couple is to raise the bow and lower the stern.\n", + " Gyroscopic couple when the ship is pitching with the bow falling, C = 3.663 kN-m.\n", + " When the bow is falling, the effect of the reactive gyroscopic couple is to move the ship towards port side.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.7 Page No : 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 20.*1000 \t\t\t#kg\n", + "k = 0.6 \t\t\t#m\n", + "N = 2000. \t\t\t#rpm\n", + "phi = 6.*math.pi/180 \t\t\t#rad\n", + "tp = 30. \t\t\t#s\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Maximum gyroscopic couple:\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of the simple harmonic motion\n", + "omega1 = 2*math.pi/tp \t\t\t#rad/s\n", + "#Calculating the maximum angular velocity of precession\n", + "omegaPmax = phi*omega1 \t\t\t#rad/s\n", + "#Calculating the maximum gyroscopic couple\n", + "Cmax = I*omega*omegaPmax/1000 \t\t\t#kN-m\n", + "#Calculating the maximum angular acceleration during pitching\n", + "alphamax = phi*omega1**2 \t\t\t#Maximum angular acceleration during pitching rad/s**2\n", + "\n", + "#Results:\n", + "print \" Maximum gyroscopic couple, Cmax = %.3f kN-m.\"%(Cmax)\n", + "print \" Maximum angular acceleration during pitching = %.4f rad/s**2.\"%(alphamax)\n", + "print \" When the rotation of the rotor is clockwise when looking from the left and when\\\n", + " the bow is rising, then the reactive gyroscopic couple acts in the direction which\\\n", + " tends to turn the bow towrds right.\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum gyroscopic couple, Cmax = 33.073 kN-m.\n", + " Maximum angular acceleration during pitching = 0.0046 rad/s**2.\n", + " When the rotation of the rotor is clockwise when looking from the left and when the bow is rising, then the reactive gyroscopic couple acts in the direction which tends to turn the bow towrds right.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.8 Page No : 493" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 5.*1000 \t\t\t#kg\n", + "N = 1000. \t\t\t#rpm\n", + "k = 0.5 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = 2.*math.pi*2100/60 \t\t\t#rad/s\n", + "#When the ship steers to the left:\n", + "v = 30.*1000/3600 \t\t\t#m/s\n", + "R = 60. \t\t\t#m\n", + "#Calculating the angular velocity of precession\n", + "omegaP = round(v/R,2) \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" C = %.1f k N-m\"%C\n", + "\n", + "#When the ship pitches with the bow descending:\n", + "phi = round(6*math.pi/180,3) \t\t\t#rad\n", + "tp = 20. \t\t\t#s\n", + "#Calculating the angular velocity of simple harmonic motion\n", + "omega1 = round(2*math.pi/tp,4) \t\t\t#rad/s\n", + "#Calculating the maximum velocity of precession\n", + "omegaPmax = round(phi*omega1,3) \t\t\t#rad/s\n", + "#Calculating the maximum gyroscopic couple\n", + "Cmax = I*omega*omegaPmax \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" Cmax = %.f N-m\"%Cmax\n", + "#When the ship rolls:\n", + "omegaP = 0.03 \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" C = %.2f N-m\"%(round(C,-1))\n", + "#Calculating the maximum angular acceleration during pitching\n", + "alphamax = phi*omega1**2 \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Maximum angular acceleration during pitching, alphamax = %.2f rad/s**2.\"%(alphamax)\n", + "\n", + "# rounding off error. please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " C = 38.5 k N-m\n", + " Cmax = 9071 N-m\n", + " C = 8250.00 N-m\n", + " Maximum angular acceleration during pitching, alphamax = 0.01 rad/s**2.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.9 Page No : 494" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 2000. \t\t\t#kg\n", + "N = 3000. \t\t\t#rpm\n", + "k = 0.5\n", + "R = 100. \t\t\t#m\n", + "v = 16.1*1855/3600 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the rotor\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Gyroscopic couple:\n", + "#Calculating the mass moment of inertia of the rotor\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of precession\n", + "omegaP = v/R \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = I*omega*omegaP/1000 \t\t\t#kN-m\n", + "#Torque during pitching:\n", + "tp = 50. \t\t\t#s\n", + "phi = 12./2*math.pi/180 \t\t\t#rad\n", + "#Calculating the angular velocity of simple harmonic motion\n", + "omega1 = 2*math.pi/tp \t\t\t#rad/s\n", + "#Calculating the maximum angular velocity of precession\n", + "omegaPmax = phi*omega1 \t\t\t#rad/s\n", + "#Calculating the maximum gyroscopic couple during pitching\n", + "Cmax = I*omega*omegaPmax \t\t\t#N-m\n", + "#Calculating the maximum acceleration during pitching\n", + "alphamax = phi*omega1**2 \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Torque during pitching, Cmax = %d N-m.\"%(Cmax)\n", + "print \" Maximum acceleration during pitching, alphamax = %.5f rad/s**2.\"%(alphamax)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Torque during pitching, Cmax = 2067 N-m.\n", + " Maximum acceleration during pitching, alphamax = 0.00165 rad/s**2.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.10 Page No : 497" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 2500. \t\t\t#kg\n", + "x = 1.5\n", + "R = 30.\n", + "dW = 0.75\n", + "rW = dW/2\n", + "h = 0.9 \t\t\t#m\n", + "v = 24.*1000/3600 \t\t\t#m/s\n", + "G = 5.\n", + "IW = 18.\n", + "IE = 12. \t\t\t#kg-m**2\n", + "\n", + "#Solution:\n", + "#Calculating the road reaction on each wheel\n", + "r = m*9.81/4 \t\t\t#Road reaction on each wheel N\n", + "#Calculating the angular velocity o the wheels\n", + "omegaW = round(v/rW,1) \t\t\t#rad/s\n", + "#Calculating the angular velocity of precession\n", + "omegaP = round(v/R,2) \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple due to one pair of wheels and axle\n", + "CW = round(2*IW*omegaW*omegaP) \t\t\t#N-m\n", + "#Calculating the gyroscopic couple due to the rotating parts of the motor and gears\n", + "CE = round(2*IE*G*omegaW*omegaP) \t\t\t#N-m\n", + "#Calculating the net gyroscopic couple\n", + "C = CW-CE \t\t\t#N-m\n", + "#Calculating the reaction due to gyroscopic couple at each of the outer or inner wheels\n", + "P = round((-C)/(2*x),1) \t\t\t#N\n", + "#Calculating the centrifugal force\n", + "FC = round(m*v**2/R,1) \t\t\t#N\n", + "#Calculating the overturning couple\n", + "CO = FC*h \t\t\t#N-m\n", + "#Calculating the reaction due to overturning couple at each of the outer and inner wheels\n", + "Q = 2*CO/(2*x) \t\t\t#N\n", + "#Calculating the vertical force exerted on each outer wheel\n", + "PO = m*9.81/4-P/2+Q/2 \t\t\t#N\n", + "#Calculating the vertical force exerted on each inner wheel\n", + "PI = m*9.81/4+P/2-Q/2 \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Vertical force exerted on each outer wheel, PO = %.2f N.\"%(PO)\n", + "print \" Vertical force exerted on each inner wheel, PI = %.2f N.\"%(PI)\n", + "\n", + "# note : value of Fc is calculated wrongly. please check using calculator. so answers are different." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Vertical force exerted on each outer wheel, PO = 7187.51 N.\n", + " Vertical force exerted on each inner wheel, PI = 5074.99 N.\n" + ] + } + ], + "prompt_number": 41 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.11 pageno : 498" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "R = 100 #m \n", + "IW = 2.5 # kg-m 2 \n", + "dW = 0.6 #m \n", + "rW = 0.3 #m \n", + "IE = 1.2 #kg-m 2 ;\n", + "G = 3. \n", + "m = 1600. # kg \n", + "h = 0.5 #m ; \n", + "x = 1.5 #m\n", + "v = 1.\n", + "\n", + "# calculations\n", + "road_reaction = m*9.81/4 #N\n", + "wW = v / rW\n", + "wP = v/R\n", + "cW = 4 * IW*wW*wP\n", + "cE = IE*G*wW*wP\n", + "C = cW + cE\n", + "Pby2 = C/(2*x)\n", + "Fc = m*v**2/R\n", + "Co = Fc * h\n", + "Qby2 = Co/(2*x)\n", + "v_2 = road_reaction/(Pby2 + Qby2)\n", + "v = math.sqrt(v_2)\n", + "ans = v*3600./1000\n", + "\n", + "# result\n", + "print \"V <= %.1f m/s = %.1f * 3600 /1000 = %.2f km/h\"%(v,v,ans)\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "V <= 37.3 m/s = 37.3 * 3600 /1000 = 134.34 km/h\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.12 Page No : 500" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 2000. #kg\n", + "mE = 75. \t\t\t#kg\n", + "b = 2.5 #m\n", + "x = 1.5 #m\n", + "h = 500./1000 #m\n", + "L = 1. #m\n", + "dW = 0.8 #m\n", + "rW = round(dW/2,1) #m\n", + "kE = 100./1000 #m\n", + "R = 60. \t\t\t#m\n", + "IW = 0.8 \t\t\t#kg-m**2\n", + "G = 4.\n", + "v = round(60.*1000/3600,2) \t#m/s\n", + "\n", + "#Solution:\n", + "#Refer Fig. 14.12\n", + "#Calculating the weight on the rear wheels\n", + "W2 = (m*9.81*1)/b \t\t\t#N\n", + "#Calculating the weight on the front wheels\n", + "W1 = m*9.81-W2 \t\t\t#N\n", + "#Calculating the weight on each of the front wheels\n", + "Wf = W1/2 \t\t\t#Weight on each of the front wheels N\n", + "#Calculating the weight on each of the rear wheels\n", + "Wr = W2/2 \t\t\t#Weight on each of the rear wheels N\n", + "#Calculating the angular velocity of wheels\n", + "omegaW = v/rW \t\t\t#rad/s\n", + "#Calculating the angular velocity of precession\n", + "omegaP = round(v/R,3) \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple due to four wheels\n", + "CW = round(4*IW*omegaW*omegaP,1) \t\t\t#N-m\n", + "#Calculating the magnitude of reaction due to gyroscopic couple due to four wheels at each of the inner or outer wheel\n", + "P = round((CW/(2*x)),2) \t\t\t#N\n", + "#Calculating the mass moment of inertia of rotating parts of the engine\n", + "IE = mE*(kE)**2 \t\t\t#kg-m**2\n", + "#Calculating the gyroscopic couple due to rotating parts of the engine\n", + "CE = round(IE*(kE)**2*G*omegaW*omegaP*100,1)\t\t\t#N-m\n", + "#Calculating the magnitude of reaction due to gyroscopic couple due to rotating parts of the engine at each of the inner or outer wheel\n", + "F = (CE/(2*b)) \t\t\t#N\n", + "#Calculating the centrifugal force\n", + "FC = round(m*v**2/R) \t\t\t#N\n", + "#Calculating the centrifugal couple tending to overturn the car\n", + "CO = FC*h \t\t\t#N-m\n", + "#Calculating the magnitude of reaction due to overturning couple at each of the inner or outer wheel\n", + "Q = round((CO/(2*x)),2) \t\t\t#N\n", + "#Calculating the load on front wheel 1\n", + "Fw1 = (W1/2)-(P/2)-(F/2)-(Q/2) \t\t\t#Load on front wheel 1 N\n", + "#Calculating the load on front wheel 2\n", + "Fw2 = W1/2+P/2-F/2+Q/2 \t\t\t#Load on front wheel 2 N\n", + "#Calculating the load on rear wheel 3\n", + "Rw3 = W2/2-P/2+F/2-Q/2 \t\t\t#Load on rear wheel 3 N\n", + "#Calculating the load on rear wheel 4\n", + "Rw4 = W2/2+P/2+F/2+Q/2 \t\t\t#Load on rear wheel 4 N\n", + "\n", + "#Results:\n", + "print \" Load on front wheel 1 = %.2f N.\"%(Fw1)\n", + "print \" Load on front wheel 2 = %.2f N.\"%(Fw2)\n", + "print \" Load on rear wheel 3 = %.2f N.\"%(Rw3)\n", + "print \" Load on rear wheel 4 = %.2f N.\"%(Rw4)\n", + "\n", + "# note : incorrect answers in the textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Load on front wheel 1 = 5104.42 N.\n", + " Load on front wheel 2 = 6660.62 N.\n", + " Load on rear wheel 3 = 3149.38 N.\n", + " Load on rear wheel 4 = 4705.58 N.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.13 Page No : 502" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 2000. #kg\n", + "mI = 200. \t\t#kg\n", + "x = 1.6 #m\n", + "R = 30. #m\n", + "dW = 0.7 #m\n", + "rW = dW/2 #m\n", + "k = 0.3 #m\n", + "h = 1. \t\t\t#m\n", + "v = 54.*1000/3600 \t\t\t#m/s\n", + "theta = 8. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 14.13\n", + "#Calculating the reactions at the wheels:\n", + "#Taking moments about B\n", + "RA = (m*9.81*math.cos(math.radians(theta))+m*v**2/R*math.sin(math.radians(theta)))*1/2+(m*9.81*math.sin(math.radians(theta)) \\\n", + " -m*v**2/R*math.cos(math.radians(theta)))*h/x \t\t\t#N\n", + "#Resolving the forces perpendicular to the track\n", + "RB = (m*9.81*math.cos(math.radians(theta))+m*v**2/R*math.sin(math.radians(theta)))-RA \t\t\t#N\n", + "#Calculating the angular velocity of wheels\n", + "omegaW = v/rW \t\t\t#rad/s\n", + "#Calculating the angular velocity of precession\n", + "omegaP = v/R \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple\n", + "C = mI*k**2*omegaW*math.cos(math.radians(theta))*omegaP \t\t\t#N-m\n", + "#Calculating the force at each pair of wheels due to the gyroscopic couple\n", + "P = C/x \t\t\t#N\n", + "#Calculating the pressure on the inner rail\n", + "PI = RA-P \t\t\t#N\n", + "#Calculating the pressure o the outer rail\n", + "PO = RB+P \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Pressure on the inner rail, PI = %.2f N.\"%(PI)\n", + "print \" Pressure on the outer rail, PO = %.2f N.\"%(PO)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Pressure on the inner rail, PI = 2942.45 N.\n", + " Pressure on the outer rail, PO = 18574.21 N.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.14 Page No : 503" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "I = 180. \t\t\t#kg-m**2\n", + "D = 1.8 #m\n", + "R = D/2 #m\n", + "x = 1.5 \t\t\t#m\n", + "v = 95.*1000/3600 \t#m/s\n", + "t = 0.1 \t\t\t#s\n", + "\n", + "#Solution:\n", + "#Gyroscopic couple set up:\n", + "#Calculating the angular velocity of the locomotive\n", + "omega = v/R \t\t\t#rad/s\n", + "#Calculating the amplitude\n", + "A = 1./2*6 \t\t\t#mm\n", + "#Calculating the maximum velocity while falling\n", + "vmax = 2*math.pi/t*A/1000 \t\t\t#m/s\n", + "#Calculating the maximum angular velocity of tilt of the axle or angular velocity of precession\n", + "omegaPmax = vmax/x \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple set up\n", + "C = I*omega*omegaPmax \t\t\t#N-m\n", + "#Calculating the reaction between the wheel and rail due to the gyroscopic couple\n", + "P = C/x \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple set up, C = %.1f N-m.\"%(C)\n", + "print \" Reaction between the wheel and rail due to the gyroscopic couple, P = %d N.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple set up, C = 663.2 N-m.\n", + " Reaction between the wheel and rail due to the gyroscopic couple, P = 442 N.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.15 Page No : 506" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 250. \t\t\t#kg\n", + "IE = 0.3 #kg-m**2\n", + "IW = 1. \t\t\t#kg-m**2\n", + "G = 5.\n", + "h = 0.6 #m\n", + "rW = 300./1000 #m\n", + "R = 50. \t\t\t#m\n", + "v = 90.*1000/3600 \t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the angle of inclination with respect to the vertical of a two wheeler\n", + "#Equating total overturning couple to balancing couple\n", + "tantheta = math.atan(1/(m*9.81*h))*((v**2/(R*rW)*(2*IW+G*IE))+(m*v**2/R*h)) \t\t\t#degrees\n", + "theta = math.degrees(math.atan(tantheta))\n", + "\n", + "#Results:\n", + "print \" Angle of inclination with respect to the vertical of a two wheeler, tan theta = %.2f .\"%(theta)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Angle of inclination with respect to the vertical of a two wheeler, tan theta = 53.94 .\n" + ] + } + ], + "prompt_number": 62 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.16 Page No : 507" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m1 = 0.5 #kg\n", + "m2 = 0.3 \t\t\t#kg\n", + "k = 20./1000 #m\n", + "OG = 10./1000 #m\n", + "h = OG #m\n", + "R = 50. \t\t\t#m\n", + "N = 3000. \t\t\t#rpm\n", + "v = 15. \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Refer Fig. 14.15 and Fig. 14.16\n", + "#Calculating the angular speed of the wheel\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the gyrowheel\n", + "I = m1*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of precession\n", + "omegaP = v/R \t\t\t#rad/s\n", + "#When the vehicle moves in the direction of arrow X taking a left turn along the curve:\n", + "#Calculating the angle of inclination of the gyrowheel from the vertical\n", + "#Equating the overturning couple to the balancing couple for equilibrium condition\n", + "tantheta1 = (1/(m2*9.81*h))*(I*omega*omegaP-m2*v**2/R*h) \t\t\t#degrees\n", + "theta1 = math.degrees(math.atan(tantheta1))\n", + "#When the vehicle reverses at the same speed in the direction of arrow Y along the same path:\n", + "#Calculating the angle of inclination of the gyrowheel from the vertical\n", + "#Equating the overturning couple to the balancing couple for equilibrium condition\n", + "tantheta2 = round((1/(m2*9.81*h))*(I*omega*omegaP+m2*v**2/R*h),1) \t\t\t#degrees\n", + "theta2 = math.degrees(math.atan(tantheta2))\n", + "\n", + "#Results:\n", + "print \" Angle of inclination of the gyrowheel from the vertical when the vehicle moves\\\n", + " in the direction of arrow X taking a left turn along the curve, theta = %.2f degrees.\"%(theta1)\n", + "print \" Angle of inclination of the gyrowheel from the vertical when the vehicle reverses \\\n", + "at the same speed in the direction of arrow Y along the same path, theta = %.f degrees.\"%(theta2)\n", + "\n", + "# rounding error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Angle of inclination of the gyrowheel from the vertical when the vehicle moves in the direction of arrow X taking a left turn along the curve, theta = 10.30 degrees.\n", + " Angle of inclination of the gyrowheel from the vertical when the vehicle reverses at the same speed in the direction of arrow Y along the same path, theta = 48 degrees.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 14.17 Page No : 510" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables: \n", + "d = 0.6 #m\n", + "r = d/2 \t\t\t#m\n", + "m = 30. \t\t\t#kg\n", + "theta = 1. \t\t\t#degree\n", + "N = 1200. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the shaft\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the gyroscopic couple acting on the bearings\n", + "C = round(m/8*omega**2*r**2*math.sin(math.radians(2*theta))) \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" Gyroscopic couple acting on the bearings, C = %d N-m.\"%(C)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Gyroscopic couple acting on the bearings, C = 186 N-m.\n" + ] + } + ], + "prompt_number": 25 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch15.ipynb b/Theory_Of_Machines/ch15.ipynb new file mode 100755 index 00000000..05026c42 --- /dev/null +++ b/Theory_Of_Machines/ch15.ipynb @@ -0,0 +1,1526 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:13844e2491f60bc4c521c5dd5ea680eaf26c07059f7a5c77baf4e368f712f152" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 15 : Inertia Forces in Reciprocating Parts" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.1 Page No : 521" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "OC = 200./1000 #m\n", + "PC = 700./1000 \t\t\t#m\n", + "omega = 120. \t\t\t#rad/s\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.5\n", + "OM = 127./1000\n", + "CM = 173./1000\n", + "QN = 93./1000\n", + "NO = 200./1000 \t\t\t#m\n", + "\n", + "#Velocity and acceleration of the piston:\n", + "#Calculating the velocity of the piston P\n", + "vP = omega*OM \t\t\t#m/s\n", + "#Calculating the acceleration of the piston P\n", + "aP = omega**2*NO \t\t\t#m/s**2\n", + "#Velocity and acceleration of the mid-point of the connecting rod:\n", + "#By measurement\n", + "OD1 = 140./1000\n", + "OD2 = 193./1000 \t\t\t#m\n", + "#Calculating the velocity of D\n", + "vD = omega*OD1 \t\t\t#m/s\n", + "#Calculating the acceleration of D\n", + "aD = omega**2*OD2 \t\t\t#m/s**2\n", + "#Angular velocity and angular acceleration of the connecting rod:\n", + "#Calculating the velocity of the connecting rod PC\n", + "vPC = omega*CM \t\t\t#m/s\n", + "#Calculating the angular velocity of the connecting rod PC\n", + "omegaPC = vPC/PC \t\t\t#rad/s\n", + "#Calculating the math.tangential component of the acceleration of P with respect to C\n", + "atPC = omega**2*QN \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the connecting rod PC\n", + "alphaPC = atPC/PC \t\t\t#ra/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the piston P, vP = %.2f m/s.\"%(vP)\n", + "print \" Acceleration of the piston P, aP = %d m/s**2.\"%( aP)\n", + "print \" Velocity of D, vD = %.1f m/s.\"%(vD)\n", + "print \" Acceleration of D, aD = %.1f m/s**2.\"%(aD)\n", + "print \" Angular velocity of the connecting rod PC, omegaPC = %.2f rad/s.\"%(omegaPC)\n", + "print \" Angular acceleration of the connecting rod PC alphaPC = %.2f rad/s**2.\"%(alphaPC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the piston P, vP = 15.24 m/s.\n", + " Acceleration of the piston P, aP = 2880 m/s**2.\n", + " Velocity of D, vD = 16.8 m/s.\n", + " Acceleration of D, aD = 2779.2 m/s**2.\n", + " Angular velocity of the connecting rod PC, omegaPC = 29.66 rad/s.\n", + " Angular acceleration of the connecting rod PC alphaPC = 1913.14 rad/s**2.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.2 Page No : 522" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "OC = 150./1000 #m\n", + "PC = 600./1000 #m\n", + "CD = 150./1000 \t\t#m\n", + "N = 450. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.6\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#By measurement\n", + "OM = 145./1000\n", + "CM = 78./1000\n", + "QN = 130./1000\n", + "NO = 56./1000 \t\t\t#m\n", + "\n", + "#Velocity and acceleration of alider:\n", + "#Calculating the velocity of the slider P\n", + "vP = omega*OM \t\t\t#m/s\n", + "#Calculating the acceleration of the slider P\n", + "aP = omega**2*NO \t\t\t#m/s**2\n", + "#Velocity and acceleration of point D on the connecting rod:\n", + "#Calculating the length od CD1\n", + "CD1 = CD/PC*CM \t\t\t#m\n", + "#By measurement\n", + "OD1 = 145./1000\n", + "OD2 = 120./1000 \t\t\t#m\n", + "\n", + "#Calculating the velocity of point D\n", + "vD = omega*OD1 \t\t\t#m/s\n", + "#Calculating the acceleration of point D\n", + "aD = omega**2*OD2 \t\t\t#m/s**2\n", + "#Angular velocity and angular acceleration of the connecting rod:\n", + "#Calculating the velocity of the connecting rod PC\n", + "vPC = omega*CM \t\t\t#m/s\n", + "#Calculating the angular velocity of the connecting rod\n", + "omegaPC = vPC/PC \t\t\t#rad/s\n", + "#Calculating the tangential component of the acceleration of P with respect to C\n", + "atPC = omega**2*QN \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the connecting rod PC\n", + "alphaPC = atPC/PC \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the slider P vP = %.3f m/s.\"%(vP)\n", + "print \" Acceleration of the slider P aP = %.1f m/s**2.\"%(aP)\n", + "print \" Velocity of point D vD = %.3f m/s.\"%(vD)\n", + "print \" Acceleration of point D aD = %.2f m/s**2.\"%(aD)\n", + "print \" Angular velocity of the connecting rod omegaPC = %.3f rad/s.\"%(omegaPC)\n", + "print \" Angular acceleration of the connecting rod PC alphaPC = %.2f rad/s**2.\"%(alphaPC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the slider P vP = 6.833 m/s.\n", + " Acceleration of the slider P aP = 124.4 m/s**2.\n", + " Velocity of point D vD = 6.833 m/s.\n", + " Acceleration of point D aD = 266.48 m/s**2.\n", + " Angular velocity of the connecting rod omegaPC = 6.126 rad/s.\n", + " Angular acceleration of the connecting rod PC alphaPC = 481.14 rad/s**2.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.3 Page No : 527" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "r = 300./1000\n", + "l = 1. \t\t\t#m\n", + "N = 200. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Crank angle at which the maximum velocity occurs:\n", + "#Calculating the ratio of length of connecting rod to crank radius\n", + "n = l/r\n", + "#Velocity of the piston vP = omega*r*(math.sin(math.radians(theta)+math.sin(math.radians(2*theta)/(2*n)) .....(i)\n", + "#For maximum velocity d(vP)/d(theta) = 0 .....(ii)\n", + "#Substituting (i) in (ii) we get 2(math.cos(theta))**2+n*math.cos(theta)-1 = 0\n", + "a = 2.\n", + "b = n\n", + "c = -1.\n", + "costheta = (-b+math.sqrt(b**2-4*a*c))/(2*a)\n", + "#Calculating the crank angle from the inner dead centre at which the maximum velocity occurs\n", + "theta = round(math.degrees(math.acos(costheta))) \t\t\t#degrees\n", + "#Calculating the maximum velocity of the piston:\n", + "vPmax = omega*r*(math.sin(math.radians(theta))+math.sin(math.radians(2*theta))/(2*n)) \t\t\t#m/s\n", + "#Results:\n", + "print \" Crank angle from the inner dead centre at which the maximum velocity occurs theta = %.2f degrees.\"%(theta)\n", + "print \" Maximum velocity of the piston( vPmax) = %.2f m/s.\"%(vPmax)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Crank angle from the inner dead centre at which the maximum velocity occurs theta = 75.00 degrees.\n", + " Maximum velocity of the piston( vPmax) = 6.54 m/s.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.4 Page No : 528" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "r = 0.3 #m\n", + "l = 1.5 \t\t\t#m\n", + "N = 180. \t\t\t#rpm\n", + "theta = 40. \t\t#degrees\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the piston\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Velocity of the piston:\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the velocity of the piston\n", + "vP = omega*r*(math.sin(math.radians(theta))+math.sin(math.radians(2*theta))/(2*n)) \t\t\t#m/s\n", + "#Calculating the acceleration of the piston\n", + "aP = omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#m/s**2\n", + "#Position of the crank for zero acceleration of the piston:\n", + "ap1 = 0\n", + "#Calculating the position of the crank from the inner dead centre for zero acceleration of the piston\n", + "#We have ap1 = omega**2*r*(math.cos(theta1)+math.cos(2*theta1)/n) or 2*(math.cos(theta1))**2+n*math.cos(theta1)-1 = 0\n", + "a = 2.\n", + "b = n\n", + "c = -1.\n", + "costheta1 = (-b+math.sqrt(b**2-4*a*c))/(2*a)\n", + "#Calculating the crank angle from the inner dead centre for zero acceleration of the piston\n", + "theta1 = math.degrees(math.acos(costheta1)) \t\t\t#degrees\n", + "\n", + "#Results:\n", + "print \" Velocity of the piston vP = %.2f m/s.\"%( vP)\n", + "print \" Acceleration of the piston aP = %.2f m/s**2.\"%(aP)\n", + "print \" Position of the crank for zero acceleration of the piston theta1 = %.2f degrees or\\\n", + " %.2f degrees.\"%(theta1,360-theta1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the piston vP = 4.19 m/s.\n", + " Acceleration of the piston aP = 85.36 m/s**2.\n", + " Position of the crank for zero acceleration of the piston theta1 = 79.27 degrees or 280.73 degrees.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.5 Page No : 528" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "r = 150./1000\n", + "l = 600./1000 \t\t\t#m\n", + "theta = 60. \t\t\t#degrees\n", + "N = 450. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Velocity and acceleration of the slider:\n", + "#Calculating the ratio of length of connecting rod and crank\n", + "n = l/r\n", + "#Calculating the velocity of the slider\n", + "vP = omega*r*(math.sin(math.radians(theta))+math.sin(math.radians(2*theta))/(2*n)) \t\t\t#m/s\n", + "#Calculating the acceleration of the slider\n", + "aP = omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#m/s**2\n", + "#Angular velocity and angular acceleration of the connecting rod:\n", + "#Calculating the angular velocity of the connecting rod\n", + "omegaPC = omega*math.cos(math.radians(theta))/n \t\t\t#rad/s\n", + "#Calculating the angular acceleration of the connecting rod\n", + "alphaPC = round(omega**2*math.sin(math.radians(theta))/n) \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the slider vP = %.1f m/s.\"%(vP)\n", + "print \" Acceleration of the slider aP = %.2f m/s**2.\"%(aP)\n", + "print \" Angular velocity of the connecting rod omegaPC = %.1f rad/s.\"%(omegaPC)\n", + "print \" Angular acceleration of the connecting rod alphaPC = %d rad/s**2.\"%(alphaPC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the slider vP = 6.9 m/s.\n", + " Acceleration of the slider aP = 124.91 m/s**2.\n", + " Angular velocity of the connecting rod omegaPC = 5.9 rad/s.\n", + " Angular acceleration of the connecting rod alphaPC = 481 rad/s**2.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.6 Page No : 532" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 175./1000 #m\n", + "L = 200./1000 #m\n", + "r = L/2 #m\n", + "l = 400./1000 \t #m\n", + "N = 500. \t\t #rpm\n", + "mR = 180. \t\t #kg\n", + "theta = 60 #degrees\n", + "#Solution:\n", + "omega = round(2*math.pi*N/60,1) \t\t\t#rad/s\n", + "\n", + "# Graphical method\n", + "ON = 0.038 # m\n", + "aR = omega**2 * ON\n", + "FI = mR * aR/1000\n", + "print \" Inertia force FI = %.2f kN.\"%(FI)\n", + "\n", + "#Calculating the angular speed of the crank\n", + "\n", + "#Analytical method:\n", + "#Calculating the ratio of lengths of connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n)/1000 \t\t\t#kN\n", + "\n", + "#Results:\n", + "print \" Inertia force FI = %.2f kN.\"%(FI)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Inertia force FI = 18.78 kN.\n", + " Inertia force FI = 18.53 kN.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.7 Page No : 533" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy\n", + "\n", + "# Variables:\n", + "r = 300./1000 #m\n", + "l = 1.2 #m\n", + "D = 0.5 \t\t\t#m\n", + "mR = 250. \t\t\t#kg\n", + "theta = 60. \t\t#degrees\n", + "dp = 0.35 \t\t\t#p1-p2 N/mm**2\n", + "N = 250. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the net load on the piston\n", + "FL = (dp)*math.pi/4*(D*1000)**2 \t\t\t#N\n", + "#Calculating the ratio of length of connecting rod and crank\n", + "n = l/r\n", + "#Calculating the accelerating or inertia force on reciprocating parts\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#N\n", + "#Calculating the piston effort\n", + "FP = (FL-FI)/1000 \t\t\t#kN\n", + "#Pressure on slide bars:\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the pressure on the slide bars\n", + "FN = FP*math.tan(math.radians(phi)) \t\t\t#kN\n", + "#Calculating the thrust in the connecting rod\n", + "FQ = FP/math.cos(math.radians(phi)) \t\t\t#kN\n", + "#Calculating the tangential force on the crank pin\n", + "FT = FQ*math.sin(math.radians(theta+phi)) \t\t\t#kN\n", + "#Calculating the turning moment on the crank shaft\n", + "T = FT*r \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Pressure on the slide bars FN = %.2f kN.\"%(FN)\n", + "print \" Thrust in the connecting rod FQ = %.2f kN.\"%(FQ)\n", + "print \" Tangential force on the crank-pin FT = %.2f kN.\"%(FT)\n", + "print \" Turning moment on the crank shaft T = %.3f kN-m.\"%(T)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Pressure on the slide bars FN = 10.97 kN.\n", + " Thrust in the connecting rod FQ = 50.65 kN.\n", + " Tangential force on the crank-pin FT = 48.30 kN.\n", + " Turning moment on the crank shaft T = 14.491 kN-m.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.8 Page No : 534" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 300./1000 #m\n", + "L = 450./1000 #m\n", + "r = L/2 #m\n", + "d = 50./1000 #m\n", + "l = 1.2 \t\t\t#m\n", + "N = 200. \t\t\t#rpm\n", + "mR = 225. \t\t\t#kg\n", + "theta = 125. \t\t\t#degrees\n", + "p1 = 30*1000. #N/m**2\n", + "p2 = 1.5*1000. \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the area of the piston\n", + "A1 = math.pi/4*D**2 \t\t\t#m**2\n", + "#Calculating the area of the piston rod\n", + "a = math.pi/4*d**2 \t\t\t#m**2\n", + "#Calculating the force on the piston due to steam pressure\n", + "FL = round(p1*A1-p2*(A1-a)) \t\t\t#N\n", + "#Calculating the ratio of lengths of connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force on the reciprocating parts\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#N\n", + "#Calculating the net force on the piston or piston effort\n", + "FP = FL-FI+mR*9.81 \t\t\t#N\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the effective turning moment on the crank shaft\n", + "T = FP*math.sin(math.radians(theta+phi))/math.cos(math.radians(phi))*r \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" Effective turning moment of the crank shaft T = %.f N-m.\"%(T)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Effective turning moment of the crank shaft T = 3020 N-m.\n" + ] + } + ], + "prompt_number": 35 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.9 Page No : 534" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 1800. \t\t\t#rpm\n", + "r = 50./1000 #m\n", + "l = 200./1000 #m\n", + "D = 80./1000 #m\n", + "x = 10./1000 \t\t#m\n", + "mR = 1. \t\t\t#kg\n", + "p = 0.7 \t\t\t#N/mm**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Net load on the gudgeon pin:\n", + "#Calculating the load on the piston\n", + "FL = round(math.pi/4*(D*1000)**2*p) \t\t\t#N\n", + "#Refer Fig. 15.10\n", + "#By measurement\n", + "theta = 33. \t\t\t#degrees\n", + "#Calculating the ratio of lengths of connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force on the reciprocating parts\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#N\n", + "#Calculating the net load on the gudgeon pin\n", + "FP = FL-FI \t\t\t#N\n", + "#Thrust in the connecting rod:\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the thrust in the connecting rod\n", + "FQ = FP/math.cos(math.radians(phi)) \t\t\t#N\n", + "#Calculating the reaction between the piston and cylinder\n", + "FN = FP*math.tan(math.radians(phi)) \t\t\t#N\n", + "#Engine speed at which the abov values will become zero:\n", + "#Calculating the speed at which FI = FL\n", + "omega1 = math.sqrt((math.pi/4*(D*1000)**2*p)/(mR*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n))) \t\t\t#rad/s\n", + "#Calculating the corresponding speed in rpm\n", + "N1 = omega1*60/(2*math.pi) \t\t\t#rpm\n", + "\n", + "print phi\n", + "#Results:\n", + "print \" Net load on the gudgeon pin FP = %.f N.\"%(FP)\n", + "print \" Thrust in the connecting rod FQ = %.1f N.\"%(FQ)\n", + "print \" Reaction between the piston and cylinder FN = %d N.\"%(FN)\n", + "print \" Engine speed at which the above values will become zero N1 = %d rpm.\"%(N1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "7.82568845753\n", + " Net load on the gudgeon pin FP = 1848 N.\n", + " Thrust in the connecting rod FQ = 1865.8 N.\n", + " Reaction between the piston and cylinder FN = 254 N.\n", + " Engine speed at which the above values will become zero N1 = 2612 rpm.\n" + ] + } + ], + "prompt_number": 50 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.10 Page No : 536" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "aP = 36. \t\t\t#m/s**2\n", + "theta = 30. \t\t#degrees\n", + "p = 0.5 \t\t\t#N/mm**2\n", + "RF = 600. \t\t\t#N\n", + "D = 300./1000 #m\n", + "r = 300./1000 \t\t#m\n", + "mR = 180. \t\t\t#kg\n", + "n = 4.5\n", + "\n", + "#Solution:\n", + "#Reaction on the guide bars:\n", + "#Calculating the load on the piston\n", + "FL = round(p*math.pi/4*(D*1000)**2) \t\t\t#N\n", + "#Calculating the inertia force due to reciprocating parts\n", + "FI = mR*aP \t\t\t#N\n", + "#Calculating the piston effort\n", + "FP = (FL-FI-RF)/1000 \t\t\t#kN\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the reaction on the guide bars\n", + "FN = FP*math.tan(phi) \t\t\t#kN\n", + "#Calculating the thrust on the crank shaft bearing\n", + "FB = (FP*math.cos(math.radians(phi+theta)))/math.cos(math.radians(phi)) \t\t\t#kN\n", + "#Calculating the turning moment on the crank shaft\n", + "T = (FP*math.sin(math.radians(theta+phi)))/math.cos(math.radians(phi))*r \t\t\t#kN-m\n", + "\n", + "\n", + "#Results:\n", + "print \" Reaction on the guide bars FN = %.f kN.\"%(FN)\n", + "print \" Thrust on the crank shaft bearing FB = %.1f kN.\"%(FB)\n", + "print \" Turning moment on the crank shaft T = %.2f kN-m.\"%(T)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Reaction on the guide bars FN = 3 kN.\n", + " Thrust on the crank shaft bearing FB = 22.9 kN.\n", + " Turning moment on the crank shaft T = 5.06 kN-m.\n" + ] + } + ], + "prompt_number": 60 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.11 Page No : 537" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 100./1000 #m\n", + "L = 120./1000 #m\n", + "r = L/2 #m\n", + "l = 250./1000 \t\t\t#m\n", + "mR = 1.1 \t\t\t#kg\n", + "N = 2000. \t \t\t#rpm\n", + "theta = 20. \t\t\t#degrees\n", + "p = 700. \t\t \t#kN/m**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Net force on the piston:\n", + "#Calculating the force due to gas pressure\n", + "FL = p*math.pi/4*D**2 \t\t\t#kN\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force on the piston\n", + "FI = round(mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n)) \t\t\t#N\n", + "#Calculating the net force on the piston\n", + "FP = (FL*1000)-FI+mR*9.81 \t\t\t#N\n", + "#Resulmath.tant force on the gudgeon pin:\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(theta)/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the resultant load on the gudgeon pin\n", + "FQ = round(FP/math.cos(phi)) \t\t\t#N\n", + "#Calculating the thrust on the cylinder walls\n", + "FN = FP*math.tan(math.radians(4.7)) \t\t\t#N \n", + "#Speed above which the gudgeon pin load would be reversed in direction:\n", + "#Calculating the minimum speed for FP to be negative\n", + "omega1 = math.sqrt((FL*1000+mR*9.81)/(mR*r*(math.cos(theta)+math.cos(2*theta)/n))) \t\t\t#rad/s\n", + "#Calculating the corresponding speed in rpm\n", + "N1 = 273*60/(2*math.pi) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Net force on the piston FP = %.1f N.\"%(FP)\n", + "print \" Resultant load on the gudgeon pin FQ = %d N.\"%(FQ)\n", + "print \" Thrust on the cylinder walls FN = %.1f N.\"%(FN)\n", + "print \" Speed above which the gudgeon pin load would be reversed in direction N1 > %d rpm.\"%(N1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Net force on the piston FP = 2255.6 N.\n", + " Resultant load on the gudgeon pin FQ = 2265 N.\n", + " Thrust on the cylinder walls FN = 185.4 N.\n", + " Speed above which the gudgeon pin load would be reversed in direction N1 > 2606 rpm.\n" + ] + } + ], + "prompt_number": 71 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.12 Page No : 538" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 120. \t\t\t#rpm\n", + "D = 250./1000 #m\n", + "L = 400./1000 #m\n", + "r = L/2 #m\n", + "l = 0.6 #m\n", + "d = 50./1000 \t\t#m\n", + "mR = 60. \t\t\t#kg\n", + "theta = 45. \t\t#degrees\n", + "p1 = 550.*1000 #N/m**2\n", + "p2 = 70.*1000 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Turning moment on the crankshaft:\n", + "#Calculating the area of the piston on the cover end side\n", + "A1 = math.pi/4*D**2 \t\t\t#m**2\n", + "#Calculating the area of the piston rod\n", + "a = math.pi/4*d**2 \t\t\t#m**2\n", + "#Calculating the net load on the piston\n", + "FL = p1*A1-p2*(A1-a) \t\t\t#N\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force on the reciprocating parts\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#N\n", + "#Calculating the net force on the piston or piston effort\n", + "FP = (FL-FI)/1000 \t\t\t#kN\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the turning moment on the crank shaft\n", + "T = (FP*math.sin(math.radians(theta+phi)))/math.cos(math.radians(phi))*r*1000\t\t\t#N-m\n", + "#Calculating the thrust on the bearings\n", + "FB = (FP*math.cos(math.radians(theta+phi)))/math.cos(math.radians(phi)) \t\t\t#kN\n", + "#Acceleration of the flywheel:\n", + "P = 20.*1000 \t\t\t#W\n", + "m = 60. \t\t\t#kg\n", + "k = 0.6 \t\t\t#m\n", + "#Calculating the mass moment of inertia of the flywheel\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the resisting torque\n", + "TR = P*60/(2*math.pi*N) \t\t\t#N-m\n", + "#Calculating the acceleration of the flywheel\n", + "alpha = (T-TR)/I \t\t\t#rad/s**2\n", + "\n", + "\n", + "#Results:\n", + "print \" Turning moment on the crank shaft T = %f N-m.\"%(T) # rounding off error \n", + "print \" Thrust on the bearings FB = %.2f kN.\"%(FB)\n", + "print \" Acceleration of the flywheel alpha = %.1f rad/s**2.\"%(alpha)\n", + "\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Turning moment on the crank shaft T = 3929.026139 N-m.\n", + " Thrust on the bearings FB = 11.98 kN.\n", + " Acceleration of the flywheel alpha = 108.2 rad/s**2.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.13 Page No : 540" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 300./1000 #m\n", + "L = 500./1000 #m\n", + "r = L/2 \t\t\t#m\n", + "n = 4.5\n", + "N = 180. \t\t\t#rpm\n", + "mR = 280. \t\t\t#kg\n", + "theta = 45. \t\t#degrees\n", + "p1 = 0.1 \t\t\t#N/mm**2\n", + "CR = 14. \t\t\t#Compression ration V1/V2\n", + "p4 = 2.2\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.12\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the pressure corresponding to point 2\n", + "p2 = p1*(CR)**1.35 \t\t\t#N/mm**2\n", + "#Calculating the swept volume\n", + "VS = math.pi/4*D**2*L \t\t\t#m**3\n", + "VC = VS/(CR-1) \t\t\t#m**3\n", + "#Calculating the volume corresponding to point 3\n", + "V3 = VC+(1/10*VS) \t\t\t#m**3\n", + "#Calculating the print lacement of the piston corresponding to crank print lacement of 45 degrees\n", + "x = r*((1-math.cos(math.radians(theta)))+(math.sin(math.radians(theta)))**2/(2*n)) \t\t\t#m\n", + "#Calculating the volume corresponding to point 4'\n", + "V4dash = VC+(math.pi/4*D**2*x) \t\t\t#m**2\n", + "#Calculating the pressure corresponding to point 4'\n", + "p3 = p2\n", + "p4dash = p3*(V3/V4dash)**1.35 \t\t\t#N/mm**2\n", + "\n", + "#Calculating the difference of pressures on two sides of the piston\n", + "p = (p4-p1)*10**6 \t\t\t#N/m**2\n", + "#Calculating the net load on the piston\n", + "FL = p*math.pi/4*D**2 \t\t\t#N\n", + "#Calculating the inertia force on the reciprocating parts\n", + "FI = mR*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#N\n", + "#Calculating the net force on the piston or piston effort\n", + "FP = FL-FI+mR*9.81 \t\t\t#N\n", + "#Crank-pin effort:\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = math.degrees(math.asin(sinphi))\n", + "#Calculating the crank-pin effort\n", + "FT = (FP*math.sin(math.radians(theta+phi)))/(math.cos(math.radians(phi))*1000) \t\t\t#kN\n", + "#Calculating the thrust on the bearings\n", + "FB = (FP*math.cos(math.radians(theta+phi)))/(math.cos(math.radians(phi))*1000) \t\t\t#kN\n", + "#Calculating the turning moment on the crankshaft\n", + "T = FT*r \t\t\t#kN-m\n", + "\n", + "#Results:\n", + "print \" Crank-pin effort FT = %.3f kN.\"%(FT)\n", + "print \" Thrust on the bearings FB = %.3f kN.\"%(FB)\n", + "print \" Turning moment on the crankshaft T = %.2f kN-m.\"%(T)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Crank-pin effort FT = 109.501 kN.\n", + " Thrust on the bearings FB = 79.438 kN.\n", + " Turning moment on the crankshaft T = 27.38 kN-m.\n" + ] + } + ], + "prompt_number": 94 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.14 Page No : 542" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 240./1000 #m\n", + "L = 360./1000 #m\n", + "r = L/2 #m\n", + "l = 0.6 \t\t\t#m\n", + "N = 300. \t\t\t#rpm\n", + "mR = 160. \t\t\t#kg\n", + "pA = (8+1.03)*10**5\n", + "pE = (-0.75+1.03)*10**5 \t\t\t#N/m**2\n", + "FR = 500. \t \t\t#N\n", + "theta = 75. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.13\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the stroke volume\n", + "VS = math.pi/4*D**2*L \t\t\t#m**3\n", + "#Calculating the volume of steam at cut-off\n", + "VB = VS/3 \t\t\t#m**3\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the print lacement of the piston when the crank position is 75 degrees from the top dead centre\n", + "x = r*((1-math.cos(math.radians(theta)))+(math.sin(math.radians(theta)))**2/(2*n)) \t\t\t#m**3\n", + "#Calculating the volume corresponding to point C'\n", + "VCdash = VS*x/L \t\t\t#m**3\n", + "#Calculating the pressure corresponding to point C'\n", + "pB = pA\n", + "pCdash = round((pB*VB)/VCdash) \t\t\t#N/m**2\n", + "#Calculating the difference of pressures on the two sides of the piston\n", + "p = round(pCdash-pE) \t\t\t#N/m**2\n", + "#Calculating the net load on the piston\n", + "FL = round(math.pi/4*D**2*p) \t\t\t#N\n", + "#Calculating the inertia force on the reciprocating parts\n", + "FI = round(mR*omega**2*r*(math.cos(math.radians(theta))+(math.cos(math.radians(2*theta))/n))) \t\t\t#N\n", + "#Calculating the piston effort\n", + "FP = FL-FI+mR*9.81-FR \t\t\t#N\n", + "#Turning moment on the crankshaft:\n", + "#Calculating the angle of inclination of the connecting rod to the line of stroke\n", + "sinphi = math.sin(math.radians(theta))/n \t\t\t#degrees\n", + "phi = round(math.degrees(math.asin(sinphi)),3)\n", + "\n", + "#Calculating the turning moment on the crankshaft\n", + "T = (FP*math.sin(math.radians(theta+phi)))/math.cos(math.radians(phi))*r \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" Turning moment on the crankshaft T = %d N-m.\"%(T)\n", + "\n", + "# note : rounding error. please check using calculator" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Turning moment on the crankshaft T = 5778 N-m.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.15 Page No : 545" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "l = 300. #mm\n", + "l1 = 200. \t\t\t#mm\n", + "m = 15. \t\t\t#kg\n", + "I = 7000. \t\t\t#kg-mm**2\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.16 and Fig. 15.17\n", + "#Calculating the radius of gyration of the connecting rod about an axis pasmath.sing through its centre of gravity\n", + "kG = math.sqrt(I/m) \t\t\t#mm\n", + "#Calculating the distance of other mass from the centre of gravity\n", + "l2 = (kG)**2/l1 \t\t\t#mm\n", + "#Calculating the magnitude of mass placed at the small end centre\n", + "m1 = (l2*m)/(l1+l2) \t\t\t#kg\n", + "#Calculating the magnitude of the mass placed at a dismath.tance l2 from the centre of gravity\n", + "m2 = (l1*m)/(l1+l2) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Mass placed at the small end centre m1 = %.2f kg.\"%(m1)\n", + "print \" Mass placed at a distance %.2f mm from the centre of gravity m2 = %.2f kg.\"%(l2,m2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass placed at the small end centre m1 = 0.17 kg.\n", + " Mass placed at a distance 2.33 mm from the centre of gravity m2 = 14.83 kg.\n" + ] + } + ], + "prompt_number": 26 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.16 Page No : 546" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables: \n", + "h = 650./1000 #m\n", + "l1 = (650.-25)/1000 #m\n", + "m = 37.5 \t\t\t#kg\n", + "tp = 1.87 \t\t\t#seconds\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.18 and Fig. 15.19\n", + "#Calculating the radius of gyration of the connecting rod about an axis pasmath.sing through its centre of gravity\n", + "kG = math.sqrt((tp/(2*math.pi))**2*(9.81*h)-h**2) \t\t\t#m\n", + "#Calculating the dismath.tance of mass m2 from the centre of gravity\n", + "l2 = (kG)**2/l1 \t\t\t#m\n", + "#Calculating the magnitude of mass placed at the small end centre\n", + "m1 = (l2*m)/(l1+l2) \t\t\t#kg\n", + "#Calculating the magnitude of mass placed at a dismath.tance l2 from centre of gravity\n", + "m2 = (l1*m)/(l1+l2) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Mass placed at the small end centre A m1 = %d kg.\"%(m1)\n", + "print \" Mass placed at a distance %.3f m from G m2 = %.1f kg.\"%(l2,m2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass placed at the small end centre A m1 = 10 kg.\n", + " Mass placed at a distance 0.228 m from G m2 = 27.5 kg.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.17 Page No : 547" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "m = 55. \t\t\t#kg\n", + "l = 850./1000 #m\n", + "d1 = 75./1000 #m\n", + "d2 = 100./1000 \t\t#m\n", + "tp1 = 1.83 #sec\n", + "tp2 = 1.68 \t\t\t#seconds\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.20\n", + "#Calculating the length of equivalent simple pendulum when suspended from the top of small end bearing\n", + "L1 = 9.81*(tp1/(2*math.pi))**2 \t\t\t#m\n", + "#Calculating the length of equivalent simple pendulum when suspended from the top of big end bearing\n", + "L2 = 9.81*(tp2/(2*math.pi))**2 \t\t\t#m\n", + "#Radius of gyration of the rod about an axis pasmath.sing through the centre of gravity and perpendicular to the plane of oscillation:\n", + "#Calculating the distances of centre of gravity from the top of small end and big end bearings\n", + "#We have h1*(L1-h1) = h2*(L2-h2) or h1**2-h2**2+h2*L2-h1*L1 = 0 .....(i)\n", + "#Also h1+h2 = d1/2+l+d2/2 or h1+h2-d1/2-l-d2/2 = 0 .....(ii)\n", + "def f(x):\n", + " y = [0,0]\n", + " h1 = x[0]\n", + " h2 = x[1]\n", + " y[0] = h1**2-h2**2+h2*L2-h1*L1\n", + " y[1] = h1+h2-d1/2-l-d2/2\n", + " return y\n", + "\n", + "z = fsolve(f,[1,1])\n", + "h1 = z[0]\n", + "h2 = z[1] \t\t\t#m\n", + "\n", + "#Calculating the required radius of gyration of the rod\n", + "kG = math.sqrt(h1*(L1-h1)) \t\t\t#m\n", + "#Calculating the moment of inertia of the rod\n", + "I = m*(kG)**2 \t\t\t#kg-m**2\n", + "#Dynamically equivalent system for the rod:\n", + "#Calculating the distance of the mass situated at the centre of small end bearing from the centre of gravity\n", + "l1 = h1-d1/2 \t\t\t#m\n", + "#Calculating the distance of the second mass from the centre of gravity towards big end bearing\n", + "l2 = (kG)**2/l1 \t\t\t#m\n", + "#Calculating the magnitude of the mass situated at the centre of small end bearing\n", + "m1 = (l2*m)/(l1+l2) \t\t\t#kg\n", + "#Calculating the magnitude of the second mass\n", + "m2 = (l1*m)/(l1+l2) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Radius of gyration of the rod about an axis passing through the centre of\\\n", + " gravity and perpendicular to the plane of oscillation, kG = %.3f m.\"%(kG)\n", + "print \" Moment of inertia of the rod, I = %.2f kg-m**2.\"%(I)\n", + "print \" Magnitude of the mass situated at the centre of small end bearing, m1 = %.2f kg.\"%(m1)\n", + "print \" Magnitude of the second mass, m2 = %.2f kg.\"%(m2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Radius of gyration of the rod about an axis passing through the centre of gravity and perpendicular to the plane of oscillation, kG = 0.345 m.\n", + " Moment of inertia of the rod, I = 6.56 kg-m**2.\n", + " Magnitude of the mass situated at the centre of small end bearing, m1 = 13.32 kg.\n", + " Magnitude of the second mass, m2 = 41.68 kg.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.18 Page No : 550" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 2. \t\t\t#kg\n", + "l = 250./1000 #m\n", + "l1 = 100./1000 #m\n", + "kG = 110./1000 \t\t\t#m\n", + "alpha = 23000. \t\t\t#rad/s**2\n", + "\n", + "#Solution:\n", + "#Equivalent dynamical system:\n", + "#Calculating the distance of the second mass from the centre of gravity\n", + "l2 = (kG)**2/l1 \t\t\t#m\n", + "#Calculating the magnitude of the mass placed at the gudgeon pin\n", + "m1 = (l2*m)/(l1+l2) \t\t\t#kg\n", + "#Calculating the magnitude of the mass placed at a distance l2 from centre of gravity\n", + "m2 = (l1*m)/(l1+l2) \t\t\t#kg\n", + "#Correction couple:\n", + "#Calculating the magnitude of l3\n", + "l3 = l-l1 \t\t\t#m\n", + "#Calculating the new radius of gyration\n", + "k1 = math.sqrt(l1*l3) \t\t\t#m**2\n", + "#Calculating the correction couple\n", + "Tdash = m*(k1**2-kG**2)*alpha \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" Mass placed at the gudgeon pin, m1 = %.1f kg.\"%(m1)\n", + "print \" Mass placed at a distance %.3f m from the centre of gravity m2 = %.1f kg.\"%(l2,m2)\n", + "print \" Correction couple Tdash = %.1f N-m.\"%(Tdash)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass placed at the gudgeon pin, m1 = 1.1 kg.\n", + " Mass placed at a distance 0.121 m from the centre of gravity m2 = 0.9 kg.\n", + " Correction couple Tdash = 133.4 N-m.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.19 Page No : 554" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "r = 125. #mm\n", + "OC = r #mm\n", + "l = 500. #mm\n", + "PC = l #mm\n", + "PG = 275. #mm\n", + "kG = 150. \t\t\t#mm\n", + "mC = 60. \t\t\t#kg\n", + "N = 600. \t\t\t#rpm\n", + "theta = 45. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.24\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Acceleration of the piston:\n", + "#By measurement\n", + "NO = 90./1000 \t\t\t#m\n", + "#Calculating the acceleration of the piston\n", + "aP = omega**2*NO \t\t\t#m/s**2\n", + "#The magnitude position and direction of inertia force due to the mass of the connecting rod:\n", + "#By measurement\n", + "gO = 103./1000 \t\t\t#m\n", + "#Calculating the magnitude of the inertia force of the connecting rod\n", + "FC = mC*omega**2*gO/1000 \t\t\t#kN\n", + "\n", + "#Results:\n", + "print \" Acceleration of the piston aP = %.1f m/s**2.\"%(aP)\n", + "print \" The magnitude of inertia force due to the mass of the connecting rod FC = %.1f kN.\"%(FC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Acceleration of the piston aP = 355.3 m/s**2.\n", + " The magnitude of inertia force due to the mass of the connecting rod FC = 24.4 kN.\n" + ] + } + ], + "prompt_number": 32 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.20 Page No : 555" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "D = 240./1000 #m\n", + "L = 600./1000 #m\n", + "r = L/2 #m\n", + "l = 1.5 #m\n", + "GC = 500./1000 #m\n", + "kG = 650./1000 \t #m\n", + "mR = 300.\n", + "mC = 250. \t\t\t#kg\n", + "N = 125. \t\t\t#rpm\n", + "theta = 30. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.25\n", + "#Calculating the angular speed of the crank\n", + "omega = round(2*math.pi*N/60,1) \t\t\t#rad/s\n", + "#Analytical method:\n", + "#Calculating the distance of centre of gravity of the connecting rod from P\n", + "l1 = l-GC \t\t\t#m\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the inertia force due to total mass of the reciprocating parts at P\n", + "FI = int((mR+(l-l1)/l*mC)*omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n)) \t\t\t#N\n", + "#Calculating the corresponding torque due to FI\n", + "TI = int(FI*r*(math.sin(math.radians(theta))+math.sin(math.radians(2*theta))/ \\\n", + "(2*math.sqrt(n**2-(math.sin(math.radians(theta)))**2)))) \t\t\t#N-m\n", + "#Calculating the equivalent length of a simple pendulum when swung about an axis through P\n", + "L = ((kG)**2+(l1)**2)/l1 \t\t\t#m\n", + "#Calculating the correcting torque\n", + "TC = mC*l1*(l-L) *(omega**2 * math.sin(math.radians(60)))/(2*n**2)\t\t\t#N-m\n", + "#Calculating the torque due to the weight of the connecting rod at C\n", + "TW = mC*9.81*(l1/n)*math.cos(math.radians(theta)) \t\t\t#N-m\n", + "#Calculating the total torque exerted on the crankshaft\n", + "Tt = TI+TC+TW \t\t\t#Total torque exerted on the crankshaft N-m\n", + "\n", + "\n", + "#Results:\n", + "print \" Total torque exerted on the crankshaft = %.1f N-m.\"%(round(Tt,-1))\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Total torque exerted on the crankshaft = 3840.0 N-m.\n" + ] + } + ], + "prompt_number": 110 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.21 Page No : 558" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 1200. \t\t\t#rpm\n", + "L = 110./1000\n", + "r = L/2\n", + "l = 250./1000\n", + "PC = l\n", + "CG = 75./1000 \t\t\t#m\n", + "mC = 1.25 \t\t\t#kg\n", + "theta = 40. \t\t\t#degrees\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.26\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Radius of gyration of the connecting rod about an axis through its mass centre:\n", + "#Calculating the distance of the centre of gravity from the point of suspension\n", + "l1 = l-CG \t\t\t#m\n", + "PG = l1\n", + "#Calculating the frequency of oscillation\n", + "n = 21./20 \t\t\t#Hz\n", + "#Calculating the radius of gyration of the connecting rod about an axis through its mass centre\n", + "kG = round(math.sqrt((9.81*l1/(2*math.pi*n)**2)-l1**2)*1000) \t\t\t#mm\n", + "#Acceleration of the piston:\n", + "#Calculating the ratio of lengths of the connecting rod and crank\n", + "n = l/r\n", + "#Calculating the acceleration of the piston\n", + "aP = omega**2*r*(math.cos(math.radians(theta))+math.cos(math.radians(2*theta))/n) \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the connecting rod\n", + "alphaPC = (-omega**2*math.sin(math.radians(theta)))/n \t\t\t#rad/s**2\n", + "#Inertia torque exerted on the crankshaft:\n", + "#Calculating the mass of the connecting rod at P\n", + "m1 = (l-l1)/l*mC \t\t\t#kg\n", + "#Calculating the vertical inertia force\n", + "FI = round(m1*aP) \t\t\t#N\n", + "#By measurement\n", + "OM = 0.0425\n", + "NC = 0.035 \t\t\t#m\n", + "#Calculating the corresponding torque due to FI\n", + "TI = FI*OM \t\t\t#N-m\n", + "#Calculating the equivalent length of a simple pendulum when swung about an axis pasmath.sing through P\n", + "L = ((kG/1000)**2+(l1)**2)/l1 \t\t\t#m\n", + "#Calculating the correction couple\n", + "Tdash = mC*l1*(l-L)*alphaPC \t\t\t#N-m\n", + "#Calculating the corresponding torque on the crankshaft\n", + "TC = -Tdash*math.cos(math.radians(theta))/n \t\t\t#N-m\n", + "#Calculating the torque due to mass at P\n", + "TP = m1*9.81*OM \t\t\t#N-m\n", + "#Calculating the equivalent mass of the connecting rod at C\n", + "m2 = mC*(l1/l) \t\t\t#kg\n", + "#Calculating the torque due to mass at C\n", + "TW = m2*9.81*NC \t\t\t#N-m\n", + "#Calculating the inertia force exerted on the crankshaft\n", + "Ti = TI+TC-TP-TW \t\t\t#Inertia torque exerted on the crankshaft N-m\n", + "\n", + "#Results:\n", + "print \" Radius of gyration of the connecting rod about an axis through its mass centre kG = %d mm.\"%(kG)\n", + "print \" Acceleration of the piston aP = %.1f m/s**2.\"%(aP)\n", + "print \" Angular acceleration of the connecting rod alphaPC = %.1f rad/s**2.\"%(alphaPC)\n", + "print \" Inertia torque exerted on the crankshaft = %.3f N-m.\"%(Ti)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Radius of gyration of the connecting rod about an axis through its mass centre kG = 94 mm.\n", + " Acceleration of the piston aP = 698.5 m/s**2.\n", + " Angular acceleration of the connecting rod alphaPC = -2233.1 rad/s**2.\n", + " Inertia torque exerted on the crankshaft = 12.696 N-m.\n" + ] + } + ], + "prompt_number": 112 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 15.22 Page No : 559" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "l = 225./1000 #m\n", + "PC = l #m\n", + "L = 150./1000 #m\n", + "r = L/2 #m\n", + "D = 112.5/1000 #m\n", + "PG = 150./1000 #m\n", + "kG = 87.5/1000 \t #m\n", + "mC = 1.6\n", + "mR = 2.4 \t\t\t#kg\n", + "theta = 40 \t\t\t#degrees\n", + "p = 1.8*10**6 \t\t#N/m**2\n", + "N = 2000. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 15.27\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#By measurement\n", + "NO = 0.0625\n", + "gO = 0.0685\n", + "IC = 0.29\n", + "IP = 0.24\n", + "IY = 0.148\n", + "IX = 0.08 \t\t\t#m\n", + "#Calculating the force due to gas pressure\n", + "FL = math.pi/4*D**2*p \t\t\t#N\n", + "#Calculating the inertia force due to mass of the reciprocating parts\n", + "FI = mR*omega**2*NO \t\t\t#N\n", + "#Calculating the net force on the piston\n", + "FP = FL-FI \t\t\t#N\n", + "#Calculating the inertia force due to mass of the connecting rod\n", + "FC = mC*omega**2*gO \t\t\t#N\n", + "#Calculating the force acting perpendicular to the crank OC\n", + "FT = ((FP*IP)-((mC*9.81*IY)+(FC*IX)))/IC \t\t\t#N\n", + "#By measurement\n", + "FN = 3550.\n", + "FR = 7550.\n", + "FQ = 13750. \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" Resultant force on the crank pin FQ = %d N.\"%(FQ)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Resultant force on the crank pin FQ = 13750 N.\n" + ] + } + ], + "prompt_number": 36 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch16.ipynb b/Theory_Of_Machines/ch16.ipynb new file mode 100755 index 00000000..1bb89129 --- /dev/null +++ b/Theory_Of_Machines/ch16.ipynb @@ -0,0 +1,1466 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:18b62f9d05dddb3fa3e34cb2cfa86e210f5eaa5cdedab202d52d0e65a17b4192" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 16 : Turning Moment Diagrams and Flywheel" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.1 Page No : 573" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "m = 6.5*1000 \t\t#kg\n", + "k = 1.8 \t\t\t#m\n", + "deltaE = 56.*1000 \t#N-m\n", + "N = 120. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the maximum and minimum speeds\n", + "#We know that fluctuation of energy deltaE = math.pi**2/900*m*k**2*N*(N1-N2) or N1-N2 = (deltaE/(math.pi**2/900*m*k**2*N)) .....(i)\n", + "#Also mean speed N = (N1+N2)/2 or N1+N2 = 2*N .....(ii)\n", + "A = [[1, -1],[ 1, 1]]\n", + "B = [deltaE/(math.pi**2/900*m*k**2*N), 2*N]\n", + "V = linalg.solve(A,B)\n", + "N1 = round(V[0]) \t\t\t#rpm\n", + "N2 = round(V[1]) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Maximum speed N1 = %d rpm.\"%(N1)\n", + "print \" Minimum speed N2 = %d rpm.\"%(N2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum speed N1 = 121 rpm.\n", + " Minimum speed N2 = 119 rpm.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.2 Page No : 573" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "k = 1. \t\t\t#m\n", + "m = 2500. \t\t\t#kg\n", + "T = 1500. \t\t\t#N-m\n", + "\n", + "#Solution:\n", + "#Angular acceleration of the flywheel:\n", + "#Calculating the mass moment of inertia of the flywheel\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the flywheel\n", + "alpha = T/I \t\t\t#rad/s**2\n", + "#Kinetic energy of the flywheel:\n", + "omega1 = 0 \t\t\t#Angular speed at rest\n", + "#Calculating the angular speed after 10 seconds\n", + "omega2 = omega1+alpha*10 \t\t\t#rad/s\n", + "#Calculating the kinetic energy of the flywheel\n", + "KE = 1./2*I*(omega2)**2/1000 \t\t\t#Kinetic energy of the flywheel kN-m\n", + "\n", + "#Results:\n", + "print \" Angular acceleration of the flywheel alpha = %.1f rad/s**2.\"%(alpha)\n", + "print \" Kinetic energy of the flywheel = %.1f kN-m.\"%(KE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Angular acceleration of the flywheel alpha = 0.6 rad/s**2.\n", + " Kinetic energy of the flywheel = 45.0 kN-m.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.3 Page No : 574" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 300.*1000 \t#W\n", + "N = 90. \t\t#rpm\n", + "CE = 0.1\n", + "k = 2. \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the mean angular speed\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 1./100\n", + "#Calculating the work done per cycle\n", + "WD = P*60/N \t\t\t#Work done per cycle N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = WD*CE \t\t\t#N-m\n", + "#Calculating the mass of the flywheel\n", + "m = deltaE/(k**2*omega**2*CS) \t\t\t#kg\n", + "#Results:\n", + "print \" Mass of the flywheel, m = %d kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the flywheel, m = 5628 kg.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.4 Page No : 574" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 36. \t\t\t#kg\n", + "k = 150./1000 \t\t#m\n", + "N = 1800. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.6\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the value of 1 mm**2 on the turning moment diagram\n", + "c = 5*math.pi/180 \t\t\t#Value of 1 mm**2 on turning miment diagram N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "#From the turning moment diagram maximum energy = E+295 and minimum energy = E-690\n", + "deltaE = (285-(-690))*c \t\t\t#N-m\n", + "#Calculating the coefficient of fluctuation of energy\n", + "CS = deltaE/(m*k**2*omega**2)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Coefficient of fluctuation of speed CS = %.1f %%.\"%(CS)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Coefficient of fluctuation of speed CS = 0.3 %.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.5 Page No : 575" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 600. \t\t\t#rpm\n", + "R = 0.5 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.7\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 3./100\n", + "#Calculating the value of 1 mm**2 on turning moment diagram\n", + "c = 600*math.pi/60 \t\t\t#Value of 1 mm**2 on turning moment diagram N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "#From the turning moment diagram maximum fluctuation = E+52 and minimum fluctuation = E-120\n", + "deltaE = (52.-(-120))*c \t\t\t#N-m\n", + "#Calculating the mass of the flywheel\n", + "m = deltaE/(R**2*omega**2*CS) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Mass of the flywheel m = %d kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the flywheel m = 182 kg.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.6 Page No : 584\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 250. \t\t\t#rpm\n", + "m = 500. \t\t\t#kg\n", + "k = 600./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.8\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the torque required for one complete cycle\n", + "T = (6*math.pi*750)+(1./2*math.pi*(3000-750))+(2*math.pi*(3000-750))+(1./2*math.pi*(3000-750)) \t\t\t#N-m\n", + "#Calculating the mean torque\n", + "Tmean = T/(6*math.pi) \t\t\t#N-m\n", + "#Calculating the power required to drive the machine\n", + "P = Tmean*omega/1000 \t\t\t#kW\n", + "#Coefficient of fluctuation of speed:\n", + "#Calculating the value of LM\n", + "LM = math.pi*((3000.-1875)/(3000-750.))\n", + "#Calculating the value of NP\n", + "NP = math.pi*((3000.-1875)/(3000-750))\n", + "#Calculating the value of BM\n", + "BM = 3000-1875. \t\t\t#N-m CN = BM\n", + "#Calculating the value of MN\n", + "MN = 2*math.pi\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = (1./2*LM*BM)+(MN*BM)+(1./2*NP*BM) \t\t\t#N-m\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = deltaE/(m*k**2*omega**2)\n", + "\n", + "#Results:\n", + "print \" Power required to drive the machine P = %.3f kW.\"%(P)\n", + "print \" Coefficient of speed CS = %.3f.\"%(CS)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power required to drive the machine P = 49.087 kW.\n", + " Coefficient of speed CS = 0.072.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.7 Page No : 578" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 100. \t\t\t#rpm\n", + "k = 1.75 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.9\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 1.5/100\n", + "#Coefficient of fluctuation of energy:\n", + "AB = 2000.\n", + "LM = 1500. \t\t\t#N-m\n", + "#Calculating the work done per cycle\n", + "WD = (1./2*math.pi*AB)+(1./2*math.pi*LM) \t\t\t#Work done per cycle N-m\n", + "#Calculating the mean resisting torque\n", + "Tmean = WD/(2*math.pi) \t\t\t#N-m\n", + "#Calculating the value of CD\n", + "CD = math.pi/2000*(2000-875) \t\t\t#rad\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = 1./2*CD*(2000-875) \t\t\t#N-m\n", + "#Calculating the coefficient of fluctuation of energy\n", + "Ce = deltaE/WD*100 \t\t\t#%\n", + "#Calculating the mass of the flywheel\n", + "m = deltaE/(k**2*omega**2*CS) \t\t\t#kg\n", + "#Crank angles for minimum and maximum speeds:\n", + "#Calculating the value of CE\n", + "CE = (2000.-875)/2000*(4*math.pi/9) \t\t\t#rad\n", + "#Calculating the crank angle for minimum speed\n", + "thetaC = ((4.*math.pi/9)-CE)*180/math.pi \t\t\t#degrees\n", + "#Calculating the value of ED\n", + "ED = (2000.-875)/2000*(math.pi-(4*math.pi/9)) \t\t\t#rad\n", + "#Calculating the crank angle for maximum speed\n", + "thetaD = ((4.*math.pi/9)+ED)*180/math.pi \t\t\t#degrees\n", + "\n", + "#Results:\n", + "print \" Coefficient of fluctuation of energy CE = %d %%.\"%(Ce)\n", + "print \" Mass of the flywheel, m = %.1f kg.\"%(m)\n", + "print \" Crank angle from IDC for the minimum speed, thetaC = %d degrees.\"%(thetaC)\n", + "print \" Crank angle from IDC for the maximum speed, thetaD = %d degrees.\"%(thetaD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Coefficient of fluctuation of energy CE = 18 %.\n", + " Mass of the flywheel, m = 197.3 kg.\n", + " Crank angle from IDC for the minimum speed, thetaC = 35 degrees.\n", + " Crank angle from IDC for the maximum speed, thetaD = 136 degrees.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.8 Page No : 580" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 600. \t\t\t#rpm\n", + "Tmax = 90. \t\t\t#N-m\n", + "m = 12. \t\t\t#kg\n", + "k = 80./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.10\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Power developed:\n", + "#Calculating the work done per cycle\n", + "WD = 3*1./2*math.pi*90 \t\t\t#Work done per cycle N-m\n", + "#Calculating the mean torque\n", + "Tmean = WD/(2*math.pi) \t\t\t#N-m\\\n", + "#Calculating the power developed\n", + "P = Tmean*omega/1000 \t\t\t#Power developed kW\n", + "#Coefficient of fluctuation of speed:\n", + "#Calculating the maximum fluctuation of energy\n", + "#From the torque-crank angle diagram maximum energy = E+5.89 and minimum energy = E-5.89\n", + "deltaE = 5.89-(-5.89) \t\t\t#N-m\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = round(deltaE/(m*k**2*omega**2)*100) \t\t\t#%\n", + "#Calculating the coefficient of fluctuation of energy\n", + "CE = deltaE/WD*100 \t\t\t#%\n", + "#Calculating the maximum angular acceleration of the flywheel\n", + "alpha = (Tmax-Tmean)/(m*k**2) \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Power developed = %.2f kW.\"%(P)\n", + "print \" Coefficient of fluctuation of speed CS = %d %%.\"%(CS)\n", + "print \" Coefficient of fluctuation of energy CE = %.2f %%.\"%(CE)\n", + "print \" Maximum angular acceleration of the flywheel alpha = %d rad/s**2.\"%(alpha)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power developed = 4.24 kW.\n", + " Coefficient of fluctuation of speed CS = 4 %.\n", + " Coefficient of fluctuation of energy CE = 2.78 %.\n", + " Maximum angular acceleration of the flywheel alpha = 292 rad/s**2.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.9 Page No : 582" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 20.*1000 \t\t\t#W\n", + "N = 300. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.11\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#ra/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 4./100\n", + "#Calculating the number of working strokes per cycle for a four stroke engine\n", + "n = N/2\n", + "#Calculating the work done per cycle\n", + "WD = P*60/n \t\t\t#Work done per cycle N-m\n", + "#Calculating the work done during expansion cycle\n", + "WE = WD*3./2 \t\t\t#N-m\n", + "#Calculating the maximum turning moment\n", + "Tmax = WE*2/math.pi \t\t\t#N-m\n", + "#Calculating the mean turning moment\n", + "Tmean = WD/(4*math.pi) \t\t\t#N-m\n", + "#Calculating the excess turning moment\n", + "Texcess = Tmax-Tmean \t\t\t#N-m\n", + "#Calculating the value of DE\n", + "DE = Texcess/Tmax*math.pi \t\t\t#rad\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = (1./2*DE*Texcess) \t\t\t#N-m\n", + "#Calculating the moment of inertia of the flywheel\n", + "I = deltaE/(omega**2*CS) \t\t\t#kg-m**2\n", + "\n", + "#Results:\n", + "print \" Moment of inertia of the flywheel I = %.1f kg-m**2.\"%(I)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Moment of inertia of the flywheel I = 255.4 kg-m**2.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.10 Page No : 584" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "a1 = 0.45*10**-3\n", + "a2 = 1.7*10**-3\n", + "a3 = 6.8*10**-3\n", + "a4 = 0.65*10**-3 \t\t\t#m**2\n", + "N1 = 202.\n", + "N2 = 198. \t\t\t#rpm\n", + "R = 1.2 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.12\n", + "#Calculating the net area\n", + "a = a3-(a1+a2+a4) \t\t\t#Net area m**2\n", + "#Calculating the energy scale constant\n", + "c = 3*10**6 \t\t\t#Energy scale constant N-m\n", + "#Calculating the net work done per cycle\n", + "WD = a*c \t\t\t#Net work done per cycle N-m\n", + "#Calculating the mean torque\n", + "Tmean = round(WD/(4*math.pi)) \t\t\t#N-m\n", + "#Calculating the value of FG\n", + "FG = Tmean \t\t\t#N-m\n", + "#Calculating the work done during expansion stroke\n", + "WDe = a3*c \t\t\t#Work done during expansion stroke N-m\n", + "#Calculating the value of AG\n", + "AG = WDe/(1./2*math.pi) \t\t\t#N-m\n", + "#Calculating the excess torque\n", + "Texcess = round(AG-FG,-1) \t\t\t#N-m\n", + "#Calculating the value of AF\n", + "AF = Texcess \t\t\t#N-m\n", + "#Calculating the value of DE\n", + "DE = round(AF/AG*math.pi,1) \t\t\t#rad\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = 1./2*DE*AF \t\t\t#N-m\n", + "#Mass of the rim of a flywheel:\n", + "#Calculating the mean speed of the flywheel\n", + "N = (N1+N2)/2 \t\t\t#rpm\n", + "#Calculating the mass of the rim of a flywheel\n", + "m = deltaE/(math.pi**2/900*R**2*N*(N1-N2)) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Mass of the rim of the flywheel m = %.f kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the rim of the flywheel m = 1381 kg.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.11 page no : 585" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from scipy.integrate import quad\n", + "\n", + "# variables\n", + "w = math.pi*2*180./60 # rad/s\n", + "T = 180 # rpm\n", + "Cs = 0.01 # speed\n", + "\n", + "# Calculations\n", + "work_done_r = 20000 * 2 # pi N-m\n", + "Tmean = work_done_r/2 # N-m\n", + "power = round(Tmean * w,-3)/1000\n", + "deltaE = 11078 \n", + "energy = deltaE/round((w**2*Cs),2)\n", + "excess = 9500*math.sin(math.radians(90)) - 5700*math.cos(math.radians(90))\n", + "alpha = excess/energy\n", + "\n", + "# results\n", + "print \"power developed by the engine : %.f kW\"%power\n", + "print \"maximum fluctuation of energy : %.f kg-m**2\"%energy\n", + "print \"Alpha a = %.3f rad/s**2\"%alpha" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "power developed by the engine : 377 kW\n", + "maximum fluctuation of energy : 3121 kg-m**2\n", + "Alpha a = 3.044 rad/s**2\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.12 Page No : 587" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables:\n", + "m = 500. \t\t\t#kg\n", + "k = 0.4 \t\t\t#m\n", + "N = 150. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.14\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Fluctuation of energy:\n", + "#Equating the change in torque to zero and calculating the value of theta\n", + "thetaA = math.sin(math.radians(0))\n", + "thetaC = math.sin(math.radians(0))+180\n", + "thetaE = math.sin(math.radians(0))+360 \t\t\t#degrees\n", + "thetaB = 65.4\n", + "thetaD = 294.6\n", + "\n", + "#Calculating the maximum fluctuation of energy\n", + "def f4(theta): \n", + " return (5000+600*math.sin(2*theta))-(5000+500*math.sin(theta))\n", + "\n", + "deltaE = round( quad(f4 ,thetaC*math.pi/180,thetaD*math.pi/180)[0])\n", + "\n", + "#Calculating the total percentage fluctuation of speed\n", + "CS = deltaE/(m*k**2*omega**2)*100 \t\t\t#%\n", + "#Maximum and minimum angular acceleration of the flywheel and the corresponding shaft positions:\n", + "#Calculating the maximum or minimum values of theta\n", + "#Differentiating (600*math.sin(2*theta))-500*math.sin(theta) = 0 with respect to theta and equating to zero\n", + "#we get 12*2*(math.cos(theta))**2-5*math.cos(theta)-12 = 0\n", + "a = 12.*2\n", + "b = -5.\n", + "c = -12.\n", + "costheta1 = (-b+math.sqrt(b**2-4*a*c))/(2*a)\n", + "costheta2 = (-b-math.sqrt(b**2-4*a*c))/(2*a)\n", + "theta1 = math.degrees(math.acos(costheta1))\n", + "theta2 = math.degrees(math.acos(costheta2)) \t\t\t#degrees\n", + "#Calculating the maximum torque\n", + "Tmax = 600*math.sin(math.radians(2*theta1))-500*math.sin(math.radians(theta1)) \t\t\t#N-m\n", + "#Calculating the minimum torque\n", + "Tmin = 600*math.sin(math.radians(2*theta2))-500*math.sin(math.radians(theta2)) \t\t\t#N-m\n", + "#Calculating the maximum acceleration\n", + "alphamax = Tmax/(m*k**2) \t\t\t#rad/s**2\n", + "#Calculating the minimum acceleration\n", + "alphamin = abs(Tmin)/(m*k**2) \t\t\t#rad/s**2\n", + "\n", + "\n", + "#Results:\n", + "print \" Fluctuation of energy deltaE = %d N-m.\"%(deltaE)\n", + "print \" Total percentage fluctuation of speed CS = %.1f %%.\"%(CS)\n", + "print \" Shaft position corresponding to maximum and minimum accelerations\\\n", + " theta = %d degrees and %.1f degrees.\"%(theta1,theta2)\n", + "print \" Maximum acceleration, alphamax = %.2f rad/s**2.\"%(alphamax)\n", + "print \" Minimum acceleration alphamin = %.1f rad/s**2.\"%(alphamin)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Fluctuation of energy deltaE = 1204 N-m.\n", + " Total percentage fluctuation of speed CS = 6.1 %.\n", + " Shaft position corresponding to maximum and minimum accelerations theta = 35 degrees and 127.6 degrees.\n", + " Maximum acceleration, alphamax = 3.46 rad/s**2.\n", + " Minimum acceleration alphamin = 12.2 rad/s**2.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.13 Page No : 589" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables:\n", + "I = 1000. \t\t\t#kg-m**2\n", + "N = 300. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.15 and Fig. 16.16\n", + "#Calculating the angular speed of the crank\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Power of the engine:\n", + "#Calculating the work done per revolution\n", + "def f0(theta): \n", + " return 5000+1500*math.sin(3*theta)\n", + "\n", + "WD = quad(f0,0,2*math.pi)[0]\n", + "\n", + "#Calculating the mean resisting torque\n", + "Tmean = WD/(2*math.pi) \t\t\t#N-m\n", + "#Calculating the power of the engine\n", + "P = Tmean*omega/1000 \t\t\t#kW\n", + "#Maximum fluctuation of the speed of the flywheel when resisting torque is consmath.tant:\n", + "#Calculating the value of theta \n", + "theta = (5000-5000)/1500\n", + "theta = 1./3*(math.sin(math.radians((theta)))+180) \t\t\t#degrees\n", + "#Calculating the maximum fluctuation of energy\n", + "def f1(theta): \n", + " return 5000+1500*math.sin(3*theta)-5000\n", + "\n", + "deltaE = quad(f1,0,60*math.pi/180)[0]\n", + "\n", + "#Calculating the maximum fluctuation of speed of the flywheel\n", + "CS1 = deltaE/(I*omega**2)*100 \t\t\t#%\n", + "#Maximum fluctuation of speed of the flywheel when resisting torque (5000+600*math.sin(theta)) N-m:\n", + "#Calculating the values of theta thetaB and thetaC\n", + "thetaB = math.sin(math.radians(math.sqrt((1./4*(3-600./1500))))) \t\t\t#degrees\n", + "thetaC = 180-thetaB \t\t\t#degrees\n", + "#Calculating the maximum fluctuation of energy\n", + "\n", + "def f2(theta): \n", + " return (5000+1500*math.sin(3*theta))-(5000+600*math.sin(theta))\n", + "\n", + "deltaE = round( quad(f2,thetaB*math.pi/180,thetaC*math.pi/180)[0])\n", + "\n", + "#Calculating the maximum fluctuation of speed of the flywheel\n", + "CS2 = abs(deltaE)/(I*omega**2)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" Power of the engine P = %.1f kW.\"%(P)\n", + "print \" Maximum fluctuation of the speed of the flywheel when resisting torque\\\n", + " is constant, CS = %.1f %%.\"%(CS1)\n", + "print \" Maximum fluctuation of speed of the flywheel when resisting torque \\\n", + " 5000+600*sintheta N-m CS = %.3f %%.\"%(CS2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power of the engine P = 157.1 kW.\n", + " Maximum fluctuation of the speed of the flywheel when resisting torque is constant, CS = 0.1 %.\n", + " Maximum fluctuation of speed of the flywheel when resisting torque 5000+600*sintheta N-m CS = 0.020 %.\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.14 Page No : 592" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 800. \t\t\t#rpm\n", + "stroke = 300. \t\t\t#mm\n", + "sigma = 7.*10**6 \t\t\t#N/m**2\n", + "rho = 7200. \t\t\t#kg/m**3\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.18\n", + "#Calculating the angular speed of the engine\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 4./100\n", + "#Diameter of the flywheel rim:\n", + "#Calculating the peripheral velocity of the flywheel rim\n", + "v = math.sqrt(sigma/rho) \t\t\t#m/s\n", + "#Calculating the diameter of the flywheel rim\n", + "D = v*60/(math.pi*N) \t\t\t#m\n", + "#Cross-section of the flywheel rim:\n", + "#Calculating the value of 1 mm**2 on the turning moment diagram\n", + "c = 500.*math.pi/30 \t\t\t#Value of 1 mm**2 on the turning moment diagram N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = round((420.-(-30))*c) \t\t\t#N-m\n", + "#Calculating the mass of the flywheel rim\n", + "m = deltaE/(v**2*CS) \t\t\t#kg\n", + "#Calculating the thickness of the flywheel rim\n", + "t = math.sqrt(m/(math.pi*D*5*rho))*1000 \t\t\t#mm\n", + "#Calculating the width of the flywheel rim\n", + "b = 5*t \t\t\t #mm\n", + "\n", + "#Results:\n", + "print \" Diameter of the flywheel rim D = %.3f m.\"%(D)\n", + "print \" Thickness of the flywheel rim t = %d mm.\"%(t)\n", + "print \" Width of the flywheel rim b = %d mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Diameter of the flywheel rim D = 0.744 m.\n", + " Thickness of the flywheel rim t = 84 mm.\n", + " Width of the flywheel rim b = 424 mm.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.15 Page No : 594" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 150.*1000 \t\t\t#W\n", + "N = 80. \t\t\t#rpm\n", + "CE = 0.1\n", + "D = 2.\n", + "R = D/2. \t\t\t#m\n", + "rho = 7200. \t\t\t#kg/m**3\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the engine\n", + "omega = round(2*math.pi*N/60,1) \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 4./100\n", + "#Mass of the flywheel rim:\n", + "#Calculating the work done per cycle\n", + "WD = P*60/N \t\t\t#Work done per cycle N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = WD*CE \t\t\t#N-m\n", + "#Calculating the mass moment of inertia of the flywheel\n", + "I = deltaE/(omega**2*CS) \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the flywheel rim\n", + "Irim = 0.95*I \t\t\t#kg-m**2\n", + "#Calculating the mass of the flywheel rim\n", + "k = R \t\t\t#Radius of gyration m\n", + "m = Irim/k**2 \t\t\t#kg\n", + "#Calculating the cross-sectional area of the flywheel rim\n", + "A = m/(2*math.pi*R*rho) \t\t\t#m**2\n", + "\n", + "#Resilts:\n", + "print \" Mass of the flywheel rim m = %.f kg.\"%(m)\n", + "print \" Cross-sectional area of the flywheel rim A = %.3f m**2.\"%(A)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the flywheel rim m = 3787 kg.\n", + " Cross-sectional area of the flywheel rim A = 0.084 m**2.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.16 Page No : 595" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 600. \t\t\t#rpm\n", + "rho = 7250. \t\t\t#kg/m**3\n", + "sigma = 6.*10**6 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.19\n", + "#Calculating the angular speed of the engine\n", + "omega = 2.*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the total fluctuation of speed\n", + "CS = 2./100\n", + "#Moment of inertia of the flywheel:\n", + "#Calculating the value of 1 mm**2 of turning moment diagram\n", + "c = 250.*math.pi/60 \t\t\t#Value of 1 mm**2 of turning moment diagram N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = round((162.-(-35))*c) \t\t\t#N-m\n", + "#Calculating the moment of inertia of the flywheel\n", + "I = deltaE/(omega**2*CS) \t\t\t#kg-m**2\n", + "#Dimensions of the flywheel rim:\n", + "#Calculating the peripheral velocity of the flywheel\n", + "v = math.sqrt(sigma/rho) \t\t\t#m/s\n", + "#Calculating the mean diameter of the flywheel\n", + "D = v*60/(math.pi*N) \t\t\t#m\n", + "#Calculating the maximum fluctuation of energy of the flywheel rim\n", + "deltaErim = 0.92*deltaE \t\t\t#N-m\n", + "#Calculating the mass of the flywheel rim\n", + "m = deltaErim/(v**2*CS) \t\t\t#kg\n", + "#Calculating the thickness of the flywheel rim\n", + "t = math.sqrt(m/(math.pi*D*2*rho))*1000 \t\t\t#mm\n", + "#Calculating the breadth of the flywheel rim\n", + "b = 2*t \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Moment of inertia of the flywheel I = %.1f kg-m**2.\"%(I)\n", + "print \" Thickness of the flywheel rim t = %.1f mm.\"%(t)\n", + "print \" Breadth of the flywheel rim b = %.1f mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Moment of inertia of the flywheel I = 32.7 kg-m**2.\n", + " Thickness of the flywheel rim t = 58.6 mm.\n", + " Breadth of the flywheel rim b = 117.2 mm.\n" + ] + } + ], + "prompt_number": 23 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.17 Page No : 596" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "a1 = 5.*10**-5 #m**2\n", + "a2 = 21.*10**-5 #m**2\n", + "a3 = 85.*10**-5 #m**2\n", + "a4 = 8.*10**-5 \t\t\t#m**2\n", + "N2 = 98.\n", + "N1 = 102. \t\t\t#rpm\n", + "rho = 8150. \t\t\t#kg/m**3\n", + "sigma = 7.5*10**6 \t\t\t#N/m**2\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.20\n", + "#Calculating the net area\n", + "a = a3-(a1+a2+a4) \t\t\t#Net area m**2\n", + "#Calculating the value of 1 m**2 on the turning moment diagram in terms of work\n", + "c = 14*10**6 \t\t\t#Value of 1 m**2 on the turning moment diagram N-m\n", + "#Calculating the net work done per cycle\n", + "WD = a*c \t\t\t#Net work done per cycle N-m\n", + "#Calculating the mean torque on the flywheel\n", + "Tmean = round(WD/(4*math.pi)) \t\t\t#N-m\n", + "FG = Tmean \t\t\t#N-m\n", + "#Calculating the work done during expansion stroke\n", + "WDe = int(a3*c) \t\t\t#Work done during expansion stroke N-m\n", + "#Calculating the value of AG\n", + "AG = int(WDe/(1./2*math.pi)) \t\t\t#N-m\n", + "#Calculating the excess torque\n", + "Texcess = AG-FG \t\t\t#Excess torque N-m\n", + "AF = Texcess \t\t\t#N-m\n", + "#Calculating the value of DE\n", + "DE = round(AF/AG*math.pi,1) \t\t\t#rad\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = 1./2*DE*AF \t\t\t#N-m\n", + "#Moment of inertia of the flywheel:\n", + "#Calculating the mean speed during the cycle\n", + "N = (N1+N2)/2 \t\t\t#rpm\n", + "#Calculating the corresponding angular mean speed\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = (N1-N2)/N\n", + "#Calculating the moment of inertia of the flywheel\n", + "I = deltaE/(omega**2*CS) \t\t\t#kg-m**2\n", + "#Size of flywheel:\n", + "#Calculating the peripheral velocity of the flywheel\n", + "v = math.sqrt(sigma/rho) \t\t\t#m/s\n", + "#Calculating the mean diameter of the flywheel\n", + "D = v*60/(math.pi*N) \t\t\t#m\n", + "#Calculating the mass of the flywheel rim\n", + "m = deltaE/(v**2*CS) \t\t\t#kg\n", + "#Calculating the thickness of the flywheel rim\n", + "t = math.sqrt(m/(math.pi*D*4*rho))*1000 \t\t\t#mm\n", + "#Calculating the width of the flywheel rim\n", + "b = 4*t \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Moment of inertia of the flywheel I = %.f kg-m**2.\"%(I)\n", + "print \" Thickness of the flywheel rim t = %.1f mm.\"%(t)\n", + "print \" Width of the flywheel rim b = %.1f mm.\"%(b)\n", + "\n", + "# rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Moment of inertia of the flywheel I = 2316 kg-m**2.\n", + " Thickness of the flywheel rim t = 21.6 mm.\n", + " Width of the flywheel rim b = 86.3 mm.\n" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.18 Page No : 599" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 50.*1000 \t\t\t#W\n", + "N = 150. \t\t\t#rpm\n", + "n = 75.\n", + "sigma = 4.*10**6 \t\t\t#N/m**2\n", + "rho = 7200. \t\t\t#kg/m**3\n", + "\n", + "#Solution:\n", + "#Refer Fig. 16.21\n", + "#Calculating the angular speed of the engine\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mean torque transmitted by the flywheel\n", + "Tmean = P/omega \t\t\t#N-m\n", + "FG = Tmean \t\t\t#N-m\n", + "#Calculating the work done per cycle\n", + "WD = Tmean*4*math.pi \t\t\t#Work done per cycle N-m\n", + "#Calculating the work done during power stroke\n", + "WDp = 1.4*WD \t\t\t#Work done during power stroke N-m\n", + "#Calculating the maximum torque transmitted by the flywheel\n", + "Tmax = WDp/(1./2*math.pi) \t\t\t#N-m\n", + "BF = Tmax \t\t\t#N-m\n", + "#Calculating the excess torque\n", + "Texcess = Tmax-Tmean \t\t\t#N-m\n", + "BG = Texcess \t\t\t#N-m\n", + "#Calculating the value of DE\n", + "DE = BG/BF*math.pi \t\t\t#N-m\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = 1./2*DE*BG \t\t\t#N-m\n", + "#Mean diameter of the flywheel:\n", + "#Calculating the peripheral velocity of the flywheel\n", + "v = math.sqrt(sigma/rho) \t\t\t#m/s\n", + "#Calculating the mean diameter of the flywheel\n", + "D = v*60./(math.pi*N) \t\t\t#m\n", + "#Cross-sectional dimensions of the rim:\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 1./100\n", + "#Calculating the total energy of the flywheel\n", + "E = deltaE/(2*CS) \t\t\t#N-m\n", + "#Calculating the energy of the rim\n", + "Erim = 15./16*E \t\t\t#N-m\n", + "#Calculating the mass of the flywheel rim\n", + "m = Erim/(1./2*v**2) \t\t\t#kg\n", + "#Calculating the thickness of the rim\n", + "t = round(math.sqrt(m/(math.pi*D*4*rho))*1000) \t\t\t#mm\n", + "#Calculating the width of the rim\n", + "b = 4*t \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Mean diameter of the flywheel D = %d m.\"%(D)\n", + "print \" Thickness of the flywheel rim t = %d mm.\"%(t)\n", + "print \" Width of the flywheel rim b = %d mm.\"%(b)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mean diameter of the flywheel D = 3 m.\n", + " Thickness of the flywheel rim t = 170 mm.\n", + " Width of the flywheel rim b = 680 mm.\n" + ] + } + ], + "prompt_number": 27 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.19 Page No : 603" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N1 = 225.\n", + "N2 = 200. \t\t\t#rpm\n", + "k = 0.5 \t\t\t#m\n", + "E1 = 15.*1000 \t\t\t#N-m\n", + "HolePunched = 720. \t\t\t#per hour\n", + "\n", + "#Solution:\n", + "#Power of the motor:\n", + "#Calculating the total energy required per second\n", + "E = E1*HolePunched/3600 \t\t\t#N-m/s\n", + "#Calculating the power of the motor\n", + "P = E/1000 \t\t\t#kW\n", + "#Minimum mass of the flywheel:\n", + "#Calculating the energy supplied by the motor in 2 seconds\n", + "E2 = E*2 \t\t\t#N-m\n", + "#Calculating the energy supplied by the flywheel during punching\n", + "deltaE = E1-E2 \t\t\t#N-m\n", + "#Calculating the mean speed of the flywheel\n", + "N = (N1+N2)/2 \t\t\t#rpm\n", + "#Calculating the minimum mass of the flywheel\n", + "m = round(deltaE*900/(math.pi**2*k**2*N*(N1-N2))) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Power of the motor P = %d kW.\"%(P)\n", + "print \" Minimum mass of the flywheel m = %d kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power of the motor P = 3 kW.\n", + " Minimum mass of the flywheel m = 618 kg.\n" + ] + } + ], + "prompt_number": 28 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.20 Page No : 603" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 38. #mm\n", + "t = 32. #mm\n", + "s = 100. \t\t\t#mm\n", + "E1 = 7. \t\t\t#N-m/mm**2 of sheared area\n", + "v = 25. \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Power of the motor required:\n", + "#Calculating the sheared area\n", + "A = round(math.pi*d*t) \t\t\t#mm**2\n", + "#Calculating the total energy required per hole\n", + "E1 = E1*A \t\t\t#N-m\n", + "#Calculating the energy required for punching work per second\n", + "E = E1/10 \t\t\t#Energy required for punching work per second N-m/s\n", + "#Calculating the power of the motor required\n", + "P = E/1000 \t\t\t#Power of the motor required kW\n", + "#Mass of the flywheel required:\n", + "#Calculating the time required to punch a hole in a 32 mm thick plate\n", + "t32 = 10/(2*s)*t \t\t\t#Time required to punch a hole in 32 mm thick plate seconds\n", + "#Calculating the energy supplied by the motor in t32 seconds\n", + "E2 = E*t32 \t\t\t#N-m\n", + "#Calculating the energy to be supplied by the flywheel during punching\n", + "deltaE = E1-E2 \t\t\t#N-m\n", + "#Calculating the coefficient of fluctuation of speed\n", + "CS = 3/100.\n", + "#Calculating the mass of the flywheel required\n", + "m = round(deltaE/(v**2*CS)) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Power of the motor required P = %.3f kW.\"%(P)\n", + "print \" Mass of the flywheel required m = %d kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power of the motor required P = 2.674 kW.\n", + " Mass of the flywheel required m = 1198 kg.\n" + ] + } + ], + "prompt_number": 29 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.21 Page No : 604" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 3. \t\t\t#kW\n", + "m = 150. \t\t\t#kg\n", + "k = 0.6 \t\t\t#m\n", + "N1 = 300. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular speed of the flywheel before riveting\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Speed of the flywheel immediately after riveting:\n", + "#Calculating the energy supplied by the motor\n", + "E2 = P*1000 \t\t\t#N-m/s\n", + "#Calculating the energy absorbed during one riveting operation which takes 1 second\n", + "E1 = 10000 \t\t\t#N-m\n", + "#Calculating the energy to be supplied by the flywheel for each riveting operation per second\n", + "deltaE = E1-E2 \t\t\t#N-m\n", + "#Calculating the angular speed of the flywheel immediately after riveting\n", + "omega2 = math.sqrt(omega1**2-(2*deltaE/(m*k**2))) \t\t\t#rad/s\n", + "#Calculating the corresponding speed in rpm\n", + "N2 = omega2*60/(2*math.pi) \t\t\t#rpm\n", + "#Calculating the number of rivets that can be closed per minute\n", + "n = E2/E1*60 \t\t\t#Number of rivets that can be closed per minute\n", + "\n", + "#Results:\n", + "print \" Speed of the flywheel immediately after riveting N2 = %.1f rpm.\"%(N2)\n", + "print \" Number of rivets that can be closed per minute = %d rivets.\"%(n)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Speed of the flywheel immediately after riveting N2 = 257.6 rpm.\n", + " Number of rivets that can be closed per minute = 18 rivets.\n" + ] + } + ], + "prompt_number": 30 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.22 Page No : 605" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 40. #mm\n", + "t = 15. \t\t\t#mm\n", + "NoofHoles = 30. \t\t\t#per minute\n", + "EnergyRequired = 6. \t\t\t#N-m/mm**2\n", + "Time = 1./10 \t\t\t#seconds\n", + "N1 = 160.\n", + "N2 = 140. \t\t\t#rpm\n", + "k = 1. \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the sheared area per hole\n", + "A = round(math.pi*d*t) \t\t\t#Sheared area per hole mm**2\n", + "#Calculating the energy required to punch a hole\n", + "E1 = EnergyRequired*A \t\t\t#N-m\n", + "#Calculating the energy required for punching work per second\n", + "E = E1*NoofHoles/60 \t\t\t#Energy required for punching work per second N-m/s\n", + "#Calculating the energy supplied by the motor during the time of punching\n", + "E2 = E*Time \t\t\t#N-m\n", + "#Calculating the energy to be supplied by the flywheel during punching a hole\n", + "deltaE = E1-E2 \t\t\t#N-m\n", + "#Calculating the mean speed of the flywheel\n", + "N = (N1+N2)/2 \t\t\t#rpm\n", + "#Calculating the mass of the flywheel required\n", + "m = round(deltaE*900/(math.pi**2*k**2*N*(N1-N2))) \t\t\t#kg\n", + "\n", + "#Results:\n", + "print \" Mass of the flywheel required m = %d kg.\"%(m)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Mass of the flywheel required m = 327 kg.\n" + ] + } + ], + "prompt_number": 31 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 16.23 Page No : 606" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "n = 25.\n", + "d1 = 25./1000 #m\n", + "t1 = 18./1000 #m\n", + "D = 1.4\n", + "R = D/2 \t\t\t#m\n", + "touu = 300.*10**6 \t\t\t#N/m**2\n", + "etam = 95./100\n", + "CS = 0.1\n", + "sigma = 6.*10**6 \t\t\t#N/m**2\n", + "rho = 7250. \t\t\t#kg/m**3\n", + "\n", + "#Solution:\n", + "#Power needed for the driving motor:\n", + "#Calculating the area of the plate sheared\n", + "AS = math.pi*d1*t1 \t\t\t#m**2\n", + "#Calculating the maximum shearing force required for punching\n", + "FS = AS*touu \t\t\t#N\n", + "#Calculating the energy required per stroke\n", + "E = 1./2*FS*t1 \t\t\t#Energy required per stroke N-m\n", + "#Calculating the energy required per minute\n", + "E1 = E*n \t\t\t#Energy required per minute N-m\n", + "#Calculating the power required for the driving motor\n", + "P = E1/(60*etam)/1000 \t\t\t#Energy required for the driving motor kW\n", + "#Dimensions for the rim cross-section:\n", + "#Calculating the maximum fluctuation of energy\n", + "deltaE = 9./10*E \t\t\t#N-m\n", + "#Calculating the maximum fluctuation of energy provided by the rim\n", + "deltaErim = 0.95*deltaE \t\t\t#N-m\n", + "#Calculating the mean speed of the flywheel\n", + "N = 9.*25 \t\t\t#rpm\n", + "#Calculating the mean angular speed\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the mass of the flywheel\n", + "m = round(deltaErim/(R**2*omega**2*CS)) \t\t\t#kg\n", + "#Calculating the thickness of rim\n", + "t = math.sqrt(m/(math.pi*D*2*rho))*1000 \t\t\t#mm\n", + "#Calculating the width of rim\n", + "b = 2*t \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" Power needed for the driving motor = %.3f kW.\"%(P)\n", + "print \" Thickness of the flywheel rim t = %d mm.\"%(t)\n", + "print \" Width of the flywheel rim b = %d mm.\"%(b)\n", + "#Answers vary due to rounding-off errors" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Power needed for the driving motor = 1.674 kW.\n", + " Thickness of the flywheel rim t = 43 mm.\n", + " Width of the flywheel rim b = 86 mm.\n" + ] + } + ], + "prompt_number": 32 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch2.ipynb b/Theory_Of_Machines/ch2.ipynb new file mode 100755 index 00000000..cfa99e45 --- /dev/null +++ b/Theory_Of_Machines/ch2.ipynb @@ -0,0 +1,361 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:1f1031fc7a31a26f2df358a4d88897e7d62132cd9ac575d363637d46b39b8c4e" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2 : Kinematics of Motion" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.1 Page No: 13 " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "u1 = 0\n", + "v1 = 72.*1000./3600 \t\t\t#m/s\n", + "s1 = 500. \t\t\t #m\n", + "\n", + "# Solution:\n", + "# Calculating the initial acceleration of the car\n", + "a1 = (v1**2-u1**2)/(2*s1) \t\t\t#m/s**2\n", + "#Calculating time taken by the car to attain the speed\n", + "t1 = (v1-u1)/a1 \t\t\t#seconds\n", + "#Parameters for the second case\n", + "u2 = v1\n", + "v2 = 90.*1000/3600 \t\t\t#m/s\n", + "t2 = 10. \t\t\t#seconds\n", + "\n", + "#Calculating the acceleration for the second case\n", + "a2 = (v2-u2)/t2 \t\t\t#m/s**2\n", + "#Calculating the distance moved by the car in the second case\n", + "s2 = (u2*t2)+(a2/2*t2**2)\n", + "#Parameters for the third case\n", + "u3 = v2\n", + "v3 = 0 \t\t\t#m/s\n", + "t3 = 5 \t\t\t#seconds\n", + "#Calculating the distance moved by the car\n", + "s3 = (u3+v3)*t3/2 \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" The acceleration of the car, a = %.1f m/s**2. \"%(a1)\n", + "print \" The car takes t = %d s to attain the speed.\"%(t1)\n", + "print \" The acceleration of the car in the second case, a = %.1f m/s**2.\"%(a2)\n", + "print \" The distance moved by the cars = %d m.\"%(s2)\n", + "print \" The distance travelled by the car during braking, s = %.1f m.\"%(s3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The acceleration of the car, a = 0.4 m/s**2. \n", + " The car takes t = 50 s to attain the speed.\n", + " The acceleration of the car in the second case, a = 0.5 m/s**2.\n", + " The distance moved by the cars = 225 m.\n", + " The distance travelled by the car during braking, s = 62.5 m.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.2 Page no : 14" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# variables\n", + "t = 1. # second\n", + "v = 6.25 # m/s\n", + "\n", + "# calculations and results\n", + "C1 = v - 0.25 +t -5\n", + "\n", + "# when t = 2\n", + "t = 2.\n", + "v = t**4/4 - t**3 + 5*t + 2\n", + "print \"Velocity at t=2 seconds, V = %.f m/s\"%v\n", + "\n", + "# when t = 1 seconds and s = 8.30 m.\n", + "t = 1.\n", + "s = 8.30\n", + "C2 = s - 1./20 + 1./4 - 5./2 - 2\n", + "t = 2. # seconds\n", + "s = t**5/20 - t**4/4 + 5*t**2/2 + 2*t + 4\n", + "print \"Displacement = %.1f m\"%s\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Velocity at t=2 seconds, V = 8 m/s\n", + "Displacement = 15.6 m\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.3 Page No: 15" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from scipy.integrate import quad \n", + "\n", + "# Variables:\n", + "#Initial parameters\n", + "v0 = 100. \t\t\t#kmph\n", + "t0 = 0\n", + "#Parameters at the end of 40 seconds\n", + "v1 = 90./100*v0 \t\t\t#kmph\n", + "t1 = 40. \t\t\t#seconds\n", + "\n", + "#Solution:\n", + "#The acceleration is given by\n", + "#a = (-dv/dt) = k*v\n", + "#Integrating\n", + "#we get ln(v) = -k*t+C\n", + "#Calculating the constant of integration\n", + "def f3(v): \n", + " return 1./v\n", + "\n", + "C = quad(f3,1,100)[0]\n", + "\n", + "#Calculating the constant of proportionality\n", + "k = (C-2.3*math.log10(90))/40\n", + "#Time after 120 seconds\n", + "t2 = 120. \t\t\t#seconds\n", + "#Calculating the velocity after 120 seconds\n", + "v120 = 10**((-k*t2+C)/2.29)\n", + "\n", + "#Results:\n", + "print \" The velocity at the end of 120 seconds = %.1f kmph.\"%(v120)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity at the end of 120 seconds = 73.5 kmph.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.5 Page No: 17" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%pylab inline\n", + "\n", + "import math \n", + "from matplotlib.pyplot import *\n", + "\n", + "# Variables:\n", + "s = 500. #mm\n", + "s1 = 125. #mm\n", + "s2 = 250. #mm\n", + "s3 = 125. \t\t#mm\n", + "t = 1. \t\t\t#second\n", + "\n", + "#Solution:\n", + "#Matrices for the velocity vs. time graph\n", + "V = [0 ,750.,750.,0] \t\t\t#The velocity matrix\n", + "T = [0,1./3,2./3,1] \t\t\t#The time matrix\n", + "plot(T,V)\n", + "xlabel(\"Time\")\n", + "ylabel(\"Velocity\")\n", + "#Calculating the time of uniform acceleration\n", + "\n", + "#Equating the time taken to complete the stroke to 1 second\n", + "v = (125/(1./2)+250/1+125/(1./2))/1 \t\t\t#mm/s\n", + "\n", + "#Results:\n", + "show()\n", + "print \" The maximum cutting speed v = %d mm/s.\"%(v)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEPCAYAAAC3NDh4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X9UVXW+//EnmFa3sUgBnYDSaMpAjpI/ytIZSpHE25SK\nF+xKY14draV37KdNtQTMK6XjjHrvmsa1zLvWDHeWkrpGDcarjp2cHA2/6AiaEjl24+CoBxmyER1B\n9vePrYQKcYCzzz4/Xo+1WEvwnH3ebvW8z2d/Pp/XDjMMw0BERKQV4XYXICIi/ktNQkRE2qQmISIi\nbVKTEBGRNqlJiIhIm9QkRESkTZY2iZycHO69914GDBhARkYG9fX11NbWkpqaisPhIC0tjbq6uubH\n5+fnk5CQQFJSEtu2bbOyNBER8UCYVfskPv/8c8aOHcvRo0fp0aMHmZmZjB07lj//+c/Ex8czb948\nli9fzvHjx1mxYgWlpaXMnj2bvXv3cvLkSUaOHElFRQU9evSwojwREfGAZSOJXr160b17d86dO0dj\nYyP19fXceeedFBcXk52dDcDUqVMpKioCoKioiKysLLp160ZMTAyJiYmUlJRYVZ6IiHjA0ibx0ksv\nceedd3LHHXcQERFBamoqbreb3r17AxAZGcnp06cBqK6uJjY2tvn5sbGxuFwuq8oTEREPWNYkjh07\nxvLly/niiy84ceIEf//73ykoKLDq5URExAI3WHXgkpISHn744eZRw8SJE9m9ezdRUVHU1NQQGRmJ\n2+0mOjoaMEcOVVVVzc93uVzExcVdd9x77rmHY8eOWVW2iEhQio+P5/PPP+/w8ywbSdxzzz3s3buX\n8+fPYxgGO3bsID4+nvT09OYRRUFBAenp6QCkp6ezbt06GhsbcblcHDp0iOHDh1933GPHjmEYhr4M\ng5ycHNtr8JcvnQudC52Lb//q7Idry0YSw4YNIyMjA4fDQXh4OMnJycyZM4f6+noyMzNZs2YNffv2\npbCwEIAhQ4YwYcKE5sevWrWK7t27W1WeiIh4wLImAZCbm0tubu5VP7vpppvYvn17q49//fXXef31\n160sSUREOkA7rgNYSkqK3SX4DZ2Lb+hcfEPnouss20xnlbCwMAKsZBER23X2vVMjCRERaZOahIiI\ntElNQkRE2qQmISIibVKTEBGRNqlJiIhIm9QkRESkTZbuuBa5oqkJ0tJg7167K5HOSkiAjz8GpeWE\nFjUJ8Yn16+Fvf4PqaggLs7sa6YxJk+C992D2bLsrEV/SjmuxXEOD+Sn03XdhzBi7q5HO2r8fnngC\nPvsMbrnF7mqko7TjWvzWmjXQr58aRKB74AEYNQpWrrS7EvEljSTEUvX18L3vwaZNMHSo3dVIV1VW\nwsMPQ0UF9OpldzXSERpJiF9asQIeeUQNIlh873uQkQH5+XZXIr6ikYRYprYW7rsPdu+Ge++1uxrx\nlhMnICkJDh6E2Fi7qxFPdfa9U01CLPPqq/DVV7Bqld2ViLe9/jqcPg2rV9tdiXhKTUL8issFgwZB\nWRnExNhdjXhbXZ05Oty1CwYMsLsa8YSahPiVmTOhd294+227KxGrLF1qbo7csMHuSsQTfjlxXVFR\nQXJycvPXbbfdxsqVK6mtrSU1NRWHw0FaWhp1dXXNz8nPzychIYGkpCS2bdtmZXlikaNH4Xe/g/nz\n7a5ErDRnDpSUmF8SvHw2kmhqaiImJoaSkhKWLFlCfHw88+bNY/ny5Rw/fpwVK1ZQWlrK7Nmz2bt3\nLydPnmTkyJFUVFTQo0ePbwrWSMLvZWTAsGFqEqFg9Wr47W/hD3/QTnp/55cjiZZ27NjBPffcQ1xc\nHMXFxWRnZwMwdepUioqKACgqKiIrK4tu3boRExNDYmIiJfqYElD27YM9e2DuXLsrEV+YNs1c7bR9\nu92ViFV81iTWrl3LlClTAHC73fTu3RuAyMhITp8+DUB1dTWxLdbUxcbG4nK5fFWidJFhwGuvQU4O\n/NM/2V2N+MINN8B//If5997UZHc1YgWfNImLFy+yZcsWJk+e7IuXE5vs2GGuapo+3e5KxJcmTjSb\nxfvv212JWMEnKbC///3vGTJkCFFRUQBERUVRU1NDZGQkbreb6OhowBw5VFVVNT/P5XIRFxd33fFy\nc3Obf52SkkJKSoql9Uv7mprMT5OLFplvGBI6wsLMVWyzZpkNQ1Hi/sHpdOJ0Ort8HJ9MXGdlZTFu\n3Dh+9KMfATB37tzmietf/OIXHD9+nJUrVzZPXO/Zs6d54rqyspLuLf7VaeLaPxUWwpIl5pyEJjBD\nU1oaTJigKHF/5bf7JM6dO8ddd93F8ePH6dmzJwC1tbVkZmZy6tQp+vbtS2FhIREREQAsXryYgoIC\nwsPDWbZsGWlpaVcXrCbhdxQFLqAocX/nt03C29Qk/M+qVeZNhbTCRbKyzJ32P/2p3ZXItdQkxBaK\nApeWFCXuv/x+n4QEJ0WBS0uKEg8+GklIpykKXFqjKHH/pMtN4nOKApe2KErc/6hJiE8pCly+jaLE\n/Y+ahPiUosClPYoS9y9qEuIzR4/CqFHmevjbb7e7GvFX58+bo4kNG2D4cLurEa1uEp958014+WU1\nCPl2N99shj2+9poZ/iiBSU1COkRR4NIRihIPfGoS4jFFgUtHKUo88KlJiMcUBS6doSjxwKaJa/FI\nU5N5S9LXXgPdFkQ6audOM0r8008VJW4XTVyLpdavNyPAMzLsrkQC0WOPQf/+8N57dlciHaWRhLRL\nUeDiDYoSt5dGEmKZNWugXz81COmaBx4w99esWGF3JdIRGknIt1IUuHjTlSjxo0fNHfviOxpJiCUU\nBS7edCVKXHEugUMjCWmTosDFCooSt4eym8TrFAUuVlGUuO/57eWmuro6Jk+ezKBBg7j//vvZu3cv\ntbW1pKam4nA4SEtLo66urvnx+fn5JCQkkJSUxLZt26wuT9rgcpnLFRcssLsSCUavvgqbN5tzE+Lf\nLG8SM2fOZOLEiRw8eJDDhw+TkJBATk4O48ePp6ysjHHjxpGTkwNAaWkpGzdupLy8nK1btzJr1iwu\nXrxodYnSirw8Mw5c94oQK0REwCuvwBtv2F2JtMfSy01nzpzhoYceorKy8qqfx8fHU1JSQu/evamp\nqeGhhx7i888/Z+HChdxyyy289NJLAPzzP/8zr732GiNHjvymYF1uspyiwMUXFCXuW355uamyspKo\nqCj+5V/+hYEDB/LMM8/w9ddf43a76X15/VtkZCSnT58GoLq6mtgWM1mxsbG4XC4rS5RWKApcfEFR\n4oHhBisP3tTUxL59+1ixYgXDhg1j3rx5vPXWW10+bm5ubvOvU1JSSElJ6fIxxbRvn3k3sV//2u5K\nJBRMmwY/+5kZJT52rN3VBBen04nT6ezycSxtEnFxccTExDBs2DAAMjIyWLhwIdHR0dTU1BAZGYnb\n7SY6OhowRw5VVVXNz3e5XMTFxV133JZNQrznShT4ggWKAhffaBklPmYMhGvnltdc+wE6Ly+vU8ex\n9K8kLi6OyMhIPvvsMwB27NjB/fffz7hx4ygoKACgoKCA9PR0ANLT01m3bh2NjY24XC4OHTrEcF2s\n9BlFgYsdFCXu3yzfJ3Hw4EFmzJhBfX09d911F//zP/+DYRhkZmZy6tQp+vbtS2FhIREREQAsXryY\ngoICwsPDWbZsGWlpaVcXrIlrSygKXOykKHHraTOddElhISxZYs5JhIXZXY2EorFjzVHF7Nl2VxKc\n1CSk0xQFLv5AUeLW8sslsBIYFAUu/kBR4v5JI4kQpyhw8SeKEreORhLSKYoCF3+iKHH/o5FECFMU\nuPgjRYlbQxPX0mGKAhd/pShx71OTkA5xuWDQICgrU9Kr+J+6OnN0u2sXDBhgdzXBQU1COmTmTHNi\nUNd+xV8tXWrmiG3YYHclwUFNQjymKHAJBIoS9y6tbhKPKQpcAoGixP2DmkSIuRIFPneu3ZWItG/a\nNHO10/btdlcSutQkQoiiwCXQtIwSb2qyu5rQpCYRQhQFLoFIUeL20sR1iFAUuAQyRYl3nSau5Vut\nX29GgGdk2F2JSMc99hj076/NdXbQSCIEKApcgkFpqRklXlmpKPHO0EhC2vTee4oCl8A3ZIiixO2g\nkUSQUxS4BBNFiXeeRhLSKkWBSzBRlLjvWT6S6NevH7feeivdunWje/fulJSUUFtbS2ZmJqdOneK7\n3/0u69atIyIiAoD8/Hx+85vf0K1bN5YtW8bYsWOvLlgjCY8pClyCkaLEO8dvs5v69+9PaWkpvXr1\nav7Z3LlziY+PZ968eSxfvpzjx4+zYsUKSktLmT17Nnv37uXkyZOMHDmSiooKevTo8U3BahIeUxS4\nBCtFiXecX19uuraw4uJisrOzAZg6dSpFRUUAFBUVkZWVRbdu3YiJiSExMZGSkhJflBh0XC5zwnrB\nArsrEfG+V1+FzZvNuQmxluVNIiwsjNTUVBwOB//1X/8FgNvtpvflWafIyEhOnz4NQHV1NbEtxo+x\nsbG4XC6rSwxKeXlmHLjuFSHBKCICXnkF3njD7kqC3w1Wv8DevXuJjo7G7Xbz+OOPM8ALdxDJzc1t\n/nVKSgopKSldPmYwOXoUfvc7MwpcJFjNmQMrV0JJiaLEW+N0OnE6nV0+juVNIjo6GoCoqCgyMjLY\nt28fUVFR1NTUEBkZidvtbn5MbGwsVVVVzc91uVzExcVdd8yWTUKupyhwCQUto8T/8AczUUC+ce0H\n6Ly8vE4dx9LLTfX19dTX1wNw7tw5tm7dSmJiIunp6RQUFABQUFBAeno6AOnp6axbt47GxkZcLheH\nDh1iuD4idIiiwCWUKErcepaOJE6dOsVTTz1FWFgY9fX1ZGVl8cMf/pCRI0eSmZnJmjVr6Nu3L4WF\nhQAMGTKECRMm4HA4CA8PZ9WqVXRXmpfHFAUuoaZllPiYMRCunV9epx3XQWT7dvM67eHD5n8ekVBg\nGPDgg/DSS5CZaXc1/stv90l4m5pE6xQFLqFMUeLt8+t9EmI9RYFLKFOUuHU0kggCigIXUZR4ezSS\nCGGKAhdRlLhVNJIIcIoCF/lGZSWMGAEVFYoSv5ZGEiFKUeAi31CUuPe1O5IYMmQI06dP5+mnn+Z2\nP9jCq5HENxQFLnI9RYm3zrKRxNq1a6murmbYsGFkZWXxv//7v3qT9hNvvw0TJ6pBiLR0xx3mclil\n93iHx3MSTU1NfPDBBzz33HOEh4czbdo0fvKTnxAZGWl1jVfRSMLkcsGgQVBWpqRXkWvV1Zkfnnbt\nAi9kigYFS+ckDh48yIsvvsgrr7zCpEmTeP/997n99tuvu2uc+I6iwEXapihx7/FoTuK2225jxowZ\nTJo0iRtvvLH59yZNmsSGDRssL7IljSTMKPBRo8wocD+YJhLxS+fPm6OJDRsUJQ4WxnL85S9/4e67\n777qZ8ePH6d///4dfjFvUJMwV28MGwbz59tdiYh/W70afvtbRYmDhZebMlrJeZg0aVKHX0i8Q1Hg\nIp5TlHjXtZkVeuTIET799FPq6urYuHEjhmEQFhbGuXPn+Prrr31Zo1ymKHCRjlGUeNe12SQqKirY\nsmULX331FVu2bGn++c0338xqpWjZYscOc1XT9Ol2VyISOCZOhHfegcJCyMqyu5rA0+6cxJ49exgx\nYoSv6mlXqM5JKApcpPN27oQf/xiOHAndKHGvT1y/8847zJ8/n7mtXPwOCwtj5cqVHa/SC0K1SRQW\nwpIl5pxEqE/AiXTG2LEwYQI895zdldijs++dbV5uSkhIAMwlsGEt3pWuzE2I7zQ0mOu9331XDUKk\ns/LzzSjxZ55RlHhHKAU2APzqV+Zab63QEOmazEwzqeD11+2uxPcsWwI7evRozp492/x9XV0dqamp\nHr/ApUuXSE5O5oknngCgtraW1NRUHA4HaWlp1NXVNT82Pz+fhIQEkpKS2LZtW0f+HEGrvh7eesv8\nFCQiXbNoEfz853DmjN2VBI52m0RtbS233npr8/cRERHU1NR4/AIrVqwgISGh+RJVTk4O48ePp6ys\njHHjxpGTkwNAaWkpGzdupLy8nK1btzJr1iwuXrzY0T9P0FEUuIj3KEq849ptEpcuXaK6urr5e5fL\nRUNDg0cHd7lcFBcXM2PGjOZhTnFxMdnZ2QBMnTqVoqIiAIqKisjKyqJbt27ExMSQmJhISUlJh/9A\nwaS21vzUs2iR3ZWIBI8FC2DNGnM5ubSvzYnrKxYuXMjQoUMZPXo0ADt37uSXv/ylRwd/4YUXWLp0\n6VWXq9xuN70v3zIqMjKS06dPA1BdXc1jjz3W/LjY2FhcIf63qChwEe9rGSWuLV/ta7dJPPXUUzz4\n4IPs3r0bgGXLltGnT592D/zBBx8QHR1NcnIyTqezy4W2lNsiKD4lJYWUlBSvHt8fuFzmvavLy+2u\nRCT4vPqq+eHr6NHgjRJ3Op1eee9tt0kA7Nq1iz/+8Y+AuQR2sge7uf70pz+xefNmiouLuXDhAmfP\nniU7O5uoqChqamqIjIzE7XYTHR0NmCOHqqqq5ue7XC7i4uJaPXZuCNxN5EoU+B132F2JSPBpGSXu\n4yBrn7n2A3ReXl6njtPuEth58+Zx+PBhpkyZgmEYFBYWcv/997N8+XKPX+Sjjz7iZz/7GVu2bGHu\n3LnEx8czb948fvGLX3D8+HFWrlxJaWkps2fPZs+ePZw8eZKRI0dSWVlJ92u2R4bCElhFgYtYL9Si\nxL2+me6Kbdu2cejQIcIvJ2M9++yzJCYmdqpAMLtZZmYma9asoW/fvhQWFgLmpr0JEybgcDgIDw9n\n1apV1zWIUPHmm/Dyy2oQIla6+WbIyTGjbhQl3rZ2RxIJCQn86U9/IiIiAjD3SYwYMYIjR474pMBr\nBftIYt8+Mzrgs8+U9CpitcZGGDgQVq40YzuCmWUjiVdeeYWBAwcyZswYDMNg586dLFy4sFNFyrdT\nFLiIbylKvH0exXJ8+eWX7N27l7CwMEaMGEFsbKwvamtVMI8ktm+HOXPg8GHzH6+IWM8w4MEH4cUX\ngztK3OspsKWlpdcF+115IYAHHnigM3V2WbA2CUWBi9gnFKLEvd4kUlJSvjXt9cMPP+zwi3lDsDaJ\ndetg6VJFgYvYJdijxL3eJPxVMDaJhgZISDCjwMeMsbsakdBUWmpGiVdWBmeUuGUpsF9//TVvvvkm\n0y/fM/PYsWNX3c5Uuu6996BfPzUIETsNGWLuT1qxwu5K/Eu7I4knn3yShx9+mF//+tccPnyYCxcu\nMHz4cMrKynxV41WCbSRRX28mU27apKRXEbtVVsKIEVBRAZcj5oKGZSOJv/zlL8yfP58ePXoAcNNN\nNzVvrJOuUxS4iP9QlPj12l1o2aNHD86fP9/8/ZdffmlpQaHkShT45exEEfEDCxZAUhL85Cdg42p/\nv9HmkOD555/n448/Jicnh9GjR+NyuXjmmWd45JFHyNdt0rxCUeAi/ueOO8zlsCGQI+qRNuckli9f\nzrp16zhx4gSjR49mwIAB3H333YwaNcqjqHCrBMuchMtl3mu3vFxJryL+pq7O/PC2a1fwRIlbtgT2\niy++YO3ataxdu5bz58/z9NNPM2XKFO616eNvsDSJmTPNiTFd+xTxT0uXwt69wRMl7pN9EgcOHODZ\nZ5+lvLycS5cudfjFvCEYmoSiwEX8X7BFiVu2uqmxsZHNmzfz9NNP8/jjjzNgwAA2btzYqSLFpChw\nEf/XMko8wD+XdkmbI4lt27axdu1aioqKGD58OFOmTOGHP/wh3/nOd3xd41UCfSShKHCRwBFMUeJe\nv9z02GOPMWXKFCZNmkSvXr26XKC3BHKTMAxzV3Vmprl6QkT834YNZpz4//t/gR0lruymAKAocJHA\nEyxR4moSfk5R4CKBKxiixC2buBbveP99MwI8I8PuSkSkox57DO6+G1avtrsS37OsSVy4cIFhw4aR\nnJzMvffeywsvvABAbW0tqampOBwO0tLSqKura35Ofn4+CQkJJCUlsW3bNqtK87mGBnNF09tv614R\nIoEqPx/eegvOnbO7Et+yrEncdNNN7Nq1iwMHDvDpp5+yZ88ePvzwQ3Jychg/fjxlZWWMGzeOnJwc\nwLwT3saNGykvL2fr1q3MmjWLixcvWlWeTykKXCTwhWqUuKWXm26++WYALl68yKVLl4iOjqa4uJjs\n7GwApk6dSlFREQBFRUVkZWXRrVs3YmJiSExMpKSkxMryfKK+3vz0obgrkcC3aJEZynnmjN2V+I6l\nTaKpqYnBgwfTp08fHn30URITE3G73fS+HNQeGRnJ6dOnAaiuria2ReRibGwsLpfLyvJ8QlHgIsEj\nFKPELV2IGR4ezp///Ge++uor0tLSvHZf7NwW8YwpKSmkpKR45bjepihwkeATKFHiTqcTp9PZ5eP4\nZLX+bbfdxvjx4/nkk0+IioqipqaGyMhI3G430dHRgDlyqKqqan6Oy+UiLi6u1ePlBkiGr6LARYJP\nyyhxf17tdO0H6Ly8vE4dx7LLTWfOnOHrr78G4Pz582zfvp2kpCTS09MpKCgAoKCggPT0dADS09NZ\nt24djY2NuFwuDh06xPAATtVyucwJ68vz8iISRObPh82bzbDOYGfZSOLEiRM888wzGIbBhQsXePrp\npxk/fjwjRowgMzOTNWvW0LdvXwoLCwEYMmQIEyZMwOFwEB4ezqpVq+geqLtWgLw8Mw5c94oQCT4R\nEfDKK/DGG8ETJd4W7bi2gKLARYJfoEWJa8e1H1EUuEjwC5UocTUJL9u3z7yb1dy5dlciIlabNg1O\nnIAgCoi4jpqEFxmG+aliwQLdK0IkFNxwgxkj/tOfmiGewUhNwot27DBXNU2fbnclIuIrEyeazeLy\nGpygo4lrL1EUuEjoCoQocU1c20xR4CKhK5ijxDWS8IKGBkhIgHffVdKrSKgqLYUnnoDKSrjlFrur\nuZ5GEjZSFLiIBGuUuEYSXVRfbyZDbtqkpFeRUFdZCSNGQEUFXA679hsaSdhEUeAickUwRolrJNEF\ntbVw331mFLiSXkUEzM11SUlw8KB/RYl39r1TTaILXn0VvvoKVq2yuxIR8Sc//Sm43f612klNwsdc\nLhg0CMrLlfQqIlerqzMvPf3xjzBggN3VmNQkfGzmTHNiKpiuPYqI9yxZAp984j9R4moSPqQocBFp\nj79FiWt1kw8pClxE2hMsUeJqEh2kKHAR8VQwRImrSXSAosBFpCOCIUpcTaIDFAUuIh0V6FHiljaJ\nqqoqvv/975OUlMR9993HkiVLAKitrSU1NRWHw0FaWhp1dXXNz8nPzychIYGkpCS2+dEYranJHEUs\nWmT+hYuIeCIszFwF+eabZhhooLG0SfTo0YNf/vKXlJeXU1payurVqzl48CA5OTmMHz+esrIyxo0b\nR05ODgClpaVs3LiR8vJytm7dyqxZs7h48aKVJXpMUeAi0lmBHCVuaZPo06cPAwcOBOA73/kODoeD\n6upqiouLyc7OBmDq1KkUFRUBUFRURFZWFt26dSMmJobExERKSkqsLNEjDQ3mp4C33zYbhYhIR+Xn\nw1tvwblzdlfSMT6bk/jiiy/Yt28fI0eOxO120/tyRGJkZCSnT58GoLq6mtgWYSexsbG4XC5fldgm\nRYGLSFcFapS4T66u//3vfycjI4MVK1Zw6623dvl4ubm5zb9OSUkhJSWly8dsS3292f03bbLsJUQk\nRCxaZEaJz5plfZS40+nE6XR2+TiWN4mGhgYmTZrEv/7rv/LUU08BEBUVRU1NDZGRkbjdbqKjowFz\n5FBVVdX8XJfLRVxc3HXHbNkkrKYocBHxlpZR4kuXWvta136AzsvL69RxLL3cZBgG//Zv/0ZCQgIv\nvPBC88/T09MpKCgAoKCggPT09Oafr1u3jsbGRlwuF4cOHWK4jfvZa2vh5z83u7+IiDcsWABr1pjL\n6QOBpdlNH3/8Md///vdxOByEXZ7xzc/PZ/jw4WRmZnLq1Cn69u1LYWEhERERACxevJiCggLCw8NZ\ntmwZaWlpVxfsw+wmRYGLiBXsiBJXwJ+XKQpcRKxiR5S4moSXKQpcRKzk6yhxNQkvUhS4iFjt/Hlz\nNLFhAzz4oPWvp6hwL1IUuIhYLVCixNUkrqEocBHxlWefhb/+1b+jxNUkWlAUuIj4UiBEiatJtLB9\nu6LARcS3/D1KXBPXlzU1wbBh5khi8mSvH15EpE07d8KPfwxHjkD37ta8hiauu0hR4CJiF3+OEtdI\nAjMKPCEB3n1XSa8iYo/SUnjiCaishFtu8f7xNZLoAkWBi4jd/DVKPORHEvX15oaWTZuU9Coi9qqs\nNKPEKyq8HyWukUQnKQpcRPxFyyhxfxHSI4naWrjvPti9G+691yuHFBHpkhMnICkJDh6EFjfq7DJl\nN3WCosBFxB9ZESWuJtFBigIXEX9lRZS4mkQHKQpcRPyZt6PE1SQ6QFHgIuLvvB0lrtVNHaAocBHx\nd/4SJR5yTUJR4CISKPwhStzSJjF9+nT69OlDUlJS889qa2tJTU3F4XCQlpZGXV1d8+/l5+eTkJBA\nUlIS2yw4K4oCF5FA4g9R4pY2iWeffZatW7de9bOcnBzGjx9PWVkZ48aNIycnB4DS0lI2btxIeXk5\nW7duZdasWVy8eNGr9SgKXEQCjd1R4pY2iVGjRnH7NRf+i4uLyc7OBmDq1KkUFRUBUFRURFZWFt26\ndSMmJobExERKSkq8VktTk9mNFy0yT7iISCAICzNXYb75phlG6ms+n5Nwu930vhxKEhkZyenTpwGo\nrq4mtsX2wtjYWFwul9de9/33ITxcUeAiEnjsjBIPyM/Uubm5zb9OSUkhJSXlWx/f0GB24V/9yuzK\nIiKBJj/fjBJ/5hnPosSdTidOp7PLr+vzJhEVFUVNTQ2RkZG43W6io6MBc+RQVVXV/DiXy0VcXFyr\nx2jZJDxxJQp89OjOVi0iYq+WUeKvv97+46/9AJ2Xl9ep1/X55ab09HQKCgoAKCgoID09vfnn69at\no7GxEZfLxaFDhxg+fHiXX6++Ht56y+zCIiKBbNEi+PnP4cwZ372mpTuup0yZwkcffURNTQ19+vRh\n4cKFPPkkbM6YAAAIpElEQVTkk2RmZnLq1Cn69u1LYWEhERERACxevJiCggLCw8NZtmwZaWlp1xfc\nwV2D+flw4ID/3mRcRKQjZs+Gnj1h6dKOPU+xHK1QFLiIBJvORomrSbRCUeAiEow6EyWuJnENRYGL\nSLC6EiW+axfcf79nz1GTuIaiwEUkmHU0SlxNogVFgYtIsOtolLiiwltQFLiIBDtfRYkHXZNQFLiI\nhIpnnzVXO1kZJR5UTUJR4CISSnwRJR5UTUJR4CISaiZNsjZKPGgmrpuaYNgwcyQxebINhYmI2GTn\nTvjxj+HIEejevfXHhPzEtaLARSRUWRklHhQjiYYGSEgwo8CV9Coioai01IwSr6xsPUo8pEcSigIX\nkVDXMkrcmwJ+JFFfb24o2bQJhg61sTAREZtVVsKIEVBRYSZOtBSyI4kVK+CRR9QgRES+9z1zXtab\ncUQBPZJQFLiIyNXaihIPyewmRYGLiFyvtSjxkGsSigIXEWlda1HiIdckFAUuItK2a6PEg2bieuvW\nrSQlJZGQkMA777zT6mOOHoXf/Q7mz/dxcSIiAWLuXLNJfPJJ147jV03iH//4B8899xxbt26lrKyM\n9evXc+DAgesepyhwk9PptLsEv6Fz8Q2di2+E8rnwVpS4XzWJTz75hMTERGJiYrjhhhvIzMykqKjo\nuscpCtwUyv8BrqVz8Q2di2+E+rnwRpS4XzUJl8tFXFxc8/exsbG4XK7rHqcocBGR9rWMEu8sv2oS\nYWFhHj1OUeAiIp65EiXeaYYf2bVrlzF+/Pjm75csWWIsWrToqsfEx8cbgL70pS996asDX/Hx8Z16\nX/arJbAXLlxgwIAB7N69m+joaB5++GFWrVrFAw88YHdpIiIhqSuDEK+76aabePfdd0lLS6OpqYns\n7Gw1CBERG/nVSEJERPyLX01ct+TJprp///d/JzExkQceeKDV/RTBor1z8Zvf/AaHw0FSUhJDhw6l\ntLTUhip9w5N/FwD79u3jhhtuYOPGjT6szrc8ORdOp5Phw4czePBgfvCDH/i4Qt9p71ycPHmS0aNH\nk5iYyH333ceqIA18mz59On369CEpKanNx3T4fbPTs8wWunDhgtGvXz/D5XIZDQ0NxtChQ439+/df\n9Zj169cbTz75pGEYhrF//35j0KBBdpRqOU/OxSeffGKcPXvWMAzD+P3vf28MHjzYjlIt58m5MAzD\naGxsNB599FFj/Pjxxvr1622o1HqenIu//vWvRmJionHq1CnDMAzjzJkzdpRqOU/OxRtvvGG89tpr\nhmEYhtvtNiIiIowLFy7YUa6ldu3aZezfv98YOHBgq7/fmfdNvxxJeLKprri4mOzsbACSk5NpbGxs\ndU9FoPPkXAwfPpyePXsC8Mgjj1BdXW1HqZbzdLPlf/7nf5KRkUFUVJQNVfqGJ+di7dq1ZGZmEh0d\nDUCvXr3sKNVynpyLuLg4zp49C8DZs2eJiorixhtvtKNcS40aNYrbvyWKojPvm37ZJDzZVOfpxrtA\n19E/56pVq3jyySd9UZrPeXIuqqur2bRpE8899xzg+d6bQOPJuaioqODEiROMGDECh8PB6pa50UHE\nk3Mxc+ZMDh8+zB133MGgQYNY4e17fAaIzrxv+tXqpis8/Y9tXDPnHoxvCB35MzmdTtasWcPu3bst\nrMg+npyLefPm8fbbbzcnXl77byRYeHIuLl26xKFDh9i5cyf19fU89NBDjBgxgsTERB9U6DuenIvF\nixczePBgnE4nx44dIzU1lYMHDzaPwENJR983/XIkERsbS1VVVfP3VVVVV3W/1h7jcrmIbXkbpiDh\nybkAKCsrY8aMGWzevPlbh5uBzJNzUVpaSlZWFv3792fDhg08//zzbN682delWs6Tc3HnnXcyduxY\nbr75Znr37s0PfvADysrKfF2q5Tw5Fx9//DGTJ08GID4+nv79+3PkyBGf1ukPOvW+6bUZEy86f/68\ncddddxkul8u4ePGiMXToUKO0tPSqx6xfv9546qmnDMMwjNLSUsPhcNhRquU8ORf/93//Z8THxxt7\n9uyxqUrf8ORctDRt2jRjw4YNPqzQdzw5F/v37zdGjx5tNDY2GufOnTMSEhKMAwcO2FSxdTw5F88/\n/7yRm5trGIZhnDx50ujbt2/zhH6wOX78+LdOXHf0fdMvLze1tanuyrK1WbNmMWnSJD788EMSExO5\n8cYb+e///m+bq7aGJ+di4cKF/O1vf2u+Dt+9e3dKSkrsLNsSnpyLUOHJuUhOTubxxx/H4XDQ0NDA\njBkzGDx4sM2Ve58n52LBggVMnTqVhIQELl26xKJFi5on9IPJlClT+Oijj6ipqSEuLo68vDwaGhqA\nzr9vajOdiIi0yS/nJERExD+oSYiISJvUJEREpE1qEiIi0iY1CRERaZOahIiItElNQuRbnDlzhuTk\nZJKTk/nud79LbGwsycnJ9OzZkzlz5thdnojltE9CxEN5eXn07NmTF1980e5SRHxGIwmRDrjymcrp\ndPLEE08AkJuby49+9CMeffRR+vXrx8aNG3n55ZdxOByMHj2af/zjHwDs2bOnOZH10UcfDdpIdwku\nahIiXvDFF1+wc+dONm/ezNSpU0lLS6OsrIzbbruNLVu2cPHiRebMmcMHH3xAWVkZs2fPZv78+XaX\nLdIuv8xuEgkkYWFhPP7444SFhTFw4ECamppITU0FICkpiaqqKsrLy/n8888ZM2YMYMZ49+nTx86y\nRTyiJiHiBT169AAgPDyc7t27N/88PDycpqYmDMNg0KBB7Nq1y64SRTpFl5tEusiTtR8Oh4Mvv/yy\n+cbzjY2NVFRUWF2aSJepSYh0wJW7eIWFhbX665aPafl9jx49eP/995k9ezaDBw9m8ODBfPTRR74r\nXKSTtARWRETapJGEiIi0SU1CRETapCYhIiJtUpMQEZE2qUmIiEib1CRERKRNahIiItImNQkREWnT\n/wcnH4HjeqCFSgAAAABJRU5ErkJggg==\n", + "text": [ + "<matplotlib.figure.Figure at 0x7f5ef004da50>" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The maximum cutting speed v = 750 mm/s.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.6 Page No: 19" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Variables:\n", + "N0 = 0\n", + "N = 2000. \t\t\t#rpm\n", + "t = 20. \t\t\t#seconds\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocities\n", + "omega0 = 0\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the angular acceleration\n", + "alpha = (omega-omega0)/t \t\t\t#rad/s**2\n", + "#Calculating the angular distance moved by the wheel during 2000 rpm\n", + "theta = (omega0+omega)*t/2 \t\t\t#rad\n", + "#Calculating the number of revolutions made by the wheel\n", + "n = theta/(2*math.pi)\n", + "\n", + "#Results:\n", + "print \" The angular acceleration of the wheel, alpha = %.3f rad/s**2.\"%(alpha)\n", + "print \" The wheel makes n = %.1f revolutions.\"%(n)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular acceleration of the wheel, alpha = 10.472 rad/s**2.\n", + " The wheel makes n = 333.3 revolutions.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.7 Page No: 21" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "r = 1.5 \t\t\t#m\n", + "N0 = 1200.\n", + "N = 1500. \t\t\t#rpm\n", + "t = 5. \t\t\t#seconds\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocities\n", + "omega0 = 2*math.pi*N0/60\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity at the beginning\n", + "v0 = r*omega0 \t\t\t#m/s\n", + "#Calculating the linear velocity at the end of 5 seconds\n", + "v5 = r*omega \t\t\t#m/s\n", + "#Calculating the angular acceleration\n", + "alpha = (omega-omega0)/t \t\t\t#ad/s**2\n", + "#Calculating the math.tangential acceleration after 5 seconds\n", + "TangentialAcceleration = alpha*(r/2) \t\t\t#m/s**2\n", + "#Calculating the radial acceleration after 5 seconds\n", + "RadialAcceleration = (round(omega)**2)*(r/2) \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" The linear velocity at the beginning, v0 = %.1f m/s.\"%(v0)\n", + "print \" The linear velocity after 5 seconds, v5 = %.1f m/s.\"%(v5)\n", + "print \" The tangential acceleration after 5 seconds is %.1f m/s**2.\"%(TangentialAcceleration)\n", + "print \" The radial acceleration after 5 seconds is %.f m/s**2.\"%(RadialAcceleration)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The linear velocity at the beginning, v0 = 188.5 m/s.\n", + " The linear velocity after 5 seconds, v5 = 235.6 m/s.\n", + " The tangential acceleration after 5 seconds is 4.7 m/s**2.\n", + " The radial acceleration after 5 seconds is 18487 m/s**2.\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch3.ipynb b/Theory_Of_Machines/ch3.ipynb new file mode 100755 index 00000000..281d238d --- /dev/null +++ b/Theory_Of_Machines/ch3.ipynb @@ -0,0 +1,1380 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:102997571ab69dde264cca49f55aff87dce1c51132ce271fb2095c0f1179d655" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3 : Kinetics of Motion" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1 Page No : 32" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "k = 1. \t\t\t#m\n", + "m = 2500. \t\t\t#kg\n", + "T = 1500. \t\t\t#N-m\n", + "\n", + "#Solution:\n", + "#Calculating the mass moment of inertia of the flywheel\n", + "I = m*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the flywheel\n", + "alpha = T/I \t\t\t#rad/s**2\n", + "#The angular speed at start\n", + "omega1 = 0\n", + "t = 10. \t\t\t#seconds\n", + "#Calculating the angular speed of the flywheel after t = 10 seconds from start\n", + "omega2 = omega1+alpha*t \t\t\t#rad/s\n", + "#Calculating the kinetic energy of the flywheel after 10 seconds from start\n", + "E = 1./2*I*omega2**2/1000 \t\t\t#kJ\n", + "\n", + "#Results:\n", + "print \" The angular acceleration of the flywheel, alpha = %.1f rad/s**2.\"%(alpha)\n", + "print \" The kinetic energy of the flywheel, E = %d kJ.\"%(E)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular acceleration of the flywheel, alpha = 0.6 rad/s**2.\n", + " The kinetic energy of the flywheel, E = 45 kJ.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2 Page No : 32" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "mC = 500. #kg\n", + "mD = 250. \t\t\t#kg\n", + "s = 100. #m\n", + "r = 0.5 #m\n", + "k = 0.35 \t\t\t#m\n", + "m = 3. \t\t\t#kg/m\n", + "\n", + "#Solution:\n", + "#Velocities of the cage\n", + "u1 = 0.\n", + "v1 = 10.\n", + "v2 = 10.\n", + "u3 = 10.\n", + "v3 = 0. \t\t\t#m/s\n", + "#Accelerations of the cage\n", + "a1 = 1.5\n", + "a3 = -6. \t\t\t#m/s**2\n", + "s = 100. \t\t\t#m\n", + "\n", + "#Calculating the time taken by the cage to reach the top\n", + "t1 = (v1-u1)/a1 \t\t\t#seconds\n", + "#Calculating the dismath.tance moved by the cage during time t1\n", + "s1 = (v1+u1)/2*t1 \t\t\t#m\n", + "#Calculating the time taken for the cage from initial velocity u3 = 10 m/s to final velocity of v3 = 0\n", + "t3 = (v3-u3)/a3 \t\t\t#seconds\n", + "#Calculating the dismath.tance moved by the cage during time t3\n", + "s3 = (v3+u3)/2*t3 \t\t\t#m\n", + "#Calculating the dismath.tance travelled during consmath.tant velocity of v2 = 10 m/s\n", + "s2 = s-s1-s3 \t\t\t#m\n", + "#Calculating the time taken for the cage during consmath.tant velocity\n", + "t2 = s2/v2 \t\t\t#seconds\n", + "#Calculating the time taken for the cage to reach the top\n", + "t = t1+t2+t3 \t\t\t#seconds\n", + "#Calculating the total mass of the rope for 100 metres\n", + "mR = m*s \t\t\t#kg\n", + "#Calculating the force to raise the cage and rope at uniform speed\n", + "F1 = (mC+mR)*9.81 \t\t\t#N\n", + "#Calculating the torque to raise the cage and rope at uniform speed\n", + "T1 = F1*r \t\t\t#N-m\n", + "#Calculating the force to accelerate the cage and rope\n", + "F2 = (mC+mR)*a1 \t\t\t#N\n", + "#Calculating the torque to accelerate the cage and rope\n", + "T2 = F2*r \t\t\t#N-m\n", + "#Calculating the mass moment of inertia of the drum\n", + "I = mD*k**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the drum\n", + "alpha = a1/r \t\t\t#rad/s**2\n", + "#Calculating the torque to accelerate the drum\n", + "T3 = I*alpha \t\t\t#N-m\n", + "#Calculating the total torque which must be applied to the drum at starting\n", + "T = T1+T2+T3 \t\t\t#N-m\n", + "#Calculating the mass of 33.35 m rope\n", + "m1 = m*33.35 \t\t\t#kg\n", + "#Calculating the reduction of torque\n", + "T4 = (m1*9.81+m1*a1)*r \t\t\t#N-m\n", + "#Calculating the angular velocity of drum\n", + "omega = v2/(2*math.pi*r) \t\t\t#rad/s\n", + "#Calculating the power\n", + "P = T4*omega/1000 \t\t\t#Power kW\n", + "\n", + "#Results:\n", + "print \" The time taken for the cage to reach the top t = %.2f s.\"%(t)\n", + "print \" The total torque which must be applied to the drum during starting T = %.1f N-m.\"%(T)\n", + "print \" The power required is %.3f kW.\"%(P)\n", + "#Answers differ due to rounding-off values in textbook" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The time taken for the cage to reach the top t = 14.17 s.\n", + " The total torque which must be applied to the drum during starting T = 4615.9 N-m.\n", + " The power required is 1.801 kW.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3 Page No : 34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "P = 4.*1000 \t\t\t#W\n", + "I = 140. \t\t\t#kg-m**2\n", + "N1 = 240. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular acceleration at the commencement of operation\n", + "omega1 = 2*math.pi*N1/60 \t\t\t#rad/s\n", + "#Calculating the energy supplied by the motor (E1) and the energy consumed in closing a revet in 1 second\n", + "E1 = 4000.\n", + "E2 = 10000. \t\t\t#N-m\n", + "#Calculating the loss of kinetic energy of the flywheel during the operation\n", + "E = E2-E1 \t\t\t#N-m\n", + "#Calculating the kinetic energy of the flywheel at the commencement of operation\n", + "KEc = 1./2*I*omega1**2 \t\t\t#Kinetic energy at the commencement N-m\n", + "#Calculating the kinetic energy of the flywheel at the end of operation\n", + "KEe = KEc-E \t\t\t#Kinetic energy at the end N-m\n", + "#Calculating the angular speed of the flywheel immediately after closing a revet\n", + "omega2 = math.sqrt(KEe*2/I) \t\t\t#rad/s\n", + "#Calculating the reduction of speed\n", + "ReductionofSpeed = (omega1-omega2)*60/(2*math.pi) \t\t\t#rpm\n", + "#Calculating the maximum rate at which the revets can be closed per minute\n", + "Rate = P*60/E2 \t\t\t#Maximum rate at which the revets can be closed per minute\n", + "\n", + "#Results:\n", + "print \" The reduction of speed is %.1f rpm.\"%(ReductionofSpeed)\n", + "print \" The maximum rate at which rivets can be closed per minute is %d.\"%(Rate)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The reduction of speed is 16.9 rpm.\n", + " The maximum rate at which rivets can be closed per minute is 24.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4 Page No : 35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 14.*1000 #kg\n", + "m1 = 1.25*1000 #kg\n", + "m2 = 110. \t\t\t#kg\n", + "d = 1. #m\n", + "r = d/2 #m\n", + "k1 = 450./1000 #m\n", + "k2 = 125./1000 \t\t#m\n", + "F = 1.2*1000 \t\t#N\n", + "eta = 0.85\n", + "v = 1.8 \t\t\t#m/s\n", + "a = 0.1 \t\t\t#m/s**2\n", + "\n", + "#Solution:\n", + "#Calculating the forces oppomath.sing the motion\n", + "P1 = m*9.81*1/20+m*a+F \t\t\t#N\n", + "#Calculating the torque on the drum shaft to accelerate the load\n", + "T1 = P1*r \t\t\t#N-m\n", + "#Calculating the mass moment of inertia of the drum\n", + "I1 = m1*k1**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the drum\n", + "alpha1 = a/r \t\t\t#rad/s\n", + "#Calculating the torque on the drum to accelerate the drum shaft\n", + "T2 = I1*alpha1 \t\t\t#N-m\n", + "#Calculating the torque on the armature to accelerate drum and load\n", + "T3 = (T1+T2)/(40*eta) \t\t\t#N-m\n", + "#Calculating the mass moment of inertia of the armature\n", + "I2 = m2*k2**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the armature\n", + "alpha2 = a/r*40 \t\t\t#rad/s**2\n", + "#Calculating the torque on the armature to accelerate armature shaft\n", + "T4 = I2*alpha2 \t\t\t#N-m\n", + "#Calculating the torque on the motor shaft\n", + "T = T3+T4 \t\t\t#N-m\n", + "#Calculating the angular speed of the motor\n", + "omega = v/r*40 \t\t\t#rad/s\n", + "#Calculating the power developed by the motor\n", + "P = T*omega/1000 \t\t\t#Power developed by the motor kW\n", + "\n", + "#Results:\n", + "print \" The torque on the motor shaft T = %.2f N-m.\"%(T)\n", + "print \" The power developed by the motor is %.2f kW.\"%(P)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The torque on the motor shaft T = 154.46 N-m.\n", + " The power developed by the motor is 22.24 kW.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.5 Page No : 37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 12.0*1000\n", + "m1 = 2.0*1000\n", + "m2 = 2.5*1000 \t\t\t#kg\n", + "k1 = 0.4\n", + "d1 = 1.2\n", + "r1 = d1/2.0\n", + "k2 = 0.6\n", + "d2 = 1.5\n", + "r2 = d2/2.0\n", + "s = 6.0 \t\t\t#m\n", + "v = 9.0*1000/3600 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the mass moment of inertia of the front roller\n", + "I1 = m1*k1**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the rear axle together with its wheels\n", + "I2 = m2*k2**2 \t\t\t#kg-m**2\n", + "#Calculating the angular speed of the front roller\n", + "omega1 = round(v/r1,2) \t\t\t#rad/s\n", + "#Calculating the angular speed of rear wheels\n", + "omega2 = round(v/r2,1) \t\t\t#rad/s\n", + "#Calculating the kinetic energy of rotation of the front roller\n", + "E1 = 1.0/2*I1*4.16**2 \t\t\t#N-m\n", + "#Calculating the kinetic energy of rotation of the rear axle with its wheels\n", + "E2 = 1.0/2*I2*omega2**2 \t\t\t#N-m\n", + "#Calculating the total kinetic energy of rotation of the wheels\n", + "E = round(E1+E2,-1) \t\t\t#N-m\n", + "#Calculating the kinetic energy of translation of the road roller\n", + "E3 = 1.0/2*m*v**2 \t\t\t#N-m\n", + "#Calculating the total kinetic energy of the road roller\n", + "E4 = E3+E \t\t\t#N-m\n", + "#Calculating the braking force to bring the roller to rest\n", + "F = E4/s \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" The total kinetic energy of rotation of the wheels E = %.f N-m.\"%(E)\n", + "print \" The total kinetic energy of the road roller E4 = %d N-m.\"%(E4)\n", + "print \" The braking force required to bring the roller to rest F = %.1f N.\"%(F)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The total kinetic energy of rotation of the wheels E = 7670 N-m.\n", + " The total kinetic energy of the road roller E4 = 45170 N-m.\n", + " The braking force required to bring the roller to rest F = 7528.3 N.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6 Page no : 38" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from sympy import Symbol,solve\n", + "import math\n", + "\n", + "# variables\n", + "s = 4. # N/m\n", + "m = 4000. # N/m ; \n", + "x1 = 0.075 # m \n", + "x2 = 0.03 # m;\n", + "m = 5. # kg ; \n", + "R = 70. # N\n", + "g = 9.81\n", + "\n", + "# calculations\n", + "Q = m*(x1 - x)\n", + "P = Q + m*g - R\n", + "x = 0.045\n", + "t = Symbol(\"t\")\n", + "ans = -solve(0.07*(1 - math.cos(math.sqrt(800)) * t) - 0.045)[0]\n", + "a = math.acos(ans)\n", + "t = a/math.sqrt(800)\n", + "\n", + "# result\n", + "print \"t = %.4f s\"%t\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "t = 0.0426 s\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7 Page No : 41" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "r = 500./1000\n", + "k = 450./1000 \t\t\t#m\n", + "m1 = 500.\n", + "m2 = 1250. \t\t\t#kg\n", + "u = 0.75 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the mass moment of inertia of drum\n", + "I2 = m2*k**2 \t\t\t#kg-m**2\n", + "#Calculating the speed of truck\n", + "#Impulse\n", + "#F = m1*v or\n", + "#F-m1*v = 0 .....(i)\n", + "#Moment of impulse\n", + "#F*r = I2*(omega2-omega2) or\n", + "#F*r = I2*(u-v)/r or\n", + "#F*r+I2*v/r = I2*u/r .....(ii)\n", + "#Solving (i) and (ii)\n", + "A = [[1, -m1],[ r, I2/r]]\n", + "B = [0, I2*u/r]\n", + "V = linalg.solve(A,B)\n", + "v = V[1]\n", + "#Calculating the energy lost to the system\n", + "E = 1./2*I2*(u**2-v**2)/r**2-1./2*m1*v**2 \t\t\t#Energy lost to the system, N-m\n", + "\n", + "#Results:\n", + "print \" The speed of the truck when the motion becomes steady, v = %.3f m/s.\"%(v)\n", + "print \" The energy lost to the system is %d N-m.\"%(E)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The speed of the truck when the motion becomes steady, v = 0.502 m/s.\n", + " The energy lost to the system is 94 N-m.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.8 Page No : 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "s = 0.7*10**6 \t\t\t#N/m\n", + "m1 = 10.*10**3\n", + "m2 = 15.*10**3 \t\t\t#kg\n", + "v1 = 1.8\n", + "v2 = 0.6 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#Calculating the common velocity when moving together during impact\n", + "v = (m1*v1+m2*v2)/(m1+m2)\n", + "#Calculating the kinetic energy lost to the system\n", + "E = (1./2*m1*v1**2+1./2*m2*v2**2)-1./2*(m1+m2)*v**2\n", + "#Calculating the compression of each buffer spring\n", + "x = math.sqrt(E/(2*s))\n", + "#Calculating the velocity of each truck on separation\n", + "#Final KE after separation = KE at common velocity+Half of energy stored in springs.\n", + "#And initial and final momentum must be equal.\n", + "#Simplifying the two equations\n", + "# we get\n", + "\n", + "#1/2*m1*v3**2+1/2*m2*v4**2 = 1/2*(m1+m2)*v**2+1/2*E .....(i)\n", + "#m1*v3+m2*v4 = (m1+m2)*v\n", + "def f(x):\n", + " v3 = x[0]\n", + " v4 = x[1]\n", + " y = [0,0]\n", + " y[0] = 1./2*m1*v3**2+1./2*m2*v4**2-1./2*(m1+m2)*v**2-1./2*E\n", + " y[1] = m1*v3+m2*v4-(m1+m2)*v\n", + " return y\n", + " \n", + "z = fsolve(f,[1,1])\n", + "v3 = z[1]\n", + "v4 = z[0]\n", + "\n", + "#Results:\n", + "print \" The common velocity when moving together during impact, v = %.2f m/s.\"%(v)\n", + "print \" The kinetic energy lost to the system is %.2f kN-m.\"%(E/1000.)\n", + "print \" The compression of each buffer spring, x = %.f mm.\"%(x*1000.)\n", + "print \" The velocity of separation for 10 tonnes truck, v3 = %.1f m/s.\"%(v3)\n", + "print \" The velocity of separation for 15 tonnes truck, v4 = %.1f m/s.\"%(v4)\n", + "\n", + "# note : rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The common velocity when moving together during impact, v = 1.08 m/s.\n", + " The kinetic energy lost to the system is 4.32 kN-m.\n", + " The compression of each buffer spring, x = 56 mm.\n", + " The velocity of separation for 10 tonnes truck, v3 = 0.7 m/s.\n", + " The velocity of separation for 15 tonnes truck, v4 = 1.6 m/s.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.9 Page No : 43" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m1 = 300. #kg\n", + "m2 = 500. \t\t\t#kg\n", + "s = 1. #m\n", + "x = 150./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the velocity with which mass m1 hits the pile\n", + "u = 0\n", + "v1 = math.sqrt(2*9.81*s+u**2) \t\t\t#m/s\n", + "#Calculating the common velocity after impact\n", + "v2 = 0\n", + "v = (m1*v1+m2*v2)/(m1+m2) \t\t\t#m/s\n", + "#Calculating the kinetic energy before impact\n", + "KEb = m1*9.81*s \t\t\t#Kinetic energy before impact N-m\n", + "#Calculating the kinetic energy after impact\n", + "KEa = 1./2*(m1+m2)*v**2 \t\t\t#Kinetic energy after impact N-m\n", + "#Calculating the energy lost in the blow\n", + "E = KEb-KEa \t\t\t#Energy lost in the blow N-m\n", + "#Calculating the average resistance against the pile\n", + "R = KEa/x+m1*9.81+m2*9.81\n", + "\n", + "#Results:\n", + "print \" The energy lost in the blow is %d N-m.\"%(E)\n", + "print \" The average resistance against the pile R = %.3f kN.\"%(R/1000)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The energy lost in the blow is 1839 N-m.\n", + " The average resistance against the pile R = 15.206 kN.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.10 Page No : 44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "from numpy import linalg\n", + "\n", + "# Variables:\n", + "m1 = 0.7\n", + "m2 = 2.4 \t\t\t#kg\n", + "k1 = 270./1000\n", + "k2 = 185./1000\n", + "h1 = 0.25\n", + "DL = 0.2\n", + "CM = 0.275 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocity of hammer just before impact\n", + "h = h1*(1-math.cos(20*math.pi/180))\n", + "omega = math.sqrt(m1*9.81*h*2/(m1*k1**2)) \t\t\t#rad/s\n", + "#Calculating the relative linear velocity\n", + "RLV = 0.8*omega*CM\n", + "#Calculating the values of angular velocities\n", + "#The two equations we get in terms of omegaA and omegaB are\n", + "#DL*omegaA-CM*omegaB = RLV .....(i)\n", + "#m1*k1**2*(omega-omegaB) = .275/.2*m2*k2**2*omegaA or\n", + "#2.21*omegaA+omegaB = 2.01 .....(ii)\n", + "A = [[DL, -CM],[ 2.21, 1]]\n", + "B = [RLV,2.01]\n", + "V = linalg.solve(A,B)\n", + "\n", + "#Results:\n", + "print \" The angular velocity of the anvil A, omegaA = %.2f rad/s.\"%(V[0])\n", + "print \" The angular velocity of the hammer B, omegaB = %.2f rad/s, i.e. %.2f rad/s, in the reverse direction.\"%(V[1],\n", + "V[1]*-1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular velocity of the anvil A, omegaA = 1.23 rad/s.\n", + " The angular velocity of the hammer B, omegaB = -0.71 rad/s, i.e. 0.71 rad/s, in the reverse direction.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.11 Page No : 46" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "m = 30. \t\t\t#kg\n", + "AG = 1\n", + "GB = 150./1000\n", + "k1 = 1.1\n", + "k2 = 350./1000 \t\t\t#m\n", + "theta = 60.*math.pi/180 \t\t\t#rad\n", + "t = 0.005 \t\t\t#s\n", + "a = AG\n", + "b = GB\n", + "\n", + "#Solution:\n", + "#Calculating the mass moment of inertia of the pendulum about the point of suspension A\n", + "IA = m*k1**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia ofthe pendulum about centre of gravity G\n", + "IG = m*k2**2 \t\t\t#kg-m**2\n", + "#Calculating the angular velocity of the pendulum\n", + "h1 = a-a*math.cos(theta)\n", + "omega = math.sqrt(2*m*9.81*h1/IA) \t\t\t#rad/s\n", + "#Calculating the striking velocity of the pendulum\n", + "v = omega*(a+b) \t\t\t#m/s\n", + "#Calculating the angular velocity of the pendulum just after the breakage of the specimen\n", + "omega1 = math.sqrt(omega**2-2*54/IA)\n", + "#Calculating the linear velocity of G just before the breakage of specimen\n", + "vG = omega*AG \t\t\t#m/s\n", + "#Calculating the linear velocity of G just after the breakage of specimen\n", + "vGdash = omega1*AG \t\t\t#m/s\n", + "#Calculating the impulses at pivot A and knife edge B\n", + "#F1+F2 = m*(vG-vGdash) .....(i)\n", + "#b*F2-a*F1 = IG*(omega-omega1) .....(ii)\n", + "A = [[1, 1],[-a, b]]\n", + "B = [[m*(vG-vGdash)], [IG*(omega-omega1)]]\n", + "V = linalg.solve(A,B)\n", + "F1 = V[0]\n", + "F2 = V[1]\n", + "\n", + "#Calculating the angle of swing of the pendulum after impact\n", + "theta1 = math.cos(a-1./2*IA*omega1**2/(m*9.81))/a \t\t\t#radians\n", + "#Calculating the average force exerted at the pivot\n", + "Fp = F1/t \t\t\t#N\n", + "#Calculating the average force exerted at the knife edge\n", + "Fk = F2/t \t\t\t#N\n", + "\n", + "#Results:\n", + "print \" The striking velocity of the pendulum, v = %.2f m/s.\"%(v)\n", + "print \" Impulse at the pivot A, F1 = %.1f N.\"%(F1)\n", + "print \" Impulse at the knife edge B, F2 = %.1f N.\"%(F2)\n", + "print \" Angle of swing of the pendulum after impact, theta = %.2f degree.\"%(theta1*180/math.pi)\n", + "print \" Average force exerted at the pivot is %d N.\"%(round(Fp,-1))\n", + "print \" Average force exerted at the knife edge is %d N.\"%(Fk)\n", + "\n", + "# note : python linalg solve gives slightly different answer but accurate. " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The striking velocity of the pendulum, v = 3.27 m/s.\n", + " Impulse at the pivot A, F1 = 0.4 N.\n", + " Impulse at the knife edge B, F2 = 17.0 N.\n", + " Angle of swing of the pendulum after impact, theta = 44.43 degree.\n", + " Average force exerted at the pivot is 80 N.\n", + " Average force exerted at the knife edge is 3407 N.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.12 Page No : 47" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "T = 150. \t\t\t#N-m\n", + "m1 = 60. #kg\n", + "m2 = 20. \t\t\t#kg\n", + "k1 = 140./1000 #m\n", + "k2 = 80./1000 \t\t#m\n", + "N1 = 750. #rpm\n", + "N2 = 0. \t\t\t#rpm\n", + "\n", + "#Sloution:\n", + "#Calculating the angular speeds\n", + "omega1 = 2*math.pi*N1/60\n", + "omega2 = 0 \t\t\t#rad/s\n", + "#Calculating the mass moment of inertia of the rotor on motor\n", + "I1 = m1*k1**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the parts attached to machine\n", + "I2 = m2*k2**2 \t\t\t#kg-m**2\n", + "#Calculating the speed after engagement of the clutch and the time taken\n", + "#We know that impulsive torque = change in angular momentum\n", + "#T*t = I1*(omega1-omega) or I1*omega+T*t = I1*omega1 .....(i)\n", + "#T*t = I2*(omega-omega2) or I2*omega-T*t = I2*omega2 .....(ii)\n", + "A = [[I1, T],[ I2, -T]]\n", + "B = [I1*omega1,I2*omega2]\n", + "V = linalg.solve(A,B)\n", + "omega = V[0] \t\t\t#rad/s\n", + "t = V[1] \t\t\t#s\n", + "#Calculating the kinetic energy lost during the operation\n", + "E = I1*I2*(omega1-omega2)**2/(2*(I1+I2)) \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The speed after engagement, omega = %.1f rad/s.\"%(omega)\n", + "print \" The time taken, t = %.2f s.\"%(t)\n", + "print \" The kinetic energy lost during the operation, E = %d N-m.\"%(E)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The speed after engagement, omega = 70.8 rad/s.\n", + " The time taken, t = 0.06 s.\n", + " The kinetic energy lost during the operation, E = 356 N-m.\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.13 Page No : 50" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "M = 75. \t\t\t#kg\n", + "r = 0.3 \t\t\t#m\n", + "G = 6.\n", + "IA = 100. #kg-m**2\n", + "IB = 5. \t\t\t#kg-m**2\n", + "eta = 90./100 \t\t\n", + "\n", + "#Solution:\n", + "#Calculating the equivalent mass of the geared system\n", + "me = 1/r**2*(IA+G**2*IB) \t\t\t#kg\n", + "#Calculating the total equivalent mass to be accelerated\n", + "Me = me+M \t\t\t#kg\n", + "#Calculating the acceleration when it is allowed to fall freely\n", + "F = M*9.81 \t\t\t#Accelerating force provided by the pull of gravity N\n", + "a = F/Me \t\t\t#m/s**2\n", + "#Calculating the equivalent mass of the geared system when the efficiency is 90%\n", + "me1 = 1/r**2*(IA+G**2*IB/eta) \t\t\t#kg\n", + "#Calculating the total equivalent mass to be accelerated\n", + "Me1 = me1+M \t\t\t#kg\n", + "#Calculating the acceleration when the efficiency is 90%\n", + "F1 = M*9.81 \t\t\t#Accelerating force by the pull of gravity N\n", + "a1 = F1/Me1 \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" The acceleration of the mass M if it is allowed to fall freely, a = %.3f m/s**2.\"%(a)\n", + "print \" The acceleration of the mass M when the efficiency of the gearing system is 0.9, a = %.3f m/s**2.\"%(a1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The acceleration of the mass M if it is allowed to fall freely, a = 0.231 m/s**2.\n", + " The acceleration of the mass M when the efficiency of the gearing system is 0.9, a = 0.216 m/s**2.\n" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.14 pageno : 51" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "T = 100. #N-m ; \n", + "IA = 2. # kg-m**2 ;\n", + "IB = 32. # kg-m**2\n", + "\n", + "# calculations\n", + "G = math.sqrt(IB/IA)\n", + "alphaB = G*100/(IA*G**2 + 32)\n", + "alphaA = G*alphaB\n", + "\n", + "# results\n", + "print \"G = %.f\"%G\n", + "print \"alpha B = %.2f rad/s**2\"%alphaB\n", + "print \"alpha A = %.f rad/s**2\"%alphaA" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "G = 4\n", + "alpha B = 6.25 rad/s**2\n", + "alpha A = 25 rad/s**2\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.15 page no : 52" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "m = 1500. #kg ; \n", + "d = 600. \n", + "mm = 0.6 #m \n", + "r = 0.3 #m ; \n", + "IA = 8. #kg-m 2 ;\n", + "IB = 1. # kg-m 2 ; \n", + "n = 0.85 \n", + "v = 24. #km/h ; \n", + "F = 300. #N ; \n", + "TB = 200. #N-m ; \n", + "sintheta = 0.25\n", + "\n", + "# calculatins\n", + "tW = n * TB\n", + "P = 170./r\n", + "G = round((14 + math.sqrt(14**2 + 4 * 168.4))/2)\n", + "Amax = (P*G - 3980)/ (1590+9.44*G**2)\n", + "v = 6.67 #m/s\n", + "speed = v/r\n", + "W = G*speed\n", + "power = TB*W/1000\n", + "\n", + "#Result\n", + "print \"G = %.f \"%G\n", + "print \"maximum acceleration : %.2f m/s\"%Amax\n", + "print \"speed of the road wheels : %.f rad/s\"%W\n", + "print \"power of the engine : %.1f kW\"%power" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "G = 22 \n", + "maximum acceleration : 1.38 m/s\n", + "speed of the road wheels : 489 rad/s\n", + "power of the engine : 97.8 kW\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.16 page no : 54" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "TB = 1000. # N-m ; \n", + "v1 = 27.8 #m/s ; \n", + "v2 = 76.4 #m /s ; \n", + "d = 0.9 # m \n", + "r = 0.45 # m ; \n", + "G = 3.3 ; \n", + "v = 47.2 # m/s ; \n", + "P = 50 * 10**3 # W ;\n", + "M = 1000 #kg ; \n", + "m = 40. # kg ; \n", + "k = 0.25 #m ; \n", + "IB = 1. # kg-m**2\n", + "\n", + "# calculation\n", + "IA = 4 * m* k**2\n", + "F = round(P/v,-1)\n", + "Tw = G*1000\n", + "FT = Tw/r\n", + "C1 = round(-(2325./(2*121.5)*math.log((121.5+v1)/(121.5-v1))),1)\n", + "t = round((2325./(2*121.5)*math.log((121.5+v2)/(121.5-v2)))-4.5,1)\n", + "\n", + "# result\n", + "print \"the time taken for the speed to rise : %.1f s\"%t\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the time taken for the speed to rise : 9.6 s\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.17 pageno : 55" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "G = 9\n", + "IA = 0.6 #kg-m2 \n", + "IB = 45. # kg-m 2 ; \n", + "TB = 100. # N-m;\n", + "n = 0.95; \n", + "N = 160. # r.p.m. ; \n", + "N1 = 0 \n", + "N2 = 60. # r.p.m. ; \n", + "TA = 30. # N-m\n", + "W1 = 0\n", + "# calculations\n", + "P = 2*math.pi*N*TB/(60*n)\n", + "\n", + "t = 60. # time\n", + "TA = 30.\n", + "TB1 = G*TA*n\n", + "B = TB1 - TB\n", + "alphaB = B/91.2\n", + "W2 = 2*math.pi*N2/60\n", + "t = (W2 - W1)/alphaB\n", + "G1 = (7.27 + math.sqrt(7.27**2+4*78.95))/2\n", + "\n", + "# result\n", + "print \"the power which the motor must develop : %.f W\"% P\n", + "print \"final angular speed : %.1f s\"%t\n", + "print \"maximum angular acceleration : %.3f \"%G1" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the power which the motor must develop : 1764 W\n", + "final angular speed : 3.7 s\n", + "maximum angular acceleration : 13.235 \n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.18 Page No : 57" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "d = 1.5 # m\n", + "r = d/2 # m\n", + "d1 = 1. # m\n", + "kM = 90./1000\n", + "kI = 225./1000\n", + "kD = 600./1000\n", + "kP = 450./1000 \t\t\t#m\n", + "NM = 900. # rpm\n", + "N1 = 275. # rpm\n", + "ND = 50. \t\t\t #rpm\n", + "mM = 200. # kg\n", + "mI = 375. # kg\n", + "mD = 2250. # kg\n", + "mP = 200. # kg\n", + "m1 = 1150. # kg\n", + "m2 = 650. \t\t\t#kg\n", + "FI = 150. # N-m\n", + "FD = 1125. # N-m\n", + "FP = 150. \t\t\t#N-m\n", + "F1 = 500. # N\n", + "F2 = 350. \t\t\t#N\n", + "a = 0.9 \t\t\t#m/s**2\n", + "\n", + "#Solution:\n", + "#Calculating the speed of guide pulley\n", + "NP = ND*d/d1 \t\t\t#rpm\n", + "#Calculating the gear ratio for intermediate gear and motor\n", + "G1 = N1/NM\n", + "#Calculating the gear ratio for drum and motor\n", + "G2 = round(ND/NM,3)\n", + "#Calculating the gear ratio for the guide pulley and motor\n", + "G3 = NP/NM\n", + "#Calculating the mass moment of inertia of the motor\n", + "IM = mM*kM**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the intermediate gear\n", + "II = mI*kI**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the drum and shaft\n", + "ID = mD*kD**2 \t\t\t#kg-m**2\n", + "#Calculating the mass moment of inertia of the guide pulley\n", + "IP = mP*kP**2 \t\t\t#kg-m**2\n", + "#Calculating the angular acceleration of the drum\n", + "alphaD = a/r \t\t\t#rad/s**2\n", + "#Calculating the angular acceleration of the motor\n", + "alphaM = alphaD*NM/ND \t\t\t#rad/s**2\n", + "#Calculating the equivalent mass moment of inertia of the system\n", + "I = IM+G1**2*II+G2**2*ID+2*G3**2*IP \t\t\t#kg-m**2\n", + "#Calculating the torque at motor to accelerate the system\n", + "T1 = round(I*alphaM,1) \t\t\t#N-m\n", + "#Calculating the torque at motor to overcome friction at intermediate gear\n", + "#drum and two guide pulleys\n", + "T2 = round(G1*FI+G2*FD+2*G3*FP,1) \t\t\t#N-m\n", + "#Calculating the tension in the rimath.sing rope between the pulley and drum\n", + "Q1 = m1*9.81+m1*a+F1 \t\t\t#N\n", + "#Calculating the tension in the falling rope between the pulley and drum\n", + "Q2 = m2*9.81-m2*a-F2 \t\t\t#N\n", + "#Calculating the torque at drum\n", + "TD = round((Q1-Q2)*r) \t\t\t#N-m\n", + "#Calculating the torque at motor to raise and lower cages and ropes and to overcome frictional resistance\n", + "T3 = G2*TD \t\t\t#N-m\n", + "#Calculating the total motor torque required\n", + "T = T1+T2+T3 \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The total motor torque required, T = %.1f N-m.\"%(T)\n", + "\n", + "# rounding off error." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The total motor torque required, T = 583.8 N-m.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.19 Page No : 65" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m1 = 50. #kg\n", + "m2 = 25. \t\t\t#kg\n", + "u1 = 3. #m/s\n", + "u2 = 1.5 \t\t\t#m/s\n", + "\n", + "#Solution:\n", + "#When the impact is inelastic\n", + "#Calculating the common velocity after impact\n", + "v = (m1*u1+m2*u2)/(m1+m2) \t\t\t#m/s\n", + "#Calculating the loss of kinetic energy during impact\n", + "EL = m1*m2/(2*(m1+m2))*(u1-u2)**2 \t\t\t#N-m\n", + "#When the impact is elastic\n", + "#Calculating the velocity of the first sphere immediately after impact\n", + "v1 = 2*v-u1 \t\t\t#m/s\n", + "#Calculating the velocity of the second sphere immediately after impact\n", + "v2 = 2*v-u2 \t\t\t#m/s\n", + "#Calculating the loss of kinetic energy\n", + "EL1 = 0\n", + "#When the coefficient of restitution e = 0.6\n", + "e = 0.6\n", + "#Calculating the velocity of the first sphere immediately after impact\n", + "v12 = (1+e)*v-e*u1 \t\t\t#m/s\n", + "#Calculating the velocity of the second sphere immediately after impact\n", + "v22 = (1+e)*v-e*u2 \t\t\t#m/s\n", + "#Calculating the loss of kinetic energy\n", + "EL2 = m1*m2/(2*(m1+m2))*(u1-u2)**2*(1-e**2) \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The common velocity after impact when the impact is inelastic, v = %.1f m/s.\"%(v)\n", + "print \" The loss of kinetic energy during impact, EL = %.2f N-m.\"%(EL)\n", + "print \" The velocity of the first sphere immediately after impact when the impact is elastic, v1 = %d m/s.\"%(v1)\n", + "print \" The velocity of the second sphere immediately after impact, v2 = %.1f m/s.\"%(v2)\n", + "print \" The loss of kinetic energy, EL = %d.\"%(EL1)\n", + "print \" The velocity of the first sphere immediately after impact When the coefficient of \\\n", + "restitution is 0.6, v1 = %.1f m/s.\"%(v12)\n", + "print \" The velocity of the second sphere immediately after impact, v2 = %.1f m/s.\"%(v22)\n", + "print \" The loss of kinetic energy during impactm EL = %d N-m.\"%(EL2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The common velocity after impact when the impact is inelastic, v = 2.5 m/s.\n", + " The loss of kinetic energy during impact, EL = 18.75 N-m.\n", + " The velocity of the first sphere immediately after impact when the impact is elastic, v1 = 2 m/s.\n", + " The velocity of the second sphere immediately after impact, v2 = 3.5 m/s.\n", + " The loss of kinetic energy, EL = 0.\n", + " The velocity of the first sphere immediately after impact When the coefficient of restitution is 0.6, v1 = 2.2 m/s.\n", + " The velocity of the second sphere immediately after impact, v2 = 3.1 m/s.\n", + " The loss of kinetic energy during impactm EL = 12 N-m.\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.20 Page No : 66" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m1 = 15.*1000 #kg\n", + "m2 = 5.*1000 \t\t\t#kg\n", + "u1 = 20.*1000/3600 #m/s\n", + "u2 = 12.*1000/3600 \t\t#m/s\n", + "s = 1000.*10**3 \t\t#N/m\n", + "e = 0.5\n", + "\n", + "#Solution:\n", + "#Calculating the common speed\n", + "v = (m1*u1+m2*u2)/(m1+m2) \t\t\t#m/s\n", + "#Calculating the difference in kinetic energies before impact and during impact\n", + "d = m1*m2/(2*(m1+m2))*(u1-u2)**2 \t\t\t#Difference in kinetic energies N-m\n", + "#Equating the difference between kinetic energies to the strain energy stored in the springs\n", + "x = math.sqrt(d*2/(4*s))*1000 \t\t\t#mm\n", + "#Calculating the speed of the loaded wagon immediately after impact ends\n", + "v11 = 2*v-u1 \t\t\t#m/s\n", + "#Calculating the speed of the empty wagon immediately after impact ends\n", + "v21 = 2*v-u2 \t\t\t#m/s\n", + "#Calculating the speeds of the wagons taking into account the coefficient of restitution e = 0.5\n", + "v12 = (1+e)*v-e*u1 \t\t\t#m/s\n", + "v22 = (1+e)*v-e*u2 \t\t\t#m/s\n", + "#Calculating the amount of energy dissipated during impact\n", + "EL = m1*m2/(2*(m1+m2))*(u1-u2)**2*(1-e**2) \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The magnitude of common speed v = %d m/s.\"%(v)\n", + "print \" The maximum deflection of each buffer spring during impact x = %d mm.\"%(x)\n", + "print \" The speed of the loaded wagon immediately after the impact ends v1 = %.2f m/s.\"%(v11)\n", + "print \" The speed of the empty wagon immediately after the impact ends v2 = %.2f m/s.\"%(v21)\n", + "print \" When coefficient of restitution is taken into account v1 = %.3f m/s.\"%(v12)\n", + "print \" When coefficient of restitution is taken into account v2 = %.3f m/s.\"%(v22)\n", + "print \" The amount of energy dissipated during impact EL = %d N-m.\"%(EL)\n", + "\n", + "# rounding off error. please check." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The magnitude of common speed v = 5 m/s.\n", + " The maximum deflection of each buffer spring during impact x = 68 mm.\n", + " The speed of the loaded wagon immediately after the impact ends v1 = 4.44 m/s.\n", + " The speed of the empty wagon immediately after the impact ends v2 = 6.67 m/s.\n", + " When coefficient of restitution is taken into account v1 = 4.722 m/s.\n", + " When coefficient of restitution is taken into account v2 = 5.833 m/s.\n", + " The amount of energy dissipated during impact EL = 6944 N-m.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.21 Page No : 67" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "IA = 22.5 #kg-m**2\n", + "IB = 67.5 \t\t\t#kg-m**2\n", + "q = 225. \t\t\t#N-m/rad\n", + "NA = 150. #rpm\n", + "NB = 0. \t\t\t#rpm\n", + "\n", + "#Calculating the angular speed of the flywheel\n", + "omegaA = 2*math.pi*NA/60 \t\t\t#rad/s\n", + "#Calculating the angular speed of both the flywheels at the instant their speeds are equal\n", + "omega = IA*omegaA/(IA+IB) \t\t\t#rad/s\n", + "#Calculating the kinetic energy of the system at that instant\n", + "E2 = 1./2*(IA+IB)*omega**2 \t\t\t#N-m\n", + "#Calculating the kinetic energy of the flywheel A\n", + "E1 = 1./2*IA*omegaA**2 \t\t\t#N-m\n", + "#Calculating the strain energy stored in the spring\n", + "E = E1-E2 \t\t\t#Strain energy stored in the spring N-m\n", + "#Calculating the maximum twist of the spring\n", + "theta = math.sqrt(E*2/q) \t\t\t#radians\n", + "thetad = theta*180/math.pi \t\t\t#Maximum twist degrees\n", + "#Calculating the speed of each flywheel when the spring regains its initial unstrained condition\n", + "N = 60*omega/(2*math.pi)\n", + "NA1 = 2*N-NA \t\t\t#rpm\n", + "NB1 = 2*N-NB \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" The strain energy stored in the spring is %d N-m.\"%(E)\n", + "print \" The maximum twist of the spring theta = %.1f degrees.\"%(thetad)\n", + "print \" The speed of flywheel A when the spring regains its initial unstrained condition NA1 = %d rpm \\\n", + " \\ni.e. %d rpm in the opposite direction.\"%(NA1,-NA1)\n", + "print \" The speed of flywheel B when the spring regains its initial unstrained condition NB1 = %d rpm.\"%(NB1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The strain energy stored in the spring is 2081 N-m.\n", + " The maximum twist of the spring theta = 246.5 degrees.\n", + " The speed of flywheel A when the spring regains its initial unstrained condition NA1 = -75 rpm \n", + "i.e. 75 rpm in the opposite direction.\n", + " The speed of flywheel B when the spring regains its initial unstrained condition NB1 = 75 rpm.\n" + ] + } + ], + "prompt_number": 4 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch4.ipynb b/Theory_Of_Machines/ch4.ipynb new file mode 100755 index 00000000..845b97ee --- /dev/null +++ b/Theory_Of_Machines/ch4.ipynb @@ -0,0 +1,601 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:cff1e23e14e854a300136760b464ae325e3afc2c7094a19b255704b9aeba45ea" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4 : Simple Harmonic Motion" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.1 Page No : 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 120. \t\t\t#rpm\n", + "r = 1. #m\n", + "x = 0.75 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating Angular Velocity\n", + "omega = 2*math.pi*N/60 \t\t\t#rad/s\n", + "#Calculating Velocity of the Piston\n", + "v = omega*math.sqrt(r**2-x**2) \t\t\t#m/s\n", + "#Calculating Acceleration of the Piston\n", + "a = omega**2*x\n", + "\n", + "#Results:\n", + "print \" The Velocity of the Piston, v = %.2f m/s.\"%(v)\n", + "print \" The Acceleration of the Piston, a = %.2f m/s**2.\"%(a)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Velocity of the Piston, v = 8.31 m/s.\n", + " The Acceleration of the Piston, a = 118.44 m/s**2.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.2 Page No : 75" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "x1 = .75\n", + "x2 = 2. \t\t\t#m\n", + "v1 = 11.\n", + "v2 = 3.\t\t\t #m/s\n", + "\n", + "#Solution:\n", + "#We have11 = omega*math.sqrt(r**2-.75**2) and 3 = omega*math.sqrt(r**2-2**2).\n", + "#These upon solving yield r**2-(121/omega**2)-0.5625 = 0 and r**2-(9/omega**2)-4 = 0.\n", + "#Take r**2 = x and (1/omega**2) = y and the equation become x-121y = 0.5625 and x-9y = 4.\n", + "#Variables Matrix\n", + "A = [[1, -121],[ 1, -9]]\n", + "#Constants Matrix\n", + "B = [.5625, 4]\n", + "V = linalg.solve(A,B)\n", + "#Calculating Amplitude of the Particle\n", + "r = math.sqrt(V[0]) \t \t\t#m\n", + "#Calculating Angular Velocity of the Particle\n", + "omega = math.sqrt(1./V[1]) \t\t\t#rad/s\n", + "#Calculating Periodic Time\n", + "tp = 2*math.pi/omega \t\t \t#seconds\n", + "#Calculating Maximum Acceleration\n", + "amax = omega**2*r \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" The Angular Velocity omega = %.1f rad/s.\"%(omega)\n", + "print \" The Periodic Time tp = %.1f s.\"%(tp)\n", + "print \" The Maximum Acceleration amax = %.2f m/s**2.\"%(amax)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Angular Velocity omega = 5.7 rad/s.\n", + " The Periodic Time tp = 1.1 s.\n", + " The Maximum Acceleration amax = 67.38 m/s**2.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.3 Page No : 79" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 60. \t\t\t#kg\n", + "r = 0.0125 #m\n", + "x = 0.005 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Extension of the Spring\n", + "delta = (.25/1.5)*60*10**-3 \t\t\t#m\n", + "#Calculating the Frequency of the System\n", + "n = 1./(2*math.pi)*math.sqrt(9.81/delta) \t\t\t#Hz\n", + "#Calculating the Angular Velocity of the Mass\n", + "omega = math.sqrt(9.81/delta) \t\t\t#rad/s\n", + "#Calculating the Linear Velocity of the Mass\n", + "v = omega*math.sqrt(r**2-x**2)\n", + "\n", + "#Results:\n", + "print \" The Frequency of Natural Vibration n = %.2f Hz.\"%(n)\n", + "print \" The Velocity of the Mass v = %.2f m/s.\"%(v)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Frequency of Natural Vibration n = 4.98 Hz.\n", + " The Velocity of the Mass v = 0.36 m/s.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.4 Page No : 82" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 1. #kg\n", + "m1 = 2.5 \t\t\t#kg\n", + "s = 1.8*10**3 \t\t#N/m\n", + "l = (300.+300)*10**-3\t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Mass Moment of Inertia of the System\n", + "IA = (m*l**2/3)+(m1*l**2) \t\t\t#kg-m**2\n", + "#Calculating the Ratio of Alpha to Theta\n", + "#delta = 0.3*theta\n", + "#Restoring Force = s*delta = 540*theta\n", + "#Restoring torque about A = 540*theta*0.3 = 162*theta N-m ...(i)\n", + "#Torque about A = IA*alpha = 1.02*alpha N-m ...(ii)\n", + "#Equating (i) and (ii) 1.02*alpha = 162*theta \n", + "alphabytheta = 162/1.02\n", + "#Calculating the Frequency of Oscillation\n", + "n = 1/(2*math.pi)*math.sqrt(alphabytheta)\n", + "\n", + "#Results:\n", + "print \" The Frequency of Oscillation n = %.2f Hz.\"%(n)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Frequency of Oscillation n = 2.01 Hz.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.5 Page No : 83" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m = 85. \t\t\t#kg\n", + "h = 0.1 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Frequency of Oscillation\n", + "n = 100./145 \t\t\t#Hz\n", + "#Calculating the Equivalent Length of Simple Pendulum\n", + "L = (1/(2*math.pi)/.69*math.sqrt(9.81))**2\n", + "#Calculating the Radius of Gyration\n", + "kG = math.sqrt((L-h)*h)\n", + "#Calculating the Moment of Inertia of the Flywheel through the Centre of Gravity\n", + "I = m*kG**2 \t\t\t#kg-m**2\n", + "\n", + "#Results:\n", + "print \" The Moment of Inertia of the Flywheel Through its c.g. I = %.1f kg-m**2.\"%(I)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Moment of Inertia of the Flywheel Through its c.g. I = 3.6 kg-m**2.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.6 Page No : 84" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from scipy.optimize import fsolve \n", + "import math \n", + "\n", + "# Variables:\n", + "m = 60. \t\t\t#kg\n", + "d1 = 75.\n", + "d2 = 102. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Calculating the Frequencies of Oscillation\n", + "n1 = 100./190\n", + "n2 = 100./165 \t\t\t#Hz\n", + "\n", + "#Calculating the Equivalent Lengths of Simple Pendulum\n", + "L1 = 9.81/(2*math.pi*n1)**2 \t\t\t#m\n", + "L2 = 9.81/(2*math.pi*n2)**2 \t\t\t#m\n", + "\n", + "#Calculating Dismath.tance of c.g. from the Small and Big End Centres (h1 and h2) and the Radius of Gyration\n", + "def f(x):\n", + " h1 = x[0]\n", + " h2 = x[1]\n", + " kG = x[2]\n", + " y = [0,0,0]\n", + " y[0] = L1*h1-h1**2-kG**2\n", + " y[1] = L2*h2-h2**2-kG**2\n", + " y[2] = h1+h2-1\n", + " return y\n", + "\n", + "z = fsolve(f,[1,1,1])\n", + "\n", + "h1 = z[0]\n", + "h2 = z[1]\n", + "kG = z[2]\n", + "\n", + "#Calculating the Mass Moment of Inertia of the Rod\n", + "I = m*kG**2 \t\t\t#kg-m**2\n", + "\n", + "#Results:\n", + "print \" The Moment of Inertia of the Rod I = %d kg-m**2.\"%(I)\n", + "print \" The C.G is at a Distance of h1 = %.3f m from the Small End Centre.\"%(h1)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Moment of Inertia of the Rod I = 6 kg-m**2.\n", + " The C.G is at a Distance of h1 = 0.759 m from the Small End Centre.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.7 Page No : 85" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "l = 1.2 \t\t\t#m\n", + "theta = 3*math.pi/180 \t\t\t#rad\n", + "\n", + "#Solution:\n", + "#Calculating the Distance Between the Knife Edge and C.G. of the Rod\n", + "h = 1.2/2-.05 \t\t\t#m\n", + "#Calculating the Radius of Gyration of the Rod About C.G.\n", + "kG = l/math.sqrt(12) \t\t\t#m\n", + "#Calculating the Time of Swing of the Rod\n", + "tp = 2*math.pi*math.sqrt((kG**2+h**2)/(9.81*h)) \t\t\t#seconds\n", + "#Calculating the Minimum Time of Swing\n", + "tpmin = 2*math.pi*math.sqrt((2*kG)/9.81) \t\t\t#seconds\n", + "#Calculating Angular Velocity\n", + "omega = 2*math.pi/tp \t\t\t#rad/s\n", + "#Calculating Maximum Angular Velocity\n", + "omegamax = omega*theta \t\t\t#rad/s\n", + "#Calculating Maximum Angular Acceleration\n", + "alphamax = omega**2*theta \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The Time of Swing of the Rod tp = %.2f seconds.\"%(tp)\n", + "print \" The Minimum Time of Swing tpmin = %.2f seconds.\"%(tpmin)\n", + "print \" The Maximum Angular Velocity omegamax = %.4f rad/s.\"%(omegamax)\n", + "print \" The Maximum Angular Acceleration (alphamax) = %.3f rad/s**2.\"%( alphamax)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Time of Swing of the Rod tp = 1.76 seconds.\n", + " The Minimum Time of Swing tpmin = 1.67 seconds.\n", + " The Maximum Angular Velocity omegamax = 0.1871 rad/s.\n", + " The Maximum Angular Acceleration (alphamax) = 0.669 rad/s**2.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.8 Page No : 86" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from numpy import linalg\n", + "import math \n", + "\n", + "# Variables:\n", + "m = 30. \t\t\t#kg\n", + "OG = 1.05 #m\n", + "h = OG #m\n", + "AG = 0.15 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Frequency of Oscillation\n", + "n = 20/43.5 \t\t\t#Hz\n", + "#Calculating the Equivalent Length of Simple Pendulum\n", + "L = 9.81/(2*math.pi*n)**2 \t\t\t#m\n", + "#Calculating the Distance of Centre of Percussion (C) from the Centre of Gravity (G)\n", + "CG = L-OG \t\t\t#m\n", + "#Calculating the Distance of Centre of Percussion (C) from the Knife Edge A\n", + "AC = AG-CG \t\t\t#m\n", + "#Calculating the Radius of Gyration of the Pendulum About O\n", + "kO = math.sqrt(L*h) \t\t\t#m\n", + "h1 = h*(1-math.cos(60*math.pi/180)) \t\t\t#m\n", + "#Calculating the Angular Velocity of the Pendulum\n", + "omega = math.sqrt(2*m*9.81*h1/(m*kO**2)) \t\t\t#rad/s\n", + "OA = OG+AG\n", + "#Calculating the Velocity of Striking\n", + "v = omega*(OA) \t\t\t#Velocity of Striking\n", + "#Calculating the Angular Velocity of the Pendulum Immediately After Impact\n", + "I = m*kO**2\n", + "LKE = 55. \t\t\t#Loss of Kinetic Energy N-m\n", + "omega1 = math.sqrt(omega**2-LKE*2/I)\n", + "#Calculating the Impulses at Knife Edge A and at Pivot O (P and Q)\n", + "CLM = m*h*(omega-omega1) \t\t\t#Change of Linear Momentum\n", + "CAM = m*(kO**2-h**2)*(omega-omega1) \t\t\t#Change of Angular Momentum\n", + "#P+Q = Change of Linear Momentum and 0.15P-1.05Q = Change of Angular Momentum.\n", + "#i.e. P+Q = CLM and 0.15P-1.05Q = CAM\n", + "#Variables Matrix\n", + "A = [[1, 1],[0.15,-1.05]]\n", + "B = [CLM, CAM]\n", + "V = linalg.solve(A,B)\n", + "P = V[0]\n", + "Q = V[1]\n", + "#Calculating the Change in Axis Reaction When the Pendulum is Vertical\n", + "CAR = m*(omega**2-omega1**2)*h \t\t\t#Change in Axis Reaction, N\n", + "\n", + "#Results:\n", + "print \" The Distance of Centre of Percussion, AC = %.3f m.\"%(AC)\n", + "print \" The Velocity of Striking = %.2f m/s.\"%(v)\n", + "print \" The Impulse at the Knife Edge P = %.1f N-s.\"%(P)\n", + "print \" The Impulse at the Pivot Q = %.2f N-s.\"%(Q)\n", + "print \" The Change in Axis Reaction When the Pendulum is Vertical = %d N.\"%(CAR)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Distance of Centre of Percussion, AC = 0.024 m.\n", + " The Velocity of Striking = 3.47 m/s.\n", + " The Impulse at the Knife Edge P = 17.6 N-s.\n", + " The Impulse at the Pivot Q = 0.37 N-s.\n", + " The Change in Axis Reaction When the Pendulum is Vertical = 93 N.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.9 Page No : 89" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables\n", + "m = 1.5 \t\t\t#kg\n", + "l = 1.25 #m\n", + "x = 120.*10**-3 #m\n", + "y = x \t\t\t #m\n", + "\n", + "#Solution:\n", + "#Calculating the Frequency of Oscillation\n", + "n = 20./40 \t\t\t#Hz\n", + "#Calculating the Radius of Gyration of the Connecting Rod\n", + "kG = 1/(2*math.pi*n)*math.sqrt(9.81*x*y/l) \t\t\t#m\n", + "#Calculating the Moment of Inertia of the Connecting Rod\n", + "I = m*kG**2 \t\t\t#kg-m**2\n", + "\n", + "#Results:\n", + "print \" The Radius of Gyration kG = %d mm.\"%(kG*1000)\n", + "print \" The Mass Moment of Inertia I = %.3f kg-m**2.\"%(I)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Radius of Gyration kG = 107 mm.\n", + " The Mass Moment of Inertia I = 0.017 kg-m**2.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.10 Page No : 90" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "l = 2.5\n", + "r = 250.*10**-3 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Frequency of Oscillation\n", + "n = 50./170 \t\t\t#Hz\n", + "#Calculating the Radius of Gyration of the Wheel\n", + "kG = r/(2*math.pi*n)*math.sqrt(9.81/l) \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" The Radius of Gyration kG = %d mm.\"%(kG*10**3)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The Radius of Gyration kG = 267 mm.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.11 Page No : 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "m1 = 5.5 #kg\n", + "m2 = 1.5 \t\t\t#kg\n", + "l = 1.25 #m\n", + "r = 125.*10**-3 \t#m\n", + "\n", + "#Solution:\n", + "#Calculating the Frequency of Oscillation\n", + "n = 10./30 \t\t\t#Hz\n", + "#Calculating the Radius of Gyration About an Axis Through the c.g.\n", + "kG = r/(2*math.pi*n)*math.sqrt(9.81/l) \t\t\t#m\n", + "#Calculating the Mass Moment of Inertia About an Axis Through its c.g.\n", + "m = m1+m2 \t\t\t#Total Mass kg\n", + "I = m*kG**2 \t\t\t#kg-m**2\n", + "\n", + "#Results:\n", + "print \"The Mass Moment of Inertia About an Axis Through its c.g. I = %.3f kg-m**2.\"%(I)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Mass Moment of Inertia About an Axis Through its c.g. I = 0.196 kg-m**2.\n" + ] + } + ], + "prompt_number": 15 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch5.ipynb b/Theory_Of_Machines/ch5.ipynb new file mode 100755 index 00000000..2ebeaf21 --- /dev/null +++ b/Theory_Of_Machines/ch5.ipynb @@ -0,0 +1,218 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:a49d3045051d18d945c16a76ba66d562e97f6c140e0b1e26e143c1e463c579f5" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5 : Simple Mechanisms" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1 Page No : 110" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "AC = 300.\n", + "CB1 = 120. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 5.28\n", + "#Calculating the sine of inclination of the slotted bar with the vertical\n", + "sineCAB1 = CB1/AC\n", + "#Calculating the inclination of the slotted bar with the vertical\n", + "angleCAB1 = math.sin(sineCAB1)*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle alpha\n", + "alpha = 2*(90-angleCAB1) \t\t\t#degrees\n", + "#Calculating the ratio of time of cutting stroke to time of return stroke\n", + "r = (360-alpha)/alpha \t\t\t#Ratio of time of cutting stroke to time of return stroke\n", + "\n", + "#Results:\n", + "print \" The ratio of the time of cutting stroke to the time of return stroke is %.1f\"%(r)\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The ratio of the time of cutting stroke to the time of return stroke is 1.7\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2 Page No : 110" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "AC = 240.\n", + "CB1 = 120.\n", + "AP1 = 450. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 5.29\n", + "#Calculating the math.sine of inclination of the slotted bar with the vertical\n", + "sineCAB1 = CB1/AC\n", + "#Calculating the inclination of the slotted bar with the vertical\n", + "angleCAB1 = math.sin(sineCAB1)*180/math.pi \t\t\t#degrees\n", + "#Calculating the angle alpha\n", + "alpha = 2*(90-angleCAB1) \t\t\t#degrees\n", + "#Calculating the time ratio of cutting stroke to the return stroke\n", + "r = (360-alpha)/alpha \t\t\t#Time ratio of cutting stroke to the return stroke\n", + "#Calculating the length of the stroke\n", + "R1R2 = 2*AP1*round(math.sin(math.pi/2-alpha/2*math.pi/180),1) \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" The time ratio of cutting stroke to the return stroke is %.f.\"%(r)\n", + "print \" The length of the stroke R1R2 = P1P2 = %d mm.\"%(R1R2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The time ratio of cutting stroke to the return stroke is 2.\n", + " The length of the stroke R1R2 = P1P2 = 450 mm.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.3 Page No : 112" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "#Refer Fig. 5.30 and Fig. 5.31\n", + "BC = 30.\n", + "R1R2 = 120. \t\t\t#mm\n", + "r = 1.7 \t\t\t#Time ratio of working stroke to the return stroke\n", + "\n", + "#Solution:\n", + "#Calculating the angle alpha\n", + "alpha = 360/(1.7+1) \t\t\t#degrees\n", + "#Calculating the length of the link AC\n", + "B1C = BC\n", + "AC = B1C/math.cos(math.radians(alpha/2)) \t\t\t#mm\n", + "#Calculating the length of the link AP\n", + "AP1 = R1R2/(2*math.cos(math.radians(alpha/2))) \t\t\t#mm\n", + "AP = AP1\n", + "\n", + "#Results:\n", + "print \" The length of AC = %.1f mm.\"%(AC)\n", + "print \" The length of AP = %.2f mm.\"%(AP)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The length of AC = 75.7 mm.\n", + " The length of AP = 151.48 mm.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.4 Page No : 112" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "CD = 50. #mm\n", + "CA = 75. #mm\n", + "PA = 150. #mm\n", + "PR = 135. #mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 5.32 and Fig. 5.33\n", + "#Calculating the cosine of angle beta\n", + "CA2 = CA\n", + "cosbeta = CD/CA2\n", + "#Calculating the angle beta\n", + "beta = 2*math.degrees(math.acos(cosbeta)) \t\t\t#degrees\n", + "#Calculating the ratio of time of cutting stroke to time of return stroke\n", + "r = (360-beta)/beta \t\t\t#Ratio of time of cutting stroke to time of return stroke\n", + "#Calculating the length of effective stroke\n", + "R1R2 = 87.5 \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" The ratio of time of cutting stroke to time of return stroke is %.3f.\"%(r)\n", + "print \" The length of effective stroke R1R2 = %.1f mm.\"%(R1R2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The ratio of time of cutting stroke to time of return stroke is 2.735.\n", + " The length of effective stroke R1R2 = 87.5 mm.\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch6.ipynb b/Theory_Of_Machines/ch6.ipynb new file mode 100755 index 00000000..dfc6f728 --- /dev/null +++ b/Theory_Of_Machines/ch6.ipynb @@ -0,0 +1,347 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:1b2bc75a9da3f88ed85d2991e9ff321b52f8f56e21ca05cba6bbfb84f1e84dc2" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6 : Velocity in Mechanisms(Instantaneous Centre Method)" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.1 Page No : 126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAB = 100. \t\t\t#rpm\n", + "AB = 300./1000\n", + "BC = 360./1000\n", + "CD = BC \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 6.9\n", + "#Calculating the angular speed of link AB\n", + "omegaAB = 2*math.pi*NAB/60 \t\t\t#rad/s\n", + "#Calculating the velocity of point B on link AB\n", + "vB = omegaAB*AB \t\t\t#m/s\n", + "#Calculating the angular velocity of link BC\n", + "#By measurement from instantaneous centre diagram Fig. 6.10\n", + "\n", + "I13B = 500./1000 \t\t\t#m\n", + "omegaBC = vB/I13B \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The angular velocity of the link BC omegaBC = %.3f rad/s.\"%(omegaBC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular velocity of the link BC omegaBC = 6.283 rad/s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.2 Page No : 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaOB = 10. \t\t\t#rad/s\n", + "OB = 100/1000. \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 6.12\n", + "#Calculating the velocity of the crank OB\n", + "vOB = omegaOB*OB \t\t\t#m/s\n", + "vB = vOB\n", + "#By measurement from the instantaneous cemtre diagram Fig. 6.13\n", + "\n", + "I13A = 460./1000\n", + "I13B = 560./1000 \t\t\t#m\n", + "#Calculating the velocity of slider A\n", + "vA = vB/I13B*I13A\n", + "#Calculating the angular velocity of the connecting rod AB\n", + "omegaAB = vB/I13B \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \"The velocity of slider A vA = %.2f m/s.\"%(vA)\n", + "print \"The angular velocity of connecting rod AB omegaAB = %.2f rad/s.\"%(omegaAB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The velocity of slider A vA = 0.82 m/s.\n", + "The angular velocity of connecting rod AB omegaAB = 1.79 rad/s.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3 Page No : 130" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NOA = 120. \t\t\t#rpm\n", + "OA = 200./1000 \t\t\t#m/s\n", + "\n", + "#Results:\n", + "#Refer Fig. 6.15\n", + "#Calculating the angular velocity of the crank OA\n", + "omegaOA = 2*math.pi*NOA/60 \t\t\t#rad/s\n", + "#Calculating the velocity of crank OA\n", + "vOA = omegaOA*OA \t\t\t#m/s\n", + "vA = vOA\n", + "#By measurement from the instantaneous cemtre diagram Fig. 6.16\n", + "\n", + "I13A = 840./1000\n", + "I13B = 1070./1000\n", + "I14B = 400./1000\n", + "I14C = 200./1000\n", + "I15C = 740./1000\n", + "I15D = 500./1000 \t\t\t#m\n", + "\n", + "#Calculating the velocity of point B\n", + "vB = vA/I13A*I13B \t\t\t#m/s\n", + "#Calculating the velocity of point C\n", + "vC = vB/I14B*I14C \t\t\t#m/s\n", + "#Calculating the velocity of point B\n", + "vD = vC/I15C*I15D \t\t\t#m/s\n", + "#Calculating the angular velocity of the link AB\n", + "omegaAB = vA/I13A \t\t\t#rad/s\n", + "#Calculating the angular velocity of the link BC\n", + "omegaBC = vB/I14B \t\t\t#rad/s\n", + "#Calculating the angular velocity of the link CD\n", + "omegaCD = vC/I15C \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The velocity of point B vB = %.1f m/s.\"%(vB)\n", + "print \" The velocity of point C vC = %.1f m/s.\"%(vC)\n", + "print \" The velocity of point D vD = %.2f m/s.\"%(vD)\n", + "print \" The angular velocity of the link AB omegaAB = %.2f rad/s.\"%(omegaAB)\n", + "print \" The angular velocity of the link BC omegaBC = %d rad/s.\"%(omegaBC)\n", + "print \" The angular velocity of the link CD omegaCD = %.2f rad/s.\"%(omegaCD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of point B vB = 3.2 m/s.\n", + " The velocity of point C vC = 1.6 m/s.\n", + " The velocity of point D vD = 1.08 m/s.\n", + " The angular velocity of the link AB omegaAB = 2.99 rad/s.\n", + " The angular velocity of the link BC omegaBC = 8 rad/s.\n", + " The angular velocity of the link CD omegaCD = 2.16 rad/s.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4 Page No : 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaO1A = 100. \t\t\t#rad/s\n", + "O1A = 100/1000. \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 6.18\n", + "#Calculating the linear velocity of crank O1A\n", + "vO1A = omegaO1A*O1A \t\t\t#m/s\n", + "vA = vO1A\n", + "#By measurement from the instantaneous cemtre diagram Fig. 6.19\n", + "I13A = 910./1000\n", + "I13B = 820./1000\n", + "I15B = 130./1000\n", + "I15D = 50./1000\n", + "I16D = 200./1000\n", + "I16E = 400./1000 \t\t\t#m\n", + "#Calculating the velocity of point B\n", + "vB = vA/I13A*I13B \t\t\t#m/s\n", + "#Calculating the velocity of point D\n", + "vD = vB/I15B*I15D \t\t\t#m/s\n", + "#Calculating the velocity of point E\n", + "vE = vD/I16D*I16E \t\t\t#m/s\n", + "\n", + "#Results:\n", + "print \" The velocity of point B vB = %.2f m/s.\"%(vB)\n", + "print \" The velocity of point D vD = %.2f m/s.\"%(vD)\n", + "print \" The velocity of point E vE = %.2f m/s.\"%(vE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of point B vB = 9.01 m/s.\n", + " The velocity of point D vD = 3.47 m/s.\n", + " The velocity of point E vE = 6.93 m/s.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5 Page No : 135" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NO1A = 400. \t\t\t#rpm\n", + "O1A = 16./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 6.21\n", + "#Calculating the angular velocity of the crank O1A\n", + "omegaO1A = 2*math.pi*NO1A/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of the crank O1A\n", + "vO1A = omegaO1A*O1A \t\t\t#m/s\n", + "vA = vO1A\n", + "#By measurement from the instantaneous cemtre diagram Fig. 6.22\n", + "I13A = 41./1000\n", + "I13B = 50./1000\n", + "I14B = 23./1000\n", + "I14C = 28./1000\n", + "I15C = 65./1000\n", + "I15D = 62./1000 \t\t\t#m\n", + "#Calculating the velocity of point B\n", + "vB = vA/I13A*I13B \t\t\t#m/s\n", + "#Calculating the velocity of point C\n", + "vC = vB/I14B*I14C \t\t\t#m/s\n", + "#Calculating the velocity of of the needle at D\n", + "vD = vC/I15C*I15D \t\t\t#m/s\n", + "\n", + "#Results:\n", + "print \"The velocity of the needle at D vD = %.2f m/s.\"%(vD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The velocity of the needle at D vD = 0.95 m/s.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.6 Page No : 137" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NOA = 120. \t\t\t#rpm\n", + "#Solution:\n", + "#Refer Fig. 6.24\n", + "#Calculating the angular speed of crank OA\n", + "omegaOA = 2*math.pi*NOA/60 \t\t\t#rad/s\n", + "#By measurement from the instantaneous cemtre diagram Fig. 6.25\n", + "I12I26 = 65./1000 \t\t\t#m\n", + "#Calculating the velocity of the ram\n", + "vD = omegaOA*I12I26 \t\t\t#m/s\n", + "\n", + "#Results:\n", + "print \" The velocity of ram, vD = %.3f m/s.\"%(vD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of ram, vD = 0.817 m/s.\n" + ] + } + ], + "prompt_number": 1 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch7.ipynb b/Theory_Of_Machines/ch7.ipynb new file mode 100755 index 00000000..83081a67 --- /dev/null +++ b/Theory_Of_Machines/ch7.ipynb @@ -0,0 +1,788 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:c5834020c85eb4ee9dd0f62630cfe11c8ed3ce693f7ae9cc407ce5e3a8a74085" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7 : Velocity in Mechanisms (Relative Velocity Method)" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.1 Page No : 148" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBA = 120. \t\t\t#rpm\n", + "AB = 40./1000\n", + "CD = 80./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.7\n", + "#Calculating the angular velocity of the crank AB\n", + "omegaBA = 2*math.pi*NBA/60 \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "vB = vBA\n", + "#By measurement from the velocity diagram Fig. 7.7(b)\n", + "vCD = 0.385 \t\t\t#m/s\n", + "vC = vCD\n", + "#Calculating the angular velocity of link CD\n", + "omegaCD = vCD/CD \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The angular velocity of link CD omegaCD = %.1f rad/s clockwise about D.\"%(omegaCD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular velocity of link CD omegaCD = 4.8 rad/s clockwise about D.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.2 Page No : 148" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBO = 180. \t\t\t#rpm\n", + "OB = 0.5\n", + "PB = 2.\n", + "dO = 50./1000\n", + "dB = 60./1000\n", + "dC = 30./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.8\n", + "#Calculating the angular velocity of the crank BO\n", + "omegaBO = 2*math.pi*NBO/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of B with respect to O\n", + "vBO = omegaBO*OB \t\t\t#m/s\n", + "vB = vBO\n", + "#By measurement from the velocity diagram Fig. 7.8(b)\n", + "vP = 8.15\n", + "vPB = 6.8\n", + "vE = 8.5\n", + "bg = 5.\n", + "bp = vPB\n", + "vG = 8. \t\t\t#m/s\n", + "#Calculating the angular velocity of the connecting rod PB\n", + "omegaPB = vPB/PB \t\t\t#rad/s\n", + "#Calculating the velocity of rubbing at the pin of crank-shaft\n", + "vCS = dO/2*omegaBO \t\t\t#Velocity of rubbing at the pin of crank-shaft m/s\n", + "#Calculating the velocity of rubbing at the pin of crank\n", + "vC = dB/2*(omegaBO+omegaPB) \t\t\t#Velocity of rubbing at the pin of crank m/s\n", + "#Calculating the velocity of rubbing at the pin of cross-head\n", + "vPCH = dC/2*omegaPB \t\t\t#Velocity of rubbing at the pin of cross-head m/s\n", + "#Calculating the position of point G on the connecting rod\n", + "BG = bg/bp*PB \t\t\t#m\n", + "\n", + "#Results:\n", + "print \" The velocity of piston P vP = %.2f m/s.\"%(vP)\n", + "print \" The angular velocity of connecting rod omegaPB = %.1f rad/s anticlockwise.\"%(omegaPB)\n", + "print \" The velocity of point E on the connecting rod vE = %.1f m/s.\"%(vE)\n", + "print \" The velocity of rubbing at the pin of crank-shaft is %.2f m/s.\"%(vCS)\n", + "print \" The velocity of rubbing at the pin of crank is %.4f m/s.\"%(vC)\n", + "print \" The velocity of rubbing at the pin of cross-head is %.3f m/s.\"%(vPCH)\n", + "print \" The position of point G on the connecting rod BG = %.2f m.\"%(BG)\n", + "print \" The linear velocity of point G vG = %d m/s.\"%(vG)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of piston P vP = 8.15 m/s.\n", + " The angular velocity of connecting rod omegaPB = 3.4 rad/s anticlockwise.\n", + " The velocity of point E on the connecting rod vE = 8.5 m/s.\n", + " The velocity of rubbing at the pin of crank-shaft is 0.47 m/s.\n", + " The velocity of rubbing at the pin of crank is 0.6675 m/s.\n", + " The velocity of rubbing at the pin of cross-head is 0.051 m/s.\n", + " The position of point G on the connecting rod BG = 1.47 m.\n", + " The linear velocity of point G vG = 8 m/s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.3 Page No : 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 600. \t\t\t#rpm\n", + "OA = 28./1000 #m\n", + "BD = 46./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.10\n", + "#Calculating the angular velocity of crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 7.10(b)\n", + "vD = 1.6\n", + "vDB = 1.7 \t\t\t#m/s\n", + "#Calculating the angular velocity of D with respect to B\n", + "omegaBD = vDB/BD \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The velocity of the slider D vD = %.1f m/s.\"%(vD)\n", + "print \" The angular velocity of the link BD omegaBD = %.2f rad/s clockwise sbout B.\"%(omegaBD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of the slider D vD = 1.6 m/s.\n", + " The angular velocity of the link BD omegaBD = 36.96 rad/s clockwise sbout B.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.4 Page No : 151" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBA = 120. \t\t\t#rpm\n", + "AB = 150./1000 #mm\n", + "DC = 450./1000 #mm\n", + "BC = 450./1000 #mm\n", + "dC = 50./1000\n", + "rC = dC/2 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.12\n", + "#Calculating the angular velocity of the crank AB\n", + "omegaBA = 2*math.pi*NBA/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "vB = vBA\n", + "#By measurement from the velocity diagram Fig. 7.12(b)\n", + "vF = 0.7\n", + "vCD = 2.25\n", + "vCB = 2.25 \t\t\t#m/s\n", + "#Calculating the angular velocity of DC\n", + "omegaDC = vCD/DC \t\t\t#rad/s\n", + "#Calculating the angular velocity of BC\n", + "omegaCB = vCB/BC \t\t\t#rad/s\n", + "#Calculating the rubbing speed at the pin C\n", + "vr = (omegaCB-omegaDC)*rC \t\t\t#The rubbing speed at the pin C m/s\n", + "\n", + "#Results:\n", + "print \" The velocity of block F vF = %.1f m/s.\"%(vF)\n", + "print \" The angular velocity of DC omegaDC = %d rad/s anticlockwise about D.\"%(omegaDC)\n", + "print \" The rubbing speed at the pin C is %d m/s.\"%(vr)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of block F vF = 0.7 m/s.\n", + " The angular velocity of DC omegaDC = 5 rad/s anticlockwise about D.\n", + " The rubbing speed at the pin C is 0 m/s.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.5 Page No : 153" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 120. \t\t\t#rpm\n", + "OA = 100./1000\n", + "CE = 350./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.13\n", + "#Calculating the angular speed of the crank OA\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 7.14(b)\n", + "vF = 0.53\n", + "od = 1.08\n", + "vCE = 0.44 \t\t\t#m/s\n", + "#Calculating the angular velocity of CE\n", + "omegaCE = vCE/CE \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The velocity of F vF = %.2f m/s.\"%(vF)\n", + "print \" The velocity of sliding of CE in the trunnion is %.2f m/s.\"%(od)\n", + "print \" The angular velocity of CE omegaCE = %.2f rad/s clockwise about E.\"%(omegaCE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of F vF = 0.53 m/s.\n", + " The velocity of sliding of CE in the trunnion is 1.08 m/s.\n", + " The angular velocity of CE omegaCE = 1.26 rad/s clockwise about E.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.6 Page No : 155" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NCO = 120. \t\t\t#rpm\n", + "OC = 125./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.15\n", + "#Calculating the angular velocity of the crank CO\n", + "omegaCO = 2*math.pi*NCO/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of C with respect to O\n", + "vCO = omegaCO*OC \t\t\t#m/s\n", + "vC = vCO\n", + "#By measurement from the velocity diagram Fig. 7.16(b)\n", + "\n", + "vCO = 1.57\n", + "vE = 0.7 \t\t\t#m/s\n", + "\n", + "#Results:\n", + "print \" The absolute velocity of point E of the lever vE = %.1f m/s.\"%(vE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The absolute velocity of point E of the lever vE = 0.7 m/s.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.7 Page No : 156" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBO1 = 40. \t\t\t#rpm\n", + "O1O2 = 800./1000\n", + "O1B = 300./1000\n", + "O2D = 1300./1000\n", + "DR = 400./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.18\n", + "#Calculating the angular speed of the crank BO\n", + "omegaBO1 = 2*math.pi*NBO1/60 \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to O1\n", + "vBO1 = omegaBO1*O1B \t\t\t#m/s\n", + "vB = vBO1\n", + "#By measurement from the velocity diagram Fig. 7.18(b)\n", + "vR = 1.44\n", + "vDO2 = 1.32 \t\t\t#m/s\n", + "vD = vDO2\n", + "#Calculating the angular velocity of the link O2D\n", + "omegaDO2 = vDO2/O2D \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The velocity of the ram R vR = %.2f m/s.\"%(vR)\n", + "print \" The angular velocity of the link O2D omegaDO2 = %.3f rad/s anticlockwise about O2.\"%(omegaDO2)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of the ram R vR = 1.44 m/s.\n", + " The angular velocity of the link O2D omegaDO2 = 1.015 rad/s anticlockwise about O2.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.8 Page No : 158" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO1 = 60. \t\t\t#rpm\n", + "O1A = 85.\n", + "rQ = 50. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.20 and Fig. 7.21\n", + "#Calculating the angular velocity of AO1\n", + "omegaAO1 = 2*math.pi*NAO1/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O1\n", + "vAO1 = omegaAO1*O1A \t\t\t#mm/s\n", + "vA = vAO1\n", + "#By measurement from the velocity diagram Fig. 7.20(b)\n", + "vDO2 = 410. \t\t\t#mm/s\n", + "O2D = 264. \t\t\t#mm\n", + "angleB1O2B2 = 60*math.pi/180 \t\t\t#rad\n", + "#To vary the Scilab function 'beta'\n", + "alpha = 120\n", + "beta = 240 \t\t\t#degrees\n", + "#Calculating the angular velocity of the quadant Q\n", + "omegaQ = vDO2/O2D \t\t\t#rad/s\n", + "#Calculating the linear speed of the rack\n", + "vR = omegaQ*rQ \t\t\t#mm/s\n", + "#Calculating the ratio of times of lowering and raimath.sing the rack\n", + "r = beta/alpha\n", + "#Calculating the length of stroke of the rack\n", + "L = rQ*angleB1O2B2 \t\t\t#mm\n", + "\n", + "#Results:\n", + "print \" The linear speed of the rack vR = %.1f mm/s.\"%(vR)\n", + "print \" The ratio of times of lowering and raising the rack is %d.\"%(r)\n", + "print \" The length of the stroke of the rack is %.2f mm.\"%(L)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The linear speed of the rack vR = 77.7 mm/s.\n", + " The ratio of times of lowering and raising the rack is 2.\n", + " The length of the stroke of the rack is 52.36 mm.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.9 Page No : 160" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NPO = 120. \t\t\t#rpm\n", + "OQ = 100./1000 #mm\n", + "OP = 200./1000 #mm\n", + "RQ = 150./1000 #mm\n", + "RS = 500./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.22\n", + "#Calculating the angular speed of the crank PO\n", + "omegaPO = 2*math.pi*NPO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of P with respect to O\n", + "vPO = omegaPO*OP \t\t\t#m/s\n", + "vP = vPO\n", + "#By measurement from the velocity diagram Fig. 7.23(b)\n", + "vS = 0.8\n", + "vSR = 0.96\n", + "vTP = 0.85 \t\t\t#m/s\n", + "#Calculating the angular velocity of link RS\n", + "omegaRS = vSR/RS \t\t\t#rad/s\n", + "\n", + "#Results:\n", + "print \" The velocity of the slider S cutting tool vS = %.1f m/s.\"%(vS)\n", + "print \" The angular velocity of the link RS omegaRS = %.2f rad/s clockwise about R.\"%(omegaRS)\n", + "print \" The velocity of the sliding block T on the slotted lever QT vTP = %.2f m/s.\"%(vTP)\n", + "\n", + "# note : answer in book is wrong\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of the slider S cutting tool vS = 0.8 m/s.\n", + " The angular velocity of the link RS omegaRS = 1.92 rad/s clockwise about R.\n", + " The velocity of the sliding block T on the slotted lever QT vTP = 0.85 m/s.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.10 Page No : 162" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAD = 100. \t\t\t#rpm\n", + "TA = 50. \t\t\t#N-m\n", + "DA = 300./1000\n", + "CB = 360./1000\n", + "AB = CB\n", + "DC = 600./1000 \t\t\t#m\n", + "eta = 70./100 \t\t\t#%\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.25\n", + "#Calculating the angular velocity of the crank AD\n", + "omegaAD = 2*math.pi*NAD/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to D\n", + "vAD = omegaAD*DA \t\t\t#m/s\n", + "vA = vAD\n", + "#By measurement from the velocity diagram Fig. 7.25(b)\n", + "vBC = 2.25 \t\t\t#m/s\n", + "vB = vBC\n", + "#Calculating the angular velocity of the driven link CB\n", + "omegaBC = vBC/CB \t\t\t#rad/s\n", + "#Calculating the actual mechanical advantage\n", + "omegaA = omegaAD\n", + "omegaB = omegaBC\n", + "MAactual = eta*omegaA/omegaB\n", + "#Calculating the resisting torque\n", + "TB = eta*TA*omegaA/omegaB \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The velocity of the point B. vB = %.2f m/s.\"%(vB)\n", + "print \" The angular velocity of the driven link CB. omegaBC = %.2f rad/s.\"%(omegaBC)\n", + "print \" The actual mechanical advantage. M.A.actual) = %.2f.\"%(MAactual)\n", + "print \" The resisting torque. TB = %.1f N-m.\"%(TB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of the point B. vB = 2.25 m/s.\n", + " The angular velocity of the driven link CB. omegaBC = 6.25 rad/s.\n", + " The actual mechanical advantage. M.A.actual) = 1.17.\n", + " The resisting torque. TB = 58.6 N-m.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.11 Page No : 163" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "WC = 2.5*1000\n", + "WD = 4.*1000 \t\t\t#N\n", + "OA = 175./1000 #mm\n", + "AB = 180./1000 #mm\n", + "AD = 500./1000 #mm\n", + "BC = 325./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.26\n", + "#Assuming the speed of crank OA to be 'N'\n", + "#Calculating the angular velocity of crank OA\n", + "#Assume the vector oa (i.e. velocity of A) as 20 m/s\n", + "N = 20/(2*math.pi/60*OA) \t\t\t#mm\n", + "#By measurement from the velocity diagram Fig. 7.27(b)\n", + "vC = 35.\n", + "vD = 21. \t\t\t#mm\n", + "#Calculating the velocity ratio between C and the ram D\n", + "r = vC/vD \t\t\t#The velocity ratio between C and the ram D\n", + "#Calculating the efficiency of the machine\n", + "eta = (WD*vD)/(WC*vC)*100 \t\t\t#%\n", + "\n", + "#Results:\n", + "print \" The velocity ratio between C and the ram D is %.2f.\"%(r)\n", + "print \" The efficiency of the machine eta = n %d %%.\"%(eta)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity ratio between C and the ram D is 1.67.\n", + " The efficiency of the machine eta = n 96 %.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.12 Page No : 165" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 180. \t\t\t#rpm\n", + "OA = 180./1000 #mm\n", + "CB = 240./1000 #mm\n", + "AB = 360./1000 #mm\n", + "BD = 540./1000 \t\t#mm\n", + "FD = 2.*1000 \t\t\t#N\n", + "DA = 30./1000\n", + "DD = DA\n", + "rA = DA/2\n", + "rD = DD/2 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.28\n", + "#Calculating the angular velocity of the crank OA\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA\n", + "vA = vAO\n", + "#By measurement fro the velocity diagram Fig. 7.29(b)\n", + "vD = 2.05\n", + "vBA = 0.9\n", + "vBC = 2.8\n", + "vDB = 2.4 \t\t\t#m/s\n", + "#Calculating the angular velocity of the link AB\n", + "omegaAB = vBA/AB \t\t\t#rad/s\n", + "#Calculating the angular velocity of the link CB\n", + "omegaCB = vBC/CB \t\t\t#rad/s\n", + "#Calculating the angular velocity of the link BD\n", + "omegaBD = vDB/BD \t\t\t#rad/s\n", + "#Calculating the relative angular velocity at A\n", + "rvA = omegaCB-omegaAB+omegaBD \t\t\t#The relative angular velocity at A rad/s\n", + "#Calculating the relative angular velocity at D\n", + "rvD = omegaBD \t\t\t#The relative angular velocity at D rad/s\n", + "#Calculating the velocity of rubbing on the pin A\n", + "vrA = rvA*rA*1000 \t\t\t#The velocity of rubbing on the pin A mm/s\n", + "#Calculating the velocity of rubbing on the pin D\n", + "vrD = rvD*rD*1000 \t\t\t#The velocity of rubbing on the pin D mm/s\n", + "#Calculating the torque applied to crank OA\n", + "TA = FD*vD/omegaAO \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The velocity of slider D vD = %.2f m/s.\"%(vD)\n", + "print \" The angular velocity of the link AB, omegaAB = %.1f rad/s, anticlockwise about A.\"%(omegaAB)\n", + "print \" The angular velocity of the link CB, omegaCB = %.2f rad/s, anticlockwise about C.\"%(omegaCB)\n", + "print \" The angular velocity of the link BD, omegaBD = %.2f rad/s, clockwise about B.\"%(omegaBD)\n", + "print \" The velocity of rubbing on the pin A is %d mm/s.\"%(vrA)\n", + "print \" The velocity of rubbing on the pin D is %d mm/s.\"%(vrD)\n", + "print \" The torque applied to the crank OA, TA = %.1f N-m.\"%(TA)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of slider D vD = 2.05 m/s.\n", + " The angular velocity of the link AB, omegaAB = 2.5 rad/s, anticlockwise about A.\n", + " The angular velocity of the link CB, omegaCB = 11.67 rad/s, anticlockwise about C.\n", + " The angular velocity of the link BD, omegaBD = 4.44 rad/s, clockwise about B.\n", + " The velocity of rubbing on the pin A is 204 mm/s.\n", + " The velocity of rubbing on the pin D is 66 mm/s.\n", + " The torque applied to the crank OA, TA = 217.5 N-m.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.13 Page No : 167" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBA = 180 \t\t\t#rpm\n", + "AB = 0.45 #m\n", + "BD = 1.5 #m\n", + "BC = 0.9 #m\n", + "CE = BC \t\t\t#m\n", + "FD = 500.\n", + "FE = 750. \t\t\t#N\n", + "\n", + "#Solution:\n", + "#Refer Fig. 7.31\n", + "#Calculating the angular velocity of the crank AB\n", + "omegaBA = 2*math.pi*NBA/60 \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "vB = vBA\n", + "#By measurement from the velocity diagram Fig. 7.31(b)\n", + "vD = 9.5\n", + "vE = 1.7 \t\t\t#m/s\n", + "#Calculating the power input\n", + "Pi = FD*vD-FE*vE \t\t\t#N-m/s\n", + "#Calculating the turning moment at A\n", + "TA = Pi/omegaBA \t\t\t#N-m\n", + "\n", + "#Results:\n", + "print \" The velocity of slider D, vD = %.1f m/s.\"%(vD)\n", + "print \" The velocity of slider E, vE = %.1f m/s.\"%(vE)\n", + "print \" The turning moment at A, TA = %.1f N-m.\"%(TA)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of slider D, vD = 9.5 m/s.\n", + " The velocity of slider E, vE = 1.7 m/s.\n", + " The turning moment at A, TA = 184.4 N-m.\n" + ] + } + ], + "prompt_number": 16 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch8.ipynb b/Theory_Of_Machines/ch8.ipynb new file mode 100755 index 00000000..30669b70 --- /dev/null +++ b/Theory_Of_Machines/ch8.ipynb @@ -0,0 +1,1243 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:8b757cfb7a3d46c26051163fc5ae963591320e2fd8a4c339acfb031be7305afd" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 8 : Acceleration in Mechanisms" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.1 Page No : 177" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBO = 300. \t\t\t#rpm\n", + "OB = 150./1000\n", + "BA = 600./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.4\n", + "#Calculating the angular velocity of BO\n", + "omegaBO = 2*math.pi*NBO/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of B with respect to O\n", + "vBO = omegaBO*OB \t\t\t#m/s\n", + "vB = vBO\n", + "#By measurement from the velocity diagram Fig. 8.4(b)\n", + "vAB = 3.4\n", + "vD = 4.1 \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of B with respect of O\n", + "arBO = vBO**2/OB \t\t\t#m/s**2\n", + "aB = arBO\n", + "#Calculating the radisla component of the accaleration of A with respect to B\n", + "arAB = vAB**2/BA \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.4(c)\n", + "aD = 117.\n", + "adashAB = 103. \t\t\t#m/s**2\n", + "#Calculating the angular velocity of the connecting rod\n", + "omegaAB = vAB/BA \t\t\t#rad/s**2\n", + "#Calculating the angular acceleration of the connecting rod\n", + "alphaAB = adashAB/BA \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The linear velocity of the midpoint of the connecting rod, vD = %.1f m/s.\"%(vD)\n", + "print \" The linear acceleration of the midpoint of the connecting rod, aD = %d m/s**2.\"%(aD)\n", + "print \" The angular velocity of the connecting rod, omegaAB = %.2f rad/s, anticlockwise about B.\"%(omegaAB)\n", + "print \" The angular acceleration of the connecting rod, alphaAB = %.2f rad/s**2, clockwise about B.\"%(alphaAB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The linear velocity of the midpoint of the connecting rod, vD = 4.1 m/s.\n", + " The linear acceleration of the midpoint of the connecting rod, aD = 117 m/s**2.\n", + " The angular velocity of the connecting rod, omegaAB = 5.67 rad/s, anticlockwise about B.\n", + " The angular acceleration of the connecting rod, alphaAB = 171.67 rad/s**2, clockwise about B.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.2 Page No : 180" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaBC = 75. \t \t\t#rad/s\n", + "alphaBC = 1200. \t\t\t#rad/s**2\n", + "CB = 100/1000. #m\n", + "BA = 300/1000. \t\t\t#m/\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.5\n", + "#Calculating the linear velocity of B with respect to C\n", + "vBC = omegaBC*CB \t\t\t#m/s\n", + "#Calculating the math.tangential component of the acceleration of B with respect to C\n", + "alphatBC = alphaBC*CB \t\t\t#m/s**2\n", + "#By measurement from the velocity diagram Fig. 8.6(b)\n", + "vG = 6.8\n", + "vAB = 4 \t\t\t#m/s\n", + "#Calculating the angular velocity of AB\n", + "omegaAB = vAB/BA \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of B with respect to C\n", + "arBC = vBC**2/CB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of A with respect to B\n", + "arAB = vAB**2/BA \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.6(c)\n", + "arBC = 120.\n", + "arAB = 53.3\n", + "aG = 414.\n", + "atAB = 546. \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of AB\n", + "alphaAB = atAB/BA \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The velocity of G, vG = %.1f m/s.\"%(vG)\n", + "print \" The angular velocity of AB, omegaAB = %.1f rad/s, clockwise.\"%(omegaAB)\n", + "print \" The acceleration of G, aG = %d m/s**2.\"%(aG)\n", + "print \" The angular accaleration of AB, alphaAB = %d rad/s**2.\"%(alphaAB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of G, vG = 6.8 m/s.\n", + " The angular velocity of AB, omegaAB = 13.3 rad/s, clockwise.\n", + " The acceleration of G, aG = 414 m/s**2.\n", + " The angular accaleration of AB, alphaAB = 1820 rad/s**2.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.3 Page No : 182" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "vC = 1.\n", + "vCD = vC \t\t\t#m/s\n", + "aC = 2.5 \t\t\t#m/s**2\n", + "AB = 3. #m\n", + "BC = 1.5 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.8\n", + "#By measurement from the velocity diagram Fig. 8.8(b)\n", + "vBA = 0.72\n", + "vBC = 0.72 \t\t\t#m/s\n", + "#Calculating the radial component of acceleration of B with respect to C\n", + "arBC = vBC**2/BC \t\t\t#m/s**2\n", + "#Calculating the radial component of acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.8(c)\n", + "aCD = 2.5\n", + "aC = aCD\n", + "arBC = 0.346\n", + "arBA = 0.173\n", + "atBA = 1.41\n", + "atBC = 1.94\n", + "vectorbb = 1.13\n", + "vectorab = 0.9 \t\t\t#m/s**2\n", + "#Calculating the angular accaleration of AB\n", + "alphaAB = atBA/AB \t\t\t#rad/s**2\n", + "#Calculating the angular acceleration of BC\n", + "alphaBC = atBC/BC \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The magnitude of vertical component of the acceleration of the point B is %.2f m/s**2.\"%(vectorbb)\n", + "print \" The magnitude of horizontal component of the acceleration of the point B is %.1f m/s**2.\"%(vectorab)\n", + "print \" The angular acceleration of the link AB, alphaAB = %.2f rad/s**2.\"%(alphaAB)\n", + "print \" The angular acceleration of the link BC, alphaBC = %.1f rad/s**2.\"%(alphaBC)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The magnitude of vertical component of the acceleration of the point B is 1.13 m/s**2.\n", + " The magnitude of horizontal component of the acceleration of the point B is 0.9 m/s**2.\n", + " The angular acceleration of the link AB, alphaAB = 0.47 rad/s**2.\n", + " The angular acceleration of the link BC, alphaBC = 1.3 rad/s**2.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.4 Page No : 184" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaQP = 10. \t\t\t#rad/s\n", + "PQ = 62.5/1000 #m\n", + "QR = 175./1000 #m\n", + "RS = 112.5/1000 #m\n", + "PS = 200./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.9\n", + "#Calculating the velocity of Q with respect to P\n", + "vQP = omegaQP*PQ \t\t\t#m/s\n", + "vQ = vQP\n", + "#By measurement from the velocity diagram Fig. 8.9(b)\n", + "vRQ = 0.333\n", + "vRS = 0.426\n", + "vR = vRS \t\t\t#m/s\n", + "#Calculating the angular velocity of link QR\n", + "omegaQR = vRQ/QR \t\t\t#rad/s\n", + "#Calculating the angular velocity of link RS\n", + "omegaRS = vRS/RS \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of Q with respect to P\n", + "arQP = vQP**2/PQ \t\t\t#m/s**2\n", + "aQP = arQP\n", + "aQ = aQP\n", + "#Calculating the radial component of the acceleration of R with respect to Q\n", + "arRQ = vRQ**2/QR \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of R with respect to S\n", + "arRS = vRS**2/RS \t\t\t#m/s**2\n", + "aRS = arRS\n", + "aR = aRS\n", + "#By measurement from the acceleration diagram Fig. 8.9(c)\n", + "atRQ = 4.1\n", + "atRS = 5.3 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of link QR\n", + "alphaQR = atRQ/QR \t\t\t#rad/s**2\n", + "#Calculating the angular acceleration of link RS\n", + "alphaRS = atRS/RS \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The angular velocity of link QR, omegaQR = %.1f rad/s anticlockwise.\"%(omegaQR)\n", + "print \" The angular velocity of link RS, omegaRS = %.2f rad/s clockwise.\"%(omegaRS)\n", + "print \" The angular acceleration of link QR, alphaQR = %.2f rad/s**2 anticlockwise.\"%(alphaQR)\n", + "print \" The angular acceleration of link RS, alphaRS = %.1f rad/s**2 anticlockwise.\"%(alphaRS)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The angular velocity of link QR, omegaQR = 1.9 rad/s anticlockwise.\n", + " The angular velocity of link RS, omegaRS = 3.79 rad/s clockwise.\n", + " The angular acceleration of link QR, alphaQR = 23.43 rad/s**2 anticlockwise.\n", + " The angular acceleration of link RS, alphaRS = 47.1 rad/s**2 anticlockwise.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.5 Page No : 186" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaAP1 = 10. \t\t\t#rad/s\n", + "alphaAP1 = 30. \t\t\t#rad/s**2\n", + "P1A = 300./1000 #m\n", + "P2B = 360./1000 #m\n", + "AB = P2B \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.10\n", + "#Calculating the velocity of A with respect to P1\n", + "vAP1 = omegaAP1/P1A \t\t\t#m/s\n", + "vA = vAP1\n", + "#By measurement from the velocity diagram Fig. 8.11(b)\n", + "vBP2 = 2.2\n", + "vBA = 2.05 \t\t\t#m/s\n", + "#Calculating the angular velocity of P2B\n", + "omegaP2B = vBP2/P2B \t\t\t#rad/s\n", + "#Calculating the angular velocity of AB\n", + "omegaAB = vBA/AB \t\t\t#rad/s\n", + "#Calculating the math.tangential component of the acceleration of A with respect to P1\n", + "atAP1 = alphaAP1*P1A \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of A with respect to P1\n", + "arAP1 = vAP1**2/P1A \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of B with respect to P2\n", + "arBP2 = vBP2**2/P2B \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.11(c)\n", + "aBP2 = 29.6\n", + "aB = aBP2\n", + "atBA = 13.6\n", + "atBP2 = 26.6 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of P2B\n", + "alphaP2B = atBP2/P2B \t\t\t#rad/s**2\n", + "#Calculating the angular acceleration of AB\n", + "alphaAB = atBA/AB \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" The velocity of P2B, vBP2 = %.1f m/s.\"%(vBP2)\n", + "print \" The angular velocity of P2B, omegaP2B = %.1f rad/s, clockwise.\"%(omegaP2B)\n", + "print \" The angular velocity of AB, omegaAB = %.1f rad/s, anticlockwise.\"%(omegaAB)\n", + "print \" The acceleration of the joint B, aB = %.1f m/s**2.\"%(aB)\n", + "print \" The angular acceleration of P2B, alphaP2B = %.1f rad/s**2, anticlockwise.\"%(alphaP2B)\n", + "print \" The angular acceleration of AB, alphaAB = %.1f rad/s**2, anticlockwise.\"%(alphaAB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of P2B, vBP2 = 2.2 m/s.\n", + " The angular velocity of P2B, omegaP2B = 6.1 rad/s, clockwise.\n", + " The angular velocity of AB, omegaAB = 5.7 rad/s, anticlockwise.\n", + " The acceleration of the joint B, aB = 29.6 m/s**2.\n", + " The angular acceleration of P2B, alphaP2B = 73.9 rad/s**2, anticlockwise.\n", + " The angular acceleration of AB, alphaAB = 37.8 rad/s**2, anticlockwise.\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.6 Page No : 188" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 20. \t\t\t#rpm\n", + "OA = 300./1000 #m\n", + "AB = 1200./1000 #m\n", + "BC = 450./1000 #m\n", + "CD = BC \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.13\n", + "#Calculating the angular velocity of crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.13(b)\n", + "vB = 0.4\n", + "vD = 0.24\n", + "vDC = 0.37\n", + "vBA = 0.54 \t\t\t#m/s\n", + "#Calculating the angular velocity of CD\n", + "omegaCD = vDC/CD \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to C\n", + "arDC = vDC**2/CD \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.13(c)\n", + "aD = 0.16\n", + "atDC = 1.28 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of CD\n", + "alphaCD = atDC/CD \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of sliding at B, vB = %.1f m/s.\"%(vB)\n", + "print \" Velocity of sliding at D, vD = %.2f m/s.\"%(vD)\n", + "print \" Angular velocity of CD, omegaCD = %.2f rad/s.\"%(omegaCD)\n", + "print \" Linear acceleration of D, aD = %.2f m/s**2.\"%(aD)\n", + "print \" Angular acceleration of CD, alphaCD = %.2f rad/s**2, clockwise.\"%(alphaCD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of sliding at B, vB = 0.4 m/s.\n", + " Velocity of sliding at D, vD = 0.24 m/s.\n", + " Angular velocity of CD, omegaCD = 0.82 rad/s.\n", + " Linear acceleration of D, aD = 0.16 m/s**2.\n", + " Angular acceleration of CD, alphaCD = 2.84 rad/s**2, clockwise.\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.7 Page No : 191" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 180. \t\t\t#rpm\n", + "OA = 150./1000 #m\n", + "AB = 450./1000 #m\n", + "PB = 240./1000 #m\n", + "CD = 660./1000 \t\t#m\n", + "\n", + "#solution:\n", + "#Refer Fig. 8.15\n", + "#Calculating the angular speed of crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.15(b)\n", + "vD = 2.36\n", + "vDC = 1.2\n", + "vBA = 1.8\n", + "vBP = 1.5 \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arAO = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to P\n", + "arBP = vBP**2/PB \t\t\t#m/s**2\n", + "#Calculating the radial component of D with respect to C\n", + "arDC = vDC**2/CD \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.15(c)\n", + "aD = 69.6\n", + "atDC = 17.4 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of CD\n", + "alphaCD = atDC/CD \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Acceleration of slider D, aD = %.1f m/s**2.\"%(aD)\n", + "print \" Angular acceleration of link CD, alphaCD = %.1f rad/s**2.\"%(alphaCD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Acceleration of slider D, aD = 69.6 m/s**2.\n", + " Angular acceleration of link CD, alphaCD = 26.4 rad/s**2.\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.8 Page No : 193" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Variables:\n", + "NAO = 180. \t\t\t#rpm\n", + "OA = 180./1000\n", + "CB = 240./1000\n", + "AB = 360./1000\n", + "BD = 540./1000 \t\t\t#m\n", + "alphaAO = 50. \t\t\t#rad/s**2\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.17\n", + "#Calculating the angular speed of crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velcoity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.17(b)\n", + "vBA = 0.9\n", + "vBC = 2.4\n", + "vDB = 2.4\n", + "vD = 2.05 \t\t\t#m/s\n", + "\n", + "#Calculating the angular velocity of BD\n", + "omegaBD = vDB/BD \t\t\t#rad/s\n", + "#Calculating the tangential component of the acceleration of A with respect to O\n", + "atAO = alphaAO*OA \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to C\n", + "arBC = vBC**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to B\n", + "arDB = vDB**2/BD \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.17(c)\n", + "aD = 13.3\n", + "atDB = 38.5 \t\t\t#m/s**2\n", + "\n", + "#Calculating the angular acceleration of BD\n", + "alphaBD = atDB/BD \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of slider D, vD = %.2f m/s.\"%(vD)\n", + "print \" Angular velocity of BD, omegaBD = %.1f rad/s.\"%(omegaBD)\n", + "print \" Acceleration of slider D, aD = %.1f m/s**2.\"%(aD)\n", + "print \" Angular acceleration of BD, alphaBD = %.1f rad/s**2, clockwise.\"%(alphaBD)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of slider D, vD = 2.05 m/s.\n", + " Angular velocity of BD, omegaBD = 4.4 rad/s.\n", + " Acceleration of slider D, aD = 13.3 m/s**2.\n", + " Angular acceleration of BD, alphaBD = 71.3 rad/s**2, clockwise.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.9 Page No : 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "omegaAO1 = 100. \t\t\t#rad/s\n", + "O1A = 100./1000 #m\n", + "AC = 700./1000 #m\n", + "BC = 200./1000 #m\n", + "BD = 150./1000 #m\n", + "O2D = 200./1000 #m\n", + "O2E = 400./1000 #m\n", + "O3C = 200./1000 \t\t\t#m\n", + "m=0.0;\n", + "#Solution:\n", + "#Refer Fig. 8.19\n", + "#Calculating the linear velocity of A with respect to O1\n", + "vAO1 = omegaAO1/O1A \t\t\t#m/s\n", + "vA = vAO1\n", + "#By measurement from the velocity diagram Fig. 8.19(b)\n", + "vCA = 7.\n", + "vCO3 = 10.\n", + "vC = vCO3\n", + "vDB = 10.2\n", + "vDO2 = 2.8\n", + "vD = vDO2\n", + "vE = 5.8\n", + "vEO2 = vE \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of A with respect to O1\n", + "arAO1 = vAO1**2/O1A \t\t\t#m/s**2\n", + "aAO1 = arAO1\n", + "aA = aAO1\n", + "#Calculating the radial component of the acceleration of C with respect to A\n", + "arCA = vCA**2/AC \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of C with respect to O3\n", + "arCO3 = vCO3**2/O3C \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to B\n", + "arDB = vDB**2/BD \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to O2\n", + "arDO2 = vDO2**2/O2D \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of E with respect to O2\n", + "arEO2 = vEO2**2/O2E \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.19(c)\n", + "aE = 1200.\n", + "atDO2 = 610. \t\t\t#m/s**2\n", + "aEO2 = aE\n", + "aB = 440. \t\t\t#Acceleration of point B\n", + "#m/s**2\n", + "#Calculating the angular acceleration of the bell crank lever\n", + "alpha = atDO2/O2D \t\t\t#The angular acceleration of the bell crank lever rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the point E on the bell crank lever, vE = %.1f m/s.\"%(vE)\n", + "print \" Acceleration of point B = %d m/s**2.\"%(aB)\n", + "print \" Acceleration of point E, aE = %d m/s**2.\"%(aE)\n", + "print \" Angular acceleration of the bell crank lever = %d rad/s**2, anticlockwise.\"%(alpha)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the point E on the bell crank lever, vE = 5.8 m/s.\n", + " Acceleration of point B = 440 m/s**2.\n", + " Acceleration of point E, aE = 1200 m/s**2.\n", + " Angular acceleration of the bell crank lever = 3050 rad/s**2, anticlockwise.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.10 Page No : 199" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 100. \t\t\t#rpm\n", + "OA = 150./1000 #m\n", + "AB = 600./1000 #m\n", + "BC = 350./1000 #m\n", + "CD = 150./1000 #m\n", + "DE = 500./1000 \t\t#m\n", + "dA = 50./1000\n", + "dB = dA\n", + "rA = dA/2\n", + "rB = dB/2 \t\t\t#m\n", + "pF = 0.35 \t\t\t#N/mm**2\n", + "DF = 250. \t\t\t#mm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.21\n", + "#Calculating the angular speed of the crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.21(b)\n", + "vBA = 1.65\n", + "vBC = 0.93\n", + "vB = vBC\n", + "vED = 0.18\n", + "vEO = 0.36\n", + "vE = vEO\n", + "vF = vE \t\t\t#m/s\n", + "\n", + "#Calculating the velocity of D with respect to C\n", + "vDC = vBC*CD/BC \t\t\t#m/s\n", + "#Calculating the angular velocity of B with respect to A\n", + "omegaBA = vBA/AB \t\t\t#rad/s\n", + "#Calculating the angular velocity of B with respect to C\n", + "omegaBC = vBC/BC \t\t\t#rad/s\n", + "#Calculating the rubbing velocity of pin at A\n", + "vrA = (omegaAO-omegaBA)*rA \t\t\t#The rubbing velocity of pin at A m/s\n", + "#Calculating the rubbing velocity of pin at B\n", + "vrB = (omegaBA+omegaBC)*rB \t\t\t#The rubbing velocity of pin at B m/s\n", + "#Calculating the force at the pump piston at F\n", + "FF = pF*math.pi/4*DF**2 \t\t\t#N\n", + "#Calculating the force required at the crankshaft A\n", + "FA = FF*vF/vA \t\t\t#N\n", + "#Calculating the torque required at the crankshaft\n", + "TA = FA*OA \t\t\t#N-m\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to C\n", + "arBC = vBC**2/BC \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of E with respect to D\n", + "arED = vED**2/DE \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.21(c)\n", + "aBC = 9.2\n", + "aB = aBC\n", + "aBA = 9\n", + "aE = 3.8 \t\t\t#m/s**2\n", + "#Calculating the acceleration of D\n", + "aD = aBC*CD/BC \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" The velocity of the cross-head E, vE = %.2f m/s.\"%(vE)\n", + "print \" The rubbing velocity of pin at A = %.3f m/s.\"%(vrA)\n", + "print \" The rubbing velocity of pin at B = %.3f m/s.\"%(vrB)\n", + "print \" The torque required at the crankshaft, TA = %d N-m.\"%(TA)\n", + "print \" The acceleration of the crosshead E, aE = %.1f m/s**2.\"%(aE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The velocity of the cross-head E, vE = 0.36 m/s.\n", + " The rubbing velocity of pin at A = 0.193 m/s.\n", + " The rubbing velocity of pin at B = 0.135 m/s.\n", + " The torque required at the crankshaft, TA = 590 N-m.\n", + " The acceleration of the crosshead E, aE = 3.8 m/s**2.\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.11 Page No : 203" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 150. \t\t\t#rpm\n", + "OA = 150./1000 #m\n", + "AB = 550./1000 #m\n", + "AC = 450./1000 #m\n", + "DC = 500./1000 #m\n", + "BE = 350./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.23\n", + "#Calculating the angular speed of the crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the linear velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.23(b)\n", + "vCA = 0.53\n", + "vCD = 1.7\n", + "vC = vCD\n", + "vEB = 1.93\n", + "vE = 1.05 \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "aA = arAO\n", + "#Calculating the radial component of the acceleration of C with respect to A\n", + "arCA = vCA**2/AC \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of C with respect to D\n", + "arCD = vCD**2/DC \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of E with respect to B\n", + "arEB = vEB**2/BE \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.23(c)\n", + "aE = 3.1 \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the ram E, vE = %.2f m/s.\"%(vE)\n", + "print \" Acceleration of the ram E, aE = %.1f m/s**2.\"%(aE)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the ram E, vE = 1.05 m/s.\n", + " Acceleration of the ram E, aE = 3.1 m/s**2.\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.12 Page No : 205" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NDC = 1140. \t\t\t#rpm\n", + "AB = 80./1000 #m\n", + "CD = 40./1000 #m\n", + "BE = 150./1000 #m\n", + "DE = BE #m\n", + "EP = 200./1000 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.25\n", + "#Calculating the angular speed of the link CD\n", + "omegaDC = 2*math.pi*NDC/60 \t\t\t#rad/s\n", + "#Calculating the velocity of D with respect to C\n", + "vDC = omegaDC*CD \t\t\t#m/s\n", + "vD = vDC\n", + "#Calculating the angular speed of the larger wheel\n", + "omegaBA = omegaDC*CD/AB \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "vB = vBA\n", + "#By measurement from the velocity diagram Fig. 8.25(b)\n", + "vEB = 8.1\n", + "vED = 0.15\n", + "vPE = 4.7\n", + "vP = 0.35 \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to C\n", + "arDC = vDC**2/CD \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of E with respect to B\n", + "arEB = vEB**2/BE \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of E with respect to D\n", + "arED = vED**2/DE \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of P with respect to E\n", + "arPE = vPE**2/EP \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.25(c)\n", + "aP = 655. \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of P, vP = %.2f m/s.\"%(vP)\n", + "print \" Acceleration of the piston P, aP = %d m/s**2.\"%(aP)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of P, vP = 0.35 m/s.\n", + " Acceleration of the piston P, aP = 655 m/s**2.\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.13 Page No : 211" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBA = 120. \t\t\t#rpm\n", + "AB = 150./1000 #m\n", + "OC = 700./1000 #m\n", + "CD = 200./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.29\n", + "#Calculating the angular speed of the crank AB\n", + "omegaAB = 2*math.pi*NBA/AB \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "#By measurement from the velocity diagram Fig. 8.29(b)\n", + "vD = 2.15\n", + "vBBdash = 1.05\n", + "vDC = 0.45\n", + "vBdashO = 1.55\n", + "vCO = 2.15 \t\t\t#m/s\n", + "BdashO = 0.52 \t\t\t#m\n", + "#Calculating the angular velocity of the link OC or OB'\n", + "omegaCO = vCO/OC \t\t\t#rad/s\n", + "omegaBdashO = omegaCO \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = omegaAB**2/AB \t\t\t#m/s**2\n", + "#Calculating the coriolis component of the acceleration of slider B with respect to the coincident point B'\n", + "acBBdash = 2*omegaCO*vBBdash \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of D with respect to C\n", + "arDC = vDC**2/CD \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B' with respect to O\n", + "arBdashO = vBdashO**2/BdashO \t\t\t#m/s**2\n", + "#By measurement fro the acceleration diagram Fig. 8.29(c)\n", + "aD = 8.4\n", + "atBdashO = 6.4 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the slotted lever\n", + "alpha = atBdashO/BdashO \t\t\t#The angular acceleration of the slotted lever rad/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the ram D, vD = %.2f m/s.\"%(vD)\n", + "print \" Acceleration of the ram D, aD = %.1f m/s**2.\"%(aD)\n", + "print \" Angular acceleration of the slotted lever = %.1f rad/s**2, anticlockwise.\"%(alpha)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the ram D, vD = 2.15 m/s.\n", + " Acceleration of the ram D, aD = 8.4 m/s**2.\n", + " Angular acceleration of the slotted lever = 12.3 rad/s**2, anticlockwise.\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.14 Page No : 214" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NBA = 200. \t\t\t#rpm\n", + "AB = 75./1000 #m\n", + "PQ = 375./1000 #m\n", + "QR = 500./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.31\n", + "#Calculating the angular velocity of the crank AB\n", + "omegaBA = 2*math.pi*NBA/60 \t\t\t#rad/s\n", + "#Calculating the velocity of B with respect to A\n", + "vBA = omegaBA*AB \t\t\t#m/s\n", + "#By measurement from the velocity diagram Fig. 8.31(b)\n", + "vR = 1.6\n", + "vBdashB = 1.06\n", + "vBdashP = 1.13\n", + "vRQ = 0.4\n", + "vQP = 1.7 \t\t\t#m/s\n", + "PBdash = 248./1000 \t\t\t#m\n", + "#Calculating the angular velocity of the link PQ\n", + "omegaPQ = vQP/PQ \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = omegaBA**2*AB \t\t\t#m/s**2\n", + "#Calculating the coriolis component of the acceleration of B with respect to coincident point B'\n", + "acBBdash = 2*omegaPQ*vBdashB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of R with respect to Q\n", + "arRQ = vRQ**2/QR \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B' with respect to P\n", + "arBdashP = vBdashP**2/PBdash \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.31(d)\n", + "aR = 22.\n", + "aBBdash = 18. \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the tool-box R, vR = %.1f m/s.\"%(vR)\n", + "print \" Acceleration of the tool-box R, aR = %d m/s**2.\"%(aR)\n", + "print \" The acceleration of sliding of the block B along the slotted lever PQ, aBBdash = %d m/s**2.\"%(aBBdash)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the tool-box R, vR = 1.6 m/s.\n", + " Acceleration of the tool-box R, aR = 22 m/s**2.\n", + " The acceleration of sliding of the block B along the slotted lever PQ, aBBdash = 18 m/s**2.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.15 Page No : 218" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 30. \t\t\t#rpm\n", + "OA = 150./1000 #m\n", + "OC = 100./1000 #m\n", + "CD = 125./1000 #m\n", + "DR = 500./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.33\n", + "#Calculating the angular speed of the crank OA\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.33(b)\n", + "vBC = 0.46\n", + "vAB = 0.15\n", + "vRD = 0.12 \t\t\t#m/s\n", + "CB = 240./1000 \t\t\t#m\n", + "#Calculating the angular velocity of the link BC\n", + "omegaBC = vBC/CB \t\t\t#rad/s\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "#Calculating the coriolis component of the acceleration of A with respect to coincident point B\n", + "acAB = 2*omegaBC*vAB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to C\n", + "arBC = vBC**2/CB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of R with respect to D\n", + "arRD = vRD**2/DR \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.33(c)\n", + "aR = 0.18\n", + "atBC = 0.14 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the slotted lever CA\n", + "alphaCA = atBC/CB \t\t\t#rad/s**2\n", + "alphaBC = alphaCA\n", + "\n", + "#Results:\n", + "print \" Acceleration of the sliding block R, aR = %.2f m/s**2.\"%(aR)\n", + "print \" Angular acceleration of the slotted lever CA, alphaCA = %.3f rad/s**2, anticlockwise.\"%(alphaCA)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Acceleration of the sliding block R, aR = 0.18 m/s**2.\n", + " Angular acceleration of the slotted lever CA, alphaCA = 0.583 rad/s**2, anticlockwise.\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.16 Page No : 221" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "AB = 125./1000 \t\t\t#m\n", + "NCO = 300. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.35\n", + "#By measurement from the space diagram Fig. 8.35(a)\n", + "OC = 85./1000 \t\t\t#m\n", + "#Calculating the angular velocity of the link CO\n", + "omegaCO = 2*math.pi*NCO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of C with respect to O\n", + "vCO = omegaCO*OC \t\t\t#m/s\n", + "vC = vCO\n", + "#By measurement from the velocity diagram Fig. 8.35(b)\n", + "vBC = 0.85\n", + "vBA = 2.85\n", + "vB = vBA \t\t\t#m/s\n", + "#Calculating the radial component of of the acceleration of C with respect to O\n", + "arCO = vCO**2/OC \t\t\t#m/s**2\n", + "#Calculating the coriolis component of of acceleration of the piston B with respect to the cylinder or the coincident point C\n", + "acBC = 2*omegaCO*vBC \t\t\t#m/s**2\n", + "#Calculating the radial component of of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.35(d)\n", + "aBC = 73.2\n", + "atBA = 37.6 \t\t\t#m/s**2\n", + "#Calculating the angular acceleration of the connecting rod AB\n", + "alphaAB = atBA/AB \t\t\t#rad/s**2\n", + "\n", + "#Results:\n", + "print \" Acceleration of the piston inside the cylinder, aBC = %.1f m/s**2.\"%(aBC)\n", + "print \" Angular acceleration of the connecting rod AB, alphaAB = %d rad/s**2, clockwise.\"%(alphaAB)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Acceleration of the piston inside the cylinder, aBC = 73.2 m/s**2.\n", + " Angular acceleration of the connecting rod AB, alphaAB = 300 rad/s**2, clockwise.\n" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.17 Page No : 223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "NAO = 100. \t\t\t#rpm\n", + "OA = 50./1000 #m\n", + "AB = 350./1000 #m\n", + "DE = 250./1000 #m\n", + "EF = DE #m\n", + "CB = 125./1000 \t\t#m\n", + "\n", + "#Solution:\n", + "#Refer Fig. 8.37\n", + "#Calculating the angular velocity of the crank AO\n", + "omegaAO = 2*math.pi*NAO/60 \t\t\t#rad/s\n", + "#Calculating the velocity of A with respect to O\n", + "vAO = omegaAO*OA \t\t\t#m/s\n", + "vA = vAO\n", + "#By measurement from the velocity diagram Fig. 8.37(b)\n", + "vBA = 0.4\n", + "vBC = 0.485\n", + "vB = vBC\n", + "vSD = 0.265\n", + "vQS = 0.4\n", + "vED = 0.73\n", + "vFE = 0.6\n", + "vF = 0.27 \t\t\t#m/s\n", + "DS = 85./1000 \t\t\t#m\n", + "#Calculating the angular velocity of the link DE\n", + "omegaDE = vED/DE \t\t\t#rad/s\n", + "#Calculating the velocity of sliding of the link DE in the swivel block\n", + "vS = vQS \t\t\t#m/s\n", + "#Calculating the radial component of the acceleration of A with respect to O\n", + "arAO = vAO**2/OA \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to A\n", + "arBA = vBA**2/AB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of B with respect to C\n", + "arBC = vBC**2/CB \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of S with respect to D\n", + "arSD = vSD**2/DS \t\t\t#m/s**2\n", + "#Calculating the coriolis component of the acceleration of Q with respect to S\n", + "acQS = 2*omegaDE*vQS \t\t\t#m/s**2\n", + "#Calculating the radial component of the acceleration of F with respect to E\n", + "arFE = vFE**2/EF \t\t\t#m/s**2\n", + "#By measurement from the acceleration diagram Fig. 8.37(d)\n", + "arQS = 1.55 \t\t\t#m/s**2\n", + "\n", + "#Results:\n", + "print \" Velocity of the slider block F, vF = %.2f m/s.\"%(vF)\n", + "print \" Angular velocity of the link DE, omegaDE = %.2f rad/s, anticlockwise.\"%(omegaDE)\n", + "print \" Velocity of sliding of the link DE in the swivel block, vS = %.1f m/s.\"%(vS)\n", + "print \" Acceleration of sliding of the link DE in the trunnion, arQS = %.2f m/s**2.\"%(arQS)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Velocity of the slider block F, vF = 0.27 m/s.\n", + " Angular velocity of the link DE, omegaDE = 2.92 rad/s, anticlockwise.\n", + " Velocity of sliding of the link DE in the swivel block, vS = 0.4 m/s.\n", + " Acceleration of sliding of the link DE in the trunnion, arQS = 1.55 m/s**2.\n" + ] + } + ], + "prompt_number": 18 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/ch9.ipynb b/Theory_Of_Machines/ch9.ipynb new file mode 100755 index 00000000..bdb83c80 --- /dev/null +++ b/Theory_Of_Machines/ch9.ipynb @@ -0,0 +1,349 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:0872fbc3ae91821d4330e3facbf2559c866bc6b64416332df388f5fee66480e0" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9 : Mechanisms with Lower Pairs" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.1 Page No : 245" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "c = 1.2\n", + "b = 2.7 \t\t\t#m\n", + "\n", + "#Solution:\n", + "#Calculating the inclination of the track arm to the longitudinal axis\n", + "alpha = math.tan(c/(2*b))*180/math.pi \t\t\t#degrees\n", + "\n", + "#Results:\n", + "print \" Inclination of the track arm to the longitudinal axis, alpha = %.1f degrees.\"%(alpha)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Inclination of the track arm to the longitudinal axis, alpha = 12.9 degrees.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.2 Page No : 251\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "a = 180. - 160. # degrees\n", + "N = 1500. # r.p.m.; \n", + "m = 12. # kg ; \n", + "k = 0.1 # m\n", + "\n", + "# calculations\n", + "w = round(2*math.pi*N/60)\n", + "I = m*k**2\n", + "cos2theta = 2*math.sin(math.radians(a))**2/(2 - math.sin(math.radians(a))**2)\n", + "theta = math.degrees(math.acos(cos2theta))/2\n", + "dw1bydt = w**2*math.cos(math.radians(a)) * math.sin(math.radians(2*theta)) * math.sin(math.radians(a))**2 / ( 1 - math.cos(math.radians(theta))**2 * math.sin(math.radians(a))**2)**2\n", + "max_t = I * dw1bydt\n", + "\n", + "# results\n", + "print \"Maximum angular acceleration of the driven shaft : %.f rad/s**2\"%dw1bydt\n", + "print \"maximum torque required : %.f N-m\"%max_t\n", + "\n", + "\n", + "# answers are different because of rounding error. please check using calculator." + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum angular acceleration of the driven shaft : 3080 rad/s**2\n", + "maximum torque required : 370 N-m\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.3 Page No : 252" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "alpha = 18*math.pi/180 \t\t\t#radians\n", + "\n", + "#Solution:\n", + "#Maximum velocity is possible when\n", + "theta1 = 0.\n", + "theta2 = 180. \t\t\t#degrees\n", + "\n", + "#Calculating the angle turned by the driving shaft when the velocity ratio is unity\n", + "theta3 = math.cos(math.sqrt((1-math.cos(alpha))/(math.sin(alpha)**2)))*180/math.pi \t\t\t#degrees\n", + "theta4 = 180-theta3 \t\t\t#degrees\n", + "\n", + "#Results:\n", + "print \" Angle turned by the driving shaft when the velocity ratio is maximum, theta = %d degrees\\\n", + " or %d degrees.\"%(theta1,theta2)\n", + "print \" Angle turned by the driving shaft when the velocity ratio is unity, theta = %.1f degrees or\\\n", + " %.1f degrees.\"%(theta3,theta4)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Angle turned by the driving shaft when the velocity ratio is maximum, theta = 0 degrees or 180 degrees.\n", + " Angle turned by the driving shaft when the velocity ratio is unity, theta = 43.2 degrees or 136.8 degrees.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.4 Page No : 252" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 500. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the angular velocity of the driving shaft\n", + "omega = 2*math.pi*N/60.0 \t\t\t#rad/s\n", + "#Calculating the total fluctuation of speed of the driven shaft\n", + "q = 12./100*omega \t\t\t#rad/s\n", + "#Calculating the greatest permissible angle between the centre lines of the shafts\n", + "#alpha = math.cos((-(q/omega)+math.sqrt(0.12**2+4))/2.0)*180/math.pi\t\t\t#degrees\n", + "cosalpha =((-(q/omega)+math.sqrt(0.12**2+4))/2.0)\t\t\t#degrees\n", + "alpha = math.degrees(math.acos(cosalpha))\n", + "\n", + "#Results:\n", + "print \" Greatest permissible angle between the centre lines of the shafts, alpha = %.2f degrees.\"%(alpha)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Greatest permissible angle between the centre lines of the shafts, alpha = 19.64 degrees.\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.5 Page No : 252" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "N = 1200.\n", + "q = 100. \t\t\t#rpm\n", + "#Solution:\n", + "#Calculating the greatest permissible angle between the centre lines of the shafts\n", + "cosalpha = ((-(100./1200)+math.sqrt(0.083**2+4))/2)\n", + "alpha = math.degrees(math.acos(cosalpha)) #degrees\n", + "#Calculating the maximum speed of the driven shaft\n", + "N1max = N/cosalpha \t\t\t#rpm\n", + "#Calculating the minimum speed of the driven shaft\n", + "N1min = N*cosalpha\t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Greatest permissible angle between the centre lines of the shafts, alpha = %.1f degrees.\"%(alpha)\n", + "print \" Maximum speed of the driven shaft, N1max = %d rpm.\"%(N1max)\n", + "print \" Minimum speed of the driven shaft, N1min = %d rpm.\"%(N1min)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Greatest permissible angle between the centre lines of the shafts, alpha = 16.4 degrees.\n", + " Maximum speed of the driven shaft, N1max = 1251 rpm.\n", + " Minimum speed of the driven shaft, N1min = 1151 rpm.\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.6 page no : 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "# variables\n", + "N = 240. # r.p.m \n", + "w = 2 * math.pi * 240./60 #rad/s \n", + "alpha = 20 \n", + "m = 55. # kg ;\n", + "k = .150 \n", + "mm = 0.15 #m ; \n", + "T1 = 200. #N-m ; \n", + "theta = 45. # \u00b0 ; \n", + "q = 24. # r.p.m.\n", + "\n", + "# calculations\n", + "I = round(m * k**2,2) \n", + "dw1bydt = round(-(w**2)*math.cos(math.radians(alpha))*math.sin(math.radians(2*theta))*math.sin(math.radians(alpha))**2 / (1- math.cos(math.radians(theta))**2 * math.sin(math.radians(alpha))**2)**2,2)\n", + "T2 = I * dw1bydt\n", + "T = T1 + T2\n", + "Tdash = T*math.cos(math.radians(alpha))/(1-math.cos(math.radians(theta))**2 * math.sin(math.radians(alpha))**2)\n", + "cosapha = (-0.1+math.sqrt((0.1**2)+4))/2\n", + "alpha = math.degrees(math.acos(cosapha))\n", + "\n", + "# result\n", + "print \"T' = %.1f N-m\"%Tdash\n", + "print \"Alpha a = %.1f degrees\"%alpha\n", + "\n", + "# rounding off error" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "T' = 102.7 N-m\n", + "Alpha a = 18.0 degrees\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.7 Page No : 254" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "\n", + "# Variables:\n", + "alpha = 20. \t\t\t#degrees\n", + "NA = 500. \t\t\t#rpm\n", + "\n", + "#Solution:\n", + "#Calculating the maximum speed of the intermediate shaft\n", + "NBmax = NA/math.cos(math.radians(alpha)) \t\t\t#rpm\n", + "#Calculating the minimum speed of the intermediate shaft\n", + "NBmin = NA*math.cos(math.radians(alpha)) \t\t\t#rpm\n", + "#Calculating the maximum speed of the driven shaft\n", + "NCmax = NBmax/math.cos(math.radians(alpha)) \t\t\t#rpm\n", + "#Calculating the minimum speed of the driven shaft\n", + "NCmin = NBmin*math.cos(math.radians(alpha)) \t\t\t#rpm\n", + "\n", + "#Results:\n", + "print \" Maximum speed of the intermediate shaft( NBmax) = %.1f rad/s.\"%(NBmax)\n", + "print \" Minimum speed of the intermediate shaft( NBmin) = %.2f rad/s.\"%(NBmin)\n", + "print \" Maximum speed of the driven shaft( NCmax) = %.2f rad/s.\"%(NCmax)\n", + "print \" Minimum speed of the driven shaft( NCmin) = %.1f rad/s.\"%(NCmin)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Maximum speed of the intermediate shaft( NBmax) = 532.1 rad/s.\n", + " Minimum speed of the intermediate shaft( NBmin) = 469.85 rad/s.\n", + " Maximum speed of the driven shaft( NCmax) = 566.24 rad/s.\n", + " Minimum speed of the driven shaft( NCmin) = 441.5 rad/s.\n" + ] + } + ], + "prompt_number": 27 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Theory_Of_Machines/screenshots/10Friction.png b/Theory_Of_Machines/screenshots/10Friction.png Binary files differnew file mode 100755 index 00000000..4063648a --- /dev/null +++ b/Theory_Of_Machines/screenshots/10Friction.png diff --git a/Theory_Of_Machines/screenshots/9MechanismsWithLowerPairs.png b/Theory_Of_Machines/screenshots/9MechanismsWithLowerPairs.png Binary files differnew file mode 100755 index 00000000..eb2b4be4 --- /dev/null +++ b/Theory_Of_Machines/screenshots/9MechanismsWithLowerPairs.png diff --git a/Theory_Of_Machines/screenshots/TimeVSVelocity.png b/Theory_Of_Machines/screenshots/TimeVSVelocity.png Binary files differnew file mode 100755 index 00000000..c5e9797b --- /dev/null +++ b/Theory_Of_Machines/screenshots/TimeVSVelocity.png |