summaryrefslogtreecommitdiff
path: root/Engineering_Mechancis,_Schaum_Series_by_McLean
diff options
context:
space:
mode:
authorThomas Stephen Lee2015-08-28 16:53:23 +0530
committerThomas Stephen Lee2015-08-28 16:53:23 +0530
commitdb0855dbeb41ecb8a51dde8587d43e5d7e83620f (patch)
treeb95975d958cba9af36cb1680e3f77205354f6512 /Engineering_Mechancis,_Schaum_Series_by_McLean
parent5a86a20b9de487553d4ef88719fb0fd76a5dd6a7 (diff)
downloadPython-Textbook-Companions-db0855dbeb41ecb8a51dde8587d43e5d7e83620f.tar.gz
Python-Textbook-Companions-db0855dbeb41ecb8a51dde8587d43e5d7e83620f.tar.bz2
Python-Textbook-Companions-db0855dbeb41ecb8a51dde8587d43e5d7e83620f.zip
add books
Diffstat (limited to 'Engineering_Mechancis,_Schaum_Series_by_McLean')
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter1.ipynb928
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter10.ipynb426
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter11.ipynb113
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter12.ipynb1521
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter13.ipynb899
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter14.ipynb772
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter15.ipynb510
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter16.ipynb1911
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter17.ipynb1273
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter18.ipynb1503
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter19.ipynb503
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter2.ipynb562
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter3.ipynb797
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter4.ipynb365
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter5.ipynb799
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter6.ipynb770
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter7.ipynb668
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter8.ipynb311
-rwxr-xr-xEngineering_Mechancis,_Schaum_Series_by_McLean/chapter9.ipynb889
19 files changed, 15520 insertions, 0 deletions
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter1.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter1.ipynb
new file mode 100755
index 00000000..1c446b6f
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter1.ipynb
@@ -0,0 +1,928 @@
+{
+ "metadata": {
+ "name": "chapter 1.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Chapter 1:Vectors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-1,Page no: 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initialisation of Variables\n",
+ "\n",
+ "f1=120 #lb\n",
+ "f2=100 #lb\n",
+ "theta=((60*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=sqrt(120**2+100**2-(2*120*100*cos(theta))) #Applying Thr rule of Cosines\n",
+ "alpha1=(((arcsin(120*sin(theta)/111))*180)/pi) #Applying the Law of Sines\n",
+ "alpha=alpha1+270 #As the vector lies in the fourth Quadrant by obsrevaton\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print'The Resultant of The force system is equal to',round(R),\"lb\" #lb\n",
+ "print'The Resultant is at',round(alpha),\"degrees\" #degrees\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Resultant of The force system is equal to 111.0 lb\n",
+ "The Resultant is at 339.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-2,Page no: 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "P=100 #lb\n",
+ "Q=120 #lb\n",
+ "theta=((30*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R_x=Q*cos(theta) #lb\n",
+ "R_y=Q*sin(theta)-P #lb\n",
+ "R=sqrt(R_x**2+R_y**2) #lb Triangle law\n",
+ "Theta_1=((arctan(R_y/R_x))*180)/pi #degrees\n",
+ "Theta_R=360+Theta_1 #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The resultant is at',round(Theta_R),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 111.0 lb\n",
+ "The resultant is at 339.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-3,Page No: 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "# Initialization of variables\n",
+ "\n",
+ "R=400 # N\n",
+ "F2=200 # N\n",
+ "Theta1=((120*pi)/180) # radians\n",
+ "Theta2=((20*pi)/180) # radians\n",
+ "Theta=Theta1-Theta2 # radians\n",
+ "\n",
+ "# Calculation\n",
+ "\n",
+ "F=sqrt(R**2+F2**2-(2*R*F2*cos(Theta))) # N.Applying the Rule of Cosine\n",
+ "Theta_r=arcsin((400*sin(Theta))/F) #radians Applying the rule of sines\n",
+ "Theta_R=(Theta_r*180)/pi\n",
+ "\n",
+ "# Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(F),\"N\"\n",
+ "print'The Angle between F and 200N force is',round(Theta_R,1),\"degrees\"\n",
+ "\n",
+ "# Theta_R is off by 0.1 degrees"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 477.0 N\n",
+ "The Angle between F and 200N force is 55.6 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-4, Page No: 9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "# Initilization of variables\n",
+ "\n",
+ "F1=280 # N\n",
+ "F2=130 # N\n",
+ "Theta1=((320*pi)/180) # Radians\n",
+ "Theta2=((60*pi)/180) # Radians\n",
+ "\n",
+ "# Calculations\n",
+ "\n",
+ "R_x=-F1*cos(Theta1)+F2*cos(Theta2) # N\n",
+ "R_y=F1*sin(Theta1)-F2*sin(Theta2) # N\n",
+ "R=sqrt(R_x**2+R_y**2) # N Applying Triangle Law\n",
+ "ThetaR=arctan(R_y/R_x) # radians\n",
+ "Theta_R=360-(ThetaR*180/pi) # degrees\n",
+ "\n",
+ "# Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"N\"\n",
+ "print'The resultant is at',round(Theta_R),\"degrees\"\n",
+ "\n",
+ "# The answer for R waries from textbook. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 329.0 N\n",
+ "The resultant is at 297.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-5, Page No: 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "# Initialization of variables\n",
+ "\n",
+ "F1=26 #lb\n",
+ "F2=39 #lb\n",
+ "F3=63 #lb\n",
+ "F4=57 #lb\n",
+ "T1=((10*pi)/180) #Radians\n",
+ "T2=((114*pi)/180) #Radians\n",
+ "T3=((183*pi)/180) #radians\n",
+ "T4=((261*pi)/180) #radians\n",
+ "\n",
+ "# Calculations\n",
+ "\n",
+ "R_x=F1*cos(T1)+F2*cos(T2)+F3*cos(T3)+F4*cos(T4) # lb Resolving vectors\n",
+ "R_y=F1*sin(T1)+F2*sin(T2)+F3*sin(T3)+F4*sin(T4) # lb resolving vectors\n",
+ "R=sqrt(R_x**2+R_y**2) # lb Applying Triangle Law\n",
+ "theta=arctan(R_y/R_x)# radians\n",
+ "Theta=(theta*180)/pi # degrees\n",
+ "Theta_R=180+Theta\n",
+ "\n",
+ "# Results\n",
+ "\n",
+ "print'The Resultant of the force system is',round(R),\"lb\"\n",
+ "print'The resultant is at',round(Theta_R),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Resultant of the force system is 65.0 lb\n",
+ "The resultant is at 197.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-6, Page No: 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=10 #lb\n",
+ "theta1=((60*pi)/180) #radians\n",
+ "theta2=((45*pi)/180) #radians\n",
+ "theta=theta1-theta2 #radians\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "F_OH=F/cos(theta) #lb resolving vectors\n",
+ "\n",
+ "# Result\n",
+ "\n",
+ "print'The component of F in the direction of OH is',round(F_OH,2),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The component of F in the direction of OH is 10.35 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-7, Page No: 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "weight=80 #kg\n",
+ "theta=((20*pi)/180) #radians\n",
+ "theta_p=((70*pi)/180) # radians\n",
+ "\n",
+ "#Calcuations\n",
+ "\n",
+ "#Part (a)\n",
+ "F=weight*9.81 # N\n",
+ "R=F*cos(theta) #N\n",
+ "#part (b)\n",
+ "R_p=F*cos(theta_p) #N\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The normal component is',round(R),\"N\"\n",
+ "print'The parallel component is',round(R_p),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal component is 737.0 N\n",
+ "The parallel component is 268.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-8, Page No: 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "P=235 #N\n",
+ "theta=((60*pi)/180) #radians\n",
+ "bet=((22*pi)/180) #radians\n",
+ "gam=((38*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Part (a)\n",
+ "P_h=P*cos(theta) #N\n",
+ "P_v=P*sin(theta) #N\n",
+ "#Part (b)\n",
+ "P_l=P*cos(theta-bet) #N\n",
+ "P_p=P*sin(gam) #N\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The horizontal component is',round(P_h,1),\"N\"\n",
+ "print'The vertical component is',round(P_v,1),\"N\"\n",
+ "print'The component parallel to plane is',round(P_l),\"N\"\n",
+ "print'The component perpendicular to the plane is',round(P_p,1),\"N\"\n",
+ "\n",
+ "#The decimal point accuracy might cause a small discrepancy in the answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal component is 117.5 N\n",
+ "The vertical component is 203.5 N\n",
+ "The component parallel to plane is 185.0 N\n",
+ "The component perpendicular to the plane is 144.7 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-9, Page No: 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=90 #lb\n",
+ "theta1=((40*pi)/180) #radians\n",
+ "theta2=((30*pi)/180) #radians\n",
+ "\n",
+ "# Calculations\n",
+ "\n",
+ "R_x=0 #lb\n",
+ "R_y=20 # lb\n",
+ "#Taking the sum of forces in the X-Direction\n",
+ "P=((F1*cos(theta1))/cos(theta2)) # lb\n",
+ "# Taking the sum of the forces in the Y-Direction\n",
+ "F=(P*sin(theta2))+(F1*sin(theta1))-20 #lb\n",
+ "\n",
+ "# Results\n",
+ "\n",
+ "print'The value of P is',round(P,1),\"lb\"\n",
+ "print'The value of F is',round(F,1),\"lb\"\n",
+ "\n",
+ "# Decimal point error may cause a small discrepancy in the answers."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P is 79.6 lb\n",
+ "The value of F is 77.7 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-10, Page No: 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "x=4 # m\n",
+ "y=3 # m\n",
+ "z=2 # m\n",
+ "F=50 #N\n",
+ "\n",
+ "# Calculations\n",
+ "\n",
+ "OP=sqrt(x**2+y**2+z**2) #m\n",
+ "thetax=(x/OP) #radians\n",
+ "thetay=(y/OP) #Radians\n",
+ "thetaz=(z/OP) #radians\n",
+ "P_x=F*(thetax) #N\n",
+ "P_y=F*(thetay) #N\n",
+ "P_z=F*(thetaz) #N\n",
+ "\n",
+ "# Result\n",
+ "\n",
+ "print'The vector P is',round(P_x,1),\"i +\",round(P_y,1),\"j +\",round(P_z,1),\"k\"\n",
+ "\n",
+ "# component of i is off by 0.1 units"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vector P is 37.1 i + 27.9 j + 18.6 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-11, Page No: 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "x=2 \n",
+ "y=-4\n",
+ "z=1\n",
+ "F=100 #N\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "thetax=x/sqrt(x**2+y**2+z**2) #radians\n",
+ "thetay=y/sqrt(x**2+y**2+z**2) #radians\n",
+ "thetaz=z/sqrt(x**2+y**2+z**2) #radians\n",
+ "P_x=F*thetax #N\n",
+ "P_y=F*thetay #N\n",
+ "P_z=F*thetaz #N\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The vector P is',round(P_x,1),\"i\",round(P_y,1),\"j +\",round(P_z,1),\"k\"\n",
+ "\n",
+ "# component off i is off by 0.1 units"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vector P is 43.6 i -87.3 j + 21.8 k\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-12, Page No: 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Solution\n",
+ "\n",
+ "print'P X Q=(Pxi+Pyj+Pzk)x(Qxi+Qyj+Qzk)'\n",
+ "print' =(PxQx)i x i+(PxQy)i x j +(PxQz)i x k'\n",
+ "print'But i x i = j x j = k x k =0; and i x j =k and j x i= -k, etc. Hence'\n",
+ "print'P X Q= (PxQy)k-(PxQz)j-(PyQx)k+(PxQz)i+(PzQx)j-(PzQy)i'\n",
+ "print'These terms can be grouped as'\n",
+ "print'P X Q=(PyQz-PzQy)i+(PzQx-PxQz)j+(PxQy-PyQx)k'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "P X Q=(Pxi+Pyj+Pzk)x(Qxi+Qyj+Qzk)\n",
+ " =(PxQx)i x i+(PxQy)i x j +(PxQz)i x k\n",
+ "But i x i = j x j = k x k =0; and i x j =k and j x i= -k, etc. Hence\n",
+ "P X Q= (PxQy)k-(PxQz)j-(PyQx)k+(PxQz)i+(PzQx)j-(PzQy)i\n",
+ "These terms can be grouped as\n",
+ "P X Q=(PyQz-PzQy)i+(PzQx-PxQz)j+(PxQy-PyQx)k\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-13,Page No: 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "Fx=2.63 #N\n",
+ "Fy=4.28 #N\n",
+ "Fz=-5.92 #N\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "F=sqrt(Fx**2+Fy**2+Fz**2) #N\n",
+ "thetax=((arccos(Fx/F))*180)/pi #degrees\n",
+ "thetay=((arccos(Fy/F))*180)/pi #degrees\n",
+ "thetaz=((arccos(Fz/F))*180)/pi #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The magnitude of force is',round(F,2),\"N\"\n",
+ "print'Thetax',round(thetax,1),\"degrees\"\n",
+ "print'Thetay',round(thetay,1),\"degrees\"\n",
+ "print'Thetaz',round(thetaz,1),\"degrees\"\n",
+ "\n",
+ "# Decimal point error may cause a small discrepancy in the answers."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The magnitude of force is 7.76 N\n",
+ "Thetax 70.2 degrees\n",
+ "Thetay 56.5 degrees\n",
+ "Thetaz 139.7 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-14, Page No: 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "P=[4.82, -2.33, 5.47] #N\n",
+ "Q=[-2.81,-6.09,1.12 ] #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "M=P[0]*Q[0]+P[1]*Q[1]+P[2]*Q[2] #Nm\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print'Result is',round(M,2),\"N.m\"\n",
+ "\n",
+ "# Decimal point error in calculation causes a small discrepancy in the answer."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Result is 6.77 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-15, Page No: 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "\n",
+ "x1=2 #units\n",
+ "x2=-2 #units\n",
+ "y1=3 #units\n",
+ "y2=4 #units\n",
+ "z1=0 #units\n",
+ "z2=6 #units\n",
+ "P=np.array([2,3,-1]) #units\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "X=sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2) #units\n",
+ "eLx=(x2-x1)/X #units\n",
+ "eLy=(y2-y1)/X #units\n",
+ "eLz=(z2-z1)/X #units\n",
+ "Q=np.array([eLx,eLy,eLz]) #units\n",
+ "Z=P[0]*Q[0]+P[1]*Q[1]+P[2]*Q[2] # units\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The unit vector is',round(eLx,3),\"i +\",round(eLy,3),\"j +\",round(eLz,3),\"k\"\n",
+ "print'The projection of P is',round(Z,2),\"units\"\n",
+ "\n",
+ "#Note:The final answer for the projection of P is off by 0.1 units\n",
+ "#The answer mentioned in the textbook is -1.41\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The unit vector is -0.549 i + 0.137 j + 0.824 k\n",
+ "The projection of P is -1.51 units\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-16, Page No: 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "\n",
+ "x1=2 #units\n",
+ "x2=5 #units\n",
+ "y1=-5 #units\n",
+ "y2=2 #units\n",
+ "z1=3 #units\n",
+ "z2=-4 #units\n",
+ "P=np.array([10,-8,14]) #units\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "X=sqrt((x2-x1)**2+(y2-y1)**2+(z2-z1)**2) #units\n",
+ "eLx=(x2-x1)/X #units\n",
+ "eLy=(y2-y1)/X #units\n",
+ "eLz=(z2-z1)/X #units\n",
+ "Q=np.array([eLx,eLy,eLz]) #units\n",
+ "Z=P[0]*Q[0]+P[1]*Q[1]+P[2]*Q[2] #units\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The unit vector is',round(eLx,3),\"i +\",round(eLy,3),\"j\",round(eLz,3),\"k\" \n",
+ "print'The projection of P is',round(Z),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The unit vector is 0.29 i + 0.677 j -0.677 k\n",
+ "The projection of P is -12.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-17, Page No: 14\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "Px=2.85 #ft\n",
+ "Py=4.67 #ft\n",
+ "Pz=-8.09 #ft\n",
+ "Qx=28.3 #lb\n",
+ "Qy=44.6 #lb\n",
+ "Qz=53.3 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "X=(Py*Qz-Pz*Qy) #N.m \n",
+ "Y=(Pz*Qx-Px*Qz) #N.m\n",
+ "Z=(Px*Qy-Py*Qx) #N.m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The cross product is',round(X),\"i\",round(Y),\"j\",round(Z),\"k lb-ft\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The cross product is 610.0 i -381.0 j -5.0 k lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-18, Page No: 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Result\n",
+ "#As this is symbolic solution directly print command is being used to give the required output\n",
+ "\n",
+ "print'The Time derivative is '\n",
+ "print'dr/dt=(dx/dt)i+12*y(dy/dt)j-3*(dz/dt)k'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Time derivative is \n",
+ "dr/dt=(dx/dt)i+12*y(dy/dt)j-3*(dz/dt)k\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1-19, Page No: 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return x**2\n",
+ "a=1\n",
+ "b=1\n",
+ "I=quad(integrand, 1, 3, args=(a,b))\n",
+ "\n",
+ "def integrand(y, a, b):\n",
+ " return 2*y\n",
+ "a=1\n",
+ "b=1\n",
+ "J=quad(integrand, 1, 3, args=(a,b))\n",
+ "\n",
+ "def integrand(z, a, b):\n",
+ " return 1\n",
+ "a=1\n",
+ "b=1\n",
+ "K=quad(integrand, 1, 3, args=(a,b))\n",
+ "\n",
+ "# Results\n",
+ "print'The answer is',round(I[0],2),\"i +\",round(J[0]),\"j -\",round(K[0]),\"k.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The answer is 8.67 i + 8.0 j - 2.0 k.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter10.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter10.ipynb
new file mode 100755
index 00000000..3204ca3c
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter10.ipynb
@@ -0,0 +1,426 @@
+{
+ "metadata": {
+ "name": "chapter 10.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 10: FIRST MOMENTS AND CENTROIDS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-5, Page no 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=50 #mm\n",
+ "L1=75 #mm\n",
+ "L2=pi*r #mm\n",
+ "L3=61.2 #mm\n",
+ "# as theta1=45 degrees & theta2=60 degrees\n",
+ "sintheta1=sqrt(2)**-1\n",
+ "costheta1=sqrt(2)**-1\n",
+ "sintheta2=sqrt(3)*2**-1\n",
+ "costheta2=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "x_bar=np.array([(L1/2)*costheta1,L1*costheta1+r,L1*costheta1+100+(L3/2)*costheta2]) #mm\n",
+ "y_bar=np.array([(L1/2)*sintheta1,L1*sintheta1+(2*r)/pi,(L3/2)*sintheta2]) #mm\n",
+ "#Centroid Calculations\n",
+ "x=(L1*x_bar[0]+L2*x_bar[1]+L3*x_bar[2])/(L1+L2+L3) #mm\n",
+ "y=(L1*y_bar[0]+L2*y_bar[1]+L3*y_bar[2])/(L1+L2+L3) #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The centroid is as follows:'\n",
+ "print'x=',round(x,1),\"mm\"\n",
+ "print'y=',round(y,1),\"mm\"\n",
+ "\n",
+ "# The answer may wary due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The centroid is as follows:\n",
+ "x= 97.0 mm\n",
+ "y= 57.7 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-6, Page no 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "theta=75 #degrees\n",
+ "theta1=30 #degrees\n",
+ "sintheta=0.96\n",
+ "costheta=0.25\n",
+ "sintheta1=2**-1\n",
+ "costheta1=sqrt(3)*2**-1\n",
+ "alpha=(150*pi)/180 #rad\n",
+ "r=1\n",
+ "lhor=14 #in\n",
+ "\n",
+ "#calculations\n",
+ "a=((2*r)/alpha)*sintheta #in\n",
+ "p=90-theta\n",
+ "sinp=0.259\n",
+ "y=-a*sinp #in\n",
+ "#Length of arc\n",
+ "l=r*alpha #in\n",
+ "#Slope length calculations\n",
+ "DF=7 #in\n",
+ "AB=DF #in\n",
+ "BC=1 #in\n",
+ "BF=BC*costheta1 #in\n",
+ "FC=BC*sintheta1 #in\n",
+ "DC=DF+FC #in\n",
+ "EC=DC/costheta1 #in\n",
+ "#Centroid of EC is at G\n",
+ "yslope=0.5*EC*sintheta1+BF #in\n",
+ "#Y of composite figure\n",
+ "Y=((2*l*y)+14*-1+(2*EC*yslope))/(2*l+lhor+2*EC) #in\n",
+ "\n",
+ "#Result\n",
+ "print'The centroid is at Y=',round(Y,2),\"in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The centroid is at Y= 1.03 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-11, Page no 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "a=100 #mm\n",
+ "b=150 #mm\n",
+ "A1=2*10**4 #mm**2\n",
+ "A2=5*10**3 #mm**2\n",
+ "A3=(pi*(a/2)**2)/2 #mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "x=(A1*a+A2*(133.3)-A3*b)/(A1+A2-A3) #mm\n",
+ "y=(A1*a*0.5+A2*(116.66)-A3*((4*a*0.5)/(3*pi)))/(A1+A2-A3) #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The centroidal distances are'\n",
+ "print'x=',round(x,1),\"mm\"\n",
+ "print'y=',round(y,1),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The centroidal distances are\n",
+ "x= 98.6 mm\n",
+ "y= 71.2 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-16, Page no 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "V=np.array([1728*10**3,432*10**3,7.54*10**3])\n",
+ "x_bar=np.array([60,140,60]) #mm\n",
+ "y_bar=np.array([30,20,30]) #mm\n",
+ "\n",
+ "#Calculations\n",
+ "x=(V[0]*x_bar[0]+V[1]*x_bar[1]+V[2]*x_bar[2])/(V[0]+V[1]+V[2]) #mm\n",
+ "y=(V[0]*y_bar[0]+V[1]*y_bar[1]+V[2]*y_bar[2])/(V[0]+V[1]+V[2]) #mm\n",
+ "z=120 #mm from symmetry\n",
+ "\n",
+ "#Result\n",
+ "print'The centroid is at'\n",
+ "print'x=',round(x,1),\"mm\"\n",
+ "print'y=',round(y,1),\"mm\"\n",
+ "print'z=',round(z,1),\"mm\"\n",
+ "\n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The centroid is at\n",
+ "x= 75.9 mm\n",
+ "y= 28.0 mm\n",
+ "z= 120.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-17, Page no 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# Here tx=30 degrees,ty=45 degrees& tz=60 degrees,, thus\n",
+ "sintx=2**-1\n",
+ "costx=sqrt(3)*2**-1\n",
+ "sinty=sqrt(2)**-1\n",
+ "costy=sqrt(2)**-1\n",
+ "sintz=sqrt(3)*2**-1\n",
+ "costz=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "V=np.array([10,15,25]) #in**3\n",
+ "x_bar=np.array([4,12,24]) #in\n",
+ "y_bar=np.array([4*costx,-6*costy,-4*costz])\n",
+ "z_bar=np.array([-4*sintx,6*sinty,-4*sintz])\n",
+ "#Centroid calculations\n",
+ "x=(V[0]*x_bar[0]+V[1]*x_bar[1]+V[2]*x_bar[2])/(V[0]+V[1]+V[2]) #in\n",
+ "y=(V[0]*y_bar[0]+V[1]*y_bar[1]+V[2]*y_bar[2])/(V[0]+V[1]+V[2]) #in\n",
+ "z=(V[0]*z_bar[0]+V[1]*z_bar[1]+V[2]*z_bar[2])/(V[0]+V[1]+V[2]) #in\n",
+ "\n",
+ "#Result\n",
+ "print'The centroid of three volumes is at'\n",
+ "print'x=',round(x,1),\"in\"\n",
+ "print'y=',round(y,2),\"in\"\n",
+ "print'z=',round(z,2),\"in\"\n",
+ "\n",
+ "# The ans for x is off by 0.4 in"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The centroid of three volumes is at\n",
+ "x= 16.0 in\n",
+ "y= -1.58 in\n",
+ "z= -0.86 in\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-26, Page no 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Part a\n",
+ "# Pefer textbook for part a.\n",
+ "\n",
+ "# Part b\n",
+ "\n",
+ "# Initilization of variables\n",
+ "w=150 #lb/ft**2\n",
+ "h=2 #ft height of the load\n",
+ "s=8 #ft span\n",
+ "b=2 #ft\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return x*(150*(x/4)*2)\n",
+ "a=1\n",
+ "b=1\n",
+ "M=quad(integrand, 0, s, args=(a,b))\n",
+ "Rr=M[0]/(2*s) #lb\n",
+ "\n",
+ "# Results\n",
+ "print'The value of M is',round(M[0]),\"lb-ft\"\n",
+ "print'The value of Rr is',round(Rr),\"lb\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of M is 12800.0 lb-ft\n",
+ "The value of Rr is 800.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-27, Page no 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Initilization of variables\n",
+ "\n",
+ "rho_m=1000 # kg/m**3\n",
+ "h=0.3 # m height of hole\n",
+ "b=0.6 # m width of hole\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(y, a, b):\n",
+ " return y*9.8*rho_m*(1.2-y)*(0.6)\n",
+ "a=1\n",
+ "b=1\n",
+ "I=quad(integrand, 0, h, args=(a,b))\n",
+ "B=I[0]/(2*(0.3))\n",
+ "\n",
+ "# Results\n",
+ "print'The value of B is',round(B),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of B is 441.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10-28, Page no 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=62.4 #lb/ft**3\n",
+ "h=12 #ft\n",
+ "f=105 #lb/ft**3\n",
+ "\n",
+ "#Calculations\n",
+ "p1=l*h #lb/ft**2\n",
+ "#Total force on left side\n",
+ "#Simplfying the equation we get a three degree equation in d\n",
+ "#solving for d\n",
+ "p=np.array([3**-1,0,-144,467])\n",
+ "r=roots(p)\n",
+ "d=r[2] #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The value of d is',round(d,2),\"feet\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of d is 3.33 feet\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter11.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter11.ipynb
new file mode 100755
index 00000000..eaf10557
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter11.ipynb
@@ -0,0 +1,113 @@
+{
+ "metadata": {
+ "name": "chapter 11.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 11: VIRTUAL WORK"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11-6, Page no 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "N=100 #lb\n",
+ "mu=0.3 #coefficient of friction\n",
+ "l=5 #in compressed to length\n",
+ "\n",
+ "#Calculations\n",
+ "#Simplfying the calculations we obtain\n",
+ "M=8*(N+N*mu) #lb-in\n",
+ "\n",
+ "#Result\n",
+ "print'The Moment is',round(M,3),\"lb-in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Moment is 1040.0 lb-in\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11-7, Page no 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=10 #kg\n",
+ "g=9.81 # m/s**2\n",
+ "F=200 #N\n",
+ "l=3 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Virtual work principle\n",
+ "By=m*g*0.5 #N\n",
+ "Bx=F*(2*3**-1) #N\n",
+ "#By equations of equilibrium\n",
+ "Ax=-Bx-F #N negative sign indictaes the LEFT orientation\n",
+ "Ay=m*g-By #N\n",
+ "\n",
+ "#Result\n",
+ "print'The values are'\n",
+ "print'Ax=',round(Ax),\"N to left\"\n",
+ "print'Ay=',round(Ay),\"N up\"\n",
+ "print'Bx=',round(Bx),\"N to right\"\n",
+ "print'By=',round(By),\"N up\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are\n",
+ "Ax= -333.0 N to left\n",
+ "Ay= 49.0 N up\n",
+ "Bx= 133.0 N to right\n",
+ "By= 49.0 N up\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter12.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter12.ipynb
new file mode 100755
index 00000000..1b0decf3
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter12.ipynb
@@ -0,0 +1,1521 @@
+{
+ "metadata": {
+ "name": "chapter 12.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 12: KINEMATICS OF A PARTICLE"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 12.12-1, Page No 200"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "# Initilization of variables\n",
+ "t=4 #seconds\n",
+ "\n",
+ "# Calculations\n",
+ "#Displacement \n",
+ "x=3*t**3+t+2 #ft\n",
+ "# Velocity\n",
+ "v=9*t**2+1 # ft/s\n",
+ "# Acceleration\n",
+ "a=18*t # ft/s**2\n",
+ "\n",
+ "# Result\n",
+ "print'The dipalacemnt is',round(x),\"ft\"\n",
+ "print'The velocity is ',round(v),\"ft/s\"\n",
+ "print'The acceleration is ',round(a),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dipalacemnt is 198.0 ft\n",
+ "The velocity is 145.0 ft/s\n",
+ "The acceleration is 72.0 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-2, Page No 201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "# Initilization of variables\n",
+ "t1=4 #s\n",
+ "t2=5 #s\n",
+ "\n",
+ "# Calculation\n",
+ "v1=9*t1**2+1 # ft/s\n",
+ "v2=9*t2**2+1 # ft/s\n",
+ "a=(v2-v1)/(t2-t1) # m/s**2\n",
+ "\n",
+ "# Result\n",
+ "print'The acceleration during fifth second is',round(a),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The acceleration during fifth second is 81.0 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-3, Page No 201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Defining Matrices\n",
+ "t=[0,1,2,3,4,5,10] #s\n",
+ "# equation for s is s=8*t**2+2*t, Thus the different values of s corresponding to t is:\n",
+ "#Displacement matrix\n",
+ "s=[0,10,36,78,136,210,820]\n",
+ "# Eqn for v is v=16*t+2,Thus the different values of v corresponding to t is:\n",
+ "#Velocity Matrix\n",
+ "v=[0,18,34,50,66,82,162]\n",
+ "# Eqn for a is a=16, Thus the different values of a corresponding to t is:\n",
+ "#Acceleration Matrix\n",
+ "a=[16,16,16,16,16,16,16]\n",
+ "#Plotting the curves\n",
+ "#S-T curve\n",
+ "plot(t,s)\n",
+ "plot(t,v)\n",
+ "plot(t,a)\n",
+ "xlabel('t(s)')\n",
+ "ylabel('s(m), v(m/s) & a(m/s**2)')\n",
+ "\n",
+ "#Result\n",
+ "print'The graphs are the solutions'\n",
+ "print'blue line is for \"s\" vs \"t\" '\n",
+ "print'green line is for \"v\" vs \"t\" '\n",
+ "print'red line is for \"a\" vs \"t\" '\n",
+ "# All the 3 graphs have been combined into a single graph"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The graphs are the solutions\n",
+ "blue line is for \"s\" vs \"t\" \n",
+ "green line is for \"v\" vs \"t\" \n",
+ "red line is for \"a\" vs \"t\" \n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x594d050>"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No 12.12-4, Page No 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v_o=0 #ft/s\n",
+ "v_f=88#ft/s\n",
+ "t=28 #s\n",
+ "\n",
+ "#Calculations\n",
+ "k=(v_f-v_o)*t**-1 #ft/s**2\n",
+ "s=((v_f-v_o)/2)*t #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The value of constant k is',round(k,2),\"ft/s**2\"\n",
+ "print'The displacement is ',round(s),\"ft\"\n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of constant k is 3.14 ft/s**2\n",
+ "The displacement is 1232.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-5, Page No 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v_o=0 #ft/s\n",
+ "v_f1=30 #ft/s\n",
+ "v_f2=0 #ft/s\n",
+ "t1=3 #s\n",
+ "t2=2 #s\n",
+ "\n",
+ "#Calculations\n",
+ "#Plotting the v-t curve\n",
+ "#Velocity matrix \n",
+ "v=[v_o,v_f1,v_f2]\n",
+ "#Time matrix\n",
+ "t=[0,3,5]\n",
+ "plot(t,v)\n",
+ "xlabel('t')\n",
+ "ylabel('v')\n",
+ "#Part \"b\"\n",
+ "#Acceleration at 3s\n",
+ "a1=(v_f1-v_o)/t1 #ft/s**2\n",
+ "#Acceleration at 5s\n",
+ "a2=(v_f2-v_f1)/t2 #ft/s**2\n",
+ "#Part \"c\"\n",
+ "s=(v_f1*t1*0.5)+(v_f1*t2*0.5) #ft\n",
+ "#Part \"d\"\n",
+ "#Simplfying the equation we get\n",
+ "#7.5t**2-30t+5=0\n",
+ "a=7.5\n",
+ "b=-30\n",
+ "c=5\n",
+ "q=sqrt(b**2-4*a*c)\n",
+ "x1=(-b+q)/(2*a)\n",
+ "x2=(-b-q)/(2*a)\n",
+ "#As x1 is greater than 2 it does not hold as a solution\n",
+ "t=x2 #s\n",
+ "#Hence total time is\n",
+ "T=t1+t #s\n",
+ "\n",
+ "#Result\n",
+ "print'The graph is the solution for part a'\n",
+ "print'The acceleration at 3rd second is',round(a1),\"ft/s**2\"\n",
+ "print'The acceleration at 5th second is',round(a2),\"ft/s**2\"\n",
+ "print'The displacement is',round(s),\"ft\"\n",
+ "print'The total time is',round(T,3),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The graph is the solution for part a\n",
+ "The acceleration at 3rd second is 10.0 ft/s**2\n",
+ "The acceleration at 5th second is -15.0 ft/s**2\n",
+ "The displacement is 75.0 ft\n",
+ "The total time is 3.174 s\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x594d2d0>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example No 12.12-6, Page No 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v_o=2 #m/s\n",
+ "y_o=120 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Solve using ground as datum\n",
+ "y=0\n",
+ "#Simplfying the equation\n",
+ "a=4.9\n",
+ "b=-2\n",
+ "c=-120\n",
+ "q=sqrt(b**2-4*a*c)\n",
+ "x1=(-b+q)/(2*a) #s\n",
+ "x2=(-b-q)/(2*a) #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(x1,2),\"s\"\n",
+ "#As x2 is negative and negative time does not make any physical sense\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 5.16 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-7, Page No 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Vo1=80 #ft/s\n",
+ "Vo2=60 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Simplfying by equating the two times\n",
+ "t=(-(Vo2*2)-(g*0.5*4))/(Vo1-Vo2-(g*0.5*4)) #s\n",
+ "#Substituting this t in s we get\n",
+ "s=(Vo1*t)-(0.5*g*t*t) #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The time obtained is',round(t,2),\"s\"\n",
+ "print'and the ball meets at',round(s,1),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time obtained is 4.15 s\n",
+ "and the ball meets at 54.5 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-8, Page No 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=40 degrees\n",
+ "costheta=0.77\n",
+ "tantheta=0.83\n",
+ "x=100 #ft\n",
+ "ay=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Simplfying the equation\n",
+ "t=((tantheta*x)*(ay/2)**-1)**0.5 #s\n",
+ "#Velocity calculations\n",
+ "Vo=100*(costheta*t)**-1 #ft/s\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The initial speed should be',round(Vo,1),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The initial speed should be 57.2 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-9, Page No 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=[0,1,2,3,4,5,6] #s\n",
+ "#Solving the Differential Equations we obtain\n",
+ "# Eqn for s is s=(t+1)**3,Thus the different values of s corresponding to t is:\n",
+ "#Displacement matrix\n",
+ "s=[1,8,27,64,125,216,343]\n",
+ "# Eqn for v is v=3*(t+1)**2, Thus the different values of v corresponding to t is:\n",
+ "# Velocity matrix\n",
+ "v=[3,12,27,48,75,108,147]\n",
+ "# Eqn for a is a=6*(t+1),Thus the different values of a corresponding to t is:\n",
+ "# Acceleration matrix\n",
+ "a=[6,12,18,24,30,36,42]\n",
+ "#Plotting\n",
+ "plot(t,s)\n",
+ "plot(t,v)\n",
+ "plot(t,a)\n",
+ "xlabel('t(s)')\n",
+ "ylabel('s(ft) , v(ft/s) & a(ft/s**2)')\n",
+ "\n",
+ "#Result\n",
+ "print'The result are the plots that have been generated'\n",
+ "print'blue line is for \"s\" vs \"t\"'\n",
+ "print'green line is for \"v\" vs \"t\"'\n",
+ "print'red line is for \"a\" vs \"t\"'\n",
+ "# All the graphs have been plotted on a single graph"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The result are the plots that have been generated\n",
+ "blue line is for \"s\" vs \"t\"\n",
+ "green line is for \"v\" vs \"t\"\n",
+ "red line is for \"a\" vs \"t\"\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n06cPer2+IsITotwkIQhRQikpKaxZs8bw96effsqUKVOK3L5WrVr4+vry888/V0B0QpSfJAQhSmje\nvHlcvXoVb29v3njjDX744QfDHcKFCxfo0aMH3t7edO7cmStXrgDg7+/Pli1btAxbiBKTmcpClND1\n69d54oknOHfuHHFxcQwcOJBz584B8Morr9CzZ0/Gjx9Pfn4++fn5WFtbk5OTQ8uWLaVcu6gUKkUt\nIyHMwb2/na5fv26okgnQq1cv3n//fW7evMlTTz1F69atAbXZSK/Xk52djbW1dYXHLERpSJOREGV0\nb4IYN24cO3fupHbt2jz++OMcPHiw0HZVrSicqJokIQhRQjY2NoZSyc2bNycuLs7wWUREBC1atODf\n//43I0aMMDQl5eTkUKNGDWrVqqVJzEKUhjQZCVFC9vb2PProo3Ts2JGhQ4eSn59PZmYmdevWZfv2\n7WzevBkrKyucnZ156623ADh9+jS9evXSOHIhSkY6lYUoowULFtC+fXvGjBlT5DZvvvkm3bt3N9Tc\nF8KcSUIQoowSExOZPHkyv/766wM/z8nJYeDAgQQHB0sfgqgUJCEIIYQApFNZCCHE3yQhCCGEACQh\nCCGE+JskBCGEEIAkBCGEEH+ThCCEEAKA/w/0oo4ZUybtuAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58313f0>"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-10, Page No 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=3 #s\n",
+ "\n",
+ "#Calculations\n",
+ "#After solving the differential equation\n",
+ "s=(3**-1)*(t+2)**3 #ft\n",
+ "v=(t+2)**2 #ft/s\n",
+ "a=2*(t+2) #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The displacement at t=3s is',round(s,1),\"ft\"\n",
+ "print'The velocity at t=3s is',round(v),\"ft/s\"\n",
+ "print'The acceleration at t=3s is',round(a),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement at t=3s is 41.7 ft\n",
+ "The velocity at t=3s is 25.0 ft/s\n",
+ "The acceleration at t=3s is 10.0 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-12, Page No 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#Calling upward direction positive\n",
+ "xdot1=6 #ft/s\n",
+ "xdot3=3 #ft/s\n",
+ "xdoubledot=2 #ft/s**2\n",
+ "xdoubledot3=-4 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "xdot=-xdot1 #ft/s\n",
+ "xdot2=2*xdot-xdot3 #ft/s\n",
+ "xdoubledot2=2*xdoubledot-xdoubledot3 #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of velocity is',round(xdot2,3),\"ft/s (down)\"\n",
+ "print'The value of acceleration is',round(xdoubledot2,3),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of velocity is -15.0 ft/s (down)\n",
+ "The value of acceleration is 8.0 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-16, Page No 207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=4 #s\n",
+ "\n",
+ "#Calculations\n",
+ "#Part (a)\n",
+ "x=t**3 #in\n",
+ "y=-2*t**2 #in\n",
+ "z=2*t #in\n",
+ "#Part (b)\n",
+ "#Theory question\n",
+ "#Part(c)\n",
+ "#Unit vector calculation\n",
+ "m=(4**2+1**1+(-3)**2)**0.5\n",
+ "e_l=[4*m**-1,m**-1,-3*m**-1]\n",
+ "v=[3*t**2,-4*t,2] #in/s\n",
+ "#Projection of v on n at t=4s\n",
+ "dot=[v[0]*e_l[0],v[1]*e_l[1],v[2]*e_l[2]]\n",
+ "#dot=v.*e_l #in/s\n",
+ "a=dot[0]+dot[1]+dot[2] #in/s\n",
+ "\n",
+ "#Result\n",
+ "print'The co-ordinates of position are x=',round(x),\"in ,\",round(y),\"in and \",round(z),\"in respectively\"\n",
+ "print'The projection of v on n at t=4s is',round(a,1),\"in/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The co-ordinates of position are x= 64.0 in , -32.0 in and 8.0 in respectively\n",
+ "The projection of v on n at t=4s is 33.3 in/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-17, Page No 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "theta=pi/3 #rad\n",
+ "\n",
+ "#Calculations\n",
+ "#Method (a)\n",
+ "t=(theta)**0.5 #s\n",
+ "r=2*theta\n",
+ "rdot=4*t\n",
+ "thetadot=2*t\n",
+ "#Velocity calculations\n",
+ "x=r*thetadot\n",
+ "v=((rdot)**2+x**2)**0.5 #ft/s\n",
+ "#Theta calculations\n",
+ "thetax=30+arctan(rdot/x)*(180/pi) #degrees\n",
+ "#Method (b)\n",
+ "x=2*theta*cos(theta) #ft\n",
+ "y=2*theta*sin(theta) #ft\n",
+ "xdot=4*t*((cos(t**2)))+2*t**2*(-sin(t**2))*(2*t) #ft/s\n",
+ "ydot=4*t**2*sin(t**2)+2*t**2*cos(t**2)*2*t #ft/s\n",
+ "V=(xdot**2+ydot**2)**0.5 #ft/s\n",
+ "Thetax=arctan(ydot/-xdot)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'By both the methods we obtain v and thetax as:'\n",
+ "print'Method 1'\n",
+ "print'v=',round(v,2),\"ft/s\",'and thetax=',round(thetax,1),\"degrees\"\n",
+ "print'Method 2'\n",
+ "print'V=',round(v,2),\"ft/s\",'and Thetax=',round(Thetax,1),\"degrees\"\n",
+ "# The answer may wary due to decimal point accuracy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "By both the methods we obtain v and thetax as:\n",
+ "Method 1\n",
+ "v= 5.93 ft/s and thetax= 73.7 degrees\n",
+ "Method 2\n",
+ "V= 5.93 ft/s and Thetax= 73.9 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-18, Page No 209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "theta=pi/3 #rad\n",
+ "\n",
+ "#Calculations\n",
+ "t=sqrt(theta) #s\n",
+ "thetadot=2*t \n",
+ "thetadoubledot=2\n",
+ "r=2*t**2\n",
+ "rdot=4*t\n",
+ "rdoubledot=4\n",
+ "ax=rdoubledot-(r*thetadoubledot*thetadoubledot) #ft/s**2\n",
+ "ay=2*rdot*thetadot+r*thetadoubledot #ft/s**2\n",
+ "a=sqrt(ax**2+ay**2) # fr/s**2\n",
+ "thetax=30+arctan(ax/ay)*(180/pi) #degrees\n",
+ "#Solving by cartesian co-ordinate system yields same solution\n",
+ "\n",
+ "#Result\n",
+ "print'The value of acceleration is',round(a,1),\"ft/s**2\"\n",
+ "print'The value of thetax is',round(thetax,1),\"degrees\"\n",
+ "#Decimal accuracy causes discrepancy in answers\n",
+ "# The ans for thetax is incorrcet in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of acceleration is 21.4 ft/s**2\n",
+ "The value of thetax is 18.2 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-21, Page No 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Va=5 #ft/s\n",
+ "# as theta=70 degrees\n",
+ "sintheta=0.94\n",
+ "costheta=0.34\n",
+ "l=6.24 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "Vb=(-costheta/sintheta)*Va #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The value of Vb is',round(Vb,2),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vb is -1.81 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.25-25, Page No 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "theta=linspace(0,360,13)\n",
+ "\n",
+ "#Calculations\n",
+ "#Defining everything in terms of matrices \n",
+ "t=(theta*pi)/(180) #s converting degrees to radians\n",
+ "costheta=cos(t) \n",
+ "sintheta=sin(t)\n",
+ "x=2*costheta #ft\n",
+ "v=-12*sintheta #ft/s\n",
+ "a=-72*costheta #ft/s**2\n",
+ "\n",
+ "#Plotting\n",
+ "# 1\n",
+ "plot(t,x)\n",
+ "# 2\n",
+ "plot(t,v)\n",
+ "# 3\n",
+ "plot(t,a)\n",
+ "xlabel('t(s)')\n",
+ "ylabel('x(ft) , v(ft/s) ,a(ft/s**2)')\n",
+ "\n",
+ "#Result\n",
+ "print'The results are the plots'\n",
+ "print'The curve in blue colour represents t vs x'\n",
+ "print'The curve in green represents t vs v'\n",
+ "print'The curve in red represents t vs a'\n",
+ "# All the 3 curves have been plotted in the same graph. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The results are the plots\n",
+ "The curve in blue colour represents t vs x\n",
+ "The curve in green represents t vs v\n",
+ "The curve in red represents t vs a\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5e5d030>"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-26, Page No 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=1.2 #m\n",
+ "w0=0 #rpm\n",
+ "w=2000 #rpm\n",
+ "t=20 #s\n",
+ "\n",
+ "#Calculations\n",
+ "alpha=(w-w0)/t \n",
+ "alpha_rad=(alpha*2*pi)/60 #converting to radians/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The angular acceleration is',round(alpha_rad,1),\"radians/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular acceleration is 10.5 radians/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-27, Page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w0=0 #rad/s\n",
+ "w=209 #rad/s\n",
+ "t=20 #s\n",
+ "\n",
+ "#Calculations\n",
+ "theta=0.5*(w+w0)*t #rad\n",
+ "theta_rev=round(theta/(2*pi)) #revolutions rounding off\n",
+ "\n",
+ "#Result\n",
+ "print'The flywheel makes',round(theta_rev),\"revolutions\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The flywheel makes 333.0 revolutions\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-28, Page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w0=0 #rad/s\n",
+ "alpha=10.5 #rad/s**2\n",
+ "t=0.6 #s\n",
+ "r=0.6 #m\n",
+ "\n",
+ "#Calculations\n",
+ "w=w0+alpha*t #rad/s\n",
+ "v=r*w #m/s\n",
+ "a_t=r*alpha #m/s**2\n",
+ "a_n=r*w*w #m/s**2\n",
+ "a=sqrt(a_t**2+a_n**2) #m/s**2\n",
+ "phi=arctan(a_t/a_n)*(180/pi) #degrees\n",
+ "\n",
+ "#result\n",
+ "print'The tangential velocity is',round(v,2),\"m/s\"\n",
+ "print'The acceleration is',round(a,1),\"m/s**2\"\n",
+ "print'and the angle is',round(phi,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tangential velocity is 3.78 m/s\n",
+ "The acceleration is 24.6 m/s**2\n",
+ "and the angle is 14.8 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-29, Page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=4 #ft\n",
+ "wb=40 #rpm\n",
+ "we=60 #rpm\n",
+ "\n",
+ "#Calculations\n",
+ "r=l/2 #ft\n",
+ "vb=r*((wb*2*pi)/60) #ft/s\n",
+ "ve=r*((we*2*pi)/60) # ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The linear speeds are:'\n",
+ "print'vb=',round(vb,2),\"ft/s\"\n",
+ "print'and ve=',round(ve,1),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The linear speeds are:\n",
+ "vb= 8.38 ft/s\n",
+ "and ve= 12.6 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-30, Page No 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "wb=40 #rpm\n",
+ "we=60 #rpm\n",
+ "t1=5 #s using different symbol to avoid conflict in decleration\n",
+ "t=2 #s\n",
+ "#Calculations\n",
+ "\n",
+ "alpha=(((we*2*pi)/60)-((wb*2*pi)/60))/t1 #rad/s**2\n",
+ "w=((wb*2*pi)/60)+alpha*t #rad/s\n",
+ "#Components of acceleration are\n",
+ "a_t=r*alpha #ft/s**2\n",
+ "a_n=r*w**2 #ft/s**2\n",
+ "\n",
+ "#result\n",
+ "print'The tangential acceleration is',round(a_t,3),\"ft/s**2\"\n",
+ "print'The normal acceleration is',round(a_n,1),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tangential acceleration is 0.838 ft/s**2\n",
+ "The normal acceleration is 50.5 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-31, Page No 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=200 #mm\n",
+ "w0=(800*2*pi)/60 #rpm\n",
+ "w=0 #rpm\n",
+ "t=600 #s\n",
+ "\n",
+ "#Calculations\n",
+ "alpha=(w-w0)/t #rad/s**2 (deceleration)\n",
+ "\n",
+ "#result\n",
+ "print'The angular acceleration is',round(alpha,2),\"radian/s**2\"\n",
+ "# The negative sign indicates that the wheel decelerates\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular acceleration is -0.14 radian/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-32, Page No 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#The symbols used here differ from the textbook solution to avoid conflict \n",
+ "t1=0 #s\n",
+ "t2=0.5 #s\n",
+ "t3=2.5 #s\n",
+ "t4=3**-1 #s\n",
+ "w=200 #rpm\n",
+ "w0=0 #rpm\n",
+ "\n",
+ "#Calculations\n",
+ "theta1=0.5*(w0+(w*60**-1))*t2 #rev\n",
+ "theta2=(w*60**-1)*(t3-t2) #rev\n",
+ "theta3=(2**-1)*((w*60**-1)+w0)*t4 #rev here the values of w and w0 are interchanged but essentially the value comes out to be the same hence the decleration has not been changed\n",
+ "theta=theta1+theta2+theta3 #rev\n",
+ "\n",
+ "#Result\n",
+ "print'The wheel undergoes',round(theta,2),\"revolutions\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The wheel undergoes 8.06 revolutions\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-34, Page No 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=1 #s\n",
+ "r=4 #m\n",
+ "\n",
+ "#Calculations\n",
+ "s=t**3+3 #m\n",
+ "theta=s/r #rad\n",
+ "dtheta_dt=0.75*t**2 #rad/s\n",
+ "Vx=-4*sin(theta)*dtheta_dt #m/s\n",
+ "Vy=4*cos(theta)*dtheta_dt #m/s\n",
+ "V=(Vx**2+Vy**2)**0.5 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The components of velocity are:'\n",
+ "print'Vx=',round(Vx,2),\"m/s\"\n",
+ "print'Vy=',round(Vy,2),\"m/s\"\n",
+ "print'V=',round(V),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The components of velocity are:\n",
+ "Vx= -2.52 m/s\n",
+ "Vy= 1.62 m/s\n",
+ "V= 3.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-35, Page No 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=1 #s\n",
+ "theta=1 #rad\n",
+ "\n",
+ "#Calculations\n",
+ "dtheta_dt=0.75*t**2 #rad/s\n",
+ "acc=1.5*t #rad/s**2\n",
+ "ax=-4*cos(theta)*dtheta_dt**2-(4*sin(theta)*acc) #m/s**2 (to left)\n",
+ "ay=-4*sin(theta)*dtheta_dt**2+(4*cos(theta)*acc) #m/s**2 (up)\n",
+ "a=sqrt(ax**2+ay**2) #m/s**2\n",
+ "\n",
+ "#result\n",
+ "print'The acceleration is',round(a,2),\"m/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The acceleration is 6.41 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-36, Page No 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=2 #s\n",
+ "\n",
+ "#Calculations\n",
+ "#Velocity\n",
+ "vx=8*t-3 #ft/s\n",
+ "vy=3*t**2 #ft/s\n",
+ "v=sqrt(vx**2+vy**2) #ft/s\n",
+ "theta_x=arctan(vy*vx**-1)*(180/pi) #degrees\n",
+ "#Acceleration\n",
+ "ax=8 #ft/s**2\n",
+ "ay=6*t #ft/s**2\n",
+ "a=sqrt(ax**2+ay**2) #ft/s**2\n",
+ "phi_x=arctan(ay*ax**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity is',round(v,1),\"ft/s\"\n",
+ "print'and the angle is',round(theta_x,1),\"degrees\"\n",
+ "print'The acceleration is',round(a,1),\"ft/s**2\"\n",
+ "print'and the angle it makes is',round(phi_x,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity is 17.7 ft/s\n",
+ "and the angle is 42.7 degrees\n",
+ "The acceleration is 14.4 ft/s**2\n",
+ "and the angle it makes is 56.3 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-37, Page No 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "V_ao=29.3 #ft/s\n",
+ "OA=50 #ft\n",
+ "theta=45 #degrees\n",
+ "OB=50*sqrt(2) #ft\n",
+ "\n",
+ "#Calculations\n",
+ "w_ao=V_ao/OA #rad/s\n",
+ "V_bo=V_ao*cos(theta) #ft/s\n",
+ "w_bo=V_bo/OB #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular velocity with respect to the observer is',round(w_ao,3),\"rad/s\"\n",
+ "print' The angular velocity after moving 50ft is',round(w_bo,3),\"rad/s\"\n",
+ "# The answer for w_bo is incorrect in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocity with respect to the observer is 0.586 rad/s\n",
+ " The angular velocity after moving 50ft is 0.218 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-38, Page No 219"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initiliztaion of variables\n",
+ "# as theta=30 degrees\n",
+ "costheta=sqrt(3)*2**-1\n",
+ "tantheta=sqrt(3)**-1\n",
+ "r=[100*tantheta*(180/pi),100] #ft\n",
+ "v=17.6 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "v_1=100*costheta**-1*costheta**-1\n",
+ "w=v/v_1 #rad/s (clockwise)\n",
+ "\n",
+ "#result\n",
+ "print'The angular velocity is',round(w,3),\"rad/s clockwise\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocity is 0.132 rad/s clockwise\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-39, Page No 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "t=2 #s\n",
+ "\n",
+ "#Calculations\n",
+ "Vx=20*t+5 #m/s\n",
+ "Vy=t**2-20 #m/s\n",
+ "#As indefinite integral is not possible \n",
+ "x=10*t**2+5*t+5 #m\n",
+ "y=0.5*t**2-20*t-15 #m\n",
+ "ax=20 #m/s**2\n",
+ "ay=2*t #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The displacement components are x=',round(x),\"m\",'and y=',round(y),\"m.\"\n",
+ "print'The velocity components are: Vx=',round(Vx),\"m/s\",'and Vy=',round(Vy),\"m/s\"\n",
+ "print'The acceleration components are: ax=',round(ax),\"m/s**2\",'and ay=',round(ay),\"m/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement components are x= 55.0 m and y= -53.0 m.\n",
+ "The velocity components are: Vx= 45.0 m/s and Vy= -16.0 m/s\n",
+ "The acceleration components are: ax= 20.0 m/s**2 and ay= 4.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-40, Page No 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=0.1 #m\n",
+ "v=20 #m/s\n",
+ "a_g=6 #m/s**2\n",
+ "d2=0.150 #m\n",
+ "\n",
+ "#Calculations\n",
+ "r=d/2 #m\n",
+ "w=v/r #rad/s\n",
+ "vb=d2*0.5*w #m/s\n",
+ "alpha=a_g/r #rad/s**2\n",
+ "a_t=d2*0.5*alpha #rad/s**2 tangential acceleration\n",
+ "a_n=d2*0.5*w*w #m/s**2 normal acceleration\n",
+ "a=sqrt(a_t**2+a_n**2) #m/s**2 linear acceleration\n",
+ "\n",
+ "#Result\n",
+ "print'The linear velocity is',round(vb),\"m/s\"\n",
+ "print'The acceleration is',round(a),\"m/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The linear velocity is 30.0 m/s\n",
+ "The acceleration is 12000.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12-41, Page No 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=40 degrees\n",
+ "sintheta=0.64\n",
+ "costheta=0.77\n",
+ "tantheta=0.83\n",
+ "x=100 #ft\n",
+ "ax=0 #ft/s**2\n",
+ "ay=-32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#vox=vocos40....(1)\n",
+ "#voy=vox*t-1/2(32.2)t^2...(2)\n",
+ "#Simplyfying eq (1) and eq(2)\n",
+ "t_f=((x*tantheta)/(0.5*(-ay)))**0.5 #s time of flight\n",
+ "Vo=x/(costheta*t_f) #ft/s\n",
+ "#As the max height occurs at half wat through the flight\n",
+ "t=t_f/2 #s\n",
+ "ymax=Vo*sintheta*t+(0.5*ay*t*t) #ft the formula has positive sign as ay is defined negative\n",
+ "\n",
+ "#result\n",
+ "print'The max height the ball will reach is',round(ymax,1),\"ft\"\n",
+ "\n",
+ "# The ans in textbook is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The max height the ball will reach is 20.8 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter13.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter13.ipynb
new file mode 100755
index 00000000..8c5eeb3d
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter13.ipynb
@@ -0,0 +1,899 @@
+{
+ "metadata": {
+ "name": "chapter 13.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 13: DYNAMICS OF A PARTICLE"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-1, Page No 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=2 #lb\n",
+ "F=1.5 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Angles are with respect to the plane are,\n",
+ "# theta1=10 degrees & theta2=30 degrees\n",
+ "sintheta1=0.17\n",
+ "costheta1=0.99\n",
+ "sintheta2=0.5\n",
+ "costheta2=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Now here the forces are considered as parallel and perpendicular to the plane \n",
+ "#Applying Newtond Principle\n",
+ "ax=(g/2)*(F*costheta1-(W*sintheta2)) #ft/s**2\n",
+ "N1=(2*costheta2-(F*sintheta1)) #lb\n",
+ "\n",
+ "#result\n",
+ "print'The force on the particle is',round(N1,2),\"lb\"\n",
+ "print'The acceleration is',round(ax,2),\"ft/s**2\"\n",
+ "\n",
+ "# The answer may wary due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force on the particle is 1.48 lb\n",
+ "The acceleration is 7.81 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-2, Page No 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=5 #kg\n",
+ "s=12 #m\n",
+ "v=4 #m/s\n",
+ "vo=0 #m/s\n",
+ "g=9.8 #m/s**2\n",
+ "mu=0.25\n",
+ "\n",
+ "#Calculations\n",
+ "#Using the kinematic equations of motion\n",
+ "a=(v**2-vo**2)*(2*s)**-1 #m/s**2\n",
+ "#Using Newtons Principle\n",
+ "N1=g*m #N\n",
+ "P=m*a+mu*N1 #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P is',round(P,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P is 15.6 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-3, Page No 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=2 #kg\n",
+ "vo=0 #m/s\n",
+ "v=3 #m/s\n",
+ "s=0.8 #m\n",
+ "# as theta=20 degrees,\n",
+ "sintheta=0.34\n",
+ "costheta=0.94\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "N=m*g*costheta #N\n",
+ "a=(vo**2-v**2)*(2*s)**-1 #m/s**2\n",
+ "u=-((2*a)+(m*g*sintheta))/N \n",
+ "#Solving for return speed\n",
+ "#Symbol convention is different from textbook\n",
+ "a_ret=((m*g*sintheta)-(u*N))/2 #m/s**2\n",
+ "vf=sqrt((2*a_ret*s)) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed is',round(vf,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed is 1.3 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-4, Page No 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=1800 #lb\n",
+ "r=2000 #ft\n",
+ "v=58.7 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "F=(W*v*v)/(g*r) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The frictional force to be exerted is',round(F,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frictional force to be exerted is 96.3 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-7, Page No 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "# Initilization of variables\n",
+ "W=10 #lb\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "costheta=sqrt(3)*2**-1\n",
+ "l=2 #ft\n",
+ "w=10 #rev/min\n",
+ "g=32.2 # ft/s**2\n",
+ "\n",
+ "# Calculations\n",
+ "r=l*costheta # ft\n",
+ "a_n=r*(((w*2*pi)/60)**2) #ft/s**2\n",
+ "#Applying Newtons Principle\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[costheta,-sintheta],[sintheta,costheta]]) \n",
+ "B=np.array([[(W*a_n)/g],[W]]) \n",
+ "C=np.linalg.solve(A,B) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of T is',round(C[0],2),\"lb\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of T is 5.51 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-8, Page No 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=4 #lb\n",
+ "v=6 #ft/s\n",
+ "r=2 #ft\n",
+ "# as theta1=40 degrees & theta2=20 degrees\n",
+ "sintheta1=0.64\n",
+ "costheta1=0.77\n",
+ "sintheta2=0.34\n",
+ "costheta2=0.94\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "a_n=v**2/r #ft/s**2\n",
+ "#Applying Newtons Principle\n",
+ "Fi=(m*a_n)/g #lb\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[costheta1,costheta2],[sintheta1,-sintheta2]])\n",
+ "B=np.array([[m],[Fi]]) \n",
+ "C=np.linalg.solve(A,B) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The values are: T=',round(C[0],2),\"lb\",'and C=',round(C[1],2),\"lb\"\n",
+ "\n",
+ "# The ans for C waries due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are: T= 4.01 lb and C= 0.97 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-10, Page No 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=2 #kg\n",
+ "# as theta=20 degrees,\n",
+ "sintheta=0.34\n",
+ "m2=4 #kg\n",
+ "t=4 #s\n",
+ "g=9.8 #m/s**2\n",
+ "vo=0 #m/s\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Newtons Principle\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,-2],[1,4]])\n",
+ "B=np.array([[m1*g*sintheta],[m2*g]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "a=C[1] #m/s**2\n",
+ "v=vo+a*t #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity of 4kg mass is',round(v,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of 4kg mass is 21.7 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-11, Page No 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m_A=20 #lb\n",
+ "m_B=60 #lb\n",
+ "u=0.3 #coefficient of friction\n",
+ "t=4 #s\n",
+ "# as theta1=30 degrees & theta2=60 degrees,\n",
+ "sintheta1=2**-1\n",
+ "costheta1=sqrt(3)*2**-1\n",
+ "sintheta2=sqrt(3)*2**-1\n",
+ "costheta2=2**-1\n",
+ "g=32.2 #ft/s^2\n",
+ "vo=0 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "N1=m_A*costheta1 #lb\n",
+ "N2=m_B*costheta2 #lb\n",
+ "#Solving for T and a using matrix method\n",
+ "A=np.array([[1,-m_A/g],[-1,-m_B/g]])\n",
+ "B=np.array([[(m_A*sintheta1+u*N1)],[(-m_B*sintheta2+u*N2)]]) \n",
+ "C=np.linalg.solve(A,B)\n",
+ "a=C[1] #ft/s**2\n",
+ "v=vo+a*t #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity is',round(v,1),\"ft/s\"\n",
+ "\n",
+ "# The ans in the textbook is incorrect."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity is 44.7 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-12, Page No 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m_A=40 #kg\n",
+ "m_B=15 #kg\n",
+ "F=500 #N\n",
+ "g=9.8 #m/s**2\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "costheta=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "m=m_A+m_B #kg\n",
+ "a=(F-m*g*sintheta)/(m) #m/s**2\n",
+ "#Summing forces parallel and perpendicular to the plane\n",
+ "#Simplfying equation (1) and (2)\n",
+ "Nb=m_B*g+(m_B*a*sintheta) #N\n",
+ "#Substituting this in eq(1)\n",
+ "u=-(m_B*g*costheta-(Nb*costheta))/(Nb*sintheta)\n",
+ "\n",
+ "#Result\n",
+ "print'The value of u is',round(u,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of u is 0.31\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-13, Page No 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "P=70 #N\n",
+ "m_A=16 #kg\n",
+ "u_AH=0.25 #coefficient of friction between Block A and Horizontal Plane\n",
+ "m_B=4 #kg\n",
+ "u_BH=0.5 #coefficient of friction between Block B and Horizontal Plane\n",
+ "# as theta=10 degrees,\n",
+ "sintheta=0.17\n",
+ "costheta=0.98\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying sum of forces to both the FBD's\n",
+ "#Solving by matrix method \n",
+ "A=np.array([[-costheta,-u_AH,-m_A,0],[-sintheta,1,0,0],[costheta,0,-m_B,-u_BH],[sintheta,0,0,1]]) \n",
+ "B=np.array([[-P],[m_A*g],[0],[m_B*g]])\n",
+ "C=np.linalg.solve(A,B) \n",
+ "\n",
+ "#Result\n",
+ "print'The Value of T is',round(C[0],1),\"N\"\n",
+ "\n",
+ "# The ans waries due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Value of T is 20.7 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-14, Page No 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=10 degrees\n",
+ "sintheta=0.1736\n",
+ "costheta=0.9848\n",
+ "v=10 #ft/s\n",
+ "v0=0 #ft/s\n",
+ "u=3**-1 #coefficient of friction\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Equations of motion for box are\n",
+ "#Simplfying the equations by sybstitution\n",
+ "a=((u*costheta)-(sintheta))*g #ft/s**2\n",
+ "#Time calculations\n",
+ "t=(v-v0)/a #s\n",
+ "\n",
+ "#Result\n",
+ "print'The value of a is',round(a,2),\"ft/s**2\",'and the time required is',round(t),\"seconds\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of a is 4.98 ft/s**2 and the time required is 2.0 seconds\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-15, Page No 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Simplfying the equations we can solve for T2 and aA first to obtain the solution\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[-1.5,-4],[-3.5,24]])\n",
+ "B=np.array([[-4*g],[-24*g]])\n",
+ "C=np.linalg.solve(A,B) \n",
+ "T2=C[0] #N\n",
+ "T1=T2/2 #N\n",
+ "T3=T2/2 #N\n",
+ "#Acceleration calculations\n",
+ "a1=1*g-T1 #m/s**2\n",
+ "a2=(2*g-T1)/2 #m/s**2\n",
+ "a3=(3*g-T3)/3 #m/s**2\n",
+ "a4=(4*g-T3)/4 #m/s**2\n",
+ "#Tension in fixed cord\n",
+ "T_f=2*T2 #N\n",
+ "\n",
+ "#Result\n",
+ "print'The acceleration values are: a1=',round(a1),\"m/s**2 (up)\",',',round(a2,1),\"m/s**2 (down)\",',',round(a3,2),\"m/s**2 (down)\",',',round(a4,1),\"m/s**2 (down) respectively.\"\n",
+ "print'The tension in the fixed cord is',round(T_f,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The acceleration values are: a1= -9.0 m/s**2 (up) , 0.4 m/s**2 (down) , 3.53 m/s**2 (down) , 5.1 m/s**2 (down) respectively.\n",
+ "The tension in the fixed cord is 75.3 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-16, Page No 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=14 #kg\n",
+ "m2=7 #kg\n",
+ "# as theta=45 degrees,\n",
+ "sintheta=sqrt(2)**-1\n",
+ "costheta=sqrt(2)**-1\n",
+ "u_1=4**-1 #coefficient of friction between mass 1 and plane\n",
+ "u_2=3*8**-1 #coefficient of friction between mass 2 and plane\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#The equations of motion for m1 are\n",
+ "N1=m1*g*costheta #N\n",
+ "F1=u_1*N1 #N\n",
+ "#The equations of motion for m2 are\n",
+ "N2=m2*g*costheta #N\n",
+ "F2=u_2*N2 #N\n",
+ "#Now to get T and a we solve using matrix method\n",
+ "A=np.array([[-1,-m1],[1,-m2]])\n",
+ "B=np.array([[-(m1*g*sintheta-F1)],[-(m2*g*sintheta-F2)]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The Value of T is',round(C[0]),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Value of T is 4.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-19, Page No 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=12 #oz\n",
+ "k=2 #oz/in\n",
+ "M=0.34 #kg\n",
+ "K=22 #N/m\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Part(a)\n",
+ "a=(k*W*g)/16\n",
+ "b=W*16**-1\n",
+ "f=((2*pi)**-1)*((a/b)**0.5) #Hz for simplicity the numerator and denominator have been computed seperately as a and b\n",
+ "#Part(b)\n",
+ "F=((2*pi)**-1)*((K/M)**0.5) #Hz\n",
+ "\n",
+ "#Result\n",
+ "print'The frequency in part (a) is',round(f,2),\"Hz\",'and in part(b) is',round(F,2),\"Hz\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency in part (a) is 1.28 Hz and in part(b) is 1.28 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-20, Page No 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#As the entire question is theoritical\n",
+ "#theta is directly computed \n",
+ "theta=arccos(2*3**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#result\n",
+ "print'The value of theta is',round(theta,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of theta is 48.2 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-28, Page No 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "G=6.658*(10**-8)**-1 #cm**3/g.s**2\n",
+ "#Calculations\n",
+ "G1=G*((3.281*10**2)/((2.205*32.2**-1)*10**4)) #ft**3/slug-s**2\n",
+ "G2=G1 #ft**4/lb-s**4\n",
+ "\n",
+ "#Result\n",
+ "print'The ans is',round(G2,2),\"ft**4/lb-s**4\"\n",
+ "\n",
+ "# The ans waries slightly due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ans is 319004859.68 ft**4/lb-s**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-29, Page No 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#Modifying the value of C without vo**2 in it\n",
+ "C=5000*5280\n",
+ "G=3.43*10**-8 #Gravatational Constant\n",
+ "M=4.09*10**23 #Mass of the Earth\n",
+ "a=5.31*10**8\n",
+ "#When the orbit is circular e=0\n",
+ "vo1=(a)**0.5 #ft/s\n",
+ "#When the orbit is parabolic e=1\n",
+ "vo2=((C*a+G*M)/C)**0.5 #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The value of vo1=',round(vo1),\"ft/s\",'is smaller than vo2=',round(vo2),\"ft/s, hence the Satellite will enter a hyperbolic path and never return to earth.\"\n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of vo1= 23043.0 ft/s is smaller than vo2= 32594.0 ft/s, hence the Satellite will enter a hyperbolic path and never return to earth.\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-30, Page No 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=3940+500 #mi\n",
+ "phi=0 #degrees\n",
+ "vo=36000 #ft/s\n",
+ "C=4440*5280*vo\n",
+ "G=3.43*10**-8\n",
+ "M=4.09*10**23 #kg\n",
+ "\n",
+ "#Calculations\n",
+ "e=((C*vo)/(G*M))-1\n",
+ "\n",
+ "#Result\n",
+ "print'The value of e=',round(e,2),\",hence the path is Hyperbolic\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of e= 1.17 ,hence the path is Hyperbolic\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13-31, Page No 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "a=92.9*10**6 #mi\n",
+ "G=3.43*10**-8\n",
+ "T=365*24*3600 #s\n",
+ "c=5280\n",
+ "\n",
+ "#Calculations\n",
+ "M=(4*pi**2*a**3*c**3)/(G*T**2) #slugs\n",
+ "\n",
+ "#Result\n",
+ "print'The mass of the sun is',round(M,1),\"slugs\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass of the sun is 1.36584467048e+29 slugs\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter14.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter14.ipynb
new file mode 100755
index 00000000..ebd46e45
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter14.ipynb
@@ -0,0 +1,772 @@
+{
+ "metadata": {
+ "name": "chapter 14.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 14: KINEMATICS OF A RIGID BODY IN PLANE MOTION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-2, Page no 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=500 #mm\n",
+ "wo=0 #rpm\n",
+ "w=300 #rpm\n",
+ "t=20 #s\n",
+ "t1=2 #s\n",
+ "\n",
+ "#Calculations\n",
+ "alpha=(2*pi*(60**-1)*(w-wo))/t #rad/s**2\n",
+ "w1=wo+alpha*t1 #rad/s\n",
+ "v=(d*(2*1000)**-1)*w1 #m/s\n",
+ "a_n=(d*(2*1000)**-1)*w1**2 #m/s**2\n",
+ "a_t=(d*(2*1000)**-1)*alpha #m/s**2\n",
+ "a=(a_n**2+a_t**2)**0.5 #m/s**2\n",
+ "theta=arccos(a_n/a)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The computed values are:'\n",
+ "print'alpha=',round(alpha,2),\"rad/s**2\"\n",
+ "print'w1=',round(w1,2),\"rad/s\"\n",
+ "print'v=',round(v,3),\"m/s\"\n",
+ "print'a=',round(a,2),\"m/s**2\"\n",
+ "print'theta=',round(theta,1),\"degrees\"\n",
+ "\n",
+ "# The answers may wary in decimal points."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The computed values are:\n",
+ "alpha= 1.57 rad/s**2\n",
+ "w1= 3.14 rad/s\n",
+ "v= 0.785 m/s\n",
+ "a= 2.5 m/s**2\n",
+ "theta= 9.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-3, Page no 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "s_BC=2 #m\n",
+ "s_C=2.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "s_B=(s_BC**2+s_C**2)**0.5 #m\n",
+ "theta=arctan(s_BC*s_C**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The absolute displacement is',round(s_B,1),\"m\",'and the angle made by the vector is',round(theta,1),\"degrees.\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The absolute displacement is 3.2 m and the angle made by the vector is 38.7 degrees.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-4, Page no 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "V_A=20 #mi/h\n",
+ "V_B=70 #mi/h\n",
+ "# as theta1=60 degrees,\n",
+ "sintheta1=sqrt(3)*2**-1\n",
+ "costheta1=2**-1\n",
+ "# also phi=45 degrees, thus\n",
+ "sinphi=sqrt(2)**-1\n",
+ "cosphi=sqrt(2)**-1\n",
+ "\n",
+ "#Result\n",
+ "#Vector's in matrix form\n",
+ "v_A=np.array([-V_A*cosphi,V_A*sinphi]) #mi/h\n",
+ "v_B=np.array([V_B*costheta1,V_B*sintheta1]) #mi/h\n",
+ "a=v_A[0]+v_B[0] #mi/h\n",
+ "b=v_A[1]+v_B[1] #mi/h\n",
+ "v_ab=(a**2+b**2)**0.5 #mi/h\n",
+ "theta=arctan(b/a)*(180/pi) #degrees\n",
+ "#The relative velocity v_ba is just different in sign while the magnitude stays the same\n",
+ "\n",
+ "#Resul\n",
+ "print'The relative velocity is',round(v_ab,1),\"mi/h\",'making an angle',round(theta,1),\"degrees\"\n",
+ "\n",
+ "# The ans may wary due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The relative velocity is 77.6 mi/h making an angle 74.4 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-9, Page no 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=2.5 #m\n",
+ "v_A=4 #m/s\n",
+ "a_A=5 #m/s**2\n",
+ "theta=30 #degrees\n",
+ "\n",
+ "#Calculations\n",
+ "#Vector triangle yields v_a.b=2.93 m/s\n",
+ "v_ab=2.93 #m/s\n",
+ "w=v_ab*l**-1 #rad/s (clockwise)\n",
+ "#Ploygon yields alpha_a/b=2.75 m/s**2\n",
+ "alpha_ab=2.75 #m/s**2\n",
+ "alpha=alpha_ab*l**-1 #rad/s**2 (counterclockwise)\n",
+ "\n",
+ "#Result\n",
+ "print'The value of angular velocity is',round(w,2),\"rad/s\"\n",
+ "print'The value of angular acceleration is',round(alpha,1),\"rad/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of angular velocity is 1.17 rad/s\n",
+ "The value of angular acceleration is 1.1 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-10, Page no 272"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=(2*pi*120)/60 #rad/s\n",
+ "l=24 #in\n",
+ "l_c=4 #in\n",
+ "# as th=30 degrees,\n",
+ "sinth=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "v=(l_c*12**-1)*w #ft/s\n",
+ "betaa=arcsin((l_c*sinth)/l)*(180/pi) #degrees\n",
+ "# betaa yeilds 4.8 degrees, thus value of cosbetaa is,\n",
+ "cosbetaa=0.996\n",
+ "theta=60-betaa #degrees\n",
+ "# here theta yeilds 55.2 degrees, thus value of costheta is,\n",
+ "costheta=0.57\n",
+ "#Component of velocity along connecting rod is \n",
+ "v1=v*costheta #ft/s\n",
+ "v_p=v1/cosbetaa #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The absoulte velocity is',round(v_p,2),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The absoulte velocity is 2.4 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-13, Page no 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v_pc=3.68 #ft/s\n",
+ "l=2 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "w=v_pc/l #rad/s counterclockwise\n",
+ "\n",
+ "#Result\n",
+ "print'The angular velocity is',round(w,2),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocity is 1.84 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-14, Page no 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#This problem is a combination of numerical and graphical solution\n",
+ "#The program only deals with the numerical solution parts the rest can be verified by graphical solution\n",
+ "#Initilization of variables\n",
+ "r=4*12**-1 #ft\n",
+ "w=4*pi #rad/s\n",
+ "l=2 #ft\n",
+ "w2=1.84 #rad/s\n",
+ "\n",
+ "#Calculations\n",
+ "ac_n=r*w**2 #ft/s**2\n",
+ "a_pc_n=l*w2**2 #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of ac_n is',round(ac_n,1),\"ft/s**2\"\n",
+ "print'The value of a_pc_n is',round(a_pc_n,2),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of ac_n is 52.6 ft/s**2\n",
+ "The value of a_pc_n is 6.77 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-15, Page no 275"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w_bc=10 #rad/s\n",
+ "AB=250 #mm\n",
+ "BC=150 #mm\n",
+ "AC=179 #mm\n",
+ "AD=200 #mm\n",
+ "# as theta1=45 degrees,\n",
+ "sintheta1=(2**0.5)**-1\n",
+ "costheta1=(2**0.5)**-1\n",
+ "\n",
+ "#Calculations\n",
+ "v_c=(BC*1000**-1)*w_bc #m/s\n",
+ "AC=((AB**2+BC**2)-(2*AB*BC*costheta1))**0.5 #m\n",
+ "betaa=arcsin((BC*sintheta1)/AC)*(180/pi) #degrees\n",
+ "gammaa=arcsin((AB*sintheta1)/AC)*(180/pi)#degrees answer in the textbook is incorrect\n",
+ "ang=60-betaa #degrees\n",
+ "# ang yeilds 23.7 degrees, thus\n",
+ "sinang=0.40056\n",
+ "cosang=0.916\n",
+ "CD=sqrt(AD**2+AC**2-(2*AD*AC*cosang)) #mm\n",
+ "D=arcsin((AC*sinang)/CD)*(180/pi) #degrees\n",
+ "# D yeilds 63.2 degrees,thus\n",
+ "sinD=0.8925\n",
+ "theta=arcsin((AD*sinD)/AC)*(180/pi) #degrees\n",
+ "n=360-(theta+gammaa+90) #degrees\n",
+ "# n yeilds 101.8 degrees, thus \n",
+ "cosn=-0.2045\n",
+ "v_cd=v_c*cosn #m/s\n",
+ "delta=180-(90+D) #degrees\n",
+ "# Delts yeilds 26.8 degrees, thus\n",
+ "cosdelta=0.8925\n",
+ "v_D=v_cd/cosdelta #m/s\n",
+ "w_AD=v_D/(AD*1000**-1) #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular Velocity of AD is',round(w_AD,2),\"rad/s clockwise.\" #Negative sign indicates clockwise orientation \n",
+ "#Answer in the textbook is incorrect\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular Velocity of AD is -1.72 rad/s clockwise.\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-18, Page No 277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta1=73.9 degrees,theta2=60 degrees and theta3=46.1 degrees\n",
+ "sintheta1=0.96\n",
+ "sintheta2=sqrt(3)*2**-1\n",
+ "sintheta3=0.72\n",
+ "V=900 #mm/s\n",
+ "\n",
+ "#Calculations\n",
+ "BC=((350*350)+(86.6*86.6))**0.5 #mm\n",
+ "CD=400 #mm\n",
+ "v_cb=(V*sintheta2)/(sintheta1) #mm/s\n",
+ "v_c=((V*sintheta3))/(sintheta1) #mm/s\n",
+ "w_dc=v_c/CD #rad/s\n",
+ "w_bc=v_cb/BC #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular velocities are: w_dc=',round(w_dc,2),\"rad/s\",'and w_bc=',round(w_bc,2),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocities are: w_dc= 1.69 rad/s and w_bc= 2.25 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-19, Page No 278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Calculations\n",
+ "#After equating the i and j terms we obtain simplified equations\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[346,86.7],[200,-350]])\n",
+ "B=np.array([[-3700],[-1790]]) \n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The angular accelerations are alpha_DC=',round(C[0],3),\"rad/s**2\",'and alpha_BC=',round(C[1],2),\"rad/s**2\" \n",
+ "#The signs only indicate that the originally assumed orientations are incorrect and are opposite to those assumed\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular accelerations are alpha_DC= -10.475 rad/s**2 and alpha_BC= -0.87 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-20, Page No 279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=3 #m\n",
+ "w=8 #rad/s (clockwise)\n",
+ "alpha=4 #rad/s**2 (counterclockwise)\n",
+ "r=d*2**-1 #m\n",
+ "\n",
+ "#Calculations\n",
+ "vo=r*w #m/s\n",
+ "ao=r*alpha #m/s**2\n",
+ "#Here OB is r\n",
+ "OB=r #m\n",
+ "v_bo=OB*w #m/s\n",
+ "v_B=v_bo+vo #m/s\n",
+ "#Also\n",
+ "a_bo=r*alpha #m/s**2 (directed left)\n",
+ "a_bo_n=r*w**2 #m/s**2\n",
+ "a_h=ao+a_bo #m/s**2\n",
+ "a_v=a_bo_n #m/s**2\n",
+ "a_B=((a_h**2)+(a_v**2))**0.5 #m/s**2\n",
+ "phi=arctan(a_h/a_v)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The linear velocity at B is',round(v_B),\"m/s\",'and the acceleration is',round(a_B,1),\"m/s**2\",'making an angle of',round(phi,2),\"degrees with horizontal\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The linear velocity at B is 24.0 m/s and the acceleration is 96.7 m/s**2 making an angle of 7.13 degrees with horizontal\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-21, Page No 281"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "OA=0.6 #m\n",
+ "w=8 #rad/s\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "costheta=(3**0.5)*2**-1\n",
+ "v_O=12 #m/s\n",
+ "alpha=4 #rad/s**2\n",
+ "a_O=6 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Velocity Calculations\n",
+ "v_AO=OA*w #m/s\n",
+ "v_Ah=v_AO*sintheta+v_O #m/s horizontal component\n",
+ "v_Av=v_AO*costheta #m/s\n",
+ "v_A=((v_Ah**2)+(v_Av**2))**0.5 #m/s\n",
+ "phi=arctan(v_Av/v_Ah)*(180/pi) #degrees\n",
+ "#Acceleration Calculations\n",
+ "a_AOt=OA*alpha #m/s**2\n",
+ "a_AOn=OA*w**2 #m/s**2\n",
+ "a_Ah=-a_O-a_AOn*costheta-a_AOt*sintheta #m/s**2\n",
+ "a_Av=-a_AOn*sintheta+a_AOt*costheta #m/s**2\n",
+ "a_A=((a_Ah**2)+(a_Av**2))**0.5 #m/s**2\n",
+ "phi2=arctan(a_Av*a_Ah**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity is',round(v_A),\"m/s\",'making an angle of',round(phi,1),\"degrees with horizontal.\"\n",
+ "print'The acceleration is',round(a_A),\"m/s**2\",'making an angle of',round(phi2,1),\"degrees with horizontal\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity is 15.0 m/s making an angle of 16.1 degrees with horizontal.\n",
+ "The acceleration is 44.0 m/s**2 making an angle of 22.9 degrees with horizontal\n"
+ ]
+ }
+ ],
+ "prompt_number": 100
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-22, Page No 282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "AL=5 #ft\n",
+ "d=10 #ft displacement\n",
+ "\n",
+ "#Calculations\n",
+ "theta=d/AL #radians\n",
+ "s_o=3*theta#ft\n",
+ "\n",
+ "#Result\n",
+ "print'The displacement So is',round(s_o),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement So is 6.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 101
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-23, Page No 283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#Speed and acceleration at the center\n",
+ "v=12 #in/s\n",
+ "a=18 #in/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "v_D=((a+v*0.5)*a**-1)*v #in/s\n",
+ "#Speed at point F\n",
+ "v_F=((v/2)*v**-1)*v_D #in/s\n",
+ "#Acceleration at D\n",
+ "a_D=(24/a)*a #in/s**2\n",
+ "#Acceleration at F\n",
+ "a_F=((v/2)*v**-1)*24 #in/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity and acceleration of weight A are',round(v_F),\"in/s\",'and',round(a_F),\"in/s**2 respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity and acceleration of weight A are 8.0 in/s and 12.0 in/s**2 respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 103
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-24, Page No 283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Calculations\n",
+ "#Speed and acceleration of D\n",
+ "sD=((18-6)*18**-1)*12 #in/s\n",
+ "aD=(12*18**-1)*18 #in/s**2\n",
+ "#Speed and acceleration of F\n",
+ "sF=(6*12**-1)*8 #in/s\n",
+ "aF=(6*12**-1)*12 #in/s^2\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity and acceleration of weight A are',round(sF),\"in/s\",'and',round(aF),\"in/s**2 respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity and acceleration of weight A are 4.0 in/s and 6.0 in/s**2 respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14-26, Page No 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v_BG=300 #mm/s\n",
+ "v_G=300 #mm/s\n",
+ "a_BGt=500 #mm/s**2\n",
+ "a_BGn=3600#mm/s**2\n",
+ "a_Gh=500 #mm/s**2\n",
+ "a_Bv=1800 #mm/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "w=((75-25)/25)*6 #rad/s\n",
+ "alpha=((75-25)/25)*10 #rad/s**2\n",
+ "v_B=(v_BG**2+v_G**2)**0.5 #mm/s\n",
+ "a_v=a_Bv-a_BGt #mm/s**2\n",
+ "a_h=a_BGn-a_Gh #mm/s**2\n",
+ "a_B=(a_v**2+a_h**2)**0.5 #mm/s**2\n",
+ "\n",
+ "#Result \n",
+ "print'The velocity and acceleration of point B are',round(v_B),\"mm/s\",'and',round(a_B),\"mm/s**2 respectively.\"\n",
+ "\n",
+ "# The ans for a_B is incorrectin textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity and acceleration of point B are 424.0 mm/s and 3362.0 mm/s**2 respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 106
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter15.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter15.ipynb
new file mode 100755
index 00000000..bb125f73
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter15.ipynb
@@ -0,0 +1,510 @@
+{
+ "metadata": {
+ "name": "chapter 15.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 15: MOMENTS OF INERTIA"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-11, Page no 305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "y1=1 #in\n",
+ "y2=4 #in\n",
+ "d1=2.2-1 #in\n",
+ "d2=4-2.2 #in\n",
+ "A1=12 #in**2\n",
+ "A2=8 #in**2\n",
+ "b1=6 #in\n",
+ "b2=2 #in\n",
+ "h1=2 #in\n",
+ "h2=4 #in\n",
+ "\n",
+ "#Calculations\n",
+ "y_bar=(A1*y1+A2*y2)/(A1+A2) #in\n",
+ "I1=(12**-1)*(b1)*(h1**3) #in**4\n",
+ "I2=(12**-1)*(b2)*(h2**3) #in**4\n",
+ "#Using Parallel Axes Theorem\n",
+ "I=(I1+(A1*d1**2))+(I2+(A2*d2**2)) #in**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia is',round(I,1),\"in**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is 57.9 in**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-12, Page no 306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=60 #mm diameter of the hole\n",
+ "#Areas\n",
+ "At=100*100 #mm**2\n",
+ "Ab=200*100 #mm**2\n",
+ "Ac=((pi/4)*d**2) #mm**2\n",
+ "bt=100 #mm\n",
+ "ht=100 #mm\n",
+ "bb=200 #mm\n",
+ "hb=100 #mm\n",
+ "#Distance of centroids of each area\n",
+ "yt=150 #mm\n",
+ "yb=50 #mm\n",
+ "yc=150 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "y_bar=((At*yt)+(Ab*yb)-(Ac*yc))/(At+Ab-Ac) #mm\n",
+ "#Distances\n",
+ "dt=yt-y_bar #mm\n",
+ "db=y_bar-yb #mm\n",
+ "dc=yc-y_bar #mm\n",
+ "#Values of Inertia\n",
+ "It=(12**-1)*(bt)*(ht**3) #mm**4\n",
+ "Ib=(12**-1)*(bb)*(hb**3) #mm**4\n",
+ "Ic=(4**-1)*(pi)*((d/2)**4) #mm**4\n",
+ "#Moment of inertia\n",
+ "I=((It+At*dt**2)+(Ib+Ab*db**2)-(Ic+Ac*dc**2)) #mm**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia is',round(I,1),\"mm**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is 77156533.6 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-14, Page no 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "b1=2 #in\n",
+ "b2=4 #in\n",
+ "h1=8 #in\n",
+ "h2=2 #in\n",
+ "bo=8 #in\n",
+ "ho=8 #in\n",
+ "bi=4 #in\n",
+ "hi=4 #in\n",
+ "\n",
+ "#Calculations\n",
+ "I1=(12**-1)*(b1)*(h1**3) #in**4\n",
+ "I2=(12**-1)*(b2)*(h2**3) #in**4\n",
+ "I=2*(I1+I2) #in**4\n",
+ "Io=(12**-1)*(bo)*(ho**3) #in**4\n",
+ "Ii=(12**-1)*(bi)*(hi**3) #in**4\n",
+ "I_bar=Io-Ii #in**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia is',round(I_bar),\"in**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is 320.0 in**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-15, Page no 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "b1=75 #mm\n",
+ "b2=12 #mm\n",
+ "h1=12 #mm\n",
+ "h2=162 #mm\n",
+ "d1=75 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "A=(h2*b2)+(2*b1*h1) #mm**2\n",
+ "I1=(12**-1)*(b1)*(h1**3)+(b1*h1*d1**2) #mm**4\n",
+ "I2=(12**-1)*(b2)*(h2**3) #mm**4\n",
+ "I_bar=2*I1+I2 #mm**4\n",
+ "k=sqrt(I_bar/A) #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The axial moment of inertia is',round(I_bar,1),\"mm**4\"\n",
+ "print'The radius of gyration is',round(k,1),\"mm\"\n",
+ "\n",
+ "# Here value of k is off by 0.1 mm"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The axial moment of inertia is 14398128.0 mm**4\n",
+ "The radius of gyration is 62.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-20, Page no 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=50 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "Ixy=(8**-1)*(50**4) #mm**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia is',round(Ixy,2),\"mm**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is 781250.0 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-24, Page no 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#The notation has been changed for ease\n",
+ "\n",
+ "#Calculations\n",
+ "x=(5*1*3.5+8*1*0.5)/(5*1+8*1) #in\n",
+ "y=(5*1*0.5+8*1*4)/13 #in\n",
+ "#Moment of inertia \n",
+ "Ix=(12**-1)*(5)*(1**3)+(5*2.15*2.15)+(12**-1)*(1*8**3)+(8*1.35**2) #in**4\n",
+ "Iy=(12**-1)*(1)*(5**3)+(5*1.85*1.85)+(12**-1)*(8)*(1**3)+(8*1.15**2) #in**4\n",
+ "Ixy=(8*1*(-1.15)*1.35)+(5*1*1.85*(-2.15)) #in**4\n",
+ "#Mohr circle calculations\n",
+ "d=0.5*(Ix+Iy) #distance to center of the cirlce \n",
+ "r=sqrt((21**2)+(32.3**2)) \n",
+ "maxI=d+r #in**4\n",
+ "theta=arctan(32.3/21)*(180/pi) #degrees maxI occurs at this angle\n",
+ "minI=d-r #in**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertias are as follows:'\n",
+ "print'Ix=',round(Ix,1),\"in**4\"\n",
+ "print'Iy=',round(Iy,1),\"in**4\"\n",
+ "print'Ixy=',round(Ixy,1),\"in**4\"\n",
+ "print'maxI=',round(maxI,1),\"in**4\"\n",
+ "print'minI=',round(minI,1),\"in**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertias are as follows:\n",
+ "Ix= 80.8 in**4\n",
+ "Iy= 38.8 in**4\n",
+ "Ixy= -32.3 in**4\n",
+ "maxI= 98.3 in**4\n",
+ "minI= 21.2 in**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-25, Page no 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Notations have been changed\n",
+ "\n",
+ "#Calculations\n",
+ "x=-(25*125*0.5*125+25*100*0.5*25)/(25*125+25*100) #mm\n",
+ "y=(25*125*0.5*25+25*100*75)/5625 #mm \n",
+ "Iy=(12**-1)*25*125**3+25*125*(62.5-40.3)**2+(12**-1)*100*25**3+100*25*(40.3-12.5)**2 #mm**4\n",
+ "Ix=Iy #mm**4 for L-section\n",
+ "#The second computation checks the first\n",
+ "Ixy=(125*25*22.2*27.8)+(100*25*(-27.8)*(-34.7)) #mm**4\n",
+ "#Mohr Circle analysis\n",
+ "Imax=Ix+Ixy #mm**4\n",
+ "Imin=Ix-Ixy #mm**4\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertias are as follows:'\n",
+ "print'Ix=',round(Ix,2),\"mm**4\"\n",
+ "print'Iy=',round(Iy,2),\"mm**4\"\n",
+ "print'Ixy=',round(Ixy,2),\"mm**4\"\n",
+ "print'Imax=',round(Imax),\"mm**4\"\n",
+ "print'Imin=',round(Imin,2),\"mm**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertias are as follows:\n",
+ "Ix= 7671443.75 mm**4\n",
+ "Iy= 7671443.75 mm**4\n",
+ "Ixy= 4340275.0 mm**4\n",
+ "Imax= 12011719.0 mm**4\n",
+ "Imin= 3331168.75 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-30, Page no 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "rho=490 #lb/ft**3\n",
+ "t=0.02 #in\n",
+ "d=4 #in\n",
+ "r=d/2 #in\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "W=(pi*r**2*t*rho)*1728**-1 #lb\n",
+ "#Mass\n",
+ "m=W*g**-1 #slugs\n",
+ "#Momemt of inertia\n",
+ "I=(4**-1)*m*(r*12**-1)**2 #slug-ft**2\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia is',round(I,6),\"slug-ft**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is 1.5e-05 slug-ft**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-36, Page no 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#The integration involves variables hence the direct formula is being used in this coding\n",
+ "m=500 #kg\n",
+ "R=0.25 #m\n",
+ "h=0.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "Ix=(3*10**-1)*m*R**2 #kg.m**2\n",
+ "Iy=(3*5**-1)*m*((4**-1)*R**2+h**2) #kg.m**2\n",
+ "\n",
+ "#Result\n",
+ "print'Hence proved that Ix=',round(Ix,2),\"kg.m**2\" \n",
+ "print'and Iy=',round(Iy,1),\"kg.m**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hence proved that Ix= 9.38 kg.m**2\n",
+ "and Iy= 79.7 kg.m**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15-37, Page no 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "delta=450 #lb/ft**3\n",
+ "h1=9*12**-1 #ft\n",
+ "h2=10*12**-1 #ft\n",
+ "ro1=4*12**-1 #ft\n",
+ "ri1=2*12**-1 #ft\n",
+ "ro2=18*12**-1 #ft\n",
+ "ri2=16*12**-1 #ft\n",
+ "a=2.5*24**-1 #ft\n",
+ "b=3.5*24**-1 #ft\n",
+ "l=1 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Whub=(pi*ro1**2-pi*ri1**2)*h1*delta #lb\n",
+ "Wrim=(pi*ro2**2-pi*ri2**2)*h2*delta #lb\n",
+ "#For one spoke\n",
+ "Wspoke=(pi*a*b*l*delta) #lb\n",
+ "#Moment of inertia calculations\n",
+ "Ihub=0.5*(Whub*g**-1)*(ro1**2+ri1**2) #lb-s**2-ft\n",
+ "Irim=0.5*(Wrim*g**-1)*(ro2**2+ri2**2) #lb-s**2-ft\n",
+ "Ispoke=6*((12**-1)*(Wspoke*g**-1)*l**2+(Wspoke*g**-1)*h2**2) #lb-s**2-ft\n",
+ "Iwheel=Ihub+Irim+Ispoke #lb-s**2-ft\n",
+ "\n",
+ "#Result\n",
+ "print'The moment of inertia of the wheel is',round(Iwheel,1),\"lb-s**s-ft\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia of the wheel is 38.1 lb-s**s-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter16.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter16.ipynb
new file mode 100755
index 00000000..e7682d6d
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter16.ipynb
@@ -0,0 +1,1911 @@
+{
+ "metadata": {
+ "name": "chapter 16.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 16: DYNAMICS OF A RIGID BODY IN PLANE MOTION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-2, Page No 335"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Intilization of variables\n",
+ "W=600 #lb\n",
+ "d=30 #in\n",
+ "# as theta=25 degrees,\n",
+ "sintheta=0.422\n",
+ "costheta=0.906\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "m=W/g #lb-s**2/ft\n",
+ "#Moment of inertia\n",
+ "I=0.5*m*((d/2)/12)**2 #lb-s**2-ft\n",
+ "#Applying Newtons law and coservation of angular momentum and rolling\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,m,0,0],[0,0,0,1],[((d/2)/12),0,-I,0],[0,1,-((d/2)/12),0]])\n",
+ "B=np.array([[W*sintheta],[W*costheta],[0],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The Frictional Force is',round(C[0],1),\"lb\",'and the acceleration is',round(C[1],2),\"ft/s**2\"\n",
+ "\n",
+ "# The answers wary due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Frictional Force is 84.4 lb and the acceleration is 9.06 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-3, Page No 336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=18 #kg\n",
+ "d=0.6 #m\n",
+ "vo=3 #m/s\n",
+ "# as theta=20 degrees,\n",
+ "sintheta=0.342\n",
+ "costheta=0.939\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Moment of Inertia\n",
+ "I=0.5*m*(d/2)**2 \n",
+ "#Applying Newtons second Law a\n",
+ "A=np.array([[1,m,0,0],[0,0,1,0],[d/2,0,0,-I],[0,1,0,(-d/2)]])\n",
+ "B=np.array([[g*m*sintheta],[g*m*costheta],[0],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Storing the answers in variables\n",
+ "F=C[0] #N\n",
+ "ax=C[1] #m/s**2\n",
+ "Na=C[2] #N\n",
+ "alpha=C[3] #rad/s**2\n",
+ "#Time Calculations\n",
+ "v=0 #m/s**2\n",
+ "t=(vo)/ax #s\n",
+ "\n",
+ "#Result\n",
+ "print'It takes',round(t,2),\"s to reach the highest point of travel\"\n",
+ "\n",
+ "# The ans is off by 0.01 sec."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "It takes 1.34 s to reach the highest point of travel\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-5, Page No 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=20 #kg\n",
+ "F1=40 #N\n",
+ "ro=0.6 #m\n",
+ "ri=0.45 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Moment of inertia\n",
+ "I=(2*5**-1)*m*ro**2 #kg-m**2\n",
+ "#Applying Newtons Law and conservation of angular Momentum\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,m],[ro,-I/ro]])\n",
+ "B=np.array([[F1],[F1*ri]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Storing answers in variables\n",
+ "F=C[0] #N\n",
+ "a=C[1] #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The acceleration is',round(a,2),\"m/s**2\"\n",
+ "print'The force is',round(F,2),\"N\"\n",
+ "#The solution in the textbook is incorrect\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The acceleration is 0.36 m/s**2\n",
+ "The force is 32.86 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-6, Page No 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=16.1 #lb\n",
+ "u=0.10 #co-efficient of friction\n",
+ "g=32.2 #ft/s**2\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "F=1.39 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Newtons Second Law\n",
+ "#Using F=1.39 lb\n",
+ "a=((W*sintheta)-F)/(W*g**-1) #ft/s**2\n",
+ "alpha=(F*0.5*5/2)/((W*g**-1)*(0.5**2)) #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of a is',round(a,1),\"ft/s**2\",'and alpha is ',round(alpha,1),\"rad/s**2.\"\n",
+ "print'Hence the sphere will both,roll and slip'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of a is 13.3 ft/s**2 and alpha is 13.9 rad/s**2.\n",
+ "Hence the sphere will both,roll and slip\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-8, Page No 339"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=30 degrees\n",
+ "sintheta=2**-1\n",
+ "W=80 #lb\n",
+ "Ww=100 #lb\n",
+ "I=4 #slug-ft**2\n",
+ "r=0.5 #ft\n",
+ "v= 20 #ft/s\n",
+ "vo=0 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Equations of motion\n",
+ "#Solving the system of linear equatinons by matrix method\n",
+ "A=np.array([[-1,0,-W/g],[1,-1,-Ww/g],[0,r,-2*I]])\n",
+ "B=np.array([[-W],[Ww*sintheta],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Storing values in variables\n",
+ "T=C[0] #lb\n",
+ "F=C[1] #lb\n",
+ "a=C[2] #ft/s**2\n",
+ "#Time calculations\n",
+ "t=(v-vo)/a #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(t,1),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 14.4 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-9, Page No 340"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "M=70 #kg\n",
+ "ko=0.4 #m\n",
+ "ri=0.45 #m\n",
+ "ro=0.6 #m\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "costheta=(3**0.5)*2**-1\n",
+ "m=35 #kg\n",
+ "g= 9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "I=M*ko**2 #kg-m**2\n",
+ "#Using Equations of motion\n",
+ "#Solving the equations by matrix method\n",
+ "A=np.array([[-1,-m*0.15,0],[1,-M*ro,-1],[-ri,-I,ro]])\n",
+ "B=np.array([[-m*g],[M*g*sintheta],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "F=C[2] #N\n",
+ "Na=M*g*costheta #N\n",
+ "#Required coefficient of friction\n",
+ "u=F/Na #coefficient of friction\n",
+ "\n",
+ "#Result\n",
+ "print'The value of alpha is',round(C[1],2),\"rad/s**2\",'and tension is',round(C[0]),\"N\"\n",
+ "print'F=',round(F),\"N,\",'Na=',round(Na),\"N\",'and u=',round(u,2),\"(coefficient of friction)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of alpha is -4.15 rad/s**2 and tension is 365.0 N\n",
+ "F= 196.0 N, Na= 594.0 N and u= 0.33 (coefficient of friction)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exampe 16.16-10, Page No 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=200 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "r=1.2 #m\n",
+ "F1=1000 #N\n",
+ "F2=1400 #N\n",
+ "\n",
+ "#Calculations\n",
+ "N=m*g #N\n",
+ "I=(2*5**-1)*(m)*r**2 #kg-m**2\n",
+ "#Using equations of motion\n",
+ "#Solving for F and alpha using matrix method\n",
+ "#Applying equations of motion\n",
+ "A=np.array([[1,-m],[-r,-I/r]])\n",
+ "B=np.array([[F1-F2],[F1*r]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Storing values\n",
+ "F=C[0] #N\n",
+ "alpha=C[1] #rad/s**2\n",
+ "a=r*alpha #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of a is',round(a,2),\"m/s**2\",'and F is',round(F),\"N\"\n",
+ "#The negative signs indicate that the direction is opposite to what was origninally assumed\n",
+ "# The answers wary due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of a is -2.57 m/s**2 and F is -829.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-11, Page No 341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wa=161 #lb\n",
+ "Wb=193.2 #lb\n",
+ "Wc=300 #lb\n",
+ "ka=3 #ft\n",
+ "kb=2.5 #ft\n",
+ "# as theta1=30 degrees & theta2=45 degrees,\n",
+ "sintheta1=2**-1\n",
+ "sintheta2=(2**0.5)**-1\n",
+ "costheta2=(2**0.5)**-1\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Moment of inertia Calculations\n",
+ "Ia=(Wa/g)*ka**2 #lb-s**2-ft\n",
+ "Ib=(Wb/g)*kb**2 #lb-s**2-ft\n",
+ "#Using equations of motion for A and B and C\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,1,-Wa/g,0,0],[1,-4,-Ia*(4**-1),0,0],[-2,0,-Ib*(5*8**-1),4,0],[0,0,-(Wc/g)*(5*2**-1),-1,-0.25],[0,0,0,0,1]])\n",
+ "B=np.array([[Wa*sintheta1],[0],[0],[-Wc*costheta2],[Wc*sintheta2]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Storing values in the variables\n",
+ "T1=C[0] #lb\n",
+ "T2=C[3] #lb\n",
+ "a=C[2] #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The values are:'\n",
+ "print'a=',round(a,2),\"ft/s**2 ,\",'T1=',round(T1),\"lb\",'and T2=',round(T2,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are:\n",
+ "a= 3.93 ft/s**2 , T1= 89.0 lb and T2= 67.5 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-12, Page No 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=644 #lb\n",
+ "F=30 #lb\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=(2)**-1\n",
+ "costheta=(3**0.5)*2**-1\n",
+ "r=1.5 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,-W/g],[-r,-(2**-1)*(W/g)*(2*2)*(r**-1)]])\n",
+ "B=np.array([[(W*sintheta)-(F*costheta)],[-F*2]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "a=C[1] #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of a is',round(a,2),\"ft/s**2\"\n",
+ "# The negative sign indicates that the cylinder will roll down the plane."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of a is -6.78 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-14, Page No 344"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=20 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "vb=0.5 #rad/s\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "#Solving the three equations simultaneously by matrix method\n",
+ "X=np.array([[0,1,-(W*g**-1)*5.2],[-1,0,-(W*g**-1)*3],[3,-3,-(12**-1)*(W*g**-1)*12**2]])\n",
+ "Y=np.array([[-0.75*(W*g**-1)],[(W*g**-1)*1.3-W],[0]])\n",
+ "C=np.linalg.solve(X,Y)\n",
+ "A=C[0] #lb\n",
+ "B=C[1] #lb\n",
+ "alpha=C[2] #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of alpha is',round(alpha,1),\"rad/s**2 countercockwise\",'and of A and B are',round(A,1),\"lb up and\",round(B,2),\"lb to the right\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of alpha is 2.6 rad/s**2 countercockwise and of A and B are 14.4 lb up and 7.91 lb to the right\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-16, Page No 345"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mc=7.25 #kg\n",
+ "d=0.9 #m\n",
+ "la=0.2 #m\n",
+ "ma=9 #kg\n",
+ "F=45 #N\n",
+ "ay=0 #m/s**2\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "I=2*(0.5*mc*(d*2**-1)**2)+0.5*ma*(la*2**-1)**2 #kg-m**2\n",
+ "#Using the equations of motion\n",
+ "Na=(2*mc+ma)*g #N\n",
+ "#Simplfying using radial velocity formula\n",
+ "#Solving the two equations using matrix method\n",
+ "A=np.array([[-1,-(2*mc+ma)],[(d*2**-1),-I/(d*2**-1)]])\n",
+ "B=np.array([[-F],[F*(la*2**-1)]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "F=C[0] #N\n",
+ "ax=C[1] #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The computation yields ax=',round(ax,2),\"m/s**2 to the right.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The computation yields ax= 1.13 m/s**2 to the right.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-18, Page No 347"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=0.05 #m cylinder radius\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Here the equation has been solved in terms of the veriables\n",
+ "#Hence we directly consider the final result\n",
+ "av=(2*g)/3 #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of av is',round(av,2),\"m/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of av is 6.53 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-21, Page No 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#initilization of variables\n",
+ "W=16.1 #lb\n",
+ "v=9 #ft/s\n",
+ "# as phi=30 degrees,\n",
+ "sinphi=(2)**-1\n",
+ "cosphi=(3**0.5)*2**-1\n",
+ "r=0.5 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "OG=4.5 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "an=v**2/OG #ft/s**2\n",
+ "#Solving for alpha we get\n",
+ "N=(W*g**-1)*an+W*cosphi #lb\n",
+ "#Using equations of motion\n",
+ "A=np.array([[1,-r],[-1,-r*r]])\n",
+ "B=np.array([[W*sinphi],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "F=C[0] #lb\n",
+ "at=C[1] #ft/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The value of N and F are',round(N,1),\"lb and\",round(F,2),\"lb respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of N and F are 22.9 lb and 2.68 lb respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-25, Page No 353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=50 #lb\n",
+ "P=10 #lb\n",
+ "t=5 #s\n",
+ "vo=0 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "ax=(P*g)/W #ft/s**2\n",
+ "#Solving by matrix method for A and B\n",
+ "F=np.array([[1,1],[-4,4]])\n",
+ "Q=np.array([[W],[P]])\n",
+ "R=np.linalg.solve(F,Q)\n",
+ "#Velocity calculations\n",
+ "v=vo+ax*t #ft/s\n",
+ "A=R[0] #lb\n",
+ "B=R[1] #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity of the door after 5s is',round(v,1),\"ft/s\",'and A=',round(A,1),\"lb\",'and B=',round(B,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the door after 5s is 32.2 ft/s and A= 23.8 lb and B= 26.3 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-26, Page No 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "AB=2 #m\n",
+ "m=2 #kg\n",
+ "F=20 #N\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equation of motion\n",
+ "a=F/m #m/s**2\n",
+ "#Solving by matrix method for Na and Nb\n",
+ "A=np.array([[1,-1],[4*5**-1,4*5**-1]])\n",
+ "B=np.array([[m*g],[F*(3*5**-1)]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The value of a is',round(a),\"m/s**2\",'and the reactions are: Na=',round(C[0],1),\"N up\",'and Nb=',round(C[1],1),\"N up\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of a is 10.0 m/s**2 and the reactions are: Na= 17.3 N up and Nb= -2.3 N up\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-27, Page No 354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "vo=0 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "s=(0.011*5280*2)/(2*0.004)\n",
+ "\n",
+ "#Result\n",
+ "print'It travels',round(s),\"ft along the level before coming to rest\"\n",
+ "#Answer in the textbook is incorrect by 20ft\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "It travels 14520.0 ft along the level before coming to rest\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-28, Page No 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "u=0.3 #coefficient of friction\n",
+ "m=70 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#CASE 1\n",
+ "#Using equations of motion\n",
+ "Na=m*g #N\n",
+ "ah=(u*Na)/m #m/s**2\n",
+ "#CASE 2\n",
+ "#Applying sum of moments equal to zero\n",
+ "F=(Na*0.3)/1.2 #N\n",
+ "a_h=F/m #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "#Intutive insights can be attained after we get these results\n",
+ "print'The value of Na is',round(Na),\"N\"\n",
+ "print'and that of acceleration are:'\n",
+ "print'1st value=',round(ah,2),\"m/s**2\",'and 2nd value is',round(a_h,2),\"m/s**2\"\n",
+ "print'and the value of F is',round(F),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Na is 686.0 N\n",
+ "and that of acceleration are:\n",
+ "1st value= 2.94 m/s**2 and 2nd value is 2.45 m/s**2\n",
+ "and the value of F is 172.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-29, Page No 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=60 #kg\n",
+ "me=660 #kg\n",
+ "a=6 #m/s**2\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "P=m*a+m*g #N\n",
+ "#Scale reading\n",
+ "R=P/g #kg\n",
+ "#Increase in mass\n",
+ "I=R-m #kg\n",
+ "#Tension\n",
+ "T=me*a+me*g #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P is',round(P),\"n\"\n",
+ "print'The apparent icrease in weight is',round(I,1),\"kg\",'and the tension in the cable is',round(T),\"N\"\n",
+ "#Answer in the textbook is off by 28 #N in Tension\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P is 948.0 n\n",
+ "The apparent icrease in weight is 36.7 kg and the tension in the cable is 10428.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-30, Page No 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "u=0.2 #coefficient of friction\n",
+ "ma=1.2 #kg\n",
+ "mb=2 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Nb=mb*g #N\n",
+ "F=u*Nb #N\n",
+ "#Using equations of motion\n",
+ "#Solving for T and a\n",
+ "A=np.array([[-1,-ma],[1,-mb]])\n",
+ "B=np.array([[-ma*g],[F]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "T=C[0] #N\n",
+ "a=C[1] #m/s**2\n",
+ "#Taking the sum of the moments\n",
+ "x_m=-(F*0.15+T*0.15)/Nb #m\n",
+ "x=x_m*1000 #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The acceleration of block A is',round(a,2),\"m/s**2\" \n",
+ "print'and Nb acts at a distance of',round(x,1),\"mm.(Negative sign indictaes that the side assumed is incorrect)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The acceleration of block A is 2.45 m/s**2\n",
+ "and Nb acts at a distance of -97.5 mm.(Negative sign indictaes that the side assumed is incorrect)\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-31, Page No 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "a=2.5 #m/s**2\n",
+ "mA=3 #kg\n",
+ "mB=7 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "F=(mA+mB)*a #N\n",
+ "#Using equations of motion\n",
+ "Py=mB*g #N\n",
+ "#Solving for Px and H\n",
+ "A=np.array([[1,1],[-0.0375,0.0375]])\n",
+ "B=np.array([[mB*a],[Py*0.05]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "Px=C[0] #N\n",
+ "H=C[1] #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of H is',round(H,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of H is 54.5 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-32, Page No 358"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=20 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "vo=3 #m/s\n",
+ "v=0 #m/s\n",
+ "s=4 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "Na=m*g #N\n",
+ "F=(Na*0.075)/0.125 #N\n",
+ "a=F/m #m/s**2\n",
+ "#Displacement \n",
+ "d=-(v**2-vo**2)/(2*a) #m\n",
+ "displ=s-d #m\n",
+ "v_f=sqrt(2*a*displ) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The final velocity is',round(v_f,2),\"m/s to the left.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The final velocity is 6.17 m/s to the left.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-33, Page No 358"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mA=30 #kg\n",
+ "mB=45 #kg\n",
+ "u_ab=3**-1 #coefficient of friction between two blocks\n",
+ "u_bp=10**-1 #coefficient of friction between block and horizontal plane\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#By inspection\n",
+ "Na=mA*g #N\n",
+ "Nb=Na+mB*g #N\n",
+ "a=(u_ab*Na-u_bp*Nb)/mB #m/s**2\n",
+ "P=(mA*a+u_ab*Na) #N\n",
+ "#For block A\n",
+ "#Solving for P,F and a\n",
+ "A=np.array([[1,-1,-mA],[-0.05,-0.075,0],[0,1,-mB]])\n",
+ "B=np.array([[0],[-Na*0.050],[Nb*u_bp]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "P_new=C[0] #N\n",
+ "\n",
+ "#Result\n",
+ "#As p < p_new\n",
+ "print'The maximum value of P is',round(P),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum value of P is 114.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-34, Page No 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Vo=1.5 #m/s\n",
+ "V=0 #m/s\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "a=(g*0.2)/0.75 #m/s**2\n",
+ "t=-(V-Vo)/a #s\n",
+ "\n",
+ "#Result\n",
+ "print'The maximum acceleration is',round(a,2),\"m/s**2\",'and minimum time is',round(t,2),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum acceleration is 2.61 m/s**2 and minimum time is 0.57 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-36, Page No 361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "vo=0 #mi/h\n",
+ "v=60 #mi/h\n",
+ "t=13.8 #s\n",
+ "W=3385 #lb\n",
+ "xb=46 #in\n",
+ "xf=66 #in\n",
+ "xv=31 #in\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "a=(((v*88*60)/3600)-vo)/t #ft/s**2\n",
+ "#Summing horizontal forces\n",
+ "F=(W/g)*a #lb\n",
+ "#Solving for Rf and Rr\n",
+ "A=np.array([[1,1],[-xf,xb]])\n",
+ "B=np.array([[W],[-F*xv]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "Rr=C[0] #lb\n",
+ "Rf=C[1] #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of reactions are Rf=',round(Rf),\"lb\",'and Rr=',round(Rr),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of reactions are Rf= 1809.0 lb and Rr= 1576.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-43, Page No 366"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=161 #lb\n",
+ "F=16.1 #lb\n",
+ "r=18 #ft radius\n",
+ "t=2 #s\n",
+ "g=32.2 #ft/s**2\n",
+ "wo=0 #rad/s\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "#Solving for T and alpha\n",
+ "A=np.array([[r*12**-1,-0.5*(W*g**-1)*(r*12**-1)**2],[-1,-F*g**-1]])\n",
+ "B=np.array([[0],[-F]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "alpha=C[1] #rad/s**2\n",
+ "w=wo+(alpha*t) #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular speed is',round(w,2),\"rad/s\"\n",
+ "\n",
+ "#The ans is incorrect in textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular speed is 7.58 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-47, Page No 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization fo variables\n",
+ "r=2000 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "d=4.71 #ft\n",
+ "v=176 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "e=(d*v**2)/(g*r) #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The superelevation is',round(e,2),\"ft\"\n",
+ "#Watch the unit in the final answer\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The superelevation is 2.27 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-48, Page No 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "a=5 #ft/s**2\n",
+ "C=50 #lb-ft\n",
+ "W=161 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "T=0.5*(W/g)*1**2*a+C #lb\n",
+ "Ox=-T*(2/sqrt(a)) #lb\n",
+ "Oy=T*(1/sqrt(a))+W #lb\n",
+ "Wa=T/(1-(a/g)) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The values are: T=',round(T,1),\"lb\",', Wa=',round(Wa),\"b\",',Ox=',round(Ox,1),\"lb\",'and Oy=+',round(Oy),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are: T= 62.5 lb , Wa= 74.0 b ,Ox= -55.9 lb and Oy=+ 189.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-49, Page No 370"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=100 #kg\n",
+ "mr=20 #kg\n",
+ "w=8 #rad/s\n",
+ "l1=300 #mm\n",
+ "l2=600 #mm\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "r_bar=(mr*l1+m*750)/120 #mm\n",
+ "I=(3**-1)*mr*(l2*1000**-1)**2+(2*5**-1)*m*(l1*2000**-1)**2+m*(0.75)**2 #kg.m**2\n",
+ "alpha=(m+mr)*g*(r_bar*1000**-1)/I #rad/s**2\n",
+ "On=(m+mr)*(r_bar*1000**-1)*w**2 #N\n",
+ "Ot=((m+mr)*(r_bar*1000**-1)*alpha)-(m+mr)*g #N\n",
+ "\n",
+ "#Result\n",
+ "print'The angular acceleration is',round(alpha,1),\"rad/s**2\",'and On=',round(On),\"N\",'and Ot=',round(Ot,1),\"N\"\n",
+ "\n",
+ "#Due to decimal accuracy there is discrepancy in answers with the textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular acceleration is 13.3 rad/s**2 and On= 5184.0 N and Ot= -96.3 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-50, Page No 370"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=40 #lb\n",
+ "w=10 #rad/s\n",
+ "alpha=2 #rad/s**2\n",
+ "r=2 #in\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "On=(W*g**-1)*(1*6**-1)*w**2 #lb\n",
+ "Ot=(W*g**-1)*(1*6**-1)*alpha\n",
+ "Io=(0.5*(W*g**-1)*0.5**2)*2+((W*g**-1)*(1*6**-1)**2)*2\n",
+ "\n",
+ "#Result\n",
+ "print'The reaction components are On=',round(On,1),\"lb to the right\",'and Ot=',round(Ot,2),\"lb up\"\n",
+ "print'The value of Io is',round(Io,2),\"lb-ft\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction components are On= 20.7 lb to the right and Ot= 0.41 lb up\n",
+ "The value of Io is 0.38 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-51, Page No 371"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilizatin of variables\n",
+ "W=6 #lb\n",
+ "l=8 #ft\n",
+ "v=10 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "# as theta1=60 degrees & theta2=30 degrees\n",
+ "costheta1=2**-1\n",
+ "costheta2=(3**0.5)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "Fe=(W*v**2)*(g*l*0.5)**-1 #lb\n",
+ "#Using equations of motion\n",
+ "#Solving for C and T\n",
+ "A=np.array([[costheta1,-costheta2],[costheta2,costheta1]])\n",
+ "B=np.array([[-Fe],[W]])\n",
+ "P=np.linalg.solve(A,B) #lb\n",
+ "C=P[0] #lb\n",
+ "T=P[1] #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of C is',round(C,2),\"lb\",'and T is',round(T,2),\"lb\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of C is 2.87 lb and T is 7.03 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-52, Page No 372"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=32.2 #lb\n",
+ "T=120 #lb\n",
+ "m=1 #slug\n",
+ "r=6*12**-1 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "w=sqrt((T*(3*5**-1)*4)*(m*r*3)**-1) #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular speed permissible is',round(w,1),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular speed permissible is 13.9 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-53, Page No 372"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=30 #kg\n",
+ "k=0.45 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Using equations of motion\n",
+ "#Solving for T1,T2 and alpha\n",
+ "A=np.array([[1,0,-m],[0,-1,-45],[-0.6,0.3,-m*k**2]])\n",
+ "B=np.array([[50*g],[-150*g],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The values are: T1=',round(C[0]),\"N\",',T2=',round(C[1]),\"N\",'and alpha=',round(C[2],1),\"rad/s**2\"\n",
+ "\n",
+ "# The answer for T2 and alpha is off by 4 & 0.1 units"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are: T1= 607.0 N ,T2= 1294.0 N and alpha= 3.9 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-54, Page No 373"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wc=28 #lb\n",
+ "v=16 #ft/s\n",
+ "Ib=12 #ft-lb-s**2\n",
+ "u=0.4 #coefficient of friction\n",
+ "t=2 #s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "T=Wc+(Wc*g**-1)*8 #lb\n",
+ "alpha=(8*12)*15**-1 #rad/s**2\n",
+ "F=((Ib*alpha)+(T*1.25))/t #lb\n",
+ "N=F/u #lb\n",
+ "#Summing moments about D\n",
+ "P=(N*8+F*3)/40 #lb\n",
+ "#Summing forces horizontally and vertically\n",
+ "Dx=151-P #lb\n",
+ "Dy=-F #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The reactions at D are: Dx=',round(Dx),\"lb to right\",'and Dy=',round(Dy,1),\"lb down\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions at D are: Dx= 116.0 lb to right and Dy= -60.2 lb down\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-55, Page No 374"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=8 #kg\n",
+ "n=90 #rpm\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Fg=m*g #N\n",
+ "w=2*pi*n/60 #rad/s\n",
+ "#using equations of motion\n",
+ "By=m*g #N\n",
+ "#Solving for Bx and C\n",
+ "A=np.array([[1,1],[-0.3,0.9]])\n",
+ "B=np.array([[m*0.3*w**2],[By*0.3]])\n",
+ "C=np.linalg.solve(A,B) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The solution is: Bx=',round(C[0]),\"N\",',By=',round(By,1),\"N\",'and C=',round(C[1],1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The solution is: Bx= 140.0 N ,By= 78.4 N and C= 72.9 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-56, Page No 375"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=8 #kg\n",
+ "n=90 #rpm\n",
+ "g=9.8 #m/s**2\n",
+ "r=0.3 #m\n",
+ "\n",
+ "#calculations\n",
+ "w=2*pi*n/60 #rad/s\n",
+ "#Using equations of motion\n",
+ "C=(m*g*0.3+m*r*w**2*r)/1.2 #N\n",
+ "Bx=-C+m*r*w**2 #N\n",
+ "By=m*g #N\n",
+ "\n",
+ "#Result\n",
+ "print'The solution is: Bx=',round(Bx),\"N\",',By=',round(By,1),\"N\",'and C=',round(C,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The solution is: Bx= 140.0 N ,By= 78.4 N and C= 72.9 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-57, Page No 375"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Na=294 #N\n",
+ "Nb=735 #N\n",
+ "\n",
+ "#Calculations\n",
+ "a=(10**-1*Nb-3**-1*Na)/45 #m/s**2\n",
+ "P=(3**-1*Na)-30*a #N\n",
+ "\n",
+ "#Result\n",
+ "print'The solution is P=',round(P),\"N\",'and a=',round(a,3),\"m/s**2\"\n",
+ "# The negative sign indicates the assumed direction is incorrect."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The solution is P= 114.0 N and a= -0.544 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-58, Page No 376"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=50 #lb\n",
+ "g=32.2\n",
+ "\n",
+ "#Calculations\n",
+ "#Using equations of motion\n",
+ "a=(10/(W/g)) #ft/s**2\n",
+ "B=((2.5*(W/g)*a)+4*W-1.5*10)/8 #lb\n",
+ "A=50-B #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The solution is A=',round(A,1),\"lb\",',B=',round(B,1),\"lb\",'and a=',round(a,2),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The solution is A= 23.8 lb ,B= 26.3 lb and a= 6.44 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-60, Page No 377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "g=9.8 #m/s**2\n",
+ "r1=0.3 #m\n",
+ "m1=20 #kg\n",
+ "m2=100 #kg\n",
+ "r2=0.75 #m\n",
+ "\n",
+ "#Calculations\n",
+ "alpha=(m1*g*r1+m2*g*r2)*(m1*r1**2+(m1/12)*0.6**2+m2*r2**2+(2*5**-1)*m2*0.15**2)**-1 #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print'The angular acceleration is',round(alpha,1),\"rad/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular acceleration is 13.4 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-61, Page No 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=15*12**-1 #ft\n",
+ "W=600 #lb\n",
+ "# as theta=25 degrees,\n",
+ "sintheta=0.422\n",
+ "\n",
+ "#calculations\n",
+ "ax=(r*W*sintheta)*((r**-1)*14.5+r*18.6)**-1 #ft/s**2\n",
+ "F=(W*sintheta)-(18.6*ax) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The solution is F=',round(F,1),\"lb\",'and ax=',round(ax,2),\"ft/s**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The solution is F= 84.3 lb and ax= 9.08 ft/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16-62, Page No 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=7 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "r=0.5 #m\n",
+ "I=0.875 #kg.m**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving for alpha and T\n",
+ "alpha=(m*g*r)/(I+m*r*0.5) #rad/s**2\n",
+ "T=(I*alpha)/r #N\n",
+ "\n",
+ "#Result\n",
+ "print'The soultion is alpha=',round(alpha,1),\"rad/s**2\",'and T=',round(T,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The soultion is alpha= 13.1 rad/s**2 and T= 22.9 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter17.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter17.ipynb
new file mode 100755
index 00000000..9e42f760
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter17.ipynb
@@ -0,0 +1,1273 @@
+{
+ "metadata": {
+ "name": "chapter 17.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 17: WORK AND ENERGY"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-4, Page No 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Initilization of variables\n",
+ "s1=2 # compression of the spring- initial\n",
+ "s2=5 # compression of the spring- final\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(s, a, b):\n",
+ " return 20*s\n",
+ "a=1\n",
+ "b=1\n",
+ "U=quad(integrand, s1, s2, args=(a,b))\n",
+ "\n",
+ "# Results\n",
+ "print'The word done in compressing the spring is',round(U[0]),\"in-lb\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The word done in compressing the spring is 210.0 in-lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-6, Page No 400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=5 #kg\n",
+ "d=6 #m\n",
+ "# as theta1=30 degrees & theta2=10 degrees,\n",
+ "sintheta1=2**-1\n",
+ "sintheta2=0.1736\n",
+ "costheta1=(3**0.5)*2**-1\n",
+ "costheta2=0.9848\n",
+ "u=0.2 #coefficient of friction\n",
+ "g=9.8 #m/s**2\n",
+ "F=70 #N\n",
+ "\n",
+ "#Calculations\n",
+ "#Using free body diagram\n",
+ "Na=(m*g*costheta1)-(F*sintheta2) #N\n",
+ "#work done by each force\n",
+ "W=[F*costheta2,-m*g*sintheta1,0,-u*Na*d] #N.m\n",
+ "#Total Work Done\n",
+ "W_tot=W[0]+W[1]+W[2]+W[3] #N.m\n",
+ "#Using resultant\n",
+ "R=F*costheta2-(u*Na)-(m*g*sintheta1) #N\n",
+ "W_d=R*d #N.m (Work Done)\n",
+ "\n",
+ "#Result\n",
+ "print'The work done is',round(W_d),\"N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The work done is 230.0 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-7, Page No 401"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=20 #kg\n",
+ "d=1.5 #m\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "u=0.25 #coefficient of friction\n",
+ "g=9.8 #m/s**2\n",
+ "F=130 #N\n",
+ "\n",
+ "#Calculations\n",
+ "W=F*d-(m*g*sintheta*d) #N.m\n",
+ "\n",
+ "#Result\n",
+ "print'The work done is',round(W),\"N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The work done is 48.0 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-9, Page No 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=6*12**-1 #ft\n",
+ "l=8*12**-1 #ft\n",
+ "l_c=3.2 #in\n",
+ "y=1.82 #in**2\n",
+ "\n",
+ "#Calculations\n",
+ "V=1*4**-1*pi*d**2*l #ft**3\n",
+ "#One horizontal inch \n",
+ "h_i=V/l_c #ft**3\n",
+ "#One vertical inch\n",
+ "v_i=100*144 #lb/ft**2\n",
+ "#Then 1.82 in**2 represents\n",
+ "x=y*v_i*h_i #ft-lb\n",
+ "\n",
+ "#Result\n",
+ "print'The work capacity is',round(x),\"ft-lb\"\n",
+ "\n",
+ "# The ans in the textbook is incorrect."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The work capacity is 1072.0 ft-lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-10, Page No 402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "speed=90000 #m/h\n",
+ "P=100*1000 #N\n",
+ "\n",
+ "#Calculations\n",
+ "Power=P*((speed)/3600) #J/s\n",
+ "\n",
+ "#Result\n",
+ "print'The power developed is',round(Power*10**-6,1),\"MJ/s\"\n",
+ "# Note the unit used."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power developed is 2.5 MJ/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-11, Page No 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=0.6 #m\n",
+ "T_t=800 #N\n",
+ "T_s=180 #N\n",
+ "w=200 #rpm\n",
+ "\n",
+ "#Calculations\n",
+ "r=d/2 #m radius\n",
+ "#Torque\n",
+ "M=(T_t-T_s)*r #N.m\n",
+ "#Power\n",
+ "w_new=(2*pi*w)/60 #rad/s\n",
+ "Power=M*(w_new) #W\n",
+ "\n",
+ "#Result\n",
+ "print'The power transmitted is',round(Power*10**-3,1),\"kW\"\n",
+ "\n",
+ "# The answer in the book is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power transmitted is 3.9 kW\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-12, Page No 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "P=25.6 #lb\n",
+ "w=600 #rpm\n",
+ "a=36 #in\n",
+ "b=12 #in\n",
+ "\n",
+ "#Calculations\n",
+ "M=P*(((b*2**-1)+a)/12) #lb-ft\n",
+ "w_new=(2*pi*w)/60 #rad/s\n",
+ "Hp=(M*w_new)/550 #hp\n",
+ "\n",
+ "#Result\n",
+ "print'The power being transmitted is',round(Hp,1),\"hp\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power being transmitted is 10.2 hp\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-13, Page No 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Pout=3.8 #bhp\n",
+ "Pin=4.1 #ihp\n",
+ "\n",
+ "#Calculations\n",
+ "Efficiency=round((Pout/Pin)*100) #Percent\n",
+ "\n",
+ "#Result\n",
+ "print'The efficiency of the engine is',round(Efficiency),\"%\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The efficiency of the engine is 93.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-15, Page No 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return -(3/x)\n",
+ "a=1\n",
+ "b=1\n",
+ "U=quad(integrand, 6, 3, args=(a,b))\n",
+ "g=32.2 # ft/s**2\n",
+ "deltaT=((U[0]*32.2*2)/(4*16**-1))**0.5\n",
+ "# Results\n",
+ "print'The speed of the disc will be',round(deltaT,1),\"ft/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of the disc will be 23.1 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-16, Page No 404"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=2 #m\n",
+ "m=4 #kg\n",
+ "w_1=20 #rpm\n",
+ "w_2=50 #rpm\n",
+ "rev=10 #no of revolution\n",
+ "\n",
+ "#Calculations\n",
+ "Io=(3**-1)*(m)*l**2 #kg.m**2\n",
+ "w1=(2*pi*w_1)/60 #rad/s\n",
+ "w2=(2*pi*w_2)/60 #rad/s\n",
+ "theta=2*pi*rev #rad\n",
+ "M=(0.5*Io*(w2**2-w1**2))/theta #N.m\n",
+ "\n",
+ "#Result\n",
+ "print'The constant moment required is',round(M,3),\"N.m\"\n",
+ "# The ans waries in decimal places."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The constant moment required is 0.977 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-18, Page No 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=1000 #lb\n",
+ "w_w=200 #lb weight of the individual wheel\n",
+ "d_w=2.5 #ft diameter of the wheel\n",
+ "v=22 #ft/s\n",
+ "t=2 #minutes\n",
+ "\n",
+ "#Calculations\n",
+ "#T1=Initial Kinetic Energy and T2=Final Kinetic Energy\n",
+ "F=(-0.5*W*32.2**-1*v**2-4*0.5*w_w*32.2**-1*(v**2+0.5*v**2))/(10560) #lb\n",
+ "#Negative sign in the answer tells it oposses the motion\n",
+ "\n",
+ "#Result\n",
+ "print'The rolling resistance is',round(F,2),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rolling resistance is -1.57 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-19, Page No 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=100 #lb\n",
+ "lo=4 #ft\n",
+ "# as theta=45 degrees\n",
+ "costheta=(2**0.5)**-1\n",
+ "g=32.2 #ft/s**2\n",
+ "l=8/3 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment about point O and equating it to zero\n",
+ "alpha=(W*(lo*0.5)*costheta)/((W/g)*(l)*2) #rad/s**2\n",
+ "#Summing forces in the t direction\n",
+ "Ot=(W*costheta)-((W/g)*lo*0.5*alpha) #lb\n",
+ "#Work Done\n",
+ "Work=W*(lo*0.5*costheta) #ft/lb\n",
+ "#Moment of inertia\n",
+ "Io=(3**-1)*(W/g)*(lo**2) #kg-ft**2\n",
+ "#Using the concept for work done=chane in K.E\n",
+ "w=(Work/(0.5*Io))**0.5 #rad/s\n",
+ "#Summing forces along the bar\n",
+ "On=-(-((W/g)*lo*0.5*w**2)-(W*costheta)) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The bearing reaction at O on the rod is',round(On),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bearing reaction at O on the rod is 177.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-21, Page No 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "vo=9 #m/s\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "x=((7*10**-1)*vo**2)*(g*sintheta)**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print'The ball will roll',round(x,1),\"m up the plane\"\n",
+ "\n",
+ "#The textbook wrongly mentions the unit of displacement as in\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ball will roll 11.6 m up the plane\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-22, Page No 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=322 #lb\n",
+ "F=12 #lb\n",
+ "a=0 #lower limit (where the cyliner starts rolling)\n",
+ "b=pi/2 #Upper Limit (where the cyliner stops rolling)\n",
+ "d=3.2 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "dR=1.6 #Differential Radius\n",
+ "d_U=2*dR*F #differential work done\n",
+ "#Integration Calculations\n",
+ "#As it is a simple integration we can resort to this\n",
+ "U=d_U*(b-a) #ft-lb\n",
+ "#Determination of K.E\n",
+ "w=sqrt(U/((0.5*(W/g)*(1/(d/2)**2))+((0.5*0.5)*(W/g)*(d/2)**2))) #rad/s\n",
+ "\n",
+ "#Result \n",
+ "print'The angular velocity of the cylinder is',round(w,2),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocity of the cylinder is 2.69 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-24, Page No 407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wa=161 #lb\n",
+ "Wb=193.2 #lb\n",
+ "Wc=322 #lb\n",
+ "v1=5 #ft/s\n",
+ "lc=6 #in\n",
+ "k=6 #lb/ft\n",
+ "l=4 #ft\n",
+ "u=0.2 #coefficient of friction\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Ib=(2**-1)*(Wb/g)*(2**-1)**2 #Moment of inertia\n",
+ "w1=v1*0.5**-1 #rad/s\n",
+ "T1=(0.5*(Wc/g)*v1**2)+(0.5*Ib*w1**2)+(0.5*(Wa/g)*v1**2) #ft-lb\n",
+ "#Work Done on the system\n",
+ "#The textbook is ambigious on the calculations hence the result is dispalyed directly\n",
+ "U=26.4 #ft-lb\n",
+ "#Velocity Calculations\n",
+ "v=((T1+U)*9**-1)**0.5 #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity of the block is',round(v,2),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity of the block is 5.29 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-25, Page No 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Mm=70 #kg\n",
+ "Mc=45 #kg\n",
+ "R=0.6 #m\n",
+ "g=9.8 #m/s**2\n",
+ "l=5 #m\n",
+ "# as theta=50 degrees,\n",
+ "sintheta=0.77\n",
+ "\n",
+ "#Calculations\n",
+ "#T2 calculations except for v term in it as it cannot be declared as a number\n",
+ "T2=68.7 #without the v term in it\n",
+ "v=((g*Mm*l-g*Mc*l*sintheta)/T2)**0.5 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed is',round(v,2),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed is 5.02 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-26, Page No 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#The textbook has a typo in printing the question number\n",
+ "#Initilization of variables\n",
+ "W1=96.6 #lb\n",
+ "W2=128.8 #lb\n",
+ "v=8 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Initial KE of the system is T1=0\n",
+ "T2=(0.5*(W1/g)*v**2)+(0.5*(W2/g)*(v/2)**2) #ft-lb\n",
+ "#Work Done without s term\n",
+ "U=-(W1*sintheta)+W2*0.5\n",
+ "#S calculations\n",
+ "s=T2*U**-1 #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The block attains a speed of 8 ft/s in',round(s,2),\"ft (up the plane)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The block attains a speed of 8 ft/s in 7.95 ft (up the plane)\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-28, Page No 409"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Initilization of variables\n",
+ "l=6 #m length of the cable\n",
+ "m=50 #kg mass of the cable\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return 81.7*(6-x)\n",
+ "a=1\n",
+ "b=1\n",
+ "Work=quad(integrand, 0, 6, args=(a,b))\n",
+ "\n",
+ "# Results\n",
+ "print'The word done is',round(Work[0]),\"N.m\"\n",
+ "# The answer in textbook is off by 1 N.m"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The word done is 1471.0 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-31, Page No 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Initilization of variables\n",
+ "k=0.044 # spring constant\n",
+ "#x=0.300 #m length of compression from 450 to 150\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return 0.5*0.044*x**2\n",
+ "a=1\n",
+ "b=1\n",
+ "W=quad(integrand, 0, 300, args=(a,b))\n",
+ "\n",
+ "# Results\n",
+ "print'The word done on the balls is',round(W[0]*10**-5,2),\"N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The word done on the balls is 1.98 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-32, Page No 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=10 #kg\n",
+ "d=1.2 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Initilial KE is zero\n",
+ "#Final KE is(without v^2 term in it)\n",
+ "KE2=(3*4**-1)*10\n",
+ "#Work Done\n",
+ "U=m*g*d #N.m\n",
+ "#Velocity calculations\n",
+ "v=sqrt(U*KE2**-1) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The velocity is',round(v,2),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocity is 3.96 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-33, Page No 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=161 #lb\n",
+ "wa=150 #lb\n",
+ "wb=100 #lb\n",
+ "la=2 #ft\n",
+ "lb=4 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "#Work Done\n",
+ "T1=wb*lb-wa*la #ft-lb\n",
+ "#Final KE=zero\n",
+ "T2=0 #ft-lb\n",
+ "#Work Done on the system=T2-T1\n",
+ "#Hence the equation becomes\n",
+ "#50x-50x^2+100=0\n",
+ "#where\n",
+ "a=-50\n",
+ "b=50\n",
+ "c=100\n",
+ "#Solution\n",
+ "d=sqrt(b**2-4*a*c) \n",
+ "x1=(-b+d)/(2*a) #ft\n",
+ "x2=(-b-d)/(2*a) #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The stretch of the spring is',round(x2),\"ft\"\n",
+ "#Here even x1 could have been the solution,but the stretch in the string is elongation not compression hence x2 is the valid answer\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stretch of the spring is 2.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-34, Page No 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "I=100 #slug-ft**2\n",
+ "w=4 #rad/s\n",
+ "theta=6 #rad\n",
+ "Mc=64.4 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "vb=2*w #ft/s\n",
+ "vc=0.5*w #ft/s\n",
+ "Mb=(0.5*I*w**2+0.5*(Mc/g)*vc**2+0.5*Mc*theta)/(2*theta-(0.5*vb**2*(1/g))) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The weight of the block B is',round(Mb,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The weight of the block B is 90.6 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-35, Page No 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wa=96.6 #lb\n",
+ "Wb=128.8 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "I=12 #slug-ft**2\n",
+ "v=16 #ft/s\n",
+ "ratio=3**-1 #ratio of Sb/Sa\n",
+ "r=3#ft\n",
+ "va=6 #ft/s\n",
+ "vb=2 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "#Work Done without S in it\n",
+ "W=Wa-(ratio*Wb)\n",
+ "#System has zero KE initially and final KE is given by\n",
+ "w=va/r #rad/s\n",
+ "T2=(0.5*(Wa/g)*va**2+0.5*I*w**2+0.5*(Wb/g)*vb**2) #ft-lb\n",
+ "#Distance Calculations\n",
+ "S=T2*W**-1 #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The distance through which A falls is',round(S,2),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The distance through which A falls is 1.6 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-36, Page No 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initilization of variables\n",
+ "u=0.25 #coefficient of friction\n",
+ "k=2800 #N/m\n",
+ "x=0.075 #m\n",
+ "g=9.8 #m/s**2\n",
+ "m=7 #kg\n",
+ "# as theta=30 degrees,\n",
+ "sintheta=2**-1\n",
+ "costheta=(3**0.5)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Normal Reaction\n",
+ "N=g*m*costheta #N\n",
+ "#Frictional Force\n",
+ "Fr=u*N #N\n",
+ "#Component of force along the plane\n",
+ "F=g*m*sintheta #N\n",
+ "#Spring work is\n",
+ "W=0.5*k*x*x #N.m\n",
+ "s=(W+Fr*x-F*x)/(F-Fr) #m\n",
+ "S=(s*1000) #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The value of S is',round(S),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of S is 330.0 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-37, Page No 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=5 #kg\n",
+ "l=2 #m\n",
+ "k=10000 #N/m\n",
+ "x=0.1 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "drop=l+x #m mass drop length\n",
+ "#Work Done by Gravity\n",
+ "Wg=g*m*drop #N.m\n",
+ "#Work Done by Spring\n",
+ "Ws=0.5*k*x**2 #N.m\n",
+ "#Increase in KE is without v**2\n",
+ "KE=0.5*m #kg\n",
+ "#Velocity Calculations\n",
+ "v=sqrt((Wg-Ws)/KE) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed is',round(v,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed is 4.6 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-38, Page No 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=6 #ft\n",
+ "k=20 #lb/in\n",
+ "x=8 #in\n",
+ "\n",
+ "#Calculations\n",
+ "#Work Done by Gravity\n",
+ "Wg=(l*12+x) #in without W\n",
+ "#Work Done by Spring\n",
+ "Ws=0.5*k*x**2 #in-lb\n",
+ "#Change in the kinetic energy is zero\n",
+ "W=Ws/Wg #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The weight is',round(W),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The weight is 8.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-40, Page No 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=8 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "#work done by the spring woithout k\n",
+ "Ws=0.5*((9*12**-1)**2-(12**-1)**2) \n",
+ "#Work done by gravity\n",
+ "Wg=W*(10.5*12**-1) #ft-lb\n",
+ "#Change in KE is zero\n",
+ "k=Wg/Ws #lb/ft\n",
+ "\n",
+ "#Result\n",
+ "print'The value of k is',round(k,1),\"lb/ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of k is 25.2 lb/ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17-41, Page No 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wc=100 #lb\n",
+ "r= 1 #ft\n",
+ "F=80 #lb\n",
+ "k=50 #lb/ft\n",
+ "s=6 #in\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Work done on the system\n",
+ "U=-0.5*k*(1)+F*(s*12**-1) #ft-lb\n",
+ "#Initial KE is zero\n",
+ "Vo=(U/(0.5*(Wc/g+0.5*(Wc/g)*r)))**0.5 #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The initial speed is',round(Vo,2),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The initial speed is 2.54 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter18.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter18.ipynb
new file mode 100755
index 00000000..37ca845e
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter18.ipynb
@@ -0,0 +1,1503 @@
+{
+ "metadata": {
+ "name": "chapter 18.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 18: IMPULSE AND MOMENTUM"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-8, Page No 435"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=100 #lb\n",
+ "u=0.2 #coefficient of friction\n",
+ "t=5 #s\n",
+ "v1=5 #ft/s\n",
+ "v2=10 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "ll=0 #lower limit of integration\n",
+ "ul=5 #upper limit of integration\n",
+ "\n",
+ "#Calculations\n",
+ "Fr=u*W #lb\n",
+ "#Using The impulse momentum theorem\n",
+ "#Since the integration is just subtraction of limits we can skip that\n",
+ "F=((W/g)*v2-(W/g)*v1+Fr*ul)/ul #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The Force is',round(F,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Force is 23.1 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-9, Page No 435"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=10 #kg\n",
+ "#theta=30,thus\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "sin30=2**-1\n",
+ "u=0.3 #coefficient of kinetic friction\n",
+ "t=5 #s\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Asthere is no motion in the vertical direction \n",
+ "#Summing forces along vertical direction\n",
+ "Na=m*g*cos30 #N\n",
+ "#Using impulse momentum theorem\n",
+ "vx=(m*g*sin30-u*Na)*(t*m**-1) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed after 5s is',round(vx,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed after 5s is 11.8 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-10, Page No 436"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(t, a, b):\n",
+ " return 20*t-16\n",
+ "a=1\n",
+ "b=1\n",
+ "F=quad(integrand, 1, 5, args=(a,b))\n",
+ "g=32.2 # ft/s**2\n",
+ "v=(F[0]*32.2)/80\n",
+ "\n",
+ "# Results\n",
+ "print'The speed of the block is',round(v,1),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of the block is 70.8 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-12, Page No 436"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=40 #kg\n",
+ "m2=10 #kg\n",
+ "m3=15 #kg\n",
+ "v0=2.5 #m/s\n",
+ "vf=5 #m/s\n",
+ "t=12 #s\n",
+ "u=0.1 #coefficient of friction\n",
+ "g=9.8 #m/s**2\n",
+ "#theta=45 degrees,thus\n",
+ "sin45=(sqrt(2))**-1\n",
+ "cos45=(sqrt(2))**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Impulse-Momentum Theoroem\n",
+ "P=(((m1+m2+m3)*(vf-v0))+(t*(-m2*g*sin45+u*g*m2*cos45+u*g*m3+g*m1)))*t**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P is',round(P),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P is 358.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-13, Page Noo 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W1=4 #lb\n",
+ "W2=2 #lb\n",
+ "t2=0.04 #s\n",
+ "W3=-2 #lb\n",
+ "t3=0.02 #s\n",
+ "t=3 #s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Algebraic sum of two areas\n",
+ "A=t2*W2+t3*W3 #lb-s\n",
+ "#Using Impulse Momentum Theorem\n",
+ "v=(A*g)/W1 #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The spped after 3s is',round(v,3),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The spped after 3s is 0.322 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-14, Page No 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "f_r=1 #in/s rate of fall of mercury\n",
+ "ll=18 #in length of left column\n",
+ "lr=22 #in length of right column\n",
+ "rho=850 #lb/ft**3\n",
+ "d=4**-1 #in\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Impulse momentum theorem\n",
+ "M=((d*pi*d**2*4)/12**3)*(rho/g)*(12**-1) #lb-s\n",
+ "\n",
+ "#Result\n",
+ "print'The upward momentum of mercury is +',round(M,5),\"lb-s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The upward momentum of mercury is + 0.00025 lb-s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-15, Page No 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=2000 #kg\n",
+ "k=1.200 #m\n",
+ "w=120 #rpm\n",
+ "t=200 #s\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Angular Momentum theorem\n",
+ "M=((m*k**2*(w*2*pi))/60)/t #N.m\n",
+ "\n",
+ "#Result\n",
+ "print'The Momentum necessary is',round(M),\"N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Momentum necessary is 181.0 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-17, Page No 438"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=5 #kg\n",
+ "m2=7 #kg\n",
+ "mp=5 #kg\n",
+ "r=0.6 #m\n",
+ "k=0.45 #m\n",
+ "vi=3 #m/s\n",
+ "vf=6 #m/s\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "I=m1*k**2 #kg.m**2\n",
+ "wnet=(vf/r)-(vi/r) #rad/s\n",
+ "#Solving the system of linear equations\n",
+ "#Simplfying the equation we get\n",
+ "t=((I*wnet)+m1*(vf-vi)+m2*(vf-vi))*r/(r*(m2-m1)*g) #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(t,2),\"s\"\n",
+ "# The ans in the textbook is incorrect.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 2.1 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-18, Page No 438"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=50 #kg\n",
+ "vo=4 #m/s\n",
+ "vf=8 #m/s\n",
+ "t=6 #s\n",
+ "g=9.8 #m/s**2\n",
+ "r=0.8 #m\n",
+ "u=0.25 #coefficient of friction\n",
+ "I=30 #kg-m**2\n",
+ "\n",
+ "#Calculations\n",
+ "Na=m*g #N\n",
+ "F=u*Na #N\n",
+ "#Angular Speeds\n",
+ "wo=vo/r #rad/s\n",
+ "wf=vf/r #rad/s\n",
+ "#Applying impulse momentum theorem\n",
+ "mb=(I*wo+m*vo*r-F*r*t-I*wf-m*vf*r)/(vf*r-vo*r-g*r*t) #kg\n",
+ "\n",
+ "#Result\n",
+ "print'The mass of block B is',round(mb,1),\"kg\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mass of block B is 20.5 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-19, Page No 439"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Ws=250 #lb\n",
+ "Wl=500 #lb\n",
+ "W3=161 #lb\n",
+ "W4=64.4 #lb\n",
+ "wo=100 #rpm\n",
+ "wf=300 #rpm\n",
+ "rl=3 #ft\n",
+ "rs=2 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Moment Of Inertia\n",
+ "I=(0.5*(Wl/g)*rl**2+0.5*(Ws/g)*rs**2) #slug-ft**2\n",
+ "#Change in angular Momentum\n",
+ "change1=I*((wf-wo)*2*(pi/60)) #lb-s-ft\n",
+ "#Change in angular momentum about G for 161lb\n",
+ "change2=2*((W3*g**-1)*(wf-wo)*(4*60**-1)*pi) #lb-s-ft\n",
+ "#Similarly change in 64lb is\n",
+ "change3=3*((W4*g**-1)*(wf-wo)*(6*60**-1)*pi) #lb-s-ft\n",
+ "#Change in linear impulse\n",
+ "#Without t term in it\n",
+ "m1=2*W3\n",
+ "m2=-3*W4\n",
+ "#Total angular impulse\n",
+ "t=(change1+change2+change3)/(m1+m2) #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(t),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 20.0 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-21, Page No 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=3 #ft\n",
+ "W=300 #lb\n",
+ "# as theta=20 degrees\n",
+ "sintheta=0.342\n",
+ "F=250 #lb\n",
+ "t=6 #s\n",
+ "vo=0 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying linear impulse momentum theorem\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[-W*g**-1,1*t],[-((0.5)*(W*g**-1)*(d*2**-1)**2*(d*2**-1)**-1),(-t)*d*2**-1]])\n",
+ "B=np.array([[-F*t+W*sintheta*t],[-F*(d*2**-1)*6]]) \n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The speed after 6s is',round(C[0]),\"ft/s,parallel to the plane\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed after 6s is 171.0 ft/s,parallel to the plane\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-22, Page No 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Initilization of variables\n",
+ "#theta=30 degrees\n",
+ "sin30=2**-1\n",
+ "vo=20 #ft/s\n",
+ "r=4 #ft\n",
+ "vf=0 #ft/s\n",
+ "W=300 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "wo=vo*r**-1 #rad/s\n",
+ "wf=vf*r**-1 #rad/s\n",
+ "#Applying impulse momentum theorem\n",
+ "#Solving simultaneous equations\n",
+ "t=-((W*g**-1)*(vf-vo)+((0.5*(W*g**-1)*r**2*(wf-wo))*r**-1))/(W*sin30) #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time t is',round(t,2),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time t is 1.86 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-23, Page No 441"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mw=75 #kg\n",
+ "k=0.9 #m\n",
+ "wi=10 #rad/s\n",
+ "wf=6 #rad/s\n",
+ "r=1.2 #m\n",
+ "m=30 #kg\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Initial speed\n",
+ "vi=-r*wi #m/s\n",
+ "vf=r*wf #m/s\n",
+ "#Initial speed of B is\n",
+ "vib=-0.8*wi+vi #m/s\n",
+ "#Similarly\n",
+ "vfb=12 #m/s\n",
+ "#Applying impulse momentum theorem\n",
+ "#Solving by matrix method\n",
+ "A=np.array([[1,-1,-(mw*(vf-vi))],[0.8,1.2,-(mw*(k**2)*(wf+wi))],[-1,0,-(m*(vfb-vi))]])\n",
+ "B=np.array([[0],[0],[-g*m]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Here t is calculated as 1/t for simplicity\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(C[2]**-1,2),\"s\" \n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 7.04 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-24, Page No 441"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=8 #in\n",
+ "W=96.6 #lb\n",
+ "w=36 #rad/s\n",
+ "u=0.15 #coefficient of friction\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "r=(d/2)*12**-1 #m\n",
+ "N=W #lb\n",
+ "F=u*N #lb\n",
+ "m=W/g #slugs\n",
+ "I=0.5*m*(r**2) #slug-ft**2\n",
+ "#Applying the impulse momentum theorem\n",
+ "#Solving the two equations simultaneously\n",
+ "A=np.array([[F,-m],[F*r,I*(1*r**-1)]])\n",
+ "B=np.array([[0],[w*I]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Distance travelled\n",
+ "s=0.5*C[1]*C[0] #ft\n",
+ "t=C[0] #s\n",
+ "\n",
+ "#Result\n",
+ "print'The time required is',round(t,2),\"s\",'and it travels',round(s,2),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time required is 0.83 s and it travels 1.66 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-25, Page No 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilisation of variables\n",
+ "d=2*12**-1 #ft\n",
+ "v=80 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Mass flow reate without time\n",
+ "m=(1*4**-1)*pi*d**2*v*(62.4/g) \n",
+ "#Let P=force of plate on mass m of water\n",
+ "P=m*(0-v) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The force water exerts on the plate is +',round(-P),\"lb,that is,to the right\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force water exerts on the plate is + 271.0 lb,that is,to the right\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-26, Page No 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v1=20 #ft/s\n",
+ "vw=80 #ft/s\n",
+ "d=2*12**-1 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "v=vw-v1 #ft/s\n",
+ "#mass flow rate without t\n",
+ "m=(4**-1)*(pi*d**2)*(62.4/g)*v\n",
+ "#Applying impulse momentum theorem\n",
+ "P=m*v #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The force exerted by water on the plate is +',round(P),\"lb,that is,to the right\"\n",
+ "\n",
+ "# Decimal poinat accuracy causes a small discrepancy in the answer"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force exerted by water on the plate is + 152.0 lb,that is,to the right\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-27, Page No 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "A=2000*10**-6 #m**2\n",
+ "v=10 #m/s\n",
+ "rho=1000 #kg/m**3\n",
+ "#theta=45 degrees,thus\n",
+ "cos45=(2**0.5)**-1\n",
+ "sin45=(2**0.5)**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Mass flow \n",
+ "m=A*v*rho\n",
+ "#Applying impulse momentum theorem\n",
+ "Px=m*(-v*cos45-v) #N\n",
+ "Py=m*(v*sin45-0) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The x component of force is',round(Px),\"N (to left on water)\",'and y component is +',round(Py),\"N (up on the water)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The x component of force is -341.0 N (to left on water) and y component is + 141.0 N (up on the water)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-28, Page No 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilisation of variables\n",
+ "W=150 #lb\n",
+ "v=20 #ft/s\n",
+ "A=0.2 #in**2\n",
+ "t=60 #s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Mass flow\n",
+ "m=(A/12**2)*v*(62.4/g)\n",
+ "#Force\n",
+ "F=m*(0-v) #lb\n",
+ "#At t=60s the tank holds\n",
+ "Ww=(A/12**2)*v*t*62.4 #lb\n",
+ "#Total reading on scale\n",
+ "S=-F+W+Ww #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The scale reading is',round(S),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The scale reading is 255.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-29, Page No 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wp=130 #lb\n",
+ "Wb=150 #lb\n",
+ "Wbullet=2*16**-1 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "vbullet=1200 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "v=((-Wbullet*g**-1)*vbullet)/((Wb+Wp)/g) #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed of the boat is',round(v,2),\"ft/s\"\n",
+ "#Negative sign indicates direction opposite to that of bullet\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of the boat is -0.54 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-30, Page No 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mb=0.06 #kg\n",
+ "ms=50 #kg\n",
+ "h=0.03 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Speed of bag+bullet\n",
+ "v2=sqrt(2*g*h) #m/s\n",
+ "#Applying conservation of momentum \n",
+ "v1=((mb+ms)*v2)/mb #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed of bullet as it entered the bag was',round(v1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of bullet as it entered the bag was 640.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-32, Page No 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mb=0.06 #kg\n",
+ "vb=500 #m/s\n",
+ "mblock=5 #kg\n",
+ "vblock=30 #m/s\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying conservation of momentum\n",
+ "v=(mb*vb+mblock*vblock)/(mb+mblock) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed of the system is',round(v,1),\"m/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of the system is 35.6 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-33, Page No 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Initilization of variables\n",
+ "W1=2 #lb\n",
+ "W2=3 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return 12*(2-x)\n",
+ "a=1\n",
+ "b=1\n",
+ "W=quad(integrand, 0, 2, args=(a,b))\n",
+ "Work=W[0]/12 # ft-lb\n",
+ "\n",
+ "# Solving the simultaneousequations\n",
+ "v3=(Work*(0.5*(W2*g**-1)+0.5*(W1*g**-1)*(-W2*W1**-1)**2)**-1)**0.5 #ft/s\n",
+ "v2=-(W2*W1**-1)*v3 #ft/s\n",
+ "\n",
+ "# Results\n",
+ "print'The speed of 2lb block is',round(v2,2),\"ft/s (to the left)\",'and that of 3lb block is',round(v3,2),\"ft/s (to the right) respectively.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed of 2lb block is -6.22 ft/s (to the left) and that of 3lb block is 4.14 ft/s (to the right) respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-34, Page No 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#Here the integration is indefinite hence it will be computed manually and entered\n",
+ "W=10 #lb\n",
+ "l=4 #ft\n",
+ "w=2 #rad/s\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Part (a)\n",
+ "wf=1.5 #rad/s\n",
+ "t=(((W/g)*(l*w*l))-((W/g)*(l*wf*l)))**0.5 #s\n",
+ "#Part (b)\n",
+ "#Applying conservation of angular momentum\n",
+ "r=(l*wf*l)*(l*w)**-1 #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The answer for part (a) is',round(t,2),\"s\",'and the answer for part (b) is',round(r,2),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The answer for part (a) is 1.58 s and the answer for part (b) is 3.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-35, Page No 446"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=2.5 #lb\n",
+ "w=36 #rad/s\n",
+ "Idisk=0.4 #slug-ft**2\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Ii=Idisk+(2*(W*g**-1)*(3*12**-1)**2) #slug-ft**2\n",
+ "If=Idisk+(2*(W*g**-1)*(11*12**-1)**2) #slug-ft**2\n",
+ "#Since no external moments act\n",
+ "#Applying conservation of momentum\n",
+ "wf=(Ii*w)*If**-1 #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The final angular speed is',round(wf,1),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The final angular speed is 27.8 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-39, Page No 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "u1=6 #ft/s\n",
+ "u2=-8 #ft/s\n",
+ "e=0.8 #coefficient of restitution\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving both simultaneous equations\n",
+ "A=np.array([[1,-1],[1,1]])\n",
+ "B=np.array([[11.2],[-2]])\n",
+ "C=np.linalg.solve(A,B) #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The velocities are v1=',round(C[1],1),\"ft/s\",'and v2=',round(C[0],1),\"ft/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The velocities are v1= -6.6 ft/s and v2= 4.6 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-40, Page No 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "h1=20 #m\n",
+ "h2=14 #m\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "u1=sqrt(2*g*h1) #m/s\n",
+ "u2=0 #m/s\n",
+ "v1=-sqrt(2*g*h2) #m/s\n",
+ "v2=0 #m/s\n",
+ "e=(v2-v1)/(u1-u2) #coefficient of restitution\n",
+ "\n",
+ "#Result\n",
+ "print'The value of coefficient of restitution is',round(e,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of coefficient of restitution is 0.84\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-41, Page No 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "u=6.55 #ft/s\n",
+ "g=32.2 #ft/s**2\n",
+ "L=6 #ft\n",
+ "W=5 #lb\n",
+ "c=0.7 #fraction of impulse acting in second phase\n",
+ "\n",
+ "#Calculations\n",
+ "#Impulse\n",
+ "I=(W*g**-1)*(u*3**-1) #N.s\n",
+ "#Second Phase\n",
+ "v=((-c*10.9)/2)+u #ft/s\n",
+ "wprime=(1.09*60+c*(W*u*(3**-1)*6))/60 #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The value is v=',round(v,2),\"ft/s to the right\",' and that of w is',round(wprime,2),\"rad/s counterclockwise.\"\n",
+ "\n",
+ "#The value of w is incorrect in the textbook\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value is v= 2.73 ft/s to the right and that of w is 1.85 rad/s counterclockwise.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-42, Page No 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=9 #kg\n",
+ "m2=5.5 #kg\n",
+ "u1=-3 #m/s\n",
+ "u2=1.77 #m/s\n",
+ "e=0.8 #coefficient of restitution\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving by matrix method after we get the two equations\n",
+ "A=np.array([[-1,1],[m1,m2]])\n",
+ "B=np.array([[(e*u1-e*u2)],[m1*u1+m2*u2]])\n",
+ "C=np.linalg.solve(A,B) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print'The 9kg ball will rebound up the speed of',round(C[0],2),\"m/s\",'and the 5.5 kg ball will move to the right and down with components of',round(u2,2),\"m/s\",'and',round(-C[1],2),\"m/s respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The 9kg ball will rebound up the speed of 0.26 m/s and the 5.5 kg ball will move to the right and down with components of 1.77 m/s and 3.56 m/s respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-46, Page No 451"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "v=4 #m/s\n",
+ "m=9 #kg\n",
+ "s=1.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "Io=(2*3**-1)*(m*s**2) #kg.m\n",
+ "w=(m*v*s*0.5)/Io #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The angular velocity of the box is',round(w),\"rad/s clockwise.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angular velocity of the box is 2.0 rad/s clockwise.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-48, Page No 452"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=2000 #kg\n",
+ "mf=8500 #kg\n",
+ "vr=2000 #m/s\n",
+ "a=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Newtons Second Law\n",
+ "dm_dt=-(-((m+mf)*a)-(m+mf)*a)/(-vr) #kg/s\n",
+ "\n",
+ "#Result\n",
+ "print'dm/dt=',round(dm_dt),\"kg/s\"\n",
+ "#The negative sign indicates the loss in the mass of the system\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dm/dt= -103.0 kg/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-50, Page No 453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=4000 #lb\n",
+ "k=3 #ft\n",
+ "wp=(60**-1)*2*pi #rad/s\n",
+ "ws=(300/60)*2*pi #rad/s\n",
+ "d=3.5 #ft\n",
+ "g=32.2 #ft/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "I=(W/g)*k**2 #slug-ft**2\n",
+ "M=I*ws*wp #lb-ft\n",
+ "#Now equating M to Rf-Rr gives one equations and vertical sum yields other\n",
+ "#solving them by matrix method\n",
+ "A=np.array([[1,-1],[1,1]])\n",
+ "B=np.array([[M*(2/d)],[W]])\n",
+ "C=np.linalg.solve(A,B) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The weight of Rf and Rr are',round(C[0]),\"lb\",'and',round(C[1]),\"lb respectively.\"\n",
+ "\n",
+ "# The answers in the textbook are incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The weight of Rf and Rr are 3051.0 lb and 949.0 lb respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-51, Page No 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#As the integration is indefinite we will directly consider the equation with R\n",
+ "#Initillization of variables\n",
+ "GM=1.41*10**16 #ft**3/s**2\n",
+ "r=2640000 #ft\n",
+ "theta=60 #degrees\n",
+ "R=21120000 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "v1=sqrt((GM*((R**-1)-((R+r)**-1)))/2.031) #ft/s\n",
+ "\n",
+ "#Result\n",
+ "print'The speed required will be',round(v1),\"ft/s\"\n",
+ "\n",
+ "# Answer may wary due to decimal point discrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The speed required will be 6043.0 ft/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18-52, Page No 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "k=4 #lb/ft\n",
+ "so=1 #ft\n",
+ "W=2**-1 #lb\n",
+ "g=32.2 #ft/s**2\n",
+ "vo=5 #ft/s\n",
+ "\n",
+ "#Calculations\n",
+ "m=W/g #kg\n",
+ "#Angular momentum is conserved\n",
+ "v=sqrt((0.5*k*so**2*2*2*g)+vo**2) #ft/s\n",
+ "#Using vd=15\n",
+ "d=15/v #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The ball passes',round(d,2),\"ft close to the fixed pin\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ball passes 0.89 ft close to the fixed pin\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter19.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter19.ipynb
new file mode 100755
index 00000000..98ce73cc
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter19.ipynb
@@ -0,0 +1,503 @@
+{
+ "metadata": {
+ "name": "chapter 19.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 19: MECHANICAL VIBRATIONS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-2, Page No:465"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "k=18 #lb/in\n",
+ "g=386 #in/s**2\n",
+ "W=35 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "f=(1/(2*pi))*sqrt((k*g/W)) #cps\n",
+ "period=1/f #s\n",
+ "\n",
+ "#Result\n",
+ "print'The period of vibration is',round(period,2),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The period of vibration is 0.45 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-11, Page No:471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "ds=0.2 #m\n",
+ "ts=0.05 #m\n",
+ "rhos=7850 #kg/m**3 density of steel\n",
+ "dw=0.002 #m\n",
+ "lw=0.9 #m\n",
+ "G=80*10**9 #Pa\n",
+ "\n",
+ "#Calculations\n",
+ "#Torsional Constant\n",
+ "K=(pi*dw**4*G)/(32*lw) #m/rad\n",
+ "#Mass Calculations\n",
+ "m=(4**-1)*pi*(ds**2)*ts*rhos #kg\n",
+ "#Moment of Inertia\n",
+ "Io=(0.5)*m*(ds*2**-1)**2 #kg.m**2\n",
+ "#Frequency\n",
+ "f=(1*(2*pi)**-1)*(sqrt(K*Io**-1)) #Hz\n",
+ "\n",
+ "#Result\n",
+ "print'The natural frequency of the system is',round(f,2),\"Hz\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The natural frequency of the system is 0.24 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-13, Page No 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=120 #kg\n",
+ "k=0.3 #m\n",
+ "ls=0.6 #m\n",
+ "ds=0.05 #m\n",
+ "G=80*10**9 #Pa\n",
+ "\n",
+ "#Calculations\n",
+ "#Polar Moment of Inertia\n",
+ "J1=m*k**2 #kg.m**2\n",
+ "J2=J1 #kg.m**2\n",
+ "J=(32**-1)*pi*(ds**4) #m**4\n",
+ "#Frequency\n",
+ "f=(1/(2*pi))*(sqrt((J*G*(J1+J2))/(ls*J1*J2))) #Hz\n",
+ "\n",
+ "#Result\n",
+ "print'The natural frequency of the torsional oscillation is',round(f,1),\"Hz\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The natural frequency of the torsional oscillation is 19.6 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-14, Page No: 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "ds=2 #in\n",
+ "L=15 #in\n",
+ "Wf1=300 #lb\n",
+ "k1=6 #in\n",
+ "Wf2=100 #lb\n",
+ "k2=4 #in\n",
+ "G=12*10**6 #Pa\n",
+ "g=386 #in/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Moment of inertia of flywheel\n",
+ "Jf=(Wf1*g**-1)*k1**2 #lb-s**2-in\n",
+ "#Moment of inertia of the rotor\n",
+ "Jr=(Wf2*g**-1)*k2**2 #lb-s**2-in\n",
+ "#Moment of inertia of the shaft cross section\n",
+ "J=(32**-1)*pi*ds**4 #in**4\n",
+ "#Frequency\n",
+ "f=((pi*2)**-1)*(sqrt((J*G*(Jf+Jr))*(L*Jf*Jr)**-1)) #cps\n",
+ "\n",
+ "#Result\n",
+ "print'The natural frequency of the system is',round(f,1),\"cps\"\n",
+ "\n",
+ "#The answer may wary due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The natural frequency of the system is 93.9 cps\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-15, Page No: 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=10 #lb\n",
+ "A=2 #in**2\n",
+ "#Calculations\n",
+ "\n",
+ "wn=sqrt(((A*144**-1)*5*62.4*5)/2.59) #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The frequency of oscillation is',round(wn,2),\"rad/s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillation is 2.89 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-16, Page No:474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "f=50 #cps\n",
+ "g=386 #in/s**2\n",
+ "E=30*10**6 #lb/in**2\n",
+ "l=4 #in\n",
+ "I=2.08*10**-6 #in**4\n",
+ "\n",
+ "#Calculations\n",
+ "W=(3*E*I*g)/(((f*2*pi)**2)*l**3) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of W is',round(W,3),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of W is 0.011 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-19, Page No:478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=10 #lb\n",
+ "v=20 #in/s\n",
+ "g=386 #in/s\n",
+ "W=12 #lb\n",
+ "k=20 #lb/in\n",
+ "\n",
+ "#Calculations\n",
+ "#Coefficient of damping\n",
+ "c=F*(v**-1) #lb-s/in\n",
+ "#Natural Frequency\n",
+ "wn=sqrt((k*g)/W) #rad/s\n",
+ "#Critical Damping coefficient\n",
+ "cr=(2*W*(g**-1))*wn #lb-s/in\n",
+ "#Damping Coefficient\n",
+ "d=c*(cr**-1)\n",
+ "#Frequency of damped vibrations\n",
+ "wd=sqrt(1-d**2)*wn #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print'The frequency of damped vibrations is',round(wd,1),\"rad/s\"\n",
+ "\n",
+ "# The answer is off by 0.1 units"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of damped vibrations is 24.0 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-20, Page No 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "wn=25.4 #rad/s\n",
+ "t=0.261 #s\n",
+ "d=0.316\n",
+ "\n",
+ "#Calculations\n",
+ "delta=d*t*wn #logarithmic decay\n",
+ "\n",
+ "#Result\n",
+ "print'The rate of decay is',round(delta,3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rate of decay is 2.095\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-24, Page No 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=9 #N\n",
+ "m=5 #kg\n",
+ "k=6000 #N/m\n",
+ "f1=1 #Hz\n",
+ "f2=5.4 #Hz\n",
+ "f3=50 #Hz\n",
+ "\n",
+ "#Calculations\n",
+ "#Natural Frequency\n",
+ "fn=((pi*2)**-1)*(sqrt(k/m)) #Hz\n",
+ "deltaf=F*(k/1000)**-1 #mm\n",
+ "#Part(a)\n",
+ "r1=f1*fn**-1\n",
+ "amp1=deltaf*(1-r1**2)**-1 #mm amplitude\n",
+ "#Part (b)\n",
+ "r2=f2*fn**-1\n",
+ "amp2=deltaf/(1-r2**2) #mm amplitude\n",
+ "#Part (c)\n",
+ "r3=f3*fn**-1\n",
+ "amp3=deltaf/(1-r3**2) #mm amplitude\n",
+ "\n",
+ "#Result\n",
+ "print'The amplitudes in part (a),(b) and (c) respectively are',round(amp1,3),\"mm ,\",round(amp2,1),\"mm and\",round(amp3,3),\"mm\"\n",
+ "\n",
+ "# The answer for amp2 is incorrect in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The amplitudes in part (a),(b) and (c) respectively are 1.551 mm , 36.9 mm and -0.018 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-25, Page No 483"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of vraiables\n",
+ "g=386 #in/s**2\n",
+ "W=20 #lb\n",
+ "w=600 #rpm\n",
+ "ratio=12**-1\n",
+ "\n",
+ "#Calculations\n",
+ "r=sqrt((1*ratio**-1)+1) \n",
+ "fn=((w/60)/r) #cps\n",
+ "k=((fn*2*pi)**2*W)/(g) #lb/in\n",
+ "\n",
+ "#Result\n",
+ "print'The value of k is',round(k,1),\"lb/in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of k is 15.7 lb/in\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19-28, Page No 487"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "X=12 #mm\n",
+ "me_M=1.3 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "d=(me_M)/(2*X)\n",
+ "\n",
+ "#Result\n",
+ "print'The damping ratio is',round(d,3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The damping ratio is 0.054\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter2.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter2.ipynb
new file mode 100755
index 00000000..9a6ee7f9
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter2.ipynb
@@ -0,0 +1,562 @@
+{
+ "metadata": {
+ "name": "chapter 2.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Operations with Forces"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-1, Page No: 21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=20 #lb\n",
+ "L=4.33 #ft\n",
+ "#Calculation\n",
+ "M=-F*L #lb-ft\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The moment of force F about O is',round(M,1),\"lb-ft\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of force F about O is -86.6 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-2, Page no: 22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=20 #lb\n",
+ "theta=((60*pi)/180) #radians\n",
+ "L=5 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "F_x=F*cos(theta) #Resloving the vector\n",
+ "F_y=F*sin(theta) #Resloving the vector\n",
+ "M=-F_y*L #Appling Varignon's theorem\n",
+ "#Negative sign tells that moment is clockwise\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The moment of the force about O is',round(M,1),\"lb-ft\"\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of the force about O is -86.6 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-3,Page No: 22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=100 #N\n",
+ "x1=2 #m\n",
+ "x2=5 #m\n",
+ "y1=0 #m\n",
+ "y2=1 #m\n",
+ "z1=4 #m\n",
+ "z2=1 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "xside=(x2-x1) #m\n",
+ "yside=(y2-y1) #m\n",
+ "zside=(z2-z1) #m\n",
+ "LD=sqrt(xside**2+yside**2+zside**2)\n",
+ "Fx=(xside/LD)*F #N\n",
+ "Fy=(yside/LD)*F #N\n",
+ "Fz=(zside/LD)*F #N\n",
+ "Mx=-Fy*z1 #N-m\n",
+ "My=Fx*x1-Fz*z1 #N-m\n",
+ "Mz=Fy*x1 #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'Fx is',round(Fx,1),\"N\"\n",
+ "print'Fy is',round(Fy,1),\"N\"\n",
+ "print'Fz is',round(Fz,1),\"N\"\n",
+ "print'Moment about X-Axis is',round(Mx,1),\"N.m\"\n",
+ "print'Moment about Y-Axis is +',round(My),\"N.m\"\n",
+ "print'Moment about Z-Axis is +',round(Mz,1),\"N.m\"\n",
+ "\n",
+ "# Decimal point error in calculation causes a small discrepancy in the resulting solutions."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fx is 68.8 N\n",
+ "Fy is 22.9 N\n",
+ "Fz is -68.8 N\n",
+ "Moment about X-Axis is -91.8 N.m\n",
+ "Moment about Y-Axis is + 413.0 N.m\n",
+ "Moment about Z-Axis is + 45.9 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-4, Page No: 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "Fx=68.7 #N\n",
+ "Fy=22.9 #N\n",
+ "Fz=-68.7 #N\n",
+ "rx=2 #m\n",
+ "ry=0 #m\n",
+ "rz=4 #m\n",
+ "rx1=5 #m\n",
+ "ry1=1 #m\n",
+ "rz1=1 #m\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Mx=Fz*ry-Fy*rz #N-m\n",
+ "My=-(Fz*rx-Fx*rz) #N-m\n",
+ "Mz=Fy*rx-Fx*ry #N-m\n",
+ "Mx1=Fz*ry1-Fy*rz1 #N-m\n",
+ "My1=-(Fz*rx1-Fx*rz1) #N-m\n",
+ "Mz1=Fy*rx1-Fx*ry1 #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'Moment with respect to origin using point(2,0,4)is',round(Mx,1),\"i +\",round(My),\"j +\",round(Mz,1),\"k N.m\"\n",
+ "print'Moment with respect to origin using point (5,1,1) is',round(Mx1,1),\"i +\",round(My1),\"j +\",round(Mz1,1),\"k N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment with respect to origin using point(2,0,4)is -91.6 i + 412.0 j + 45.8 k N.m\n",
+ "Moment with respect to origin using point (5,1,1) is -91.6 i + 412.0 j + 45.8 k N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-5, Page no: 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "Fx=2 #lb\n",
+ "Fy=3 #lb\n",
+ "Fz=-1 #lb\n",
+ "rx=1 #ft\n",
+ "ry=-4 #ft\n",
+ "rz=3 #ft\n",
+ "#Coordinates of points\n",
+ "ax=3 #ft\n",
+ "ay=1 #ft\n",
+ "az=1 #ft\n",
+ "bx=3 #ft\n",
+ "by=-1 #ft\n",
+ "bz=1 #ft\n",
+ "cx=2 #ft\n",
+ "cy=5 #ft\n",
+ "cz=-2 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Rx=ax-cx #ft\n",
+ "Ry=ay-cy #ft\n",
+ "Rz=az-cz #ft\n",
+ "Mx=(Ry*Fz)-(Rz*Fy) #lb-ft\n",
+ "My=-((Rx*Fz)-(Rz*Fx)) #lb-ft\n",
+ "Mz=(Rx*Fy)-(Ry*Fx) #lb-ft\n",
+ "E_u=sqrt((bx-cx)**2+(by-cy)**2+(bz-cz)**2) #ft\n",
+ "ex=(bx-cx)/E_u #ft\n",
+ "ey=(by-cy)/E_u #ft\n",
+ "ez=(bz-cz)/E_u #ft\n",
+ "M_lx=Mx*ex #lb-ft\n",
+ "M_ly=My*ey #lb-ft\n",
+ "M_lz=Mz*ez #lb-ft\n",
+ "M_l=M_lx+M_ly+M_lz #lb-ft\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'Hence the moment about line is',round(M_l,2),\"lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Hence the moment about line is -2.06 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-6, Page No: 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "P_x=22 #N\n",
+ "P_y=23 #N\n",
+ "P_z=7 #N\n",
+ "p1=1 #m\n",
+ "p2=-1 #m\n",
+ "p3=-2 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Mx=(p2*P_z)-(p3*P_y) #N-m\n",
+ "My=-((p1*P_z)-(p3*P_x)) #N-m\n",
+ "Mz=(p1*P_y)-(p2*P_x) #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The moment about the line from the origin is',round(Mx),\"i\",round(My),\"j +\",round(Mz),\"k N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment about the line from the origin is 39.0 i -51.0 j + 45.0 k N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-8, Page No: 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=10 #N Force couple\n",
+ "a=3 #m Moment arm\n",
+ "#Calculations\n",
+ "C=-F*a #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant couple is',round(C),\"N-m\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant couple is -30.0 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-11, Page No: 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "C1=20 #N-m\n",
+ "C2=40 #N-m\n",
+ "C3=-55 #N-m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "C=sqrt(C1**2+C2**2+C3**2) #N-m\n",
+ "thetax=C2/C \n",
+ "thetay=C3/C\n",
+ "thetaz=C1/C\n",
+ "Cx=C*thetax #N-m\n",
+ "Cy=C*thetay #N-m\n",
+ "Cz=C*thetaz #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'Couple in vector notation is',round(Cx),\"i\",round(Cy),\"j +\",round(Cz),\"k N.m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Couple in vector notation is 40.0 i -55.0 j + 20.0 k N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-12,Page No: 26"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=25 #lb\n",
+ "F2=25 #lb\n",
+ "L1=14 #in\n",
+ "L2=20 #in\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "C=F1*L1 #lb-in\n",
+ "M=-F2*L2 #lb-in\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The twisting couple is',round(C),\"lb-in\"\n",
+ "print'The bending moment is',round(M),\"lb-in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The twisting couple is 350.0 lb-in\n",
+ "The bending moment is -500.0 lb-in\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-13, Page No: 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "rx=20 #in\n",
+ "ry=0 #in\n",
+ "rz=14 #in\n",
+ "Fx=0 #lb\n",
+ "Fy=-25 #lb\n",
+ "Fz=0 #lb\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Mx=ry*Fz-rz*Fy #lb-in\n",
+ "My=rx*Fz-rz*Fx #lb-in\n",
+ "Mz=rx*Fy-ry*Fx #lb-in\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The moment of the 25-lb force is',round(Mx),\"i +\",round(My),\"j\",round(Mz),\"k lb-in\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of the 25-lb force is 350.0 i + 0.0 j -500.0 k lb-in\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2-14,Page No: 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "#Co-ordinates with respect to point O\n",
+ "x=17.9 #ft\n",
+ "y=6.91 #ft\n",
+ "z=46.3 #ft\n",
+ "Fz=-4000 #lb\n",
+ "Fy=0 #lb\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Mx=y*Fz-z*Fy #lb-ft\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The scalar coefficient of the i term is the moment about the X-Axis is',round(Mx,3),\"lb-ft\"\n",
+ "\n",
+ "# The answer given in the textbook is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The scalar coefficient of the i term is the moment about the X-Axis is -27640.0 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter3.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter3.ipynb
new file mode 100755
index 00000000..7c92c89f
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter3.ipynb
@@ -0,0 +1,797 @@
+{
+ "metadata": {
+ "name": "chapter 3.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 3: Resultants of Coplanar Force Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Example 3.3-1, Page no: 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=150 #lb\n",
+ "F2=200 #lb\n",
+ "F3=80 #lb\n",
+ "F4=180 #lb\n",
+ "theta1=((30*pi)/180) #radians\n",
+ "theta2=((150*pi)/180) #radians\n",
+ "theta3=((240*pi)/180) #radians\n",
+ "theta4=((315*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "F1x=F1*cos(theta1) #lb\n",
+ "F1y=F1*sin(theta1) #lb\n",
+ "F2x=F2*cos(theta2) #lb\n",
+ "F2y=F2*sin(theta2) #lb\n",
+ "F3x=F3*cos(theta3) #lb\n",
+ "F3y=F3*sin(theta3) #lb\n",
+ "F4x=F4*cos(theta4) #lb\n",
+ "F4y=F4*sin(theta4) #lb\n",
+ "Fx=F1x+F2x+F3x+F4x #lb\n",
+ "Fy=F1y+F2y+F3y+F4y #lb\n",
+ "R=sqrt(Fx**2+Fy**2) #lb\n",
+ "theta=((arctan(Fy/Fx))*180)/pi #degrees\n",
+ "theta_R=360+theta #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The resultant is at',round(theta_R),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 49.0 lb\n",
+ "The resultant is at 334.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-2, Page no: 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=50 #N\n",
+ "F2=100 #N\n",
+ "F3=30 #N\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#The book has a misprint for squareroot of 1**2\n",
+ "F1x=F1/sqrt(2) #N \n",
+ "F1y=F1/sqrt(2) #N\n",
+ "F2x=-(F2*3)/sqrt(10) #N\n",
+ "F2y=(-F2)/sqrt(10) #N\n",
+ "F3x=F3/sqrt(5) #N\n",
+ "F3y=(-F3*2)/sqrt(5) #N\n",
+ "Fx=F1x+F2x+F3x #N\n",
+ "Fy=F1y+F2y+F3y #N\n",
+ "R=sqrt(Fx**2+Fy**2) #N\n",
+ "theta=arctan(Fy/Fx) #radians\n",
+ "theta_x=180+(theta*180)/pi #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant is',round(R,1),\"N\"\n",
+ "print'The resultant makes an angle of',round(theta_x),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant is 51.6 N\n",
+ "The resultant makes an angle of 207.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-3, Page no: 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=70 #lb\n",
+ "F2=100 #lb\n",
+ "F3=125 #lb\n",
+ "theta1=0 #radians\n",
+ "theta2=((10*pi)/180) #radians\n",
+ "theta3=((30*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Fx=F1-(F2*cos(theta3))-(125*sin(theta2)) #lb\n",
+ "Fy=125*cos(theta2)-(100*sin(theta3)) #lb\n",
+ "R=sqrt(Fx**2+Fy**2) #lb\n",
+ "theta=arctan(Fy/Fx) #radians\n",
+ "theta_x=180+(theta*180)/pi #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R,1),\"lb\"\n",
+ "print'The resultant with respect to X axis is at',round(theta_x),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 82.5 lb\n",
+ "The resultant with respect to X axis is at 118.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-4, Page No: 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=-20 #N\n",
+ "F2=30 #N\n",
+ "F3=5 #N\n",
+ "F4=-40 #N\n",
+ "#Distances with respect to point O\n",
+ "x1=6 #m\n",
+ "x2=0 #m\n",
+ "x3=8 #m\n",
+ "x4=13 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=F1+F2+F3+F4 #N\n",
+ "# Applying moment about point O equal to zero\n",
+ "M_O=-(F1*x1)+(F2*x2)+(F3*x3)+(F4*x4) #N-m\n",
+ "#Applying moment about point O equal to R*x\n",
+ "x=M_O/R #m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of force system is',round(R),\"N\"\n",
+ "print'The moment about point O is',round(M_O),\"N.m\"\n",
+ "print'The resultant of moment acts at',round(x,1),\"m (to the right of O)\"\n",
+ "\n",
+ "# The answer for M_O & R is correct but x waries due to some discrepancy in python."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of force system is -25.0 N\n",
+ "The moment about point O is -360.0 N.m\n",
+ "The resultant of moment acts at 14.0 m (to the right of O)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-5, Page No: 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=-100 #lb\n",
+ "F2=200 #lb\n",
+ "F3=-200 #lb\n",
+ "F4=400 #lb\n",
+ "F5=-300 #lb\n",
+ "#Distance with respect to point O\n",
+ "x1=0 #ft\n",
+ "x2=2 #ft\n",
+ "x3=5 #ft\n",
+ "x4=9 #ft\n",
+ "x5=11 #ft\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R=F1+F2+F3+F4+F5 #lb\n",
+ "M_O=(F1*x1)+(F2*x2)+(F3*x3)+(F4*x4)+(F5*x5) #N-m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The moment about point O is',round(M_O),\"lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 0.0 lb\n",
+ "The moment about point O is -300.0 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-6, Page no: 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=20 #lb\n",
+ "F2=20 #lb\n",
+ "F3=-40 #lb\n",
+ "#Distance from point O\n",
+ "x1=3 #ft\n",
+ "x2=3 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=F1+F2+F3 #lb\n",
+ "M_O=-(F1*x1)+(F2*x2) #lb-ft\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The Moment about point O is',round(M_O),\"lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 0.0 lb\n",
+ "The Moment about point O is 0.0 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-7, Page No: 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=500 #N\n",
+ "F2=-400 #N\n",
+ "F3=-200 #N\n",
+ "C=1500 #N-m\n",
+ "#Distance from point O\n",
+ "x1=2 #m\n",
+ "x2=4 #m\n",
+ "x3=6 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=F1+F2+F3 #N\n",
+ "M_O=(F1*x1)+(F2*x2)+(F3*x3)+C #N-m\n",
+ "#Applying Varignons theorem\n",
+ "x=M_O/R #m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"N\"\n",
+ "print'The moment about point O is',round(M_O),\"N.m\"\n",
+ "print'The resultant acts at',round(x),\"m (from point O)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is -100.0 N\n",
+ "The moment about point O is -300.0 N.m\n",
+ "The resultant acts at 3.0 m (from point O)\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-8,Page No: 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=50 #lb\n",
+ "F2=100 #lb\n",
+ "theta1=((45*pi)/180) #radians\n",
+ "#Distance from point O\n",
+ "x1=5 #ft\n",
+ "x2=4 #ft\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "F_x=F1-(F2*cos(theta1)) #lb\n",
+ "F_y=F1-(F2*sin(theta1)) #lb\n",
+ "R=sqrt(F_x**2+F_y**2) #lb\n",
+ "M_O=F1*x1-(x2*F1) #lb-ft\n",
+ "#Applying Varignons Theorem\n",
+ "x=M_O/R #ft\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R,1),\"lb\"\n",
+ "print'The Moment about point O is',round(M_O),\"lb-ft\"\n",
+ "print'The Resultant acts at',round(x,2),\"ft (from point O)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 29.3 lb\n",
+ "The Moment about point O is 50.0 lb-ft\n",
+ "The Resultant acts at 1.71 ft (from point O)\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-9, Page no: 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "A=80 #N\n",
+ "B=120 #N\n",
+ "C=100 #N\n",
+ "D=50 #N\n",
+ "thetaA=((90*pi)/180) #radians\n",
+ "thetaB=((150*pi)/180) #radians\n",
+ "thetaC=((45*pi)/180) #radians\n",
+ "thetaD=((340*pi)/180) #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Ax=A*cos(thetaA) #N\n",
+ "Ay=A*sin(thetaA) #N\n",
+ "Bx=B*cos(thetaB) #N\n",
+ "By=B*sin(thetaB) #N\n",
+ "Cx=C*cos(thetaC) #N\n",
+ "Cy=C*sin(thetaC) #N\n",
+ "Dx=D*cos(thetaD) #N\n",
+ "Dy=D*sin(thetaD) #N\n",
+ "M_Ax=0 #N-m\n",
+ "M_Ay=0 #N-m\n",
+ "M_Bx=-Bx*5 #N-m\n",
+ "M_By=By*8 #N-m\n",
+ "M_Cx=-Cx*1 #N-m\n",
+ "M_Cy=Cy*1 #N-m\n",
+ "M_Dx=-Dx*-1 #N-m\n",
+ "M_Dy=Dy*8 #N-m\n",
+ "Fx=Ax+Bx+Cx+Dx #N\n",
+ "Fy=Ay+By+Cy+Dy #N\n",
+ "R=sqrt(Fx**2+Fy**2) #N\n",
+ "M_O=M_Dx+M_Dy+M_Cx+M_Cy+M_Bx+M_By+M_Ax+M_Ay #N-m\n",
+ "theta=arctan(Fy/Fx) #radians\n",
+ "theta_x=(theta*180)/pi #degrees\n",
+ "#Appliying Varignons theorem\n",
+ "x=M_O/R #m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"N\"\n",
+ "print'The moment about point O is +',round(M_O),\"N.m\"\n",
+ "print'The resultant acts at and angle of',round(theta_x),\"degrees (with respect to X axis)\"\n",
+ "print'The resultant of the force system acts at',round(x,1),\"m (from point O)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 194.0 N\n",
+ "The moment about point O is + 910.0 N.m\n",
+ "The resultant acts at and angle of 86.0 degrees (with respect to X axis)\n",
+ "The resultant of the force system acts at 4.7 m (from point O)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-10, Page No: 37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=100 #lb\n",
+ "F2=80 #lb\n",
+ "F3=120 #lb\n",
+ "F4=150 #lb\n",
+ "theta1=((60*pi)/180) #radians\n",
+ "theta2=((45*pi)/180) #radians\n",
+ "theta3=((90*pi)/180) #radians\n",
+ "theta4=((75*pi)/180) #radians\n",
+ "#Distance from point O\n",
+ "x1=-5 #ft\n",
+ "y1=20 #ft\n",
+ "x2=10 #ft\n",
+ "y2=10 #ft\n",
+ "x3=25 #ft\n",
+ "y3=25 #ft\n",
+ "x4=35 #ft\n",
+ "y4=15 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Fx=F1*cos(theta1)+F2*cos(theta2)+F4*cos(theta4) #lb\n",
+ "Fy=-F1*sin(theta1)+F2*sin(theta2)-F3-F4*sin(theta4) #lb\n",
+ "R=sqrt(Fx**2+Fy**2) #lb\n",
+ "theta=arctan(Fy/Fx) #radians\n",
+ "theta_x=(theta*180)/pi #degrees\n",
+ "M_O=-(F1*cos(theta1)*y1)+(-x1)*(F1*sin(theta1))-(x2)*(F2*cos(theta2))+(y2)*(F2*sin(theta2))-(x3*F3)-(y4*F4*cos(theta4))-(x4*F4*sin(theta4)) #lb-ft\n",
+ "#Applying varignons theorem\n",
+ "x=M_O/Fy #ft\n",
+ "y=-M_O/Fx #ft\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The resultant acts at',round(theta_x,1),\"degrees(with respect to X axis)\"\n",
+ "print'The moment about point O is',round(M_O),\"lb-ft\"\n",
+ "print'The x intercept of resultant is',round(x,1),\"ft\"\n",
+ "print'The y intercept of resultant is',round(y,1),\"ft\"\n",
+ "#Answer for angle should be negative which has not been mentioned in the tectbook but a schematic shows the angle in fourth quadrant to clarify the doubt \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 329.0 lb\n",
+ "The resultant acts at -63.8 degrees(with respect to X axis)\n",
+ "The moment about point O is -9220.0 lb-ft\n",
+ "The x intercept of resultant is 31.3 ft\n",
+ "The y intercept of resultant is 63.4 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-11, Page No: 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=150 #lb\n",
+ "F2=80 #lb\n",
+ "F3=100 #lb\n",
+ "F4=50 #lb\n",
+ "theta1=((45*pi)/180) #radians\n",
+ "r=3 #units\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Fh=F1-F3*cos(theta1) #lb\n",
+ "Fv=F4-F2-F3*sin(theta1) #lb\n",
+ "R=sqrt(Fh**2+Fv**2) #lb\n",
+ "#Applying the Varignons Theorem\n",
+ "a=(F4*r-F1*r+F2*r-F3*r)/R # ft\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R),\"lb\"\n",
+ "print'The resultant acts at',round(a,2),\"ft (from point O)\"\n",
+ "#Negative sign indicates a negative moment caused by the resultant\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 128.0 lb\n",
+ "The resultant acts at -2.81 ft (from point O)\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-12, Page no: 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F1=150 #lb\n",
+ "F2=200 #lb\n",
+ "F3=200 #lb\n",
+ "F4=225 #lb\n",
+ "M=900 #lb-ft\n",
+ "Theta1=(45*pi)/180 #radians\n",
+ "Theta2=(30*pi)/180 #radians\n",
+ "x1=3 #ft\n",
+ "x2=15 #ft\n",
+ "x3=12 #ft\n",
+ "x4=6 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "Fx=F1*cos(Theta1)+F2-F4*cos(Theta2) #Applying sum of all forces equal to zero in X direction\n",
+ "Fy=F1*sin(Theta1)-F4*sin(Theta2)+F2 #Applying sum of all forces equal to zero in Y direction\n",
+ "R=sqrt(Fx**2+Fy**2) #lb\n",
+ "theta=(arctan(Fy/Fx))*(180/pi) #degrees\n",
+ "M_o=x1*F2-x2*F1*cos(Theta1)+x3*F1*sin(Theta1)-x4*F2+M+x4*F4*cos(Theta2)-x1*F4*sin(Theta2) #Moment about point O\n",
+ "x=M_o/Fy # in -Varignons Theorem \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The x intercept of resultant position is',round(x,1),\"in\"\n",
+ "print'The Resultant is',round(R),\"lb\"\n",
+ "print'The resultant acts at an angle of',round(theta),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The x intercept of resultant position is 4.2 in\n",
+ "The Resultant is 223.0 lb\n",
+ "The resultant acts at an angle of 60.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-13, Page No: 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return 20\n",
+ "a=1\n",
+ "b=1\n",
+ "I=quad(integrand, 0, 6, args=(a,b))\n",
+ "\n",
+ "def integrand(x, a, b):\n",
+ " return 20*x\n",
+ "a=1\n",
+ "b=1\n",
+ "J=quad(integrand, 0, 6, args=(a,b))\n",
+ "d=J[0]/I[0]\n",
+ "\n",
+ "# Results\n",
+ "print'The value of R is',round(I[0]),\"lb\"\n",
+ "print'The value of d is',round(d),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R is 120.0 lb\n",
+ "The value of d is 3.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3-14, Page no: 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import quad\n",
+ "def integrand(x, a, b):\n",
+ " return (x/9)*30\n",
+ "a=1\n",
+ "b=1\n",
+ "I=quad(integrand, 0, 9, args=(a,b))\n",
+ "\n",
+ "def integrand(y, a, b):\n",
+ " return y*(y/9)*30\n",
+ "a=1\n",
+ "b=1\n",
+ "J=quad(integrand, 0, 9, args=(a,b))\n",
+ "d=J[0]/I[0]\n",
+ "\n",
+ "# Results\n",
+ "print'The value of R is',round(I[0]),\"N\"\n",
+ "print'The value of d is',round(d),\"m\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R is 135.0 N\n",
+ "The value of d is 6.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter4.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter4.ipynb
new file mode 100755
index 00000000..c2e59463
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter4.ipynb
@@ -0,0 +1,365 @@
+{
+ "metadata": {
+ "name": "chapter 4.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 4: Resultants of Non-coplanar Force Systems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-1, Page no: 48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "#Initilization Of Variables\n",
+ "\n",
+ "F1=20 #lb\n",
+ "F2=15 #lb\n",
+ "F3=30 #lb\n",
+ "F4=50 #lb\n",
+ "#Co-ordinates of Forces\n",
+ "C1=np.array([2,1,6])\n",
+ "C2=np.array([4,-2,5])\n",
+ "C3=np.array([-3,-2,1])\n",
+ "C4=np.array([5,1,-2])\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "A=(C1[0]**2+C1[1]**2+C1[2]**2)**0.5\n",
+ "B=(C2[0]**2+C2[1]**2+C2[2]**2)**0.5\n",
+ "C=(C3[0]**2+C3[1]**2+C3[2]**2)**0.5\n",
+ "D=(C4[0]**2+C4[1]**2+C4[2]**2)**0.5\n",
+ "#Calculations for cos(thetax),cos(thetay) and cos(thetaz)\n",
+ "theta1=(A**-1)*np.array([C1[0],C1[1],C1[2]])\n",
+ "theta2=(B**-1)*np.array([C2[0],C2[1],C2[2]])\n",
+ "theta3=(C**-1)*np.array([C3[0],C3[1],C3[2]])\n",
+ "theta4=(D**-1)*np.array([C4[0],C4[1],C4[2]])\n",
+ "#Calculations for forces (in form of force vectors)\n",
+ "Fa=F1*np.array([theta1[0],theta1[1],theta1[2]]) #lb\n",
+ "Fb=F2*np.array([theta2[0],theta2[1],theta2[2]]) #lb\n",
+ "Fc=F3*np.array([theta3[0],theta3[1],theta3[2]]) #lb\n",
+ "Fd=F4*np.array([theta4[0],theta4[1],theta4[2]]) #lb\n",
+ "Fx=Fa[0]+Fb[0]+Fc[0]+Fd[0] #lb\n",
+ "Fy=Fa[1]+Fb[1]+Fc[1]+Fd[1] #lb\n",
+ "Fz=Fa[2]+Fb[2]+Fc[2]+Fd[2] #lb\n",
+ "R=(Fx**2+Fy**2+Fz**2)**0.5 #lb\n",
+ "thetax=arccos(Fx*R**-1)*(180/pi) #degrees\n",
+ "thetay=180-((180*arccos(Fy*R**-1))/pi) #degrees\n",
+ "thetaz=(180*arccos(Fz*R**-1))/pi #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant of the force system is',round(R,1),\"lb\"\n",
+ "print'The angle of the resultant with respect to x axis is',round(thetax,1),\"degree\"\n",
+ "print'The angle of the resultant with respect to y axis is',round(thetay),\"degree\"\n",
+ "print'The angle of the resultant with respect to a axis is',round(thetaz,1),\"degree\"\n",
+ "\n",
+ "# Thetax is off by 0.1 degrees"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant of the force system is 42.5 lb\n",
+ "The angle of the resultant with respect to x axis is 30.1 degree\n",
+ "The angle of the resultant with respect to y axis is 79.0 degree\n",
+ "The angle of the resultant with respect to a axis is 62.4 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-2, Page no: 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=[20,-10,30] #N\n",
+ "#co-ordinates in meters\n",
+ "a=2 #m\n",
+ "b=4 #m\n",
+ "c=7 #m\n",
+ "d=3 #m\n",
+ "e=2 #m\n",
+ "f=4 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=F[0]+F[1]+F[2] #N\n",
+ "M_o=F[0]*a+F[1]*b+F[2]*c #N.m\n",
+ "x=M_o*R**-1 #m\n",
+ "M_x=-F[2]*f-F[0]*d-F[1]*e #N.m\n",
+ "z=-M_x/R #m\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant is +',round(R),\"N\"\n",
+ "print'The moment about point O is +',round(M_o),\"N.m\"\n",
+ "print'The position of R is at',round(x,2),\"m (from origin)\"\n",
+ "print'The moment is',round(M_x),\"N.m\"\n",
+ "print'The z co-ordinate is +',round(z),\"m\"\n",
+ "\n",
+ "# Here the value of R & M_o is correct which should yeild the vaue of x (M_o/R) correctly. However dueto some error in the software the correct value is not being printed.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant is + 40.0 N\n",
+ "The moment about point O is + 210.0 N.m\n",
+ "The position of R is at 5.25 m (from origin)\n",
+ "The moment is -160.0 N.m\n",
+ "The z co-ordinate is + 4.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-3, Page No: 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "\n",
+ "F=[100,50,-150] #Force vector N\n",
+ "a=2 #m\n",
+ "b=2 #m \n",
+ "c=3 #m\n",
+ "d=2 #m\n",
+ "e=4 #m\n",
+ "f=8 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R=F[0]+F[1]+F[2] #N\n",
+ "M_x=-F[0]*a+F[1]*b-F[2]*c #N.m\n",
+ "M_z=F[0]*d+F[1]*e+F[2]*f #N.m\n",
+ "C=sqrt(M_x**2+M_z**2) #N-m\n",
+ "thetax=arctan(M_x*-M_z**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The resultant is',round(R),\"N\"\n",
+ "print'The moment about x axis is +',round(M_x),\"N.m\"\n",
+ "print'The moment about z axis is',round(M_z),\"N.m\"\n",
+ "print'The couple acting is',round(C),\"N.m\"\n",
+ "print'The trace makes an angle with x axis of',round(thetax,1),\"degrees\"\n",
+ "\n",
+ "# The answer for C waries by 1 N.m as compared to the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant is 0.0 N\n",
+ "The moment about x axis is + 350.0 N.m\n",
+ "The moment about z axis is -800.0 N.m\n",
+ "The couple acting is 873.0 N.m\n",
+ "The trace makes an angle with x axis of 23.6 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-4, Page No: 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "x1=-2\n",
+ "y1=2\n",
+ "z1=-2\n",
+ "x2=3\n",
+ "y2=0\n",
+ "z2=-4\n",
+ "x3=3\n",
+ "y3=2\n",
+ "z3=2\n",
+ "F1=40 #lb\n",
+ "F2=30 #lb\n",
+ "F3=20 #lb\n",
+ "Mxm=np.array([-92.4,-48,-19.4])\n",
+ "Mym=np.array([-46.2,72,9.8])\n",
+ "Mzm=np.array([46.2,-36,19.4])\n",
+ "\n",
+ "#Calculations\n",
+ "mag1=(x1**2+y1**2+z1**2)**0.5\n",
+ "mag2=(x2**2+y2**2+z2**2)**0.5\n",
+ "mag3=(x3**2+y3**2+z3**2)**0.5\n",
+ "thetax1=(x1*mag1**-1) #degrees\n",
+ "thetay1=(y1*mag1**-1) #degrees\n",
+ "thetaz1=(z1*mag1**-1) #degrees\n",
+ "thetax2=(x2*mag2**-1) #degrees\n",
+ "thetay2=(y2*mag2**-1) #degrees\n",
+ "thetaz2=(z2*mag2**-1) #degrees\n",
+ "thetax3=(x3*mag3**-1) #degrees\n",
+ "thetay3=(y3*mag3**-1) #degrees\n",
+ "thetaz3=(z3*mag3**-1) #degrees\n",
+ "#Now we will define all the components in terms of matrices for simplicity of computation\n",
+ "F=np.array([F1,F2,F3]) #lb\n",
+ "Fx1=F[0]*thetax1\n",
+ "Fy1=F[0]*thetay1\n",
+ "Fz1=F[0]*thetaz1\n",
+ "Fx2=F[1]*thetax2\n",
+ "Fy2=F[1]*thetay2\n",
+ "Fz2=F[1]*thetaz2\n",
+ "Fx3=F[2]*thetax3\n",
+ "Fy3=F[2]*thetay3\n",
+ "Fz3=F[2]*thetaz3\n",
+ "Fx=Fx1+Fx2+Fx3 #lb\n",
+ "Fy=Fy1+Fy2+Fy3 #lb\n",
+ "Fz=Fz1+Fz2+Fz3 #lb\n",
+ "R=(Fx**2+Fy**2+Fz**2)**0.5 #lb\n",
+ "thetax=arccos(Fx*R**-1)*(180/pi) #degrees\n",
+ "thetay=arccos(Fy*R**-1)*(180/pi) #degrees\n",
+ "thetaz=arccos(Fz*R**-1)*(180/pi) #degrees\n",
+ "#Moment calculations\n",
+ "Mx=Mxm[0]+Mxm[1]+Mxm[2] #lb-ft\n",
+ "My=Mym[0]+Mym[1]+Mym[2] #lb-ft\n",
+ "Mz=Mzm[0]+Mzm[1]+Mzm[2] #lb-ft\n",
+ "C=(Mx**2+My**2+Mz**2)**0.5 #lb-ft\n",
+ "#Direction cosines\n",
+ "PHIx=arccos(Mx*C**-1)*(180/pi) #degrees\n",
+ "PHIy=arccos(My*C**-1)*(180/pi) #degrees\n",
+ "PHIz=arccos(Mz*C**-1)*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The result of the force is',round(R,1),\"lb\"\n",
+ "print'The angles with respect to X-Axis,Y-Axis and Z-axis are:',round(thetax,1),\"degrees\",',',round(thetay,1),\"degrees\",'and',round(thetaz,1),\"degrees respectively.\"\n",
+ "print'The magnitude of resultant couple is',round(C),\"lb-ft\"\n",
+ "print'The angles are as follows: Cosphix=',round(PHIx,1),\"degrees\",',Cosphiy=',round(PHIy,1),\"degrees\",'and Cosphiz=',round(PHIz,1),\"degrees\"\n",
+ "\n",
+ "# The answers may wary due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The result of the force is 50.6 lb\n",
+ "The angles with respect to X-Axis,Y-Axis and Z-axis are: 79.2 degrees , 49.6 degrees and 137.6 degrees respectively.\n",
+ "The magnitude of resultant couple is 166.0 lb-ft\n",
+ "The angles are as follows: Cosphix= 163.8 degrees ,Cosphiy= 77.6 degrees and Cosphiz= 79.8 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4-5, Page no 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=np.array([150,90,160]) #lb force vector kind of decleration\n",
+ "# Co-ordinates defined as [x,y,z] all the co-ordinates are in feet\n",
+ "C_1=np.array([2,0,0]) \n",
+ "C_2=np.array([0,0,1])\n",
+ "C_3=np.array([0,-2,-1])\n",
+ "C_4=np.array([-1,0,-1])\n",
+ "\n",
+ "#Calculations\n",
+ "A=C_2-C_1\n",
+ "B=C_4-C_3\n",
+ "F1=(F[0]*A)/(A[0]**2+A[1]**2+A[2]**2)**0.5\n",
+ "F2=(F[1]*B)/(B[0]**2+B[1]**2+B[2]**2)**0.5\n",
+ "R=F1+F2\n",
+ "# Determine C1 & C2\n",
+ "# Calculating the cross products of C1 & C2 as,\n",
+ "C1=np.array([[C_1[1]*F1[2]-C_1[2]*F1[1]],[-(C_1[0]*F1[2]-C_1[2]*F1[0])],[C_1[0]*F1[1]-C_1[1]*F1[0]]]) # lb-ft\n",
+ "C2=np.array([[C_3[1]*F2[2]-C_3[2]*F2[1]],[-(C_3[0]*F2[2]-C_3[2]*F2[0])],[C_3[0]*F2[1]-C_3[1]*F2[0]]]) # lb-ft\n",
+ "C3=np.array([[0],[0],[160]]) # lb-ft\n",
+ "C=C1+C2+C3\n",
+ "\n",
+ "#Result\n",
+ "print'The resultant force couple is',round(C[0],1),\"i\",round(C[1],1),\"j +\",round(C[2],1),\"k lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant force couple is 80.5 i -93.9 j + 79.5 k lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter5.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter5.ipynb
new file mode 100755
index 00000000..21298609
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter5.ipynb
@@ -0,0 +1,799 @@
+{
+ "metadata": {
+ "name": "chapter 5.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "CHAPTER 5: EQUILIBRIUM OF COPLANAR FORCE SYSTEMS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-1, Page no 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# From eqn's 1&2\n",
+ "D=np.array([[6/sqrt(40),-4/sqrt(20)],[2/sqrt(40),2/sqrt(20)]])\n",
+ "B=np.array([0,25]) #lb\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "X=np.linalg.solve(D,B)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The tension in cable AB is',round(X[1],1),\"lb\"\n",
+ "print'The tension in cable AC is',round(X[0],1),\"lb\"\n",
+ "\n",
+ "# The tensions in the cable AB & AC is off by 0.1 lb"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in cable AB is 33.5 lb\n",
+ "The tension in cable AC is 31.6 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-2, Page no 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F1=100 #lb\n",
+ "R=16 #in\n",
+ "\n",
+ "#Calculations\n",
+ "theta=arcsin(14*R**-1)*(180/pi) #degrees\n",
+ "# since theta=61 degrees,\n",
+ "sin61=0.8746\n",
+ "cos61=0.4848\n",
+ "N=F1/sin61 #lb\n",
+ "P=N*cos61 #lb\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The value of normal reaction offered is',round(N,1),\"lb\"\n",
+ "print'The push required is',round(P,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of normal reaction offered is 114.3 lb\n",
+ "The push required is 55.4 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-3,Page no 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "L=20 #m\n",
+ "M=1200 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "H=10 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "AB=sqrt(L**2-H**2) #Applying Pythagoras Theorem\n",
+ "costheta=17.3/20\n",
+ "F1=M*g*H/AB #N\n",
+ "F2=M*g/costheta #N\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'Force F1 is',round(F1),\"N\"\n",
+ "print'Force F2 is',round(F2),\"N\"\n",
+ "\n",
+ "#Decimal accuracy causes discrepancy in answers compared to the textbook answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force F1 is 6797.0 N\n",
+ "Force F2 is 13609.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-4, Page No 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Fx=1000 #lb\n",
+ "Fy=1000 #lb\n",
+ "costheta=9*15**-1\n",
+ "cosbeta=12*15**-1\n",
+ "sintheta=4*5**-1\n",
+ "sinbeta=3*5**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Matrix solution\n",
+ "A=np.array([[costheta,-cosbeta],[sintheta,sinbeta]]) \n",
+ "B=np.array([-1000,1000])\n",
+ "X=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The force in AB is',round(X[0]),\"lb compression\"\n",
+ "print'The force in BC is',round(X[1]),\"lb compression\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force in AB is 200.0 lb compression\n",
+ "The force in BC is 1400.0 lb compression\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-5, Page no 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=10 #lb/ft\n",
+ "L=12 #ft\n",
+ "# as theta=30 degrees,\n",
+ "sin30=2**-1\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculation\n",
+ "#Matrix Calculations\n",
+ "A=np.array([[cos30,-cos30],[sin30,sin30]]) \n",
+ "B=np.array([0,120]) \n",
+ "X=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The tension in the cable is,T=',round(X[0]),\"lb\"\n",
+ "print'The reaction at B is,R',round(X[1]),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in the cable is,T= 120.0 lb\n",
+ "The reaction at B is,R 120.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-6,Page no 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W1=40 #lb\n",
+ "W2=30 #lb\n",
+ "# as theta1=30 degrees,\n",
+ "sin30=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Summing the forces parallel to 30 degree plane\n",
+ "T=W1*sin30\n",
+ "theta=arcsin(T/W2)*(180/pi)\n",
+ "\n",
+ "#Result\n",
+ "print'The tension in the cable is',round(T),\"lb\"\n",
+ "print'The angle is',round(theta,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in the cable is 20.0 lb\n",
+ "The angle is 41.8 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-8,Page no 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F1=125 #N\n",
+ "F2=200 #N\n",
+ "F3=340 #N\n",
+ "F4=180 #N\n",
+ "x1=4 #m\n",
+ "x2=3 #m\n",
+ "x3=10 #m\n",
+ "x4=15 #m\n",
+ "x5=17 #m\n",
+ "\n",
+ "#Calculations\n",
+ "Rb=(-F1*x1+F2*x2+F3*x3+F4*x4)/x5 #moment about point A\n",
+ "Ra=(F1*(x1+x5)+F3*(x5-x3)+F2*(x5-x2)+F4*(x5-x4))/x5 #moment about point B\n",
+ "\n",
+ "#Result\n",
+ "print'The reaction at A is',round(Ra),\"N\"\n",
+ "print'The reaction at B is',round(Rb),\"N\"\n",
+ "\n",
+ "# The ans for B is off by 1 N"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A is 480.0 N\n",
+ "The reaction at B is 364.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-9, Page no 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F1=1000 #lb\n",
+ "F2=1200 #lb\n",
+ "F3=2000 #lb\n",
+ "x1=1 #ft\n",
+ "x2=7 #ft\n",
+ "x4=2 #ft\n",
+ "x3=6 #ft\n",
+ "\n",
+ "#Calculation\n",
+ "#Equilibrium equations\n",
+ "Rn=(F3*(x1+x2+x3)+F2*(x1+x2)+F1*x1)/(x1+x3+x2+x4) #Moment about point M\n",
+ "Rm=(F1*(x2+x3+x4)+F2*(x3+x4)+F3*x4)/(x1+x2+x3+x4) #Moment about point N\n",
+ "\n",
+ "#Result\n",
+ "print'The reaction at M is',round(Rm),\"lb\"\n",
+ "print'The reaction at N is',round(Rn),\"lb\"\n",
+ "\n",
+ "#Decimal Accuracy causes discrepancy in answers between computation and textbook\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at M is 1787.0 lb\n",
+ "The reaction at N is 2412.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-10, Page no 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "P=10 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "# equilibrium at fig b\n",
+ "T1=P*g/2 #N\n",
+ "# equilibrium at fig c\n",
+ "T2=T1/2 #N\n",
+ "#equilibrium at fig d\n",
+ "P=T2\n",
+ "\n",
+ "#Result\n",
+ "print'The force P is',round(P,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force P is 24.5 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-11, Page no 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "k=20 # lb/in\n",
+ "w=20 # lb/ft\n",
+ "x1=4 #ft\n",
+ "x2=10 # ft\n",
+ "x3=8 #ft\n",
+ "x4=6 #ft\n",
+ "x5=9 #ft\n",
+ "F1=1920 #lb.rad\n",
+ "F2=3360 #lb.rad\n",
+ "\n",
+ "#calculations\n",
+ "theta=(w*x2*x5)*(F1*x3+F2*(x3+x4))**-1 #radians\n",
+ "FB=F1*theta\n",
+ "FC=F2*theta\n",
+ "A=(w*x2)-FB-FC\n",
+ "\n",
+ "#Result\n",
+ "print'The force in spring B is',round(FB,1),\"lb\"\n",
+ "print'The force in spring C is',round(FC,1),\"lb\"\n",
+ "print'The reaction at A is',round(A,1),\"lb up\"\n",
+ "\n",
+ " # The answer waries slightly due to decimal point discrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force in spring B is 55.4 lb\n",
+ "The force in spring C is 96.9 lb\n",
+ "The reaction at A is 47.7 lb up\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-12, Page no 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "L=3.8 #m\n",
+ "w=10 # kg/m\n",
+ "P=1000 #N\n",
+ "t=0.8 #m\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "Gf=L*w*g #N\n",
+ "A=(P*L+Gf*L*0.5)/t #N Taking moment about point B\n",
+ "B=(P*(L-t)+Gf*(0.5*L-t))/t #N Taking moment about point A\n",
+ "\n",
+ "#Result\n",
+ "print'The reaction at point A is',round(A),\"N\"\n",
+ "print'The reaction at point B is',round(B),\"N\"\n",
+ "\n",
+ "# The answers in the textbook are incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at point A is 5635.0 N\n",
+ "The reaction at point B is 4263.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-13, Page no 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "Wa=400 #lb\n",
+ "Wb=200 #lb\n",
+ "# as theta=30 degrees,\n",
+ "sin30=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "Ta=Wa*sin30 #lb\n",
+ "Tb=Wb*sin30 #lb\n",
+ "#Taking moment about point O\n",
+ "P=(Tb*12+Ta*6)/24 #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of Ta is',round(Ta,3),\"lb\"\n",
+ "print'The value of Tb is',round(Tb,3),\"lb\"\n",
+ "print'The value of P is',round(P,3),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ta is 200.0 lb\n",
+ "The value of Tb is 100.0 lb\n",
+ "The value of P is 100.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-15, Page no 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=np.array([5,2,3,1.5]) #kN Forces are defined as a cloumn matrix\n",
+ "theta=(pi*np.array([90,60,45,80]))/180 #degrees angles are also defined as a column matrix\n",
+ "d=np.array([2,6,13,17]) #distances from point C of each force\n",
+ "c=np.array([17,15,11,4]) #distance form point D of each force\n",
+ "#Calculations\n",
+ "\n",
+ "#Summing horizontal forces\n",
+ "Ch=F[1]*cos(theta[1])-F[2]*cos(theta[2])+F[3]*cos(theta[3]) #kN \"which indidcates that Ch acts to the left instead of the assumed\"\n",
+ "#Taking moment about point C\n",
+ "D=(F[0]*d[0]+F[1]*sin(theta[1])*d[1]+F[2]*sin(theta[2])*d[2]+F[3]*sin(theta[3])*d[3])/d[3] #kN\n",
+ "#Taking moment about point D\n",
+ "Cv=(F[0]*c[1]+F[1]*sin(theta[1])*c[2]+F[2]*sin(theta[2])*c[3])/c[1]\n",
+ "#Result\n",
+ "\n",
+ "print'The values of Ch,D and Cv are:',round(Ch,2),\"kN ,\",round(D,1),\"kN\",'and',round(Cv,2),\"kN\"\n",
+ "\n",
+ "# The ans of Cv is incorrect in textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values of Ch,D and Cv are: -0.86 kN , 4.3 kN and 6.84 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-16, Page no 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=100 #N/m\n",
+ "F1=200 #N\n",
+ "M=500 #N.m\n",
+ "Lw=2 #m\n",
+ "#Distance from point A\n",
+ "d=np.array([1,2,3,4,5]) #m\n",
+ "#Distance from point B\n",
+ "b=np.array([5,4,3,2,1]) #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment aboout point A\n",
+ "Rb=(w*Lw*d[0]+F1*d[2]-M)/d[3] #N\n",
+ "#Taking moment about point B\n",
+ "Ra=(w*Lw*b[2]+F1*b[4]+M)/b[1] #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of reaction at A is',round(Ra),\"N\"\n",
+ "print'The value of reaction at B is',round(Rb),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of reaction at A is 325.0 N\n",
+ "The value of reaction at B is 75.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-18, Page no 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# The values of theta are=[60,60,45] degrees, therefore its values are as,\n",
+ "costheta2=sqrt(2)**-1\n",
+ "sintheta2=sqrt(2)**-1\n",
+ "d=np.array([4.46,3.54,2]) #feet defined as a matrix\n",
+ "F=400 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment about point A\n",
+ "Re=(F*(8-d[1]))/8 #lb\n",
+ "Ra=400-Re #lb here i have used the summation of forces in the vertical direction\n",
+ "#Taking moment about point B\n",
+ "Dv=(-F*3.644)*5.77**-1 #lb\n",
+ "#Taking moment about point D\n",
+ "Bv=(F*2.126)/5.77 #lb\n",
+ "#Taking summation of forces in the vertical direction\n",
+ "Cv=-223-Dv #lb\n",
+ "#Taking moment about point D\n",
+ "Ch=((223*d[2]*costheta2)-(Cv*5.173*costheta2))*(5.173*sintheta2)**-1 #lb\n",
+ "#Taking summation of forces in the horizontal direction\n",
+ "Dh=-Ch #lb\n",
+ "#Taking sum of forces in horizontal direction\n",
+ "Bh=-Dh #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The Floor reactions are'\n",
+ "print'Ra=',round(Ra),\"lb up\"\n",
+ "print'Re=',round(Re),\"lb up\"\n",
+ "\n",
+ "print'Pin reaction at C on CE are'\n",
+ "print'Ch=',round(Ch,1),\"lb to right\"\n",
+ "print'Cv=',round(Cv,1),\"lb up\"\n",
+ "\n",
+ "print'The pin reactions at B on AC are:'\n",
+ "print'Bh=',round(Bh,1),\"lb to right\"\n",
+ "print'Bv=',round(Bv,1),\"lb down\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Floor reactions are\n",
+ "Ra= 177.0 lb up\n",
+ "Re= 223.0 lb up\n",
+ "Pin reaction at C on CE are\n",
+ "Ch= 56.6 lb to right\n",
+ "Cv= 29.6 lb up\n",
+ "The pin reactions at B on AC are:\n",
+ "Bh= 56.6 lb to right\n",
+ "Bv= 147.4 lb down\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5-19, Page no 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r=0.5 #m\n",
+ "m=10 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "# since theta=60 degrees,\n",
+ "sin30=2**-1\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Due to symmetry the reaction will be shared by the structure\n",
+ "A=m*g*r #N\n",
+ "B=A #N\n",
+ "#Vertical forces summed\n",
+ "N1=m*g/(2*sin30) #N\n",
+ "#Taking moment about point C\n",
+ "T=(N1*0.866+B*sin30)*(1.5*cos30)**-1\n",
+ " \n",
+ "#Result\n",
+ "print'The value of N1 is',round(N1),\"N\"\n",
+ "print'The value of T is',round(T,1),\"N\"\n",
+ "\n",
+ "# The ans for T is off by 0.1 N"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of N1 is 98.0 N\n",
+ "The value of T is 84.3 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter6.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter6.ipynb
new file mode 100755
index 00000000..55072819
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter6.ipynb
@@ -0,0 +1,770 @@
+{
+ "metadata": {
+ "name": "chapter 6.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "CHAPTER 6: EQUILIBRIUM OF NON COPLANAR FORCE SYSTEMS "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-1, Page no 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "H=30 #ft\n",
+ "F=150 #lb\n",
+ "# Here theta1=10, theta2=30 & theta3=60 degrees. Thus the values are,\n",
+ "sin10=0.1736\n",
+ "cos10=0.9848\n",
+ "sin30=2**-1\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "sin60=sqrt(3)*2**-1\n",
+ "cos60=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Matrix solution of simultaneous equations\n",
+ "X=np.array([[cos60*sin30, -cos60*sin30],[cos60*cos30, cos60*cos30]]) \n",
+ "Y=np.array([[0],[F*cos10]]) \n",
+ "R=np.linalg.solve(X,Y)\n",
+ "#To find P,sum the forces vertically along the y-axis\n",
+ "P=F*sin10+2*R[0]*sin60 #lb Compression\n",
+ "\n",
+ "#Result\n",
+ "print'The value of A and B is',round(R[0]),\"lb (T)\"\n",
+ "print'The value of P is',round(P),\"lb (C)\"\n",
+ "\n",
+ "# The value of P is off by 1 lb"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of A and B is 171.0 lb (T)\n",
+ "The value of P is 321.0 lb (C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-2, Page no 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "F=150 #lb\n",
+ "# Here theta1=10, theta2=30 & theta3=60 degrees. Thus the values are,\n",
+ "sin10=0.1736\n",
+ "cos10=0.9848\n",
+ "sin30=2**-1\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "sin60=sqrt(3)*2**-1\n",
+ "cos60=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "A=[-cos60*cos30,-sin60,cos60*sin30] \n",
+ "B=[-cos60*cos60,-sin60,cos60*sin30]\n",
+ "# 150lb force is actually a vector\n",
+ "F_v=[F*cos10,F*sin10,0] #lb\n",
+ "#Postion vector relative to C \n",
+ "r=[0,30,0]\n",
+ "# Moment about point C is zero\n",
+ "#solution by matrix\n",
+ "X=np.array([[7.5,-7.5],[13,13]]) \n",
+ "Y=np.array([[0],[4470]]) \n",
+ "R=np.linalg.solve(X,Y)\n",
+ "A=R[0] #lb\n",
+ "B=R[1] #lb\n",
+ "#Summing forces in y direction\n",
+ "Cy=0.866*A+0.866*B+25.9 #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of A and B is',round(A),\"lb\"\n",
+ "print'The value of Cy is',round(Cy),\"lb\"\n",
+ "\n",
+ "# The answer may wary due to decimal point descripancy in computation"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of A and B is 172.0 lb\n",
+ "The value of Cy is 324.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-3, Page no 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initililization of variables\n",
+ "m=6.12 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "AD=sqrt(3**2+2**2+6**2) \n",
+ "AC=sqrt(4**2+2**2)\n",
+ "AB=5\n",
+ "#Sum of forces in the y direction\n",
+ "T1=(m*g*AD)/6 #N\n",
+ "#sum of forces in the x and z direction\n",
+ "#Matrix solution of the folllowing simultaneous equations\n",
+ "X=np.array([[4*4.47**-1,-3*5**-1],[-2*4.47**-1,4*5**-1]])\n",
+ "Y=np.array([[T1*(3*7**-1)],[T1*(2*7**-1)]]) \n",
+ "R=np.linalg.solve(X,Y)\n",
+ "T2=R[0] #N\n",
+ "T3=R[1] #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of T1 is',round(T1),\"N\"\n",
+ "print'The value of T2 is',round(T2,1),\"N\"\n",
+ "print'The vaue of T3 is',round(T3),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of T1 is 70.0 N\n",
+ "The value of T2 is 80.5 N\n",
+ "The vaue of T3 is 70.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-4, Page no 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Intilization of variables\n",
+ "\n",
+ "F=np.array([0,60,0]) #Force defined as a matrix\n",
+ "t1=np.array([-3*7**-1,6*7**-1,2*7**-1]) #Tension defined as a matrix\n",
+ "t2=np.array([4*4.47**-1,0,-2*4.47**-1]) #tension defined as a mtrix\n",
+ "t3=np.array([-3*5**-1,0,4*5**-1]) #Tension defined as a matrix\n",
+ "\n",
+ "#Calculations\n",
+ "#Summation of forces in the y-direction\n",
+ "T1=F[1]*(t1[1]**-1) #N\n",
+ "#Summation of forces in the x-direction and z direction\n",
+ "M1=np.array([[t2[0],t3[0]],[t2[2],t3[2]]])\n",
+ "M2=np.array([[-1*t1[0]*T1],[t1[2]*T1]]) \n",
+ "R=np.linalg.solve(M1,M2)\n",
+ "\n",
+ "#Result\n",
+ "print'The tension in the strings are: T1=',round(T1),\"N\",',T2=',round(R[0],1),\"N\",'and T3=',round(R[1]),\"N respectively\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in the strings are: T1= 70.0 N ,T2= 80.5 N and T3= 70.0 N respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-5, Page no 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=80 #kg\n",
+ "g=9.81 # m/s**2\n",
+ "#Co-ordinates of points in Meters\n",
+ "A=np.array([1,3,0])\n",
+ "B=np.array([3,3,-4])\n",
+ "C=np.array([4,3,0])\n",
+ "D=np.array([2,0,-1])\n",
+ "\n",
+ "#Calculations\n",
+ "#Tension in DC will be\n",
+ "a=np.array([[C[0]-D[0]],[C[1]-D[1]],[C[2]-D[2]]])\n",
+ "h=((C[0]-D[0])**2+(C[1]-D[1])**2+(C[2]-D[2])**2)**0.5\n",
+ "c=a*h**-1\n",
+ "#Unit vector calculations\n",
+ "e=np.array([[B[0]-A[0]],[B[1]-A[1]],[B[2]-A[2]]])\n",
+ "v=((B[0]-A[0])**2+(B[1]-A[1])**2+(B[2]-A[2])**2)**0.5\n",
+ "e_ab=e*v**-1\n",
+ "#Position vector AD\n",
+ "r_ad=np.array([[D[0]-A[0]],[D[1]-A[1]],[D[2]-A[2]]])\n",
+ "#Moment Calculations\n",
+ "O=np.array([[1,0,0],[1,-3,-1],[0,-m*g,0]])\n",
+ "P=np.array([[0,1,0],[1,-3,-1],[0,-m*g,0]])\n",
+ "Q=np.array([[0,0,1],[1,-3,-1],[0,-m*g,0]])\n",
+ "C1=np.array([[1,0,0],[1,-3,-1],[2,3,1]])\n",
+ "C2=np.array([[0,1,0],[1,-3,-1],[2,3,1]])\n",
+ "C3=np.array([[0,0,1],[1,-3,-1],[2,3,1]])\n",
+ "rxF1=np.array([[det(O),det(P),det(Q)]])\n",
+ "rxF2=np.array([(det(C1)*h**-1),(det(C2)*h**-1),(det(C3)*h**-1)])\n",
+ "#Final Moment calculations\n",
+ "rxF=rxF1+rxF2 \n",
+ "#Taking dot product\n",
+ "dot1=e_ab*rxF\n",
+ "dot2=e_ab*rxF2\n",
+ "#equating dot product to zero to obtain C\n",
+ "C=-(dot1[0,0]+dot1[2,2])/dot2[2,2]\n",
+ "\n",
+ "#Result \n",
+ "print'The tension in CD is',round(C),\"N\"\n",
+ "\n",
+ "# The ans is off by 1 N due to Decimal point descrepancy. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in CD is 162.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-6, Page no 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=200 #lb\n",
+ "Dh=4 #ft\n",
+ "\n",
+ "#Calculation\n",
+ "theta=arctan(2*Dh**-1)*(180/pi) #degrees\n",
+ "T=w/(3*cos(theta)) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The Tension in each rope is',round(T,1),\"lb\"\n",
+ "print'The angle is',round(theta,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Tension in each rope is 482.9 lb\n",
+ "The angle is 26.6 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-7, Page no 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=np.array([100,0,0]) #N\n",
+ "CE=5 #m\n",
+ "BC=(34)**0.5 #m\n",
+ "AC=(41)**0.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#solving as a matrix for system of linear equations\n",
+ "A=np.array([[3*BC**-1,-4*AC**-1,0],[0,0,(6*4)*CE**-1],[-3*BC**-1,-3*AC**-1,-3*CE**-1]])\n",
+ "B=np.array([[0],[F[0]*4],[-F[0]]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The forces F1,F2 and F3 are as',round(C[0],1),\"N\",',',round(C[1],1),\"N\",'and',round(C[2],1),\"N\"\n",
+ "print'Here F3 is compression assumed and rest are Tension'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces F1,F2 and F3 are as 55.5 N , 45.7 N and 83.3 N\n",
+ "Here F3 is compression assumed and rest are Tension\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-8, Page no 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=np.array([100,0,0]) #N\n",
+ "CE=5 #m\n",
+ "BC=(34)**0.5 #m\n",
+ "AC=(41)**0.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#solving as a matrix for system of linear equations\n",
+ "A=np.array([[3/BC,-4/AC,0],[-4/BC,-4/AC,4*CE**-1],[-3/BC,-3/AC,-3*CE**-1]])\n",
+ "B=np.array([[0],[0],[-F[0]]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are: F1=',round(C[0],1),\"N\",',F2=',round(C[1],1),\"N\",'and F3=',round(C[2],1),\"N\"\n",
+ "print'Here F3 is compression assumed and rest are Tension'"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces are: F1= 55.5 N ,F2= 45.7 N and F3= 83.3 N\n",
+ "Here F3 is compression assumed and rest are Tension\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-9, Page no 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#here forces will be defines as matrices along with their co-ordinates\n",
+ "#Force in N and co-ordinates in mm\n",
+ "F1=[30,200,300] \n",
+ "F2=[10,400,200]\n",
+ "F3=[20,200,500]\n",
+ "F4=[50,400,500]\n",
+ "#Calculations\n",
+ "#solving as system of linear equations\n",
+ "A=np.array([[1,1,1],[-600,-600,0],[0,600,600]])\n",
+ "B=np.array([[F1[0]+F2[0]+F3[0]+F4[0]],[-(F3[0]*F3[2]+F1[0]*F1[2]+F4[0]*F4[2]+F2[0]*F2[2])],[-(-F3[0]*F3[1]-F1[0]*F1[1]-F4[0]*F4[1]-F2[0]*F2[1])]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The reactions are as R1=',round(C[0],1),\"N\",',R2=',round(C[1],1),\"N\",'and R3=',round(C[2],1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions are as R1= 53.3 N ,R2= 23.3 N and R3= 33.3 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-10, Page no87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=1 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "# As t1=45 degrees and t2=30 degrees\n",
+ "cost1=sqrt(2)**-1\n",
+ "cost2=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving as system of linear equations\n",
+ "A=np.array([[1,0,-cost1,0],[0,1,0,3*5**-1],[-5,g*m*cost1*cost2,0,0],[-1,0,0,4*5**-1]])\n",
+ "B=np.array([[0],[g*m],[g*m*5*cost1*cost2],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are: Nb=',round(C[0],1),',Nc=',round(C[1],1),',Tc=',round(C[2],1),'and Tb=',round(C[3],1),\"respectively\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces are: Nb= 3.0 ,Nc= 7.5 ,Tc= 4.3 and Tb= 3.8 respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-11, Page no 87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=50 #lb wind load\n",
+ "W=60 #lb weight of door\n",
+ "\n",
+ "#Calculations\n",
+ "#Calculation as system of linear equations\n",
+ "A=np.array([[0,0,33],[1,1,-1],[28,10,-28]])\n",
+ "B=np.array([[50*18],[-50],[-50*24]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "P=C[2]*(cos(20*pi*180**-1))**-1\n",
+ "D=np.array([[-28,-10],[1,1]])\n",
+ "E=np.array([1080-(28*(P*sin((20*pi)*180**-1))),P*sin((20*pi)*180**-1)])\n",
+ "F=np.linalg.solve(D,E)\n",
+ "By=60\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are as follows:'\n",
+ "print'Az=',round(C[0],1),\"lb\",',Bz=',round(C[1],1),\"lb\",',Pz=',round(C[2],1),\"lb\",',Ax=',round(F[0]),\"lb\",',Bx=',round(F[1]),\"lb\",'and By=',round(By),\"lb respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces are as follows:\n",
+ "Az= -11.6 lb ,Bz= -11.1 lb ,Pz= 27.3 lb ,Ax= -50.0 lb ,Bx= 60.0 lb and By= 60.0 lb respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-12, Page no 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=1 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "# Since t1=45 degrees and t2=30 degrees\n",
+ "cost1=sqrt(2)**-1\n",
+ "cost2=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving as system of linear equations\n",
+ "A=np.array([[1,0,-cost1,0],[0,1,0,3*5**-1],[-5,g*m*cost1*cost2,0,0],[-1,0,0,4*5**-1]])\n",
+ "B=np.array([[0],[g*m],[g*m*5*cost1*cost2],[0]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are: Nb=',round(C[0],2),\"N\",',Nc=',round(C[1],2),\"N\",',Tc=',round(C[2],2),\"N\",'and Tb=',round(C[3],2),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The forces are: Nb= 3.04 N ,Nc= 7.53 N ,Tc= 4.3 N and Tb= 3.8 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-13, Page no 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=200 #lb\n",
+ "cos25=0.9063\n",
+ "sin25=0.4226\n",
+ "\n",
+ "#Calculations\n",
+ "P=l*5*12**-1 #lb\n",
+ "#Solving as system of linear equations\n",
+ "A=np.array([[0,-36,0,0],[0,0,0,36],[0,0,1,1],[1,1,0,0]])\n",
+ "B=np.array([[-P*cos25*48],[l*20+P*sin25*48],[P*sin25+200],[P*cos25]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are: Az=',round(C[0],1),\"lb\",',Bz=',round(C[1]),\"lb\",',Ay=',round(C[2],1),\"lb\",'and By=',round(C[3]),\"lb\"\n",
+ "\n",
+ "# The answer for Az waries due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces are: Az= -25.2 lb ,Bz= 101.0 lb ,Ay= 77.2 lb and By= 158.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-14, Page No 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "A=80 #lb\n",
+ "B=40 #lb\n",
+ "C=60 #lb\n",
+ "l1=2 #in\n",
+ "l2=4 #in\n",
+ "l3=6 #in\n",
+ "l4=9 #in\n",
+ "l5=3 #in\n",
+ "l6=7 #in\n",
+ "\n",
+ "#Calculations\n",
+ "P=-(-A*l1+B*l2-C*l2)/l1\n",
+ "By=-(A*l3+P*l3)/l4\n",
+ "Ay=(-A*l5-P*l5)/l4\n",
+ "Bz=-(-C*l1-B*l1)/l4\n",
+ "Az=(C*l6+B*l6)/l4\n",
+ "\n",
+ "#Result\n",
+ "print'The forces are:Ay=',round(Ay,1),\"lb\",',By=',round(By,1),\"lb\",',Az=',round(Az,1),\"lb forward\",'and Bz=',round(Bz,1),\"lb forward\"\n",
+ "\n",
+ "# The answers may wary due to rounding of the values"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces are:Ay= -67.0 lb ,By= -134.0 lb ,Az= 77.0 lb forward and Bz= 22.0 lb forward\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6-15, Page no 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=138 #lb\n",
+ "w=80 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "u=(3*3+4*4+6*6)**0.5\n",
+ "a=np.array([-3*u**-1,4*u**-1,-6*u**-1])\n",
+ "v=(3*3+3*3+3*3)**0.5\n",
+ "c=np.array([3*v**-1,3*v**-1,-3*v**-1])\n",
+ "P=np.array([[1,0,0],[0,0,8],[0,-W,0]])\n",
+ "Q=np.array([[0,0,1],[0,0,8],[0,-W,0]])\n",
+ "R=np.array([[1,0,0],[0,0,4],[0,-w,0]])\n",
+ "S=np.array([[0,0,1],[0,0,4],[0,-w,0]])\n",
+ "T=np.array([[1,0,0],[0,0,6],[a[0],a[1],a[2]]])\n",
+ "U=np.array([[0,1,0],[0,0,6],[a[0],a[1],a[2]]])\n",
+ "V=np.array([[1,0,0],[0,0,3],[c[0],c[1],c[2]]])\n",
+ "Y=np.array([[0,1,0],[0,0,3],[c[0],c[1],c[2]]])\n",
+ "#Solving for A and C\n",
+ "MAT1=np.array([[det(T),det(V)],[det(U),det(Y)]])\n",
+ "MAT2=np.array([[det(P)+det(R)],[0]])\n",
+ "res=np.linalg.solve(-MAT1,MAT2)\n",
+ "A=np.array([a[0]*res[0],a[1]*res[0],a[2]*res[0]])\n",
+ "C=np.array([c[0]*res[1],c[1]*res[1],c[2]*res[1]])\n",
+ "E=np.array([-(A[0]+C[0]),-(-w-W+A[1]+C[1]),-(A[2]+C[2])])\n",
+ "\n",
+ "#Result\n",
+ "print'The force vectors are as follows:'\n",
+ "print'A=',round(A[0]),\"i +\",round(A[1]),\"j \",round(A[2]),\"k\",\n",
+ "print'and C=',round(C[0]),\"i +\",round(C[1]),\"j \",round(C[2]),\"k\"\n",
+ "print'also,Ex=',round(E[0]),\"lb\",',Ey=',round(E[1]),\"lb\",'and Ez=',round(E[2]),\"lb\"\n",
+ "#Decimal accuracy causes discrepancy in the answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force vectors are as follows:\n",
+ "A= -102.0 i + 136.0 j -203.0 k and C= 203.0 i + 203.0 j -203.0 k\n",
+ "also,Ex= -102.0 lb ,Ey= -121.0 lb and Ez= 407.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter7.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter7.ipynb
new file mode 100755
index 00000000..97590af8
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter7.ipynb
@@ -0,0 +1,668 @@
+{
+ "metadata": {
+ "name": "chapter 7.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 7: TRUSSES AND CABLES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-1, Page no 99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F1=2000 #lb\n",
+ "F2=4000 #lb\n",
+ "l1=10 #ft\n",
+ "l2=30 #ft\n",
+ "l3=20 #ft\n",
+ "l4=40 #ft\n",
+ "# as t=60 degrees\n",
+ "sint=sqrt(3)*2**-1\n",
+ "cost=2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment about point B and A\n",
+ "Ra=(F1*l2+F2*l1)/l4 \n",
+ "Rb=(F2*l2+F1*l1)/l4\n",
+ "#Consider fig 7-4(c)\n",
+ "A=np.array([[1,-cost],[0,-sint]])\n",
+ "B=np.array([[0],[-2500]])\n",
+ "C=np.linalg.solve(A,B)\n",
+ "#Consider figure 7-4(d)\n",
+ "A1=np.array([[1,cost],[0,-sint]])\n",
+ "B1=np.array([-C[1]*cost,-C[1]*sint+F1])\n",
+ "C1=np.linalg.solve(A1,B1)\n",
+ "#Consider figure 7-4(e)\n",
+ "CD=577\n",
+ "CE=C[0]+C1[1]*cost+CD*cost\n",
+ "#Consider figure 7-4(f)\n",
+ "DE=Rb/sint\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The reactions are:Ra=',round(Ra),\"lb\",'and Rb=',round(Rb),\"lb\"\n",
+ "print'Force in member AB=',round(C[1]),\"lb (C)\",'and AC=',round(C[0]),\"lb (T)\"\n",
+ "print'Force in member BC=',round(C1[1]),\"lb (T)\",'and BD=',round(C1[0]),\"lb (-ve sign indicates compression)\"\n",
+ "print'Force in member CD=',round(CD),\"lb (C)\",'and CE=',round(CE),\"lb (T)\"\n",
+ "print'Force in member DE=',round(DE),\"lb (C)\"\n",
+ "\n",
+ "#Decimal Accuracy causes discrepancy in answers.Thus answers wary as compared to the textbook.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions are:Ra= 2500.0 lb and Rb= 3500.0 lb\n",
+ "Force in member AB= 2887.0 lb (C) and AC= 1443.0 lb (T)\n",
+ "Force in member BC= 577.0 lb (T) and BD= -1732.0 lb (-ve sign indicates compression)\n",
+ "Force in member CD= 577.0 lb (C) and CE= 2021.0 lb (T)\n",
+ "Force in member DE= 4041.0 lb (C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-2, Page no 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "s=4 #m length of sides\n",
+ "l=2 #kN load acting on each node\n",
+ "r=7 #kN by inspection reaction at A\n",
+ "sin60=sqrt(3)*2**-1\n",
+ "tan30=sqrt(3)**-1\n",
+ "tan60=sqrt(3)\n",
+ "\n",
+ "#Calculation\n",
+ "#Taking Moment about point G\n",
+ "FH=(-r*12+2*10+2*6+2*2)/(2*tan60) #kN Compressive\n",
+ "#Taking moment about point H\n",
+ "GI=(r*14-2*12-2*8-2*4)/(2*tan30) #kN Tension\n",
+ "#Summing forces in the vertical direction\n",
+ "HG=-(r-(l*3))/sin60 #kN Compression\n",
+ "#Taking moment about point J yields\n",
+ "IK=(-2*4-2*8+r*10)/(2*tan60) #kN\n",
+ "\n",
+ "#Result\n",
+ "print'The value of the forces in the components are as follows'\n",
+ "print'FH=',round(FH,1),\"kN (C)\",',GI=',round(GI,1),\"kN (T)\",',HG=',round(HG,2),\"kN (C)\",'and IK=',round(IK,1),\"kN (T)\"\n",
+ "print'The answer in the text book for GI is wrong'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of the forces in the components are as follows\n",
+ "FH= -13.9 kN (C) ,GI= 43.3 kN (T) ,HG= -1.15 kN (C) and IK= 13.3 kN (T)\n",
+ "The answer in the text book for GI is wrong\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-3, Page no 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=30 degrees,\n",
+ "sin30=2**-1\n",
+ "EF=40000 #lb\n",
+ "l=36 #feet\n",
+ "\n",
+ "#Calculation\n",
+ "#Taking moment about point D and setting EF=40000lbs\n",
+ "P=-(EF*sin30*l)/l #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The maximum value of P is',round(P),\"lb\"\n",
+ "print'The negative sign indicates the downward direction'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum value of P is -20000.0 lb\n",
+ "The negative sign indicates the downward direction\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-4, Page no 102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=12 #m\n",
+ "# as theta1=30 degrees\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "cos60=2**-1\n",
+ "sin30=2**-1\n",
+ "\n",
+ "F1=1000 #N\n",
+ "F2=2000 #N\n",
+ "\n",
+ "#Calculation\n",
+ "FG=l*cos30 #m\n",
+ "DG=(l+(l/2))/cos30 #m\n",
+ "#Taking moment about point G\n",
+ "A=(F1*l+F2*FG+F1*DG)/(l*3) #N\n",
+ "#Summing forces in horizontal direction\n",
+ "G_x=(2*F1+F2)*sin30 #N\n",
+ "#Summing forces in the vertical direction\n",
+ "G_y=(2*F1+F2)*cos30+F1-A #N\n",
+ "#Taking moment about point C\n",
+ "BD=-(A*l)/(l/2) #N\n",
+ "#Taking moment about point D\n",
+ "CE=(A*(l+(l/2)))/FG #N\n",
+ "theta=arctan((l/2)/FG) #degrees \n",
+ "#Summing forces in the vertical direction\n",
+ "CD=(A+(BD*cos60))/cos(theta) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The values of the forces are as follows'\n",
+ "print'A=',round(A),\"N\",',G_x=',round(G_x),\"N\",',G_y=',round(G_y),\"N\",',BD=',round(BD),\"N (C)\",',CE=',round(CE),\"N (T)\",'and CD=',round(CD),\"N(T)\"\n",
+ "#Decimal Accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values of the forces are as follows\n",
+ "A= 1488.0 N ,G_x= 2000.0 N ,G_y= 2976.0 N ,BD= -2976.0 N (C) ,CE= 2577.0 N (T) and CD= 0.0 N(T)\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-5, Page no 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "A=2000 #lb\n",
+ "E=2000 #lb\n",
+ "# as theta=60 degrees and theta1=30 degrees, which means:\n",
+ "sin60=sqrt(3)*2**-1\n",
+ "cos60=2**-1\n",
+ "sin30=2**-1\n",
+ "cos30=sqrt(3)*2**-1\n",
+ "\n",
+ "#Sign convention positive means Tension and negative means Compression\n",
+ "#Taking sum of forces along x and y direction in fig7-13\n",
+ "AB=-A/sin60 #lb\n",
+ "AG=-AB*cos60 #lb\n",
+ "#Taking sum of forces along x and y direction in fig7-14\n",
+ "BG=((-AB*cos30)-1000)/(cos30) #lb\n",
+ "BC=((AB*sin30)-(BG*sin30)) #lb\n",
+ "#Taking sum of forces along x and y direction in fig7-15\n",
+ "GC=-(BG*sin60)/sin60 #lb\n",
+ "GF=AG+BG*cos60-GC*(cos60) #lb\n",
+ "#By symmetry of structure\n",
+ "DE=AB #lb\n",
+ "FE=AG #lb\n",
+ "DF=BG #lb\n",
+ "CD=BC #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The forces in the truess are'\n",
+ "print'AB=DE=',round(AB),\"lb (C)\",',AG=FE=',round(AG),\"lb (T)\",',BG=DF=',round(BG),\"lb (T)\",',BC=CD=',round(BC),\"lb (C)\",'and CG=CF=',round(GC),\"lb (C)\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces in the truess are\n",
+ "AB=DE= -2309.0 lb (C) ,AG=FE= 1155.0 lb (T) ,BG=DF= 1155.0 lb (T) ,BC=CD= -1732.0 lb (C) and CG=CF= -1155.0 lb (C)\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-6, Page no 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=500 #N\n",
+ "A=1000 #N\n",
+ "# as theta=60 degrees,\n",
+ "sin60=sqrt(3)*2**-1\n",
+ "l=20 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment about point G\n",
+ "R_c=(20*3*A+50*F+30*F+10*F)/40 #N\n",
+ "#Returning to fig7-17\n",
+ "#Taking moment about point C\n",
+ "BD=(l*A+(l/2)*F)/(l*sin60) #N\n",
+ "#Taking sum of forces in vertical direction\n",
+ "CD=(A+F-R_c)/sin60 #N\n",
+ "\n",
+ "#Result\n",
+ "print'The forces in the members are as follows'\n",
+ "print'BD=',round(BD),\"N (T)\",'and CD=',round(CD),\"N (C).\",'Also the reaction at C is',round(R_c),\"N\"\n",
+ "#Decimal accuracy causes discrepancey in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces in the members are as follows\n",
+ "BD= 1443.0 N (T) and CD= -1299.0 N (C). Also the reaction at C is 2625.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-7, Page no 104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=800 #lb/ft\n",
+ "a=600 #ft\n",
+ "d=40 #ft\n",
+ "\n",
+ "#Calculations\n",
+ "T=0.5*w*a*(sqrt(1+(a**2/(16*d**2)))) #lb\n",
+ "H=(w*a**2)/(8*d) #lb\n",
+ "#Taking the first two terms of the series\n",
+ "l=a*(1+(8/3)*(d*a**-1)**2-(32/5)*0.00002) #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The value of T=',round(T),\"lb\",'and that of H=',round(H),\"lb.\",'Also l=',round(l),\"ft\"\n",
+ "#Deciaml accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of T= 929516.0 lb and that of H= 900000.0 lb. Also l= 605.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-8,Page no 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "l=800*300 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "#Summing forces in horizontal and vertical direction\n",
+ "theta=arctan(40*150**-1) #degrees\n",
+ "H=l/tan(theta) #lb\n",
+ "T_max=sqrt(l**2+H**2) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The maximun tension is',round(T_max),\"lb\",'and H=',round(H),\"lb\"\n",
+ "#Decimal accuracy causes discrepancy in answers"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximun tension is 931450.0 lb and H= 900000.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-9,Page no 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#For simplicity a1 and a2 values are being considered as constant free of H\n",
+ "a_1=sqrt(10*14.7**-1)\n",
+ "a_2=sqrt(30/14.7)\n",
+ "y=10 #m\n",
+ "\n",
+ "#Calculations\n",
+ "H=(300/(a_1+a_2))**2 #N\n",
+ "#Now reconsidering a1 and a2 actual values\n",
+ "a1=a_1*sqrt(H) #m\n",
+ "a2=a_2*sqrt(H) #m\n",
+ "#Theta calculations\n",
+ "x=a1\n",
+ "theta=arctan(2*y/x)\n",
+ "#T calculations\n",
+ "T=sqrt((864*a2**2)+H**2) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The tension in the cable is',round(T,2),\"*10**-3 kN\"\n",
+ "# The answer may wary due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension in the cable is 18585.57 *10**-3 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-10, Page no 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "T=140000 #N\n",
+ "w=2000 #N/m\n",
+ "a=20 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Calculation step by step\n",
+ "lhs=(140000*2)*(2000*20)**-1 \n",
+ "d=sqrt(1/((((lhs**2)-1)*16)/(20**2))) #m\n",
+ "l=a*(1+(8/3)*(d/a)**2) #m\n",
+ "\n",
+ "#Result\n",
+ "print'The sag in the cable is',round(d,2),\"m\"\n",
+ "print'The required length is',round(l,2),\"m\"\n",
+ "\n",
+ "# Value of l is off by 0.2 m"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The sag in the cable is 0.72 m\n",
+ "The required length is 20.05 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-11, Page no 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=10*16**-1 #lb/ft\n",
+ "a=80 #ft\n",
+ "P=500 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "lhs=(P*2)/(w*a)\n",
+ "d=sqrt(1*((((lhs**2)-1)*16)/(80**2))**-1) #ft\n",
+ "\n",
+ "#Result\n",
+ "print'The sag in the cable is',round(d),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The sag in the cable is 1.0 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-12, Page no 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=0.518 #lb/ft\n",
+ "d=50 #ft\n",
+ "l=500 #ft\n",
+ "#Plot coding\n",
+ "A=linspace(0,800,9) #defined x axis\n",
+ "B=A+50\n",
+ "C=[50000,500*(2*100)**-1,500*(2*200)**-1,500*(2*300)**-1,500*(2*400)**-1,500*(2*500)**-1,500*(2*600)**-1,500*(2*700)**-1,500*(2*800)**-1]\n",
+ "D=cosh(C)\n",
+ "E=([D[0]*A[0],D[1]*A[1],D[2]*A[2],D[3]*A[3],D[4]*A[4],D[5]*A[5],D[6]*A[6],D[7]*A[7],D[8]*A[8]])\n",
+ "plot(A,B,A,E) #plotting two lines on the same plot\n",
+ "\n",
+ "#Calculations\n",
+ "#By close observation of plot taking c around 650\n",
+ "#consider c=635\n",
+ "c=635\n",
+ "T_max=w*(c+d) #lb\n",
+ "a=c+d\n",
+ "l=(4*(a*a-c*c))**0.5\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print'The maximum tension is',round(T_max),\"lb\",'and length required is',round(l),\"ft respectively.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum tension is 355.0 lb and length required is 514.0 ft respectively.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nqJ84UXrUCxMp+BamRJUQ8HkA/u38mdFnhrnjCAuhlCLuZBxzds4h91IuM3rP4AmPJ2jYoGGZ15ha\nIUyaZOpR/+670rZYXE0KvgXKyMvAZ6kPG57YwH1t7zN3HGFGSim+PvE1c3bO4WLRRWb0nsEw/bCr\nCj2AwQAvvwxGI3z0EVjoBnDCzKTgW6gNxzbw2tbXSH4hmX80+oe544haVqJK2HhsI2/vfJtiVczM\n3jMZ7D6YBpqrF8bl5cGcOaaNSGbMgPHjwUZmAsUN1MqyTJ1OR+fOnfH29i7dvSonJ4eAgABcXFwI\nDAwkNze39PWhoaE4Ozvj5uZGfHz8LYerywa5DSKwQyATNk8wdxRRi0pUCWsNa/Fe4s07u97hX33+\nRdLzSQzVD72q2CsFn39uWmKZkwM//2wa4UuxFzWqMruk6HQ6dfbs2asemzx5sgoPD1dKKRUWFqam\nTp2qlFLqyJEjytPTUxUWFqrU1FTVoUMHVVxcfNV7K3naOu9C4QXltshNrTy00txRRA27XHxZrfpp\nldIv1quuS7uqr49/rUpKSv72tQcPKnX//Up16aLUnj21HFTUaVWtnZUu+L///vtVj7m6uqrs7Gyl\nlFJZWVnK1dVVKaXUvHnzVFhYWOnr+vfvr/Zc811tLQVfKaUOZh5ULee3VKdyTpk7iqgBRcVF6vND\nnyvXj1zVfZ/ep+JS4m5Y6M+eVeqf/1TKzk6ppUuVuny5lsOKOq+qtbNSUzoajYZ+/frh6+vLsmWm\nTT+MRiPav/ZJ02q1GI1GADIzM3Ess7TA0dGRjIyM6vxPSZ3i3dqb6T2nM3r9aC6XXDZ3HFFNioqL\nWJG8AvfF7iw5sIRFDy/ih3E/0N+pP5prbn8tLoYlS5Ae9cLsKjVj+MMPP9C6dWt+++03AgICcHNz\nu+p5jUZz3Tf5tc9bs1e7v8rWU1t5e8fbzH5gtrnjiCooLC7k34f+zbxd89A107Fs4DL6tOtzw+9x\n6VEvLEmlCn7r1q0BaNWqFYMHDyYxMRGtVkt2djb29vZkZWVhZ2cHgIODA2lpaaXvTU9Px8HB4bpj\nzpo1q/Rzf39//OvxOrQGmgaseGwFPkt9COgQQM97epo7krhJBZcLWJG8gtDvQ3Fp4UL0oGh6tet1\nw9cbjTBtGsTHQ3g4jBolfW/EzUtISCAhIaH6DljRnM+FCxdUXl6eUkqp8+fPqx49eqitW7eqyZMn\n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\nt/S50NBQnJ2dcXNzIz4+vtZypqWl8cADD+Dh4UHHjh1ZuHChRWa9dOkS3bp1w8vLC71ez/Tp0y0y\n5xXFxcV4e3szcOBAi82p0+no3Lkz3t7e+Pn5WWTO3Nxchg0bhru7O3q9nh9//NHiMh4/fhxvb+/S\nj6ZNm7Jw4UKLy3nlvB4eHnTq1ImRI0dSUFBQvTmrdAXgJl2+fFl16NBBpaamqsLCQuXp6akMBkNt\nRii1c+dOdfDgQdWxY8fSxyZPnqzCw8OVUkqFhYWpqVOnKqWUOnLkiPL09FSFhYUqNTVVdejQQRUX\nF9dKzqysLJWUlKSUUurPP/9ULi4uymAwWGTWCxcuKKWUKioqUt26dVO7du2yyJxKKfX++++rkSNH\nqoEDByqlLPPvXqfTqbNnz171mKXlfPLJJ1VUVJRSyvT3npuba3EZyyouLlb29vbq119/tbicqamp\n6t5771WXLl1SSikVHBysVqxYUa05a7Xg7969+6oVPKGhoSo0NLQ2I1wlNTX1qoLv6uqqsrOzlVKm\nQuvq6qqUun6lUf/+/dWePXtqN+xfHnvsMfXNN99YdNYLFy4oX19f9fPPP1tkzrS0NNW3b1/13Xff\nqUcffVQpZZl/9zqdTv3+++9XPWZJOXNzc9W999573eOWlPFaW7duVT179rTInGfPnlUuLi4qJydH\nFRUVqUcffVTFx8dXa85andKx9JuyjEYjWq0WAK1Wi9FoBCAzMxNHR8fS15kr95kzZ0hKSqJbt24W\nmbWkpAQvLy+0Wm3pNJQl5pw4cSLvvvsuDRr879vfEnNqNBr69euHr68vy5Yts7icqamptGrVirFj\nx+Lj48Ozzz7LhQsXLCrjtWJiYhgxYgRgWX+WAM2bN2fSpEncc889tGnThmbNmhEQEFCtOWu14Nel\nm7I0Gk25eWv7azl//jxDhw4lIiKCu+6667oslpC1QYMGJCcnk56ezs6dO9m+fft1Ocyd8+uvv8bO\nzg5vb+8b7g1qCTkBfvjhB5KSktiyZQuLFy9m165d1+UwZ87Lly9z8OBBxo8fz8GDB7njjjsICwuz\nqIxlFRYWsmnTJh5//PG/zWHunKdOnWLBggWcOXOGzMxMzp8/z8qVK6/LUZWctVrwHRwcSEtLK/19\nWlraVT+hzE2r1ZKdnQ1AVlYWdnZ2wPW509PTcXBwqLVcRUVFDB06lDFjxjBo0CCLzgrQtGlTHnnk\nEQ4cOGBxOXfv3k1sbCz33nsvI0aM4LvvvmPMmDEWlxOgdevWALRq1YrBgweTmJhoUTkdHR1xdHSk\na9euAAwbNoyDBw9ib29vMRnL2rJlC126dKFVq1aA5f0b2r9/Pz169KBFixbY2NgwZMgQ9uzZU61/\nnrVa8H19fUlJSeHMmTMUFhayevVqgoKCajNCuYKCgoiOjgYgOjq6tLgGBQURExNDYWEhqamppKSk\nlK6aqGlKKZ5++mn0ej2vvvqqxWb9/fffS1cPXLx4kW+++QZvb2+Lyzlv3jzS0tJITU0lJiaGBx98\nkM8//9zicubn5/Pnn38CcOHCBeLj4+nUqZNF5bS3t6dt27acOHECgG3btuHh4cHAgQMtJmNZq1at\nKp3OuZLHknK6ubmxd+9eLl68iFKKbdu2odfrq/fPs4auP9zQ5s2blYuLi+rQoYOaN29ebZ++1PDh\nw1Xr1q2Vra2tcnR0VMuXL1dnz55Vffv2Vc7OziogIECdO3eu9PVz585VHTp0UK6uriouLq7Wcu7a\ntUtpNBrl6empvLy8lJeXl9qyZYvFZT18+LDy9vZWnp6eqlOnTmr+/PlKKWVxOctKSEgoXaVjaTlP\nnz6tPD09laenp/Lw8Cj9t2JpOZOTk5Wvr6/q3LmzGjx4sMrNzbW4jEopdf78edWiRQuVl5dX+pgl\n5gwPD1d6vV517NhRPfnkk6qwsLBac8qNV0IIYSVki0MhhLASUvCFEMJKSMEXQggrIQVfCCGshBR8\nIYSwElLwhRDCSkjBF0IIKyEFXwghrMT/A81rgr07higfAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5cb46f0>"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7-13, Page no 108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=0.6 #kg/m\n",
+ "l=240 #m\n",
+ "d=24 #m\n",
+ "\n",
+ "#Calculations\n",
+ "c=((((1*4**-1)*(l**2))-(24*24)))/(2*d)\n",
+ "T_max=9.8*m*(c+d) #N\n",
+ "a=arcsinh((l)/(2*c))*576\n",
+ "\n",
+ "#Result\n",
+ "print'The maximun tension is',round(T_max),\"N\"\n",
+ "print'The value of a is',round(a)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximun tension is 1835.0 N\n",
+ "The value of a is 234.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter8.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter8.ipynb
new file mode 100755
index 00000000..255a9be0
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter8.ipynb
@@ -0,0 +1,311 @@
+{
+ "metadata": {
+ "name": "chapter 8.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 8: FORCES IN BEAMS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8-1, Page no 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "R_A=100 #N\n",
+ "R_B=200 #N\n",
+ "\n",
+ "#Calculations\n",
+ "#Shear force at 2m\n",
+ "V=100 #N\n",
+ "#Moment at 2m\n",
+ "M=R_A*2 #N.m\n",
+ "\n",
+ "#Result\n",
+ "print'The shear force at 2m is +',round(V),\"N\"\n",
+ "print'The moment at 2m is +',round(M),\"N-m\" \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear force at 2m is + 100.0 N\n",
+ "The moment at 2m is + 200.0 N-m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8-2, Page no 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of variables\n",
+ "#length matrix\n",
+ "L1=[0,3.99,4,5.99,6] #m\n",
+ "#Bending moment matrix\n",
+ "B=[0,400,400,0.00001,0] #N.m\n",
+ "#Shear force plotting\n",
+ "#Here the left side and right side lengths are considered as close as 4 to keep up with right and left distinctions\n",
+ "L=[0,3.99,4,5.99,6]\n",
+ "S=[100,100,-200,-200,0]\n",
+ "g=[0,0,0,0,0]\n",
+ "\n",
+ "#Calculations cum Result\n",
+ "d=transpose(L1)\n",
+ "e=transpose(S)\n",
+ "plt.plot(d,B)\n",
+ "xlabel('distance (m)')\n",
+ "ylabel('B.M (N.m)')\n",
+ "plt.show()\n",
+ "plt.plot(L,e,L,g)\n",
+ "xlabel('distance (m)')\n",
+ "ylabel('S.F (N)')\n",
+ "plt.show()\n",
+ "\n",
+ "print'The graphs are the solutions'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x514d530>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nvluTJk0yuarAWrFihe6++261tLQoLi5Or7zySofzcuAeAMAnthiSAgB0PQIDAOATAgMA4BMCAwDg\nEwIDAOATAgMA4BMCA2EtPz9fy5cvlyQ99dRTev/99zuct6SkRJ9//nmwSmtn/fr1ys/P79QyEyZM\n8B54BviLwEBYO/VAs6effvqcB9StWbNGlZWVwSjrrJYvX6558+Z1apk777zTdifMg3kIDISdRYsW\n6eqrr9aYMWP0xRdfeENj1qxZWr16tSTpscce09ChQ5WSkqKFCxfqo48+0rvvvquFCxdq5MiR+uqr\nr/TSSy8pPT1dI0aM0PTp09Xc3Ox9nQULFuj6669XXFyc9zUlaenSpRo+fLhGjBjhvZDSnj17lJWV\npbS0NI0dO1ZffPFFu5pramrU0tKiqKgo73vMnz9fo0ePVlxcnNxut/Ly8pSUlHTaWQCys7O1atWq\nrvmHRPjp+stzAKFj586dRnJystHc3Gx89913Rnx8vLF8+XLDMAxj1qxZxurVq439+/cbV199tXeZ\nQ4cOnfb8SadeVOfJJ580VqxYYRiGYeTl5Rk5OTmGYRhGZWWlER8fbxiGYWzYsMG47rrrjObmZsMw\nDOPbb781DMMwxo8fb3g8HsMwDGP79u3G+PHj29X95ptvGg888ID38axZs4zc3FzDMAyjpKTE6NOn\nj/Gvf/3LaGtrM6655hrj448/9s47aNAg4/Dhwxf07wWcyhbnkgJ8tW3bNt16663q1auXevXqddaT\nVEZGRqpXr16aM2eObrnlFt1yyy3e54xTzqTzz3/+U08++aQOHTqkw4cPe8995XA4vGfcHTJkiBob\nGyWdOLHb7Nmz1atXL+/7HD58WB999JFuv/127+u2tLS0q+k///mP96ypJ528HOqwYcMUHR3tPWnc\n0KFDVV1drZSUFElSVFSUampqlJiY2Ml/LeB0BAbCisPhOO1L3zjjVGqGYah79+4qKyvT+++/r3fe\neUcvvPCCd2P4qds8Zs2apXXr1ik5OVkrV6487RoXPXv2bPceZ763dOLCSpGRkaqoqDhv7Wcue/I9\nunXrposuusg7vVu3bjp+/Phpy9ntpIAwB9swEFbGjh2rtWvX6vvvv1dTU5PWr1/fbp4jR47o4MGD\nysrK0rPPPqtPPvlEktSnTx9999133vkOHz6s6OhoHTt2TK+//vp5v5QzMzP1yiuveLd1fPvtt+rb\nt68GDRqkd955R9KJL/dPP/203bJXXXWVGhoaLmidGxsbuT4MAoLAQFhJTU3VHXfcoZSUFN10001K\nT08/7XmHw6GmpiZNmTJFKSkpGjNmjJ577jlJJ/Y4WrZsma655hp99dVX+u1vf6tRo0bphhtuaHc6\n/VPD4+T9yZMnKzs7W2lpaUpNTfXuzvvGG2+oqKhII0aM0LBhw7Ru3bp2dV9//fXtLmxztvc483FD\nQ4OuuOIK9e7du1P/TsDZcHpzwCLGjx+vN954o922jHP585//rCNHjuihhx7qwsoQLugwAIt45JFH\n9Kc//alTyxQXF+u+++7roooQbugwAAA+ocMAAPiEwAAA+ITAAAD4hMAAAPiEwAAA+ITAAAD45P8A\ned0kcNg1PiMAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5a12d10>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The graphs are the solutions\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8-3, Page no 119"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "#Initilization of variables\n",
+ "w=196 #N/m\n",
+ "M_app=4000 #N.m\n",
+ "L=6 #m\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking Moment about Point L and equating it to 0\n",
+ "R_r=(M_app+w*L*L*0.5)/(3*L) #N\n",
+ "#Taking Moment about Point R and equating it to 0\n",
+ "R_l= ((((2*L)+(L/2))*(w*L))-(M_app))/(3*L) #N\n",
+ "#finding point of zero shear\n",
+ "a=R_l*w**-1\n",
+ "#defining x\n",
+ "x0=[0,18]\n",
+ "x=[0,0.5,1,1.5,2,2.5,3,3.5,a,4,4.5,5,5.5,6] #for 0<x<6\n",
+ "x1=[6,12] #for6<x<12\n",
+ "x2=[12,18] #for 12<x<18\n",
+ "xv=[6,12,18] #specially for shear force\n",
+ "xo=[12.001,12.002] #Straight line plot\n",
+ "#Shear Force Calculations\n",
+ "#Summing forces in vertical direction and equating to 0\n",
+ "V1=(R_l-w*x[0],R_l-w*x[1],R_l-w*x[2],R_l-w*x[3],R_l-w*x[4],R_l-w*x[5],R_l-w*x[6],R_l-w*x[7],R_l-w*x[8],R_l-w*x[9],R_l-w*x[10],R_l-w*x[11],R_l-w*x[12],R_l-w*x[13]) #N for 0<x<6\n",
+ "V2=(R_l)-(w*L) #N for 6<x<18\n",
+ "#Bending Moment Calculations\n",
+ "M1=(R_l*x[0]-w*x[0]**2*0.5,R_l*x[1]-w*x[1]**2*0.5,R_l*x[2]-w*x[2]**2*0.5,R_l*x[3]-w*x[3]**2*0.5,R_l*x[4]-w*x[4]**2*0.5,R_l*x[5]-w*x[5]**2*0.5,R_l*x[6]-w*x[6]**2*0.5,R_l*x[7]-w*x[7]**2*0.5,R_l*x[8]-w*x[8]**2*0.5,R_l*x[9]-w*x[9]**2*0.5,R_l*x[10]-w*x[10]**2*0.5,R_l*x[11]-w*x[11]**2*0.5,R_l*x[12]-w*x[12]**2*0.5,R_l*x[13]-w*x[13]**2*0.5) #N.m for 0<x<6\n",
+ "M2=(R_l*x1[0]-((w*L)*(x1[0]-3)),R_l*x1[1]-((w*L)*(x1[1]-3))) #N.m for 6<x<12\n",
+ "M3=(R_l*x2[0]-((w*L)*(x2[0]-3))+M_app,R_l*x2[1]-((w*L)*(x2[1]-3))+M_app) #N.m for 12<x<18\n",
+ "Mo=[-1464.8652,2509.3333]\n",
+ "#Maximum bending moment\n",
+ "M_max=R_l*a*0.5 #N.m\n",
+ "\n",
+ "#Plotting SFD & BMD\n",
+ "p=[0,a,5.99,6,11.99,12,17.99,18]\n",
+ "y=[0,1467,1020,1020,-1486,2514,0,0]\n",
+ "z=[0,a,5.99,6,11.99,12,17.99,18]\n",
+ "b=[758,0,-418,-418,-418,-418,-418,0]\n",
+ "g=[0,0,0,0,0,0,0,0]\n",
+ "d=transpose(p)\n",
+ "e=transpose(b)\n",
+ "plt.plot(d,y)\n",
+ "xlabel('distance (m)')\n",
+ "ylabel('B.M (N.m)')\n",
+ "plt.show()\n",
+ "xlabel('distance (m)')\n",
+ "ylabel('S.F (N)')\n",
+ "plt.plot(z,e,z,g)\n",
+ "plt.show()\n",
+ "\n",
+ "#Result\n",
+ "print'The value of reactions are: R_l=',round(R_l),\"N\",'and R_r=',round(R_r),\"N\"\n",
+ "print'The point of maximum bending moment is',round(a,2),\"meters from left support\",'and maximum bending moment is',round(M_max),\"N.m\"\n",
+ "print'The bending moment and shear force diagrams have been plotted'\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nj1dKKZWTk6OCgoKUUnopoVtuuUWVl5crpZRteZXbb79dWa1WpZRSW7ZsUbfffnuV3O+//7564IEH\nbN8nJyerhIQEpZRSGRkZqkGDBuq7775TZ86cUZ06dVI7d+603bd169aqrKysVj8vIarja3RRE8JV\nfPbZZwwfPpx69epRr169ahcebdy4MfXq1WP8+PEMHjyYwYMH225TlVY8+vbbb3nqqac4evQoZWVl\n9O/fH9BNaucWeWzfvr1tv5P169czbtw424KLjRs3pqysjC+//JI77rjD9rgVFRVVMv3000+0aNHi\nvGPntoMOCwsjICDAthBnhw4dbCv0gl7VOC8vj5CQkBr+tISonhQVIc4ymUznFQZ1wbJ4Sinq1KnD\ntm3b2LBhA0uXLmX+/Pm2DvzKfTDJycmsWLGC8PBwFi5cSFZWlu22unXrVnmOC58b4MyZMzRu3Jjs\n7OzfzX7hueeew8fHh6uuusp23MfHh1OnTp13nivtuSLcn/SpCHFWz549Wb58OcePH6e0tJRVq1ZV\nuc9vv/3GkSNHGDBgAC+99BLffPMNAA0aNODXX3+13a+srIyAgABOnjzJv/71r999446JieHtt9+2\n9b0cPnyYhg0b0rp1a5YuXQroArBr164q5/7hD3+w7aFSUyUlJS6xv5DwHFJUhDgrMjKSUaNGERER\nwcCBA4mKijrvdpPJRGlpKUOGDCEiIoIePXowd+5cQI+keuGFF+jUqRP79+/nueeeo2vXrtx66620\nb9++yuNc+HW/fv2IjY2lc+fOREZG2oYyv/vuu6Snp9OxY0fCwsJYsWJFldzdu3evsnlZdc9x4ffF\nxcU0bdqUa6+9tkY/JyEuRZa+F8ID3H777bz77rtV+lYu5R//+Ae//fYbDz30kAOTCW8jVypCeIC/\n/vWvvP766zU6Z8mSJdx7770OSiS8lVypCCGEsBu5UhFCCGE3UlSEEELYjRQVIYQQdiNFRQghhN1I\nURFCCGE3UlSEEELYzf8DHQ8WrN8pOOEAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5d1cd10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n8ZyXkJDAqlWraucfUhq3Wp8LL+JDduzYYUVHR1tlZWXWDz/8YIWGhlqLFi2yLMuyxo4da7355pvW\nd999Z11//fWec44cOXLW46edudTFnDlzrKVLl1qWZVnJyclWYmKiZVmWlZ2dbYWGhlqW5V5C58Yb\nb7TKysosy7I8y4r069fPysnJsSzLsrZu3Wr169evUu7XXnvNmjhxoufnsWPHWqNHj7Ysy7LS09Ot\nq6++2vr888+tU6dOWd27d7c+/fRTz3M7duxolZaWVuvfS6Qq/qaLl0hd2rJlC8OHD6dZs2Y0a9bs\nvAtotmzZkmbNmnHvvfdy++23c/vtt3ses85Yzeef//wnc+bM4ciRI5SWljJ48GDA3RV2erHCiIgI\nz34bGzZsYNy4cZ5FA1u2bElpaSkff/wxd955p+e65eXllTIdPHiQdu3anXXs9BbCUVFRBAUFeRaT\njIyM9KwmC+5VePPy8ggPD/fyX0ukaioe0qjYbLazCoB1ztJulmVxxRVXkJWVxcaNG3njjTd47rnn\nPAPpZ46RjB07lrVr1xIdHc3KlSvJzMz0PNakSZNKr3HuawOcOnWKli1b8sknn1w0+7nnnn4NPz8/\nmjZt6jnu5+dHRUXFWef52p4fUv9pzEMalVtuuYU1a9Zw/Phxjh49yjvvvFPpOT/++CMlJSXcdttt\nPP300+zevRuAq6++mh9++MHzvNLSUoKCgjhx4gSvvPLKRd+g4+PjefHFFz1jI4cPH6ZFixZ07NiR\nN954A3C/0X/22WeVzu3QoYNnDw9vFRcX+8z+NtJwqHhIo9K1a1dGjhxJTEwMQ4YMITY29qzHbTYb\nR48eZejQocTExNCnTx+eeeYZwH3n0sKFC+nevTv79+/n97//Pb169eLmm28mIiKi0nXO/X7QoEEk\nJCTQo0cPunbt6rlF+NVXX2X58uV06dKFqKgo1q5dWyn3TTfdVGmDrPO9xrk/FxUV0bp1a6666iqv\n/p1ELkZLsovUE/369ePVV1+tNPZxIX/605/48ccfmTJlSi0mk8ZILQ+RemL69Ok8//zzXp2zevVq\nxo8fX0uJpDFTy0NERLymloeIiHhNxUNERLym4iEiIl5T8RAREa+peIiIiNdUPERExGv/D7DbLL/n\nhT7EAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x60b29d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of reactions are: R_l= 757.0 N and R_r= 418.0 N\n",
+ "The point of maximum bending moment is 3.86 meters from left support and maximum bending moment is 1462.0 N.m\n",
+ "The bending moment and shear force diagrams have been plotted\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8-4, Page no 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initlization of variables\n",
+ "F1=2000 #lb\n",
+ "w=100 #lb/ft\n",
+ "\n",
+ "#Calculations\n",
+ "R_r=(-F1*5+w*14*13)/20 #lb\n",
+ "R_l=(F1*25+w*14*7)/20 #lb\n",
+ "#Shear Force matrix\n",
+ "V=[-2000,-2000,990,990,-410,0] #lb\n",
+ "#Bending Moment matrix\n",
+ "B=[0,-10000,-10000,-4060,840,0]\n",
+ "#Length matrix for shear force\n",
+ "X_v=[0,5,5.0001,11,20.89999,20.9]\n",
+ "#Length matrix for bendimg moment\n",
+ "X_b=[0,4.99,5,11,19.9,20.9]\n",
+ "g=[0,0,0,0,0,0]\n",
+ "\n",
+ "#Plotting of SFD & BMD.\n",
+ "d=transpose(X_v)\n",
+ "e=transpose(V)\n",
+ "plt.plot(d,B)\n",
+ "xlabel('distance (ft)')\n",
+ "ylabel('B.M (lb.ft)')\n",
+ "plt.show()\n",
+ "plt.plot(X_b,e,X_b,g)\n",
+ "xlabel('distance (ft)')\n",
+ "ylabel('S.F (lb)')\n",
+ "plt.show()\n",
+ "\n",
+ "#Result\n",
+ "print'The bending Moment and Shear Force diagrams have been plotted'\n",
+ "#Note\n",
+ "#The textbook does not specify the span and hence there seems to be a disagreement between the textbook and python solution.here the values have just been plotted\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5c00290>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n8627detGcXExANnZ2YwaNYrQ0FDCw8OJiIhg27ZtlJaWUlFRQUJCAgBjx45l9erVAKxZs4a0tDQA\nhg0bxpYtWyxYotqlqCjX6hL8hj48ztC6OEPr4vJZfk5lyZIlpKSkALBv3z4cDof7MYfDQUlJSZXp\ndrudkpISAEpKSmjTpg0AISEhNG7cmIMHD/pwCURE5LQQb71wUlISZWVlVabPnj2bIUOGAPD0009T\nr1497rrrLm+VUck/3zaoffcdNGtmdRUiEqi8FiqbNm264OOvv/4669evr3S4ym63U1RU5P67uLgY\nh8OB3W53HyI7e/rpefbu3cu1117LiRMnOHz4MM3O86nZvn171q1T29NpNtssq0vwG7NmaV2cpnVx\nhtaFqX379jV6vtdC5UJycnJ45pln+OCDD6hfv757empqKnfddRdTp06lpKQEl8tFQkICNpuNRo0a\nsW3bNhISEli6dCmTJ092z5OZmUn37t1ZuXIl/fr1O+97fvfddz5ZNhGRYGYzDN9fY+10Ojl+/Lh7\nj6JHjx6kp6cD5uGxJUuWEBISwsKFCxkwYABgthSPGzeOY8eOkZKSwvPPPw+YLcVjxowhPz+f5s2b\ns3z5csLDw329SCIigkWhIiIigcny7i9fyMnJISoqCqfTybx586wux1Lh4eF06tSJuLg4d4t2sLj3\n3nsJCwsjJibGPe3gwYMkJSURGRlJcnIyhw4dsrBC3znfupg5cyYOh4O4uDji4uLc14IFsqKiIvr0\n6UPHjh254YYb3EdAgnG7qG5d1HS7CPg9lZMnT3L99dezefNm7HY7//Iv/8KyZcvo0KGD1aVZol27\ndmzfvv28zQyBbuvWrTRo0ICxY8fy5ZdfAvD4449zzTXX8PjjjzNv3jx+/PFH5s6da3Gl3ne+dTFr\n1iwaNmzI1KlTLa7Od8rKyigrK6Nz584cOXKErl27snr1al577bWg2y6qWxdvv/12jbaLgN9TycvL\nIyIigvDwcEJDQxk5ciTZ2dlWl2WpAP8eUa1evXrRtGnTStPOvng2LS3NfVFtoDvfuoDg2zZatWpF\n586dAWjQoAEdOnSgpKQkKLeL6tYF1Gy7CPhQOfviSDhzQWWwstls9O/fn/j4eF555RWry7FceXk5\nYWFhAISFhVFeXm5xRdZatGgRsbGxjB8/PigO+ZytsLCQ/Px8unXrFvTbxel10b17d6Bm20XAh4pN\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5a4e330>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bending Moment and Shear Force diagrams have been plotted\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter9.ipynb b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter9.ipynb
new file mode 100755
index 00000000..6076d159
--- /dev/null
+++ b/Engineering_Mechancis,_Schaum_Series_by_McLean/chapter9.ipynb
@@ -0,0 +1,889 @@
+{
+ "metadata": {
+ "name": "chapter 9.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 9: FRICTION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-1, Page no 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Calculations\n",
+ "#Simplifying equation (3) after substituting value of Nb in it we get\n",
+ "#m_u**2+m_u*2*tan(50)-1=0\n",
+ "#Solution of the equation\n",
+ "a=1\n",
+ "b=2*1.19175 # here 1.19175 is value of tan(50)\n",
+ "c=-1\n",
+ "g=(b**2-(4*a*c))**0.5\n",
+ "\n",
+ "#solution\n",
+ "x1=(-b+g)/(2*a)\n",
+ "x2=(-b-g)/(2*a)\n",
+ "#As x2 does not make any physical sense x1 is the answer\n",
+ "\n",
+ "#Result\n",
+ "print'The value of mu is',round(x1,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of mu is 0.36\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-3, Page no 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=70 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "# as theta=20 degrees, we have\n",
+ "sintheta=0.3420\n",
+ "costheta=0.9396\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving by martix method\n",
+ "#Taking sum along vertical and horizontal direction and equating them to zero\n",
+ "A=np.array([[sintheta,1,0],[-costheta,0,1],[0,-4**-1,1]])\n",
+ "#RHS matrix\n",
+ "R=np.array([[m*g],[0],[0]])\n",
+ "ans1=np.linalg.solve(A,R) #force vector N\n",
+ "#Calculation part 2\n",
+ "#Similar solution by matrix method\n",
+ "#Taking moment about point O and summing forces in horizontal and vertical direction and equating all to zero\n",
+ "B=np.array([[4*costheta,0,0],[-costheta,1,0],[sintheta,0,1]])\n",
+ "#RHS matrix\n",
+ "J=np.array([[m*g*1.5],[0],[m*g]])\n",
+ "ans2=np.linalg.solve(B,J) #force Vector N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P in first case is',round(ans1[0]),\"N\",'and that in second case is',round(ans2[0]),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P in first case is 167.0 N and that in second case is 274.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-4, Page no 132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=200 #lb\n",
+ "Fapp=300 #lb\n",
+ "mu=0.3 #coefficient of friction\n",
+ "# as theta=30 degrees, we have\n",
+ "sintheta=2**-1\n",
+ "costheta=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "#Summing forces in the plane parallel to the slope\n",
+ "F=-(W*sintheta-Fapp*costheta) #lb\n",
+ "N1=(W*costheta+Fapp*sintheta) #lb\n",
+ "#Max value obtained\n",
+ "Fprime= mu*N1\n",
+ "\n",
+ "#Result\n",
+ "print'The value of F is',round(F),\"lb\"\n",
+ "print'The value of N1 is',round(N1),\"lb\"\n",
+ "print'The value of Fprime is',round(Fprime),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of F is 160.0 lb\n",
+ "The value of N1 is 323.0 lb\n",
+ "The value of Fprime is 97.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-5, Page no 132"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mu1=0.2 #coefficient of friction between wedges and A\n",
+ "mu2=4**-1 #coefficient of friction between wedges \n",
+ "F=20 #tonnes\n",
+ "\n",
+ "#Calculations\n",
+ "#Using the matrix method to solve\n",
+ "#Summing forces in vertical and horizontal direction\n",
+ "A=np.array([[1,-(mu1*10+1)/(101)**0.5],[0,(10-mu1*1)/101**0.5]]) #force matrix\n",
+ "B=np.array([[mu2*F*1000],[F*1000]]) #lb\n",
+ "#Solving both matrices\n",
+ "R=np.linalg.solve(A,B) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The forces N2 and P are:',round(R[1]),\"lb\",'and',round(R[0]),\"lb\"\n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The forces N2 and P are: 20510.0 lb and 11122.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-6, Page no 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=45 degrees,we have\n",
+ "sintheta=sqrt(2)**-1\n",
+ "costheta=sqrt(2)**-1\n",
+ "mu1=4**-1 #coefficient of friction between A and B\n",
+ "mu2=3**-1 #coefficient of friction between A and Floor\n",
+ "ma=14 #kg\n",
+ "mb=9 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Summing forces in vertical direction\n",
+ "Nb=mb*g #N\n",
+ "#Also\n",
+ "Fprimeb=mu1*Nb #N\n",
+ "#Summing forces in direction\n",
+ "T=Fprimeb #N\n",
+ "#Considering the fig(c)\n",
+ "#Summing forces in the horizontal direction and vertical direction and solving by matrix method \n",
+ "A=np.array([[-costheta,mu2],[sintheta,1]]) #N\n",
+ "B=np.array([[-Fprimeb],[(mb*g+ma*g)]]) #N\n",
+ "R=np.linalg.solve(A,B) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P and Na are:',round(R[0]),\"N\",'and',round(R[1]),\"N respectively.\"\n",
+ "\n",
+ "# The ans may wary due o decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P and Na are: 103.0 N and 153.0 N respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-7, Page no 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m1=40 #kg\n",
+ "m2=13.5 #kg\n",
+ "mu=3**-1 #coefficient of friction\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving by substitution\n",
+ "#After simplification we get\n",
+ "x=mu*m2*g\n",
+ "y=mu*(m1*g+m2*g)\n",
+ "theta=arctan((x+y)/(m1*g))*(180/pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print'The value of the angle is',round(theta,1),\"degrees\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of the angle is 29.2 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-8, Page no 134"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of variables\n",
+ "W=350 #lb\n",
+ "# as theta=30 degrees, we have\n",
+ "sintheta=2**-1\n",
+ "costheta=sqrt(3)*2**-1\n",
+ "# and phi=15 degrees,thus\n",
+ "sinphi=0.2588\n",
+ "cosphi=0.9659\n",
+ "\n",
+ "#Calculations\n",
+ "#Solving by the matrix method\n",
+ "A=np.array([[costheta,sinphi],[-sintheta,cosphi]])\n",
+ "B=np.array([[W*sintheta],[W*costheta]])\n",
+ "an=np.linalg.solve(A,B) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The value of P and R are:',round(an[0],1),\"lb\",'and',round(an[1],1),\"lb respectively.\"\n",
+ "\n",
+ "# The ans may wary due to decimal point descrepancy."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of P and R are: 93.8 lb and 362.4 lb respectively.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-9, Page no 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "# as theta=45 degrees, we have\n",
+ "sintheta=sqrt(2)**-1\n",
+ "costheta=sqrt(2)**-1\n",
+ "m1=45 #kg\n",
+ "m2=135 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "mu=0.25 #coefficient of riction\n",
+ "\n",
+ "#Calculations\n",
+ "N2=m2*g #N\n",
+ "T=mu*N2 #N\n",
+ "N1=m1*g*costheta #N\n",
+ "Fprime1=N1*mu #N\n",
+ "P=T+Fprime1-(m1*g*sintheta) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The values are'\n",
+ "print'N2=',round(N2),\"N\"\n",
+ "print'T=',round(T),\"N\"\n",
+ "print'N1=',round(N1),\"N\"\n",
+ "print'Fprime1=',round(Fprime1),\"N\"\n",
+ "print'P=',round(P,1),\"N\"\n",
+ "\n",
+ "# The ans may wary due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The values are\n",
+ "N2= 1324.0 N\n",
+ "T= 331.0 N\n",
+ "N1= 312.0 N\n",
+ "Fprime1= 78.0 N\n",
+ "P= 97.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-10, Page no 135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mu=0.2 #coefficient of friction\n",
+ "F1=150 #lb\n",
+ "F2=100 #lb\n",
+ "# as theta=60 degrees\n",
+ "costheta=2**-1\n",
+ "# also theta1=30 degrees\n",
+ "costheta1=sqrt(3)*2**-1\n",
+ "\n",
+ "#Calculations\n",
+ "N1=F1*costheta #lb\n",
+ "T=(mu*N1)+(F1*(costheta1)) #lb considering positive\n",
+ "#Equilibrium for 100lb\n",
+ "#Eliminating N2 from both equations\n",
+ "#Taking derivative we get\n",
+ "theta2=arctan(mu)*(180/pi) #degrees\n",
+ "#Hence P becomes\n",
+ "# in calculation of P we use the values of sin(theta2) & cos(theta2) as,\n",
+ "sintheta2=0.196\n",
+ "costheta2=0.98\n",
+ "P=(F2*mu+T)*(costheta2+(mu*sintheta2))**-1 #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The minimum value of P is',round(P),\"lb\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of P is 162.0 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-11, Page no 136"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "F=180 #N\n",
+ "m=100 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "mu=0.25 #coeffiecient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "#Assuming F2 is maximum\n",
+ "N2=F*2/(1+mu) #N\n",
+ "F2=mu*N2 #N\n",
+ "N1=m*g-F2 #N\n",
+ "F1=F-F2 #N\n",
+ "\n",
+ "#Result\n",
+ "print'The vaules are'\n",
+ "print'N2=',round(N2,3),\"N\"\n",
+ "print'F2=',round(F2,3),\"N\"\n",
+ "print'N1=',round(N1,3),\"N\"\n",
+ "print'F1=',round(F1,3),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vaules are\n",
+ "N2= 288.0 N\n",
+ "F2= 72.0 N\n",
+ "N1= 909.0 N\n",
+ "F1= 108.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-13, Page no 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "mu_ca=0.3 #ceofficient of friction between copper block A and aluminium block B\n",
+ "mu_af=0.2 #coefficient of friction between aluminium block B and Floor\n",
+ "ma=3 #kg\n",
+ "mb=2 #kg\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "#For A\n",
+ "#Taking sum of forces along X and Y direction\n",
+ "Na=ma*g #N\n",
+ "P=mu_ca*Na #N\n",
+ "#For B\n",
+ "#Taking sum of forces along X and Y direction\n",
+ "Nb=Na+mb*g #N\n",
+ "Fb=mu_ca*Na #N\n",
+ "#Now largest value of friction before slip is \n",
+ "Fprimeb=mu_af*Nb #N\n",
+ "#Now as Fb<F'b hence initial assumption is incorrect and P=Fb\n",
+ "P=Fb #N\n",
+ "\n",
+ "#Result\n",
+ "print'The value of force that will cause motion is',round(P,2),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of force that will cause motion is 8.83 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-15, Page no 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d_m=2 #in mean diameter of the screw\n",
+ "p=4**-1 #in\n",
+ "mu=0.15 #coefficient of friction\n",
+ "l=2 #ft\n",
+ "L=4000 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "phi=arctan(mu)*(180/pi) #degrees\n",
+ "beta=arctan(p*(pi*l)**-1)*(180/pi) #degrees\n",
+ "x=phi+beta # degrees\n",
+ "#Force to raise the load\n",
+ "# Here the value of x=10.77 degrees, thus\n",
+ "tanx=0.19\n",
+ "P=(L*tanx)/(d_m*12) #lb\n",
+ "#Force to lower the load\n",
+ "# Also,\n",
+ "y=phi-beta\n",
+ "# Thus y yeilds 6.23 degrees, thus\n",
+ "tany=0.109\n",
+ "P2=(L*tany)/(d_m*12) #lb\n",
+ "\n",
+ "#Result\n",
+ "print'The force to raise the load is',round(P,1 ),\"lb\"\n",
+ "print'The force to lower the load is',round(P2,1),\"lb\"\n",
+ "\n",
+ "# The answer waries due to decimal point descrepancy"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force to raise the load is 31.7 lb\n",
+ "The force to lower the load is 18.2 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-16, Page no 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "r_m=2.338 #in\n",
+ "d_m=3.25 #in\n",
+ "mu=0.06 #coefficient of friction\n",
+ "P=1500 #lb\n",
+ "p=4**-1 #pitch\n",
+ "\n",
+ "#Calculation\n",
+ "phi=arctan(mu)*(180/pi) #degrees\n",
+ "beta=round(arctan(p/(2*pi*r_m))*(180/pi)) #degrees\n",
+ "x=phi+beta\n",
+ "# Thus tanx yeilds\n",
+ "tanx=0.077\n",
+ "M=P*r_m*tanx+mu*P*(d_m/2) #lb.in\n",
+ "\n",
+ "#Result\n",
+ "print'The moment required is',round(M),\"lb.in\"\n",
+ "\n",
+ "#Decimal accuracy causes discrepancy in answers\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment required is 416.0 lb.in\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-17, Page no 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=750 #mm diameter\n",
+ "alpha=pi #wrap angle radians\n",
+ "mu=0.25 #coefficient of friction\n",
+ "T_t=200 #N tension on the tight side\n",
+ "\n",
+ "#Calculation\n",
+ "T2=T_t/(exp(mu*alpha)) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The tension of the slack side is',round(T2,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tension of the slack side is 91.2 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-18, Page no 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=635 #mm diameter of the drum\n",
+ "P=178 #N\n",
+ "mu=3**-1 #coefficient of friction\n",
+ "l1=100 #mm \n",
+ "l2=660 #mm\n",
+ "# as theta1=60 degrees\n",
+ "sintheta1=sqrt(3)*2**-1\n",
+ "costheta1=2**-1\n",
+ "# as theta2=30 degrees,\n",
+ "sintheta2=2**-1\n",
+ "costheta2=sqrt(3)*2**-1\n",
+ "GD=d/2 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "#Taking moment about point C\n",
+ "Tb=(P*(l1+l2))/(l1*sintheta1) #N\n",
+ "CD=((d/2)-(l1*costheta2))/sintheta2 #mm\n",
+ "#from fig 9-22(b) \n",
+ "theta=arcsin(GD/CD)*(180/pi) #degrees\n",
+ "#from fig9-22(c)\n",
+ "w_d=(180+30+theta) #degrees\n",
+ "w=(w_d)*(pi/180) #radians\n",
+ "#As Tc is greater than Tb\n",
+ "Tc=Tb*(exp(mu*w)) #N\n",
+ "M=(Tc-Tb)*GD #N.mm\n",
+ "an=M/1000 #N.m\n",
+ "\n",
+ "#Result\n",
+ "print'The braking moment required is',round(an),\"N.m\"\n",
+ "\n",
+ "#Note the unit of the final enswer carefully\n",
+ "# The answer is off by 2 N.m"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The braking moment required is 1668.0 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-19, Page no 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "L=1000 #lb\n",
+ "P=10 #lb\n",
+ "\n",
+ "#Calculations\n",
+ "mu=log(L/P)/(4*2*pi) \n",
+ "\n",
+ "#Result\n",
+ "print'The coefficient of friction is',round(mu,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The coefficient of friction is 0.18\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-20, Page no 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "m=900 #kg\n",
+ "mu=0.2 #coefficient of friction\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "T2=m*g/(exp(2*2*pi*mu)) #N\n",
+ "\n",
+ "#Result\n",
+ "print'The force needed to hold the mass is',round(T2),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force needed to hold the mass is 714.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9-21, Page no 143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of variables\n",
+ "d=760 #mm\n",
+ "W=500 #N\n",
+ "a=0.305 #mm coefficient of rolling resisatnce\n",
+ "r=d/2 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "P=(W*a)/r #N\n",
+ "\n",
+ "#Result\n",
+ "print'The force necessary is',round(P,1),\"N\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force necessary is 0.4 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file