diff options
author | kinitrupti | 2017-05-12 18:53:46 +0530 |
---|---|---|
committer | kinitrupti | 2017-05-12 18:53:46 +0530 |
commit | 6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d (patch) | |
tree | 22789c9dbe468dae6697dcd12d8e97de4bcf94a2 /Mechanics_of_Materials_by_R._C._Hibbeler | |
parent | d36fc3b8f88cc3108ffff6151e376b619b9abb01 (diff) | |
download | Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.gz Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.bz2 Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.zip |
Removed duplicates
Diffstat (limited to 'Mechanics_of_Materials_by_R._C._Hibbeler')
33 files changed, 12201 insertions, 0 deletions
diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/APPENDIX.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/APPENDIX.ipynb new file mode 100755 index 00000000..b7a1f860 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/APPENDIX.ipynb @@ -0,0 +1,366 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "APPENDIX A:Geomatric Properties of an Area"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.1:Page no. 786"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#From fig. A-4(a) The given dimensions are\n",
+ "l1=8 #inch\n",
+ "l2=3 #inch\n",
+ "l3=10 #inch\n",
+ "l4=5 #inch\n",
+ "l5=11.5 #inch\n",
+ "l6=2 #inch\n",
+ "\n",
+ "#calculation\n",
+ "ymean1=((l4*l3*l6)+(l5*l2*l1))/((l3*l6)+(l2*l1))\n",
+ "#From fig. A-4(b)\n",
+ "l1_=-8 #inch\n",
+ "l2_=3 #inch\n",
+ "l3_=10 #inch\n",
+ "l4_=-1.5 #\n",
+ "l5_=2 #inch\n",
+ "ymean2=((l4_*l2_*-l1_)+(l1_*l3_*l5_))/((l2_*-l1_)+(l3_*l5_))\n",
+ "d=ymean1-ymean2 #Depth of beam\n",
+ "#From fig. A-4(c)\n",
+ "la=8 #inch\n",
+ "lb=6.5 #inch\n",
+ "lc=10 #inch\n",
+ "ld=13 #\n",
+ "le=5 #inch\n",
+ "lf=3 #inch\n",
+ "ymean3=((lb*ld*la)-2*(le*lc*lf))/((ld*la-2*(lc*lf)))\n",
+ "print\"Location of centroid in fig (a)is\",ymean1,\"inch\" \n",
+ "print\"Location of centroid in fig (b)is\",ymean2,\"inch\"\n",
+ "print\"Location of centroid in fig (c)is\",ymean3,\"inch\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Location of centroid in fig (a)is 8.54545454545 inch\n",
+ "Location of centroid in fig (b)is -4.45454545455 inch\n",
+ "Location of centroid in fig (c)is 8.54545454545 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.2:Page no 789"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Dimension in the fig.A-7 a\n",
+ "#The given dimensions are\n",
+ "l1=8 #inch\n",
+ "l2=8.55 #inch\n",
+ "l3=10 #inch\n",
+ "l4=5 #inch\n",
+ "l5=1.5 #inch\n",
+ "l6=2 #inch\n",
+ "l7=4.45 #inch\n",
+ "\n",
+ "#Calculation\n",
+ "Ix1=(1/12.0*l6*l3**3)\n",
+ "A1=l6*l3\n",
+ "dy1=(l2-l4)\n",
+ "Ix2=(1/12.0*l1*(l5+l5)**3)\n",
+ "A2=l1*(l5+l5)\n",
+ "dy2=(l7-l5)\n",
+ "I1=(Ix1+A1*dy1**2)+(Ix2+A2*dy2**2)\n",
+ "print I1\n",
+ "\n",
+ "#Dimension in the fig.A-7 b\n",
+ "l1_= 13 #inch\n",
+ "l2_= 3 #inch\n",
+ "l3_=10 #inch\n",
+ "l4_=5 #inch\n",
+ "l5_= 2 #inch\n",
+ "l6_= 6.5 #inch\n",
+ "l7_=4.45 #inch\n",
+ "l8_=8.55 #inch\n",
+ "l9_=6.5 #inch\n",
+ "\n",
+ "Ix1_=(1/12.0*l1_*(l2_+l5+l2_)**3)\n",
+ "A1_=l1_*(l2_+l5+l2_)\n",
+ "dy1_=(l8_-l9_)\n",
+ "Ix2_=(1/12.0*l2_*(l3_)**3)\n",
+ "A2_=l2_*(l3_)\n",
+ "dy2_=(l7_-l4_)\n",
+ "I2=(Ix1+A1*dy1**2)+(Ix2+A2*dy2**2)\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of inertia for fig a is\",round(I1,0),\"inch**4\"\n",
+ "print\"Moment of inertia for fig a is\",round(I2,0),\"inch**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "645.576666667\n",
+ "645.576666667\n",
+ "Moment of inertia for fig a is 646.0 inch**4\n",
+ "Moment of inertia for fig a is 646.0 inch**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.3 Page no: 790"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#From fig A-8(a)\n",
+ "#The given dimensions are\n",
+ "l1=100 #mm\n",
+ "l2=400 #mm\n",
+ "l3=600 #mm\n",
+ "dx=250 #mm\n",
+ "dy=200 #mm\n",
+ "\n",
+ "#Calculation\n",
+ "#Rectangle A:\n",
+ "Ix1=(1/12.0*l1*(l2-l1)**3)\n",
+ "Ady=(l1*(l2-l1)*dy**2)\n",
+ "Ix=(Ix1+Ady)\n",
+ "Iy1=(1/12.0*(l2-l1)*l1**3)\n",
+ "Adx=(l1*(l2-l1)*dx**2)\n",
+ "Iy=(Iy1+Adx)\n",
+ "\n",
+ "#Rectangle B:\n",
+ "Ix_=(1/12.0*l3*l1**3)\n",
+ "Iy_=(1/12.0*l1*l3**3)\n",
+ "\n",
+ "#Rectangle C\n",
+ "Ix3=(1/12.0*l1*(l2-l1)**3)\n",
+ "Ady_=(l1*(l2-l1)*200**2)\n",
+ "Ix3_=(Ix3+Ady_)\n",
+ "Iy3=(1/12.0*(l2-l1)*l1**3)\n",
+ "Adx_=(l1*(l2-l1)*dx**2)\n",
+ "Iy3_=(Iy3+Adx)\n",
+ "\n",
+ "#Total Moment of inertia\n",
+ "Itx=(Ix+Ix_+Ix3_)\n",
+ "Ity=(Iy+Iy_+Iy3_)\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of inertia across x is \",Itx,\"mm**4\"\n",
+ "print\"Moment of inertia across y is \",Ity,\"mm**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of inertia across x is 2900000000.0 mm**4\n",
+ "Moment of inertia across y is 5600000000.0 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.4 :page no. 793"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#From fig A-12 a\n",
+ "#The given length of sides are\n",
+ "l1=100 #mm\n",
+ "l2=300 #mm\n",
+ "dy=200 #mm\n",
+ "dx=250 #mm\n",
+ "\n",
+ "#Calculation\n",
+ "#Rectangle A\n",
+ "Ixy1=0\n",
+ "A1=l1*l2\n",
+ "Ixy1=Ixy1+A1*(-dx)*dy\n",
+ "\n",
+ "#Rectangle B\n",
+ "Ixy2=0\n",
+ "A2=0\n",
+ "Ixy2=Ixy2+A2*dx*dy\n",
+ "\n",
+ "#Rectangle D\n",
+ "Ixy3=0\n",
+ "A3=l1*l2\n",
+ "Ixy3=Ixy3+A3*(dx)*(-dy)\n",
+ "Ixy=Ixy1+Ixy2+Ixy3\n",
+ "\n",
+ "#Result\n",
+ "print\"The moment of inertia is\",Ixy,\"mm**4\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The moment of inertia is -3000000000 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.5 :page no. 796"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#From fig A-15 and From Example A.3 and A.4\n",
+ "Ix=2.9*10**9 #moment of inertia along x\n",
+ "Iy=5.6*10**9 #moment of inertia along y\n",
+ "Ixy=-3*10**9 #moment of inertia along xy\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "#Using eq. A11\n",
+ "import math\n",
+ "thetaP1=1/2.0*math.atan(-Ixy*2/(Ix-Iy))*100\n",
+ "#As shown in fig. A-15\n",
+ "thetaP2=-32.9 #degree\n",
+ "Imax=(Ix+Iy)/2.0+math.sqrt((((Ix-Iy)/2.0)**2)+Ixy**2)\n",
+ "Imin=(Ix+Iy)/2.0-math.sqrt((((Ix-Iy)/2.0)**2)+Ixy**2)\n",
+ "\n",
+ "#Result\n",
+ "print\"Maximum moment of inertia is\",Imax,\"mm**4\"\n",
+ "print\"Minimum moment of inertia is\",Imin,\"mm**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum moment of inertia is 7539756829.92 mm**4\n",
+ "Minimum moment of inertia is 960243170.081 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example A.6 :page no. 799"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "#From fig. A-17 a and Example A.3 and A.4\n",
+ "Ix=2.9*10**9 #mm**4, moment of inertia\n",
+ "Iy=5.6*10**9\n",
+ "Ixy=-3*10**9\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "d=(Ix+Iy)/2.0 #distance of centre of circle \n",
+ "#from fig A-17 b\n",
+ "BC=1.35\n",
+ "AB=3\n",
+ "CA=math.sqrt(BC**2+AB**2)\n",
+ "\n",
+ "#the circle intersect the I axis at point (7.54,0) and (0.960,0) hence\n",
+ "Imax=7.54*(10**9) #mm**4\n",
+ "Imin=0.960*(10**9) #mm**4\n",
+ "thetap1=1/2.0*(180-(math.atan(AB/BC))*180/math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print\"The maximum moment of inertia is\",Imax,\"mm**4\"\n",
+ "print\"The minimum moment of inertia is\",Imin,\"mm**4\"\n",
+ "print\"The angle is \",round(thetap1,1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum moment of inertia is 7540000000.0 mm**4\n",
+ "The minimum moment of inertia is 960000000.0 mm**4\n",
+ "The angle is 57.1\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter1.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter1.ipynb new file mode 100755 index 00000000..4446458c --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter1.ipynb @@ -0,0 +1,843 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1:Equilibrium of a deformable body"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.1 Page no 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "w_varying = 270.0 #N/m, torque\n",
+ "l_crossection = 9.0 #m , length\n",
+ "l_cb = 6.0 #m length\n",
+ "l_ac = 2.0 #m length\n",
+ "\n",
+ "#Calculation\n",
+ "w_c = (w_varying/l_crossection) * l_cb #By proportion, load at C is found.\n",
+ "f_resultant_c = 0.5* w_c *l_cb \n",
+ "#Balancing forces in the x direction:\n",
+ "n_c = 0\n",
+ "#Balncing forces in the y direction:\n",
+ "v_c = f_resultant_c\n",
+ "# Balncing the moments about C:\n",
+ "m_c = - (f_resultant_c*l_ac)\n",
+ "\n",
+ "#Results\n",
+ "print\"The resultant force at C is \",f_resultant_c,\"N\"\n",
+ "print\"The horizontal force at C is \",n_c,\"N\"\n",
+ "print\"The vertical force at C is \",v_c,\"N\"\n",
+ "print\"The moment about C is \",m_c,\"Nm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resultant force at C is 540.0 N\n",
+ "The horizontal force at C is 0 N\n",
+ "The vertical force at C is 540.0 N\n",
+ "The moment about C is -1080.0 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.2 Page no 12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "f_d = 225 #N\n",
+ "w_uniform = 800 # N/m\n",
+ "l_ac = 0.200 #m\n",
+ "l_cb = 0.05+0.1 #m\n",
+ "l_bd = 0.100 #m\n",
+ "l_bearing = 0.05 #m\n",
+ "f_resultant = w_uniform*l_cb #120N\n",
+ "l_f_resultant_b = (l_cb/2)+ l_bearing #0.125m\n",
+ "l = l_ac + l_cb + l_bearing + l_bd \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "m_b = 0 # Net moment about B is zero for equilibrium \n",
+ "a_y = -((f_d*l_bd) - (f_resultant*l_f_resultant_b))/ (l - l_bd) # finding the reaction force at A\n",
+ "\n",
+ "# Refer to the free body diagram in Fig.1-5c.\n",
+ "f_c = 40 #N\n",
+ "#Balancing forces in the x direction\n",
+ "n_c = 0\n",
+ "#Balncing forces in the y direction\n",
+ "v_c = a_y - f_c #-18.75N - 40N-Vc = 0\n",
+ "# Balncing the moments about C\n",
+ "m_c = ((a_y * (l_ac + 0.05)) - f_c*(0.025) ) # Mc+40N(0.025m)+ 18.75N(0.250m) = 0\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print'The horizontal force at C =',n_c,\"N\"\n",
+ "print'The vertical force at C =',v_c,\"N\"\n",
+ "print'The moment about C =',round(m_c,2),\"NM\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal force at C = 0 N\n",
+ "The vertical force at C = -58.75 N\n",
+ "The moment about C = -5.69 NM\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.3 Page no 13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Given\n",
+ "l_ac = 2 #m.,length\n",
+ "l_cb = 1 #m.\n",
+ "l_ad = 1.5 #m.\n",
+ "#r_a = 0.125 #m.\n",
+ "#r_d = 0.125 #m.\n",
+ "W = 500 # N, force\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "#Balancing forces in the x direction\n",
+ "n_c = (W*g*(l_ac+l_cb))/(3*2/5.0) # N\n",
+ "#Balncing forces in the y direction\n",
+ "v_c = n_c*(4/5.0) #N\n",
+ "# Balncing the moments about C\n",
+ "m_c = n_c*(3/5.0)-(W*g)\n",
+ "\n",
+ "\n",
+ "# Result\n",
+ "print'The horizontal force at C = ',-v_c/1000,\"KN\"\n",
+ "print'The vertical force at C = ',-m_c/1000,\"KN\"\n",
+ "print'The moment about C = ',-m_c/1000,\"KNm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal force at C = -9.81 KN\n",
+ "The vertical force at C = -2.4525 KN\n",
+ "The moment about C = -2.4525 KNm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.4 Page no 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# Given\n",
+ "l_ag = 2 #Length of AG is 1m.\n",
+ "l_gd = 1 #Length of GD is 1m.\n",
+ "l_de = 3 #Length of DE is 1m.\n",
+ "f_a = 1500 #Force at A is 1500N.\n",
+ "l_ec = 1.5 #Length of EC is 1m.\n",
+ "l = l_ag +l_gd +l_de\n",
+ "w_uniform_varying = 600 #Nm.\n",
+ "f_ba = 7750 #N\n",
+ "f_bc = 6200 #N\n",
+ "f_bd = 4650 #N\n",
+ "\n",
+ "#Calculation\n",
+ "w_resultant = 0.5*l_de*w_uniform_varying\n",
+ "# calling point of action of resultant as P\n",
+ "l_ep = (2/3.0)*l_de \n",
+ "l_ap = l - l_ep \n",
+ "\n",
+ "#Free Body Diagram Using the result for Fba, the left section AG of the beam is shown in Fig 1-7d.\n",
+ "# Equations of equilibrium\n",
+ "#Balancing forces in the x direction\n",
+ "n_g = -f_ba * (4/5.0) # N\n",
+ "#Balncing forces in the y direction\n",
+ "v_g = -f_a + f_ba*(3/5.0) #N\n",
+ "\n",
+ "# Balncing the moments about C\n",
+ "m_g = (f_ba * (3/5.0)*l_ag) - (f_a * l_ag) #Nm\n",
+ "\n",
+ "# Result\n",
+ "print'The horizontal force at G = ',n_g,\"lb\"\n",
+ "print'The vertical force at G = ',v_g,\"lb\"\n",
+ "print'The moment about G = ',m_g,\"lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal force at G = -6200.0 lb\n",
+ "The vertical force at G = 3150.0 lb\n",
+ "The moment about G = 6300.0 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.5 Page no 15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Given\n",
+ "f_a = 50 #N, force\n",
+ "m_a = 70 # Moment at A in Nm\n",
+ "l_ad = 1.25 #Length of AD in m.\n",
+ "l_bd = 0.5 #Length of BD in m.\n",
+ "l_cb = 0.75 #Length of BC in m.\n",
+ "w_l = 2 #Kg/m\n",
+ "g = 9.81 #N/kg- acceleration due to gravity\n",
+ "\n",
+ "#Free Body Diagram \n",
+ "import math\n",
+ "w_bd = w_l*l_bd*g #in N. \n",
+ "w_ad = w_l*l_ad*g\n",
+ "# Equations of Equilibrium\n",
+ "#Balancing forces in the x, y and z direction\n",
+ "f_b_x = 0 # N\n",
+ "f_b_y = 0 #N\n",
+ "f_b_z = g + w_ad + f_a #N\n",
+ "# Balancing Moments in the x,y and z direction\n",
+ "m_b_x = - m_a + (f_a*l_bd) + (w_ad*l_bd) + (l_bd/2.0)*g #Nm\n",
+ "m_b_y = - (w_ad*(l_ad/2.0)) - (f_a*l_ad) #Nm\n",
+ "m_b_z = 0 #Nm\n",
+ "v_b_shear = sqrt(f_b_z **2 + 0) #Shear Force in N\n",
+ "t_b = - m_b_y #Torsional Moment in Nm\n",
+ "m_b = math.sqrt(m_b_x **2+ 0) # Bending moment in Nm\n",
+ "\n",
+ "# Result\n",
+ "print' The weight of segment BD =',w_bd,\"N\"\n",
+ "print' The weight of segment AD =',w_ad,\"N\"\n",
+ "print' The force at B in the Z direction =',f_b_z,\"N\"\n",
+ "print' The moment about B in the X direction =',m_b_x,\"Nm\"\n",
+ "print' The moment about G in the Y direction =',m_b_y,\"Nm\"\n",
+ "print' The Shear Force at B =',v_b_shear,\"N\"\n",
+ "print' The Torsional Moment at B =',t_b,\"Nm\"\n",
+ "print' The Bending Moment at B =',m_b,\"Nm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The weight of segment BD = 9.81 N\n",
+ " The weight of segment AD = 24.525 N\n",
+ " The force at B in the Z direction = 84.335 N\n",
+ " The moment about B in the X direction = -30.285 Nm\n",
+ " The moment about G in the Y direction = -77.828125 Nm\n",
+ " The Shear Force at B = 84.335 N\n",
+ " The Torsional Moment at B = 77.828125 Nm\n",
+ " The Bending Moment at B = 30.285 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.6 Page no 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "netf_b = 18*(10 **3) #N Net force at B.\n",
+ "netf_c = 8*(10**3) #N Net force at C.\n",
+ "f_a = 12 *(10**3) #N Force at A.\n",
+ "f_d = 22* (10**3) #N Force at D.\n",
+ "w = 35.0 #mm Width.\n",
+ "t = 10.0 #mm Thickness.\n",
+ "\n",
+ "#calculations\n",
+ "p_bc = netf_b + f_a #N Net force in region BC.\n",
+ "a = w*t #m**2 The area of the cross section.\n",
+ "avg_normal_stress = p_bc/a #Average Normal Stress.\n",
+ "\n",
+ "# Result\n",
+ "print'The Average Normal Stress in the bar when subjected to load = ',round(avg_normal_stress,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Average Normal Stress in the bar when subjected to load = 85.7 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.7 Page no: 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given :\n",
+ "m_lamp = 80 #Mass of lamp in Kg.\n",
+ "d_ab = 10 # Diameter of AB in mm.\n",
+ "d_bc = 8 # Diameter of BC in mm.\n",
+ "ab_h = 60 *(math.pi/180.0) # In degrees - Angle made by AB with the horizontal.\n",
+ "w = m_lamp*9.81 #N\n",
+ "a_bc = (math.pi/4.0)*(d_bc**2) #m**2 Area of cross section of rod BC\n",
+ "a_ab = (math.pi/4.0)*(d_ab**2) #m**2 Area of cross section of rod AB\n",
+ "\n",
+ "\n",
+ "#calculation\n",
+ "import math # Equations of equilibrium: Solving equilibrium equations simultaneously ,\n",
+ "f_bc=395\n",
+ "f_ab=f_bc*(4/5.0)/(math.cos(60*3.14/180.0))\n",
+ "avg_normal_stress_a = f_ab / a_ab #Mpa Average Normal Stress in AB\n",
+ "avg_normal_stress_c = f_bc/ a_bc# Mpa Average Normal Stress in BC\n",
+ "\n",
+ "# Displaying results:\n",
+ "print\"The Average Normal Stress in AB when subjected to load = MPa\",round(avg_normal_stress_a,2),\"MPa\"\n",
+ "print\"The Average Normal Stress in BC when subjected to load = MPa\",round(avg_normal_stress_c,2),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Average Normal Stress in AB when subjected to load = MPa 8.04 MPa\n",
+ "The Average Normal Stress in BC when subjected to load = MPa 7.86 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.8 Page no 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "h_above_ab = 2.75 #ft , height\n",
+ "h_below_ab = 0.2 \n",
+ "d_a = 0.75 #diameter ft \n",
+ "d_b = 0.1 \n",
+ "sp_w = 490 \n",
+ "\n",
+ "# Equation of Equilibrium\n",
+ "import math\n",
+ "a = math.pi* (d_a**2) # Area of cross section in m**2\n",
+ "p = sp_w * h_above_ab * a\n",
+ "avg_comp_stress = p/a # The average compressive stress in kN/m**2\n",
+ "\n",
+ "#Display\n",
+ "print'The average compressive stress = ',avg_comp_stress,\"lb/ft**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average compressive stress = 1347.5 lb/ft**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.9 Page no 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Determine Distance of force from AB\n",
+ "\n",
+ "#Given \n",
+ "f = 3000 #N Force acting at distance x from AB.\n",
+ "l_ac = 200 #Length of AC in mm.\n",
+ "a_ab = 400 #Cross sectional area of AB in mm**2.\n",
+ "a_c = 650 # area of C in mm**2.\n",
+ "\n",
+ "#Calculation\n",
+ "#Equations are\n",
+ "#Fab+Fc=3000\n",
+ "#-3000*x+Fc*200=0\n",
+ "Fc=1857\n",
+ "Fab=3000-Fc\n",
+ "x=Fc*200/3000\n",
+ "\n",
+ "#Display\n",
+ "print'Distance of force from AB = ',x,\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance of force from AB = 123 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.10 Page no 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "af =30\t\t #kN Axial force along centroidal axis\n",
+ "t1 = 2 \t\t#m thickness of square cross section\n",
+ "t2=4\n",
+ "#Internal loading\n",
+ "import math\n",
+ "Fb=af*t1/((t1+t2)*(4/5.0))\n",
+ "Ax=Fb*(3/5.0)\n",
+ "Ay=af-(Fb*(4/5.0))\n",
+ "Fa=math.sqrt(Ax**2+Ay**2)\n",
+ "Va=Fa/t1\n",
+ "Vb=Fb\n",
+ "Aa=(math.pi/4.0)*((t1/100.0)**2)\n",
+ "Ab=(math.pi/4.0)*(((t1+t2)/200.0)**2)\n",
+ "Ta=Va/Aa\n",
+ "Tb=Vb/Ab\n",
+ "\n",
+ "#Display\n",
+ "print'The Average Normal Stress for section b-b = ',round(Ta/1000,0),\"Mpa\"\n",
+ "print'The Average Shear Stress for section b-b = ',round(Tb/1000,1),\"Mpa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Average Normal Stress for section b-b = 34.0 Mpa\n",
+ "The Average Shear Stress for section b-b = 17.7 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.11 Page no 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "f = 6 #kN\n",
+ "d_rod = 0.1 #Diameter of steel rod in mm.\n",
+ "l_bc = 0.125 #Length of side bc in mm.\n",
+ "l_ac=0.15\n",
+ "#Calculation\n",
+ "F=f/2.0\n",
+ "#Appling Force balance\n",
+ "Va=F\n",
+ "Vb=F\n",
+ "a_rod=d_rod*l_ac\n",
+ "a_strut=l_bc*l_ac\n",
+ "#Average shear stress\n",
+ "avg_shear_rod = F/a_rod #for rod in Mpa\n",
+ "avg_shear_strut = (f/2)/a_strut #for strut\n",
+ "\n",
+ "#Display\n",
+ "print'The average shear stress for the rod = ',avg_shear_rod,\"Kpa\"\n",
+ "print'The average shear stress for the strut = ',avg_shear_strut,\"Kpa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average shear stress for the rod = 200.0 Kpa\n",
+ "The average shear stress for the strut = 160.0 Kpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.12 Page no 37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "l_bc = 1 \t#Length of BC in inc.\n",
+ "l_db = 3 \t# in.\n",
+ "l_ed = 2 \t# in.\n",
+ "l_ab = 1.5 \t# in.\n",
+ "f_diagonal = 600 \t#lb\n",
+ "\n",
+ "#Calculation\n",
+ "a1 = l_bc*l_ab \t\t#Area of face AB in mm**2.\n",
+ "a2 = l_ab*l_ed \t#mm**2.\n",
+ "a3 = l_db*l_ab \t# mm**2.\n",
+ "#Balancing forces along the x- direction.\n",
+ "f_ab = f_diagonal*(3/5.0) #Force on segment AB in N\n",
+ "V = f_ab \n",
+ "\n",
+ "#Balancing forces along the Y direction.\n",
+ "f_bc = f_diagonal*(4/5.0) #Force on segment BC in N.\n",
+ "avg_comp_ab = f_ab/a1 # N/mm**2\n",
+ "avg_comp_bc = f_bc/a2 # N/mm**2\n",
+ "avg_shear = f_ab/a3 # N/mm**2\n",
+ "\n",
+ "#Display\n",
+ "print a1\n",
+ "print'The average compressive stress along AB = ',avg_comp_ab,\"psi\"\n",
+ "print'The average compressive stress along BC = ',avg_comp_bc,\"psi\"\n",
+ "print'The average shear stress along EDB = ',avg_shear,\"psi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1.5\n",
+ "The average compressive stress along AB = 240.0 psi\n",
+ "The average compressive stress along BC = 160.0 psi\n",
+ "The average shear stress along EDB = 80.0 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 81
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.13 Page no 49"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "shear_allow = 3 \t#ksi, stress\n",
+ "tensile_allow = 5 \t#ksi, stress\n",
+ "l_C1 = 3\t\t #in\n",
+ "l_C2 = 2 \t\t #in\n",
+ "l_ac=8 #inch\n",
+ "Tauallow=8 #ksi\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "Fab=(tensile_allow*(3/5.0)*(l_C1+l_C2)+shear_allow*l_C1)/(l_ac)\n",
+ "Cx=-shear_allow+tensile_allow*(4/5.0)\n",
+ "Cy=tensile_allow*(3/5.0)+l_C1\n",
+ "Fc=math.sqrt(Cx**2+Cy**2)\n",
+ "A=(Fc/2.0)/Tauallow\n",
+ "d=2*math.sqrt(A/math.pi)\n",
+ "\n",
+ "#Result\n",
+ "print\" The diameter of rod is = \",round(d,3),\"inch\"\n",
+ "print\"Wse a pin of diameter =\",3/4.0,\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The diameter of rod is = 0.696 inch\n",
+ "Wse a pin of diameter = 0.75 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 87
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.14 Page no 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P= 20.0\t\t #kN, force\n",
+ "d_hole = 40.0 \t #mm\n",
+ "normal_allow = 60.0 #MPa, pressure\n",
+ "shear_allow = 35.0 #MPa, pressure\n",
+ "\n",
+ "\n",
+ "#Diameter of Rod\n",
+ "import math\n",
+ "area1 = (P*10**3)/(normal_allow*10**6) #Area in m**2\n",
+ "d = ((math.sqrt((4*area1)/math.pi))*1000) # Area = (math.pi\\4)d**2\n",
+ "#Thickness of disc\n",
+ "V = P\n",
+ "area2 = (V*10**3)/(shear_allow*10**6) #Area in m**2\n",
+ "thickness = (area2*10**6)/(d_hole*math.pi)# A = pi*d*t\n",
+ " \n",
+ "\n",
+ "#Result\n",
+ "print\"The diameter of rode = \",round(d,2),\"mm\"\n",
+ "print\"The thickness of disc = \",round(thickness,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diameter of rode = 20.6 mm\n",
+ "The thickness of disc = 4.55 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 93
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.15 Page no 51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "bearing_allow = 75.0\t #MPa, pressure\n",
+ "tensile_allow = 55.0 \t#MPa, pressure\n",
+ "d_shaft = 60.0\t\t #mm\n",
+ "r_shaft = d_shaft/2.0 \t#mm\n",
+ "area_shaft = math.pi*(r_shaft**2) #Area = pi*r**2\n",
+ "d_collar = 80 #mm\n",
+ "thick_collar = 20 #mm\n",
+ "\n",
+ "#Calculation\n",
+ "r_collar = d_collar/2.0 #mm\n",
+ "area_collar = math.pi*(r_collar**2) #Area = pi*r**2\n",
+ "#Normal Stress\n",
+ "P1 = (tensile_allow* area_shaft)/3.0 #Tensile stress = 3P/A.\n",
+ "P1_kN = P1/1000.0\n",
+ "#Bearing Stress\n",
+ "bearing_area = area_collar-area_shaft \n",
+ "P2 = (bearing_allow*bearing_area)/3 \n",
+ "P2_kN= P2/1000.0\n",
+ "\n",
+ "#Result\n",
+ "print\"The load calculated by Normal Stress \",round(P1_kN,1),\"kN\"\n",
+ "print\"The load calculated by Bearing Stress \",round(P2_kN,0),\"kN\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The load calculated by Normal Stress 51.8 kN\n",
+ "The load calculated by Bearing Stress 55.0 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 96
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 1.16 Page no 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d_ac= 20.0 #mm\n",
+ "area_al = 1800.0 #mm**2, area\n",
+ "d_pins = 18.0 #mm\n",
+ "st_fail_stress = 680.0 #MPa, pressure\n",
+ "al_fail_stress = 70.0 #MPa, pressure\n",
+ "shear_fail_pin = 900.0 #MPa\n",
+ "fos = 2.0 #Factor of safety\n",
+ "l_ab = 2.0 #m\n",
+ "l_ap = 0.75 #m\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "area_pins = math.pi*(d_pins/2.0)**2\n",
+ "area_ac = math.pi*(d_ac/2.0)**2 #Area = (math.pi\\4)d**2\n",
+ "st_allow= st_fail_stress /fos #MPa\n",
+ "al_allow = al_fail_stress/fos #MPa\n",
+ "pin_allow_shear = shear_fail_pin/fos #MPa\n",
+ "\n",
+ "#Rod AC\n",
+ "f_ac = (st_allow*area_ac)/1000.0\n",
+ "P1 = ((f_ac*l_ab)/(l_ab-l_ap))\n",
+ "\n",
+ "#Block B\n",
+ "f_b =(al_allow*area_al)/1000.0\n",
+ "P2 = ((f_b*l_ab)/l_ap)\n",
+ "\n",
+ "#Pin A or C\n",
+ "V = (pin_allow_shear*area_pins)/1000.0\n",
+ "P3 = (V*l_ab)/(l_ab-l_ap)\n",
+ "\n",
+ "#Result\n",
+ "print\"The load allowed on rod AC \",round(P1,0),\"kN\"\n",
+ "print\"The load allowed on block B \",P2,\"kN\"\n",
+ "print\"The load allowed on pins A or C \",round(P3,0),\"kN\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The load allowed on rod AC 171.0 kN\n",
+ "The load allowed on block B 168.0 kN\n",
+ "The load allowed on pins A or C 183.0 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 102
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter10.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter10.ipynb new file mode 100755 index 00000000..8492cf8c --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter10.ipynb @@ -0,0 +1,674 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10:Strain Transformation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.1 Page No 491"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = 500 #Normal Strain\n",
+ "ep_y = -300 #Normal Strain\n",
+ "gamma_xy = 200 #Shear Strain\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "theta = 30*(math.pi/180)\n",
+ "theta = theta*-1\n",
+ "ep_x_new = ((ep_x+ep_y)/2) + ((ep_x - ep_y)/2)*math.cos(2*theta) + (gamma_xy/2)*math.sin(2*theta)\n",
+ "gamma_xy_new = -((ep_x - ep_y)/2)*math.sin(2*theta) + (gamma_xy/2)*math.cos(2*theta)\n",
+ "gamma_xy_new = 2*gamma_xy_new\n",
+ "phi = 60*(math.pi/180)\n",
+ "ep_y_new = (ep_x+ep_y)/2 + ((ep_x - ep_y)/2)*math.cos(2*phi) + (gamma_xy/2)*math.sin(2*phi)\n",
+ "\n",
+ "#Display\n",
+ "print'The equivalent strain acting on the element oriented at 30 degrees clockwise = ',round(ep_y_new,1),\"*10**-6\"\n",
+ "print'The equivalent shear strain acting on the element = ',round(gamma_xy_new,0),\"10**-6\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent strain acting on the element in the y plain oriented at 30 degrees clockwise = -13.4 *10**-6\n",
+ "The equivalent shear strain acting on the element = 793.0 10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.2 Page No 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = -350.0 #(*10**-6) Normal Strain\n",
+ "ep_y = 200.0 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 80.0 #*(10**-6) Shear Strain\n",
+ "\n",
+ "#Calculation\n",
+ "#Orientation of the element\n",
+ "import math\n",
+ "tan_thetap = (gamma_xy)/(ep_x - ep_y)\n",
+ "thetap1 =math.atan(tan_thetap)*180/3.14+180\n",
+ "thetap=thetap1/2.0\n",
+ "\n",
+ "#Principal Strains\n",
+ "k = (ep_x + ep_y)/2\n",
+ "l = (ep_x - ep_y)/2\n",
+ "tou = gamma_xy/2\n",
+ "R = math.sqrt( (l)**2 + tou**2)\n",
+ "ep1 = R + k\n",
+ "ep2 = k -R \n",
+ "ep_x1 = k + l*math.cos(2*-4.14*3.14/180.0)+ tou*math.sin(2*-4.14*3.14/180.0)\n",
+ "\n",
+ "#Display\n",
+ "print'The orientation of the element in the positive counterclockwise direction = ',round(thetap,1),\"degree\"\n",
+ "print'The principal strains are ',round(ep1,0),\"*10**-6 and \",round(ep2,0),\"*10**-6\"\n",
+ "print'The principal strain in the new x direction is ',round(ep_x1,0),\"*10**-6\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The orientation of the element in the positive counterclockwise direction = 85.9 degree\n",
+ "The principal strains are 203.0 *10**-6 and -353.0 *10**-6\n",
+ "The principal strain in the new x direction is -353.0 *10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.3 Page No 493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = -350 #(*10**-6) Normal Strain\n",
+ "ep_y = 200.0 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 80.0 #*(10**-6) Shear Strain\n",
+ "\n",
+ "#Orientation of the element\n",
+ "import math\n",
+ "tan_thetap = -(ep_x - ep_y)/(gamma_xy)\n",
+ "thetap1 = math.atan(tan_thetap)*180/3.14+180\n",
+ "thetap=thetap1/2.0\n",
+ "\n",
+ "#Maximum in-plane shear strain\n",
+ "l = (ep_x - ep_y)/2\n",
+ "tou = gamma_xy/2\n",
+ "R = sqrt( l**2 + tou**2)\n",
+ "max_inplane_strain = 2*R\n",
+ "gamma_xy_1 = (-l*math.sin(2*thetap1)+ tou*math.cos(2*thetap1))*2\n",
+ "strain_avg = (ep_x + ep_y)/2\n",
+ "thetap1 = thetap1*(180/math.pi)\n",
+ "thetap2 = (90 + thetap1)\n",
+ "\n",
+ "#Display\n",
+ "print'The orientation of the element =',round(thetap,0,),\"degre\"\n",
+ "print'The maximum in-plane shear strain = ',round(max_inplane_strain,0),\"*10**-6\"\n",
+ "print'The average strain =',strain_avg,\"*10**-6\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The orientation of the element = 131.0 degre\n",
+ "The maximum in-plane shear strain = 556.0 *10**-6\n",
+ "The average strain = -75.0 *10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.4 Page No 496"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = 250.0 #(*10**-6) Normal Strain\n",
+ "ep_y = -150.0 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 120.0 #*(10**-6) Shear Strain\n",
+ "\n",
+ "#Calculation\n",
+ "#Construction of the circle\n",
+ "import math\n",
+ "strain_avg = (ep_x + ep_y)/2\n",
+ "tou = gamma_xy/2\n",
+ "R = sqrt((ep_x - strain_avg)**2 + (tou**2))\n",
+ "#Principal Strains\n",
+ "ep1 = (strain_avg + R)\n",
+ "ep2 = (strain_avg - R)\n",
+ "tan_thetap = (tou)/(ep_x - strain_avg)\n",
+ "thetap1 = (math.atan(tan_thetap))/2.0\n",
+ "thetap1 = thetap1*(180/math.pi)\n",
+ "\n",
+ "#Display\n",
+ "print'The principal strains are = ',round(ep1,0),\"*10**-6 and \",round(ep2,0),\"*10**-6\"\n",
+ "print'The orientation of the element = ',round(thetap1,2),\"degree\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The principal strains are = 259.0 *10**-6 and -159.0 *10**-6\n",
+ "The orientation of the element = 8.35 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.5 Page No 497"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = 250 #(*10**-6) Normal Strain\n",
+ "ep_y = -150 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 120 #*(10**-6) Shear Strain\n",
+ "\n",
+ "#calculation\n",
+ "#Orientation of the element\n",
+ "thetas = 90 - 2*8.35\n",
+ "thetas1 = thetas/2\n",
+ "#Maximum in-plane shear strain\n",
+ "l = (ep_x - ep_y)/2\n",
+ "tou = gamma_xy/2\n",
+ "R = sqrt( l**2 + tou**2)\n",
+ "max_inplane_strain = 2*R\n",
+ "strain_avg = (ep_x + ep_y)/2\n",
+ "\n",
+ "#Display\n",
+ "print'The orientation of the element ',thetas1,\"degree\"\n",
+ "print'The maximum in-plane shear strain',round(max_inplane_strain,0),\"*10**-6\"\n",
+ "print'The average strain = ',strain_avg,\"*10**-6\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The orientation of the element 36.65 degree\n",
+ "The maximum in-plane shear strain 418.0 *10**-6\n",
+ "The average strain = 50 *10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.6 Page No 498"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = -300 #(*10**-6) Normal Strain\n",
+ "ep_y = -100 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 100 #*(10**-6) Shear Strain\n",
+ "theta = 20 #degrees\n",
+ "\n",
+ "#Calculation\n",
+ "#Construction of the circle\n",
+ "import math\n",
+ "strain_avg = (ep_x+ ep_y)/2.0\n",
+ "tou = gamma_xy/2.0\n",
+ "R = sqrt((-ep_x + strain_avg)**2 + tou**2)\n",
+ "#Strains on Inclined Element\n",
+ "theta1 = 2*theta\n",
+ "phi = math.atan((tou)/(-ep_x +strain_avg))\n",
+ "phi = phi*(180/math.pi)\n",
+ "psi = theta1 - phi\n",
+ "psi = psi*(math.pi/180)\n",
+ "ep_x1 = -(-strain_avg+ R*math.cos(psi))\n",
+ "gamma_xy1 = -(R*math.sin(psi))*2\n",
+ "ep_y1 = -(-strain_avg - R*math.cos(psi))\n",
+ "\n",
+ "#Display\n",
+ "print'The normal strain in the new x direction = ',round(ep_x1,0),\"10**-6\"\n",
+ "print'The normal strain in the new y direction = ',round(ep_y1,1),\"10**-6\"\n",
+ "print'The shear strain in the new xy direction = ',round(gamma_xy1,0),\"10**-6\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal strain in the new x direction = -309.0 10**-6\n",
+ "The normal strain in the new y direction = -91.3 10**-6\n",
+ "The shear strain in the new xy direction = -52.0 10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.7 Page No 503"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ep_x = -400 #(*10**-6) Normal Strain\n",
+ "ep_y = 200 #*(10**-6) Normal Strain\n",
+ "gamma_xy = 150 #*(10**-6) Shear Strain\n",
+ "\n",
+ "#calculation\n",
+ "#Maximum in-plane Shear Strain\n",
+ "strain_avg = (ep_x+ ep_y)/2\n",
+ "tou = gamma_xy/2\n",
+ "R = sqrt((-ep_x + strain_avg)**2 + tou**2) \n",
+ "strain_max = strain_avg + R\n",
+ "strain_min = strain_avg - R\n",
+ "max_shear_strain = strain_max - strain_min\n",
+ "#Absolute Maximum Shear Strain\n",
+ "abs_max_shear = max_shear_strain\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum in-plane shear strain= ',round(max_shear_strain,0),\"10**-6\"\n",
+ "print'The absolute maximum shear strain ',round(abs_max_shear,0),\"10**-6\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum in-plane shear strain= 618.0 10**-6\n",
+ "The absolute maximum shear strain 618.0 10**-6\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.8 Page No 505"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "ep_a = 60.0 #(*10**-6) Normal Strain\n",
+ "ep_b = 135.0 #*(10**-6) Normal Strain\n",
+ "ep_c = 264.0 #*(10**-6) Normal Strain\n",
+ "theta_a = 0\n",
+ "theta_b = 60*(math.pi/180)\n",
+ "theta_c = 120*(math.pi/180)\n",
+ "\n",
+ "#Calculation\n",
+ "a1 = (math.cos(theta_a))**2\n",
+ "b1 = (math.sin(theta_a))**2\n",
+ "c1 = math.cos(theta_a)*math.sin(theta_a)\n",
+ "a2 = (math.cos(theta_b))**2\n",
+ "b2 = (math.sin(theta_b))**2\n",
+ "c2 = math.cos(theta_b)*math.sin(theta_b)\n",
+ "a3 = (math.cos(theta_c))**2\n",
+ "b3 = (math.sin(theta_c))**2\n",
+ "c3 = math.cos(theta_c)*math.sin(theta_c)\n",
+ "\n",
+ "ep_x = 60 #*10**-6\n",
+ "ep_y = 246 #*10**-6\n",
+ "gamma_xy = -149 #*10**-6\n",
+ "strain_avg = (ep_x + ep_y )/2.0\n",
+ "tou = gamma_xy/2.0\n",
+ "R = sqrt((-ep_x + strain_avg)**2 + tou**2) \n",
+ "ep1 = strain_avg + R\n",
+ "ep2 = strain_avg - R\n",
+ "tan_thetap =math.atan(-tou/(-ep_x + strain_avg))\n",
+ "thetap = tan_thetap/2.0\n",
+ "thetap2 = thetap*(180/math.pi)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum in-plane principal strains are',round(ep1,0),\"*10**-6 and \",round(ep2,1),\"*10**-6\"\n",
+ "print'The angle of orientation ',round(thetap2,1),\"degree\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum in-plane principal strains are 272.0 *10**-6 and 33.8 *10**-6\n",
+ "The angle of orientation 19.3 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.9 Page No 512"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "E_st = 200*10**9 #GPa\n",
+ "nu_st = 0.3 #Poisson's ratio\n",
+ "ep1 = 272 *10**-6\n",
+ "ep2 = 33.8 *10**-6\n",
+ "\n",
+ "#Solving for the equations\n",
+ "#6.78*10**-6=sigma2-0.3sigma1\n",
+ "#54.4*10**-6=sigma1-0.3sigma2\n",
+ "sigma2= 25.4\n",
+ "\n",
+ "#Display\n",
+ "print'The principal stresses at point A are ',sigma1,\"MPa and \" ,sigma2,\"Mpa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The principal stresses at point A are 62 MPa and 25.4 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.10 Page No 514"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a = 300.0 #mm\n",
+ "b = 50.0 #mm\n",
+ "t = 20.0 #mm\n",
+ "E_cu = 120*10**3 #MPa\n",
+ "nu_cu = 0.34 # Poisson's ratio\n",
+ "#By inspection\n",
+ "sigma_x = 800 #MPa\n",
+ "sigma_y = -500.0 #MPa\n",
+ "tou_xy = 0\n",
+ "sigma_z = 0\n",
+ "\n",
+ "#calculation\n",
+ "#By Hooke's Law\n",
+ "ep_x = (sigma_x/E_cu) - (nu_cu/E_cu)*(sigma_y + sigma_z)\n",
+ "ep_y = (sigma_y/E_cu) - (nu_cu/E_cu)*(sigma_x + sigma_z)\n",
+ "ep_z = (sigma_z/E_cu) - (nu_cu/E_cu)*(sigma_y + sigma_x)\n",
+ "#New lengths\n",
+ "a_dash = a + ep_x*a\n",
+ "b_dash = b + ep_y*b\n",
+ "t_dash = t + ep_z*t\n",
+ "\n",
+ "#Display\n",
+ "print'The new length = ',round(a_dash,1),\"mm\"\n",
+ "print 'The new nas base is',round(b_dash,1),\"mm\"\n",
+ "print'The new thickness = ',round(t_dash,2),\"mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The new length = 300.4 mm\n",
+ "The new nas base is 49.7 mm\n",
+ "The new thickness = 19.98 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 88
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.11 Page No 515"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "p = 20 #psi, pressure\n",
+ "E = 600 #psi, pressure\n",
+ "nu = 0.45\n",
+ "#the given dimension are:\n",
+ "a = 4 #in\n",
+ "b = 2 # in\n",
+ "c = 3 #in\n",
+ "\n",
+ "#Calculation\n",
+ "#Dilatation\n",
+ "sigma_x = -p\n",
+ "sigma_y = -p\n",
+ "sigma_z = -p\n",
+ "e = ((1-2*nu)/E)*(sigma_x + sigma_y + sigma_z)\n",
+ "#Change in Length\n",
+ "ep = (sigma_x - nu*(sigma_y + sigma_z))/E\n",
+ "del_a = ep*a\n",
+ "del_b = ep*b\n",
+ "del_c = ep*c\n",
+ "\n",
+ "#Display\n",
+ "print'The change in length a = ',round(del_a,4),\"inch\"\n",
+ "print'The change in length b = ',round(del_b,4),\"inch\"\n",
+ "print'The change in length c = ',round(del_c,4),\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in length a = -0.0133 inch\n",
+ "The change in length b = -0.0067 inch\n",
+ "The change in length c = -0.01 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 92
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.12 Page No 526"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "T = 400 #lbft, tourqe\n",
+ "sigma_ult = 20000 #psi\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "x = T*12/(math.pi/2)\n",
+ "r=(x/sigma_ult)**(1/3.0)\n",
+ "\n",
+ "#Display\n",
+ "print'The smallest radius of the solid cast iron shaft ',round(r,3),\"inch\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The smallest radius of the solid cast iron shaft 0.535 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 99
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "EXample 10.13 Page No 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "sigmay=36 #ksi, stress\n",
+ "r = 0.5 #cm\n",
+ "sigma_yield = 360 #MPa, yield stress\n",
+ "T = 3.25 #kN/cm\n",
+ "A= (math.pi*r**2)\n",
+ "P = 15 #kN\n",
+ "J = (math.pi/2.0)*(r**4)\n",
+ "sigma_y_sqr = sigma_yield**2\n",
+ "\n",
+ "#Calculations\n",
+ "sigma_x = -(P/A)\n",
+ "sigma_y = 0\n",
+ "tou_xy = (T*r)/J\n",
+ "k = (sigma_x + sigma_y)/2.0\n",
+ "R = sqrt(k**2 + (tou_xy**2))\n",
+ "sigma1 = k+R\n",
+ "sigma2 = k-R\n",
+ "l = sigma1 - sigma2\n",
+ "#Maximum Shear Stress Theory\n",
+ "x=sigma1-sigma2\n",
+ "y=sigma1**2+sigma2**2-sigma1*sigma2\n",
+ "if x>sigmay:\n",
+ " print\"Shear failure of material will occur\"\n",
+ "else:\n",
+ " print\"not\"\n",
+ "if y<sigmay**2:\n",
+ " print\"Failure will not occur\"\n",
+ "else:\n",
+ " print\"it will occur\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Shear failure of material will occur\n",
+ "Failure will not occur\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter11.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter11.ipynb new file mode 100755 index 00000000..fc68b993 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter11.ipynb @@ -0,0 +1,267 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11:Design of Beams and Shafts"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.1 Page No 544"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_allow = 24 #ksi, stress\n",
+ "tou_allow = 14.5 #ksi, allowable stress\n",
+ "\n",
+ "#Shear and Moment Diagrams\n",
+ "V_max = 30 #kip, \n",
+ "M_max = 120 #kip, bending moment\n",
+ "\n",
+ "#Bending Stress\n",
+ "S_reqd = (M_max*(10**3))/sigma_allow\n",
+ "#Shear Stress\n",
+ "d = 17.9 #in\n",
+ "tw = 0.315 #inch\n",
+ "tou_avg = (V_max)/(d*tw)\n",
+ "\n",
+ "if tou_avg<14.5:\n",
+ " print\"Use a W18*14\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Use a W18*14\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.2 Page No 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "udl = 0.5 #kN/m\n",
+ "h_by_a = 1.5 \n",
+ "sigma_allow = 9 #MPa, allowable bending stress\n",
+ "tou_allow = 0.6 #MPa, allowable shear stress\n",
+ "\n",
+ "#calculation\n",
+ "#Shear and Moment Diagrams\n",
+ "import math\n",
+ "V_max =20 #kNm\n",
+ "M_max =10.67 #kNm\n",
+ "#Bending Stress\n",
+ "S_reqd = (M_max)/(sigma_allow*1000)\n",
+ "c = h_by_a/2.0\n",
+ "a_cube = (S_reqd*c*12)/(1.5**3) #S_reqd = I/c\n",
+ "a = a_cube**(1/3.0)\n",
+ "A = a*h_by_a*a\n",
+ "tou_max = (1.5*V_max)/(A*1000)\n",
+ "if tou_max>tou_allow:\n",
+ " a_sqr = (3/2.0)*(V_max)/(h_by_a*tou_allow*1000)\n",
+ " a =math.sqrt(a_sqr)\n",
+ "else:\n",
+ " print\"not\"\n",
+ "\n",
+ "#Display\n",
+ "print\"The smallest width for the laminated wooden beam = \", round(a,2),\"m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The smallest width for the laminated wooden beam = 0.18 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.3 Page No 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 200/1000.0 #m, length\n",
+ "t = 30/1000.0 #m\n",
+ "sigma_allow = 9 #MPa, shear stress\n",
+ "tou_allow = 0.6 #MPa, bending stress\n",
+ "V_nail = 1.50 #kN\n",
+ "l_bc = 2 #m\n",
+ "l_cd = 2 #m\n",
+ "\n",
+ "#Shear and Moment Diagrams\n",
+ "V_max = 20 #kN\n",
+ "M_max =10.67 #kNm\n",
+ "#Bending Stress\n",
+ "y1 = l/2.0\n",
+ "A1 = l*t\n",
+ "y2 = l+(t/2.0)\n",
+ "A2 = t*l\n",
+ "y_dash = (y1*A1 + y2*A2)/(A1 + A2)\n",
+ "\n",
+ "I1 = (t*l**3)/12.0 + (t*l*(y_dash - y1)**2)\n",
+ "I2 = (l*t**3)/12.0 + (t*l*(y2 - y_dash)**2)\n",
+ "I =I1 + I2\n",
+ "\n",
+ "c = y_dash\n",
+ "sigma = (M_max*c)/(I)\n",
+ "flag1 = 0\n",
+ "sigma_allow = sigma_allow*1000 #kPa\n",
+ "\n",
+ "if(sigma<sigma_allow):\n",
+ " flag1 = 1\n",
+ "else:\n",
+ " print\"otherwisw not\"\n",
+ "\n",
+ "#Shear Stress\n",
+ "y3 = y_dash/2.0\n",
+ "A3 = y_dash*t\n",
+ "Q = y3*A3\n",
+ "\n",
+ "tou = (V_max*Q)/(I*t)\n",
+ "tou_allow = tou_allow*1000 #kPa\n",
+ "flag2 =0\n",
+ "\n",
+ "if(tou<tou_allow):\n",
+ " flag2 = 1\n",
+ "else:\n",
+ " print\"flag2 is not equal to one\"\n",
+ "\n",
+ "#Nail Spacing\n",
+ "y4a = (l+t-y_dash)\n",
+ "y4 = y4a - (t/2.0)\n",
+ "A4 = l*t\n",
+ "Q4 = y4*A4\n",
+ "V_bc = 1.5 #kN\n",
+ "V_cd = 1 #kN\n",
+ "\n",
+ "q_bc = (V_bc*Q4)/I\n",
+ "q_cd = (V_cd*Q4)/I\n",
+ "\n",
+ "s_bc = (V_nail)/(q_bc)\n",
+ "s_cd = (V_nail)/(q_cd)\n",
+ "\n",
+ "chosen_bc = 150 #mm\n",
+ "chosen_cd = 250 #mm\n",
+ "\n",
+ "#Result\n",
+ "print'The design is safe in bending and shear.'\n",
+ "print'The calculated nail spacing BC ',round(s_bc,2),\"m\"\n",
+ "print'The calculated nail spacing CD ',round(s_cd,2),\"m\"\n",
+ "print'The chosen nail spacing BC ',chosen_bc,\"mm\"\n",
+ "print'The chosen nail spacing CD ',chosen_cd,\"mm\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "otherwisw not\n",
+ "flag2 is not equal to one\n",
+ "The design is safe in bending and shear.\n",
+ "The calculated nail spacing BC 0.17 m\n",
+ "The calculated nail spacing CD 0.26 m\n",
+ "The chosen nail spacing BC 150 mm\n",
+ "The chosen nail spacing CD 250 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 11.6 Page No 560"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Find smallest allowable diameter\n",
+ "\n",
+ "#Given\n",
+ "tou_allow = 50*10**6 #MPa, shear stress\n",
+ "T = 7.5 #Nm, torque\n",
+ "R_ah = 150 #N, horizontal force\n",
+ "R_av = 475 #N\n",
+ "l_ac = 0.25 #m\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "mc = R_ah*l_ac\n",
+ "m = R_av*l_ac\n",
+ "M_c = sqrt(m**2 + mc**2)\n",
+ "k = sqrt(M_c**2 + T**2)\n",
+ "c1 = (2*k)/(math.pi*tou_allow)\n",
+ "c = c1**(1/3.0)\n",
+ "d = 2*c*1000\n",
+ "\n",
+ "#Display\n",
+ "print\"The smallest allowable diameter of the shaft =\",round(d,1),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The smallest allowable diameter of the shaft = 23.3 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter12.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter12.ipynb new file mode 100755 index 00000000..ac815672 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter12.ipynb @@ -0,0 +1,437 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12:Deflection of Beams and Shaft"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 Page No 610"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 200*10**6 #kN/m**2, stress\n",
+ "I = 17*10**-6 #mm**4, moment of inertia\n",
+ "\n",
+ "#The given dimension are\n",
+ "l_ac = 2 #m\n",
+ "l_cF = 4 #m\n",
+ "l_Fb = 2 #m\n",
+ "l_cb = 6 #m\n",
+ "l_aF = 6 #m\n",
+ "l_ab = 8 #m\n",
+ "F = 16 #kN\n",
+ "R_b = (F*l_cb)/l_ab\n",
+ "R_a = F - R_b\n",
+ "\n",
+ "#Calculation\n",
+ "mc = R_a*l_ac\n",
+ "mf = R_b*l_Fb\n",
+ "theta_ca = (0.5*l_ac*mc)/(E*I)\n",
+ "A1 = 0.5*l_aF*mf\n",
+ "t1_ba = (l_Fb + l_aF/3)*(A1)\n",
+ "A2 = 0.5*l_Fb*mf\n",
+ "t2_ba = (l_Fb*2*A2)/3\n",
+ "t_ba = (t1_ba+t2_ba)/(E*I)\n",
+ "theta_c = (t_ba/l_ab)-(theta_ca)\n",
+ "\n",
+ "#Display\n",
+ "print\"The slope at point C of the steel beam = \",round(theta_c,4),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The slope at point C of the steel beam = 0.0094 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12 Page No 612"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 29*10**3 #ksi, stress\n",
+ "I = 125 #inch**4, moment of inertia\n",
+ "l_ab = 12 #ft, dimension\n",
+ "l_bc =12 #ft\n",
+ "l_ac = l_ab+l_bc\n",
+ "R_a = -5 #kip, normal force\n",
+ "R_b = 10 #kip\n",
+ "R_c = 5 #kip\n",
+ "\n",
+ "#calculation\n",
+ "mb = R_a*l_ab\n",
+ "#Moment-Area Theorem\n",
+ "t_ca = (l_ab*0.5*l_ac*mb)/(E*I)\n",
+ "t_ba = ((1/3.0)*l_ab*0.5*l_ab*mb)/(E*I)\n",
+ "del_c = (t_ca - 2*t_ba)*1728\n",
+ "\n",
+ "#Display\n",
+ "print\"The displacement at point C for the steel overhanging beam =\",round(del_c,2),\"inch\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement at point C for the steel overhanging beam = -2.75 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13 Page No 620"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "w = 2 #kN/m, load\n",
+ "L = 8 #m, length\n",
+ "P = 8 #kN\n",
+ "\n",
+ "#Calculations\n",
+ "EI_theta_A1 = (3*w*L**3)/(128) #ThetaA1 = (3wL**3)/(128EI)\n",
+ "EI_nu_C1 = (5*w*L**4)/(768) #NuC1 = (5wL**4)/(768EI)\n",
+ "EI_theta_A2 = (P*L**2)/(16) #theta_A2 = (PL**2)/(16EI)\n",
+ "EI_nu_C2 = (P*L**3)/(48) #nu_C2 = (PL**3)/(48EI)\n",
+ "theta_A = EI_theta_A1 + EI_theta_A2\n",
+ "nu_C = EI_nu_C1 + EI_nu_C2\n",
+ "\n",
+ "#Display\n",
+ "print'The slope at A in terms of EI =',theta_A,\"kNm**2\"\n",
+ "print'The displacement at point C in terms of EI =',nu_C,\"kNm**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The slope at A in terms of EI = 56 kNm**2\n",
+ "The displacement at point C in terms of EI = 138 kNm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14 Page No 621"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "w = 5 #kN/m, force per unit length\n",
+ "l_ab = 4 #m, length\n",
+ "l_bc = 2 #m\n",
+ "P = 10 #kN, load\n",
+ "M = w*l_ab #kNm\n",
+ "\n",
+ "#Calculations\n",
+ "EI_theta_B1 = (w*l_ab**3)/(24) #ThetaB1 = (wL**3)/(24EI)\n",
+ "EI_nu_C1 = l_bc*EI_theta_B1\n",
+ "\n",
+ "EI_theta_B2 = (M*l_ab)/(3) #\n",
+ "EI_nu_C2 = l_bc*EI_theta_B2\n",
+ "EI_nu_C3 = (P*l_bc**3)/(3) #nuC3 = (PL**3)/(24EI)\n",
+ "nu_C = -EI_nu_C1 + EI_nu_C2 + EI_nu_C3\n",
+ "\n",
+ "#Display\n",
+ "print'The displacement at end C of the overhanging beam, in terms of EI = ',nu_C,\"kNm**3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement at end C of the overhanging beam, in terms of EI = 52 kNm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15 Page No 622"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "w = 4 #kN/m, force per unit length\n",
+ "l = 6 #m, length\n",
+ "l_bc =2 #m\n",
+ "\n",
+ "#Calculations\n",
+ "EI_theta_B = (w*l**3)/(24.0) #ThetaB1 = (wL**3)/(24EI)\n",
+ "EI_nu_B = (w*l**4)/(30.0) #nuB = (wL**4)/(30EI)\n",
+ "nu_C = EI_nu_B + (EI_theta_B*l_bc)\n",
+ "\n",
+ "#Display\n",
+ "print'The displacement at end C of the cantilever beam, in terms of EI = ',nu_C,\"kNm**3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement at end C of the cantilever beam, in terms of EI = 244.8 kNm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16 Page No 623"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "k = 15.0 #kip/ft, force per unit length\n",
+ "F = 3 #kip, force\n",
+ "E = 29*10**3 #ksi, stress\n",
+ "l_ab = 3.0 #ft, length\n",
+ "l_ac = 1 #ft\n",
+ "l_cb = 2 #ft\n",
+ "I = 12 #in**4, moment of inertia\n",
+ "R_a = (F*l_cb)/(l_ab)\n",
+ "R_b = F-R_a\n",
+ "\n",
+ "#Calculations\n",
+ "mu_a = (R_a)/k\n",
+ "mu_b = (R_b)/k\n",
+ "mu_c1 = mu_b + (l_cb/l_ab)*(mu_a - mu_b)\n",
+ "#From fig b\n",
+ "a=3 #ft\n",
+ "b=6 #ft\n",
+ "L=9 #ft\n",
+ "mu_c2 = ((F*a*b)*(L**2 - a**2 - b**2))/(6*E*144*I*(1/20736.0)*L)\n",
+ "mu_c = mu_c1 + mu_c2\n",
+ "\n",
+ "#Display\n",
+ "print'The vertical displacement of the force at C = ',round(mu_c,3),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vertical displacement of the force at C = 0.126 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.21 Page No 643"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 10 #ft, length\n",
+ "P = 8 #kip, load\n",
+ "w = 2 #kip/ft, force per unit length\n",
+ "\n",
+ "#Calculation\n",
+ "#Compatibility Equation\n",
+ "EI_nu_b1 = (w*l**4)/8.0 + (5*P*l**3)/48.0 #nu_b = (wl**4)/8EI + (5Pl**3)/48EI\n",
+ "EI_nu_b2 = (l**3)/3.0\n",
+ "B_y = EI_nu_b1 / EI_nu_b2\n",
+ "\n",
+ "#Display\n",
+ "print\"The reactions at roller support B = \",B_y,\"kip\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reactions at roller support B = 10.0 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.22 Page No 644"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "l = 8 #ft, length\n",
+ "l_ab = 5 #ft\n",
+ "l_bc = 5 #ft\n",
+ "l_af = 1/2.0 #inch\n",
+ "b = 12/1000.0 #m\n",
+ "w = 8 #kip, force per unit length\n",
+ "E = 29*10**3 #Ksi\n",
+ "I = 475.0 # inch**4, moment of inertia\n",
+ "\n",
+ "#Compatibility Equation:\n",
+ "import math\n",
+ "A=math.pi/4.0*(l_af**2)\n",
+ "muB__byFbc=l*12/(A*E)\n",
+ "L=l_ab+l_bc\n",
+ "muB=5*w*L**3*12/(48*E*I)\n",
+ "muB_byFbc=L**3*12/(3*E*I)\n",
+ "#From equation muB__=muB-muB_\n",
+ "Fbc=muB/(muB_byFbc+muB__byFbc)\n",
+ "\n",
+ "#Display:\n",
+ "print \"Force developed in the rod is\",round(Fbc,3),\"kip\"\n",
+ "print\"In the book: Calculation mistake\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force developed in the rod is 0.042 kip\n",
+ "In the book: Calculation mistake\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.23 Page No: 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "L = 12 #ft\n",
+ "#E and I are constant say\n",
+ "E = 29*10**3 #Ksi\n",
+ "I = 475 # inch**4\n",
+ "w = 3 #kip/ft\n",
+ "\n",
+ "#calculation\n",
+ "thetab=w*L**3/(48*E*I)\n",
+ "mub=7*w*L**4/(384*E*I)\n",
+ "theta_bbyBy=L**2/(2*E*I)\n",
+ "mu_bbyBy=L**3/(3*E*I)\n",
+ "theta__byMb=L/(E*I)\n",
+ "muB__byMb=L**2/(2*E*I)\n",
+ "\n",
+ "#From eq 1 and 2 (solving by matrix)\n",
+ "#72By+12Mb=-108\n",
+ "#576By+72Mb=-1134\n",
+ "M = array([[576, 72], [72, 12]])\n",
+ "N=([-108,-1134])\n",
+ "X=inv(M)*N #Inverse matrix\n",
+ "a=X[0,0]\n",
+ "b=X[1,0]*2.5\n",
+ "\n",
+ "#Display:\n",
+ "print\"Moment at B is\",b,\"kip-ft\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment at B is 11.25 kip-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter13.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter13.ipynb new file mode 100755 index 00000000..2e2e42c7 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter13.ipynb @@ -0,0 +1,636 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13:Buckling of Columns"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 Page NO 665"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 12 #ft, length\n",
+ "E = 29*10**3 #GPa, stress\n",
+ "ro = 75 #mm, outside radius\n",
+ "ri = 70 #mm, inside radius\n",
+ "sigma_y = 250 #MPa, stress\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "Ix=110\n",
+ "Iy=37\n",
+ "A = 9.13\n",
+ "Pcr = (math.pi**2*(E*10**3)*Iy)/((l*12)**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "sigma_cr = (Pcr*1000)/A\n",
+ "p=36*A\n",
+ " \n",
+ "print\"The maximum allowable axial load that the column can support = \",round(p,0),\"kip\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable axial load that the column can support = 329.0 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 Page NO 668"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 29*10**3 #GPa, stress\n",
+ "lx= 144 #inch, length\n",
+ "ly=100.8 #inch\n",
+ "A =4.43 #inch**2, area\n",
+ "sigma_y = 60 #ksi, stress\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "Ix=29\n",
+ "Iy=9.32\n",
+ "\n",
+ "Pcrx = ((math.pi**2)*E*Ix)/(lx**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "Pcry = ((math.pi**2)*E*Iy)/(ly**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "sigma_cr = (Pcr*1000)/A\n",
+ "sigmacr = Pcry/A #in kN\n",
+ "if sigmacr<sigma_y:\n",
+ " print\"Buckling will occue before the material yield. So Psr=\",round(Pcry,0),\"kip\"\n",
+ "else:\n",
+ " print\"n\"\n",
+ " \n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Buckling will occue before the material yield. So Psr= 263.0 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 Page No 669"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 70 #GPa\n",
+ "Ix = 61.3*10**-6 #Moment of inertia along x-axis\n",
+ "Iy = 23.2*10**-6 ##Moment of inertia along y-axis\n",
+ "l = 5\n",
+ "KLx = 2*l #m\n",
+ "KLy = 0.7*(l) #m\n",
+ "FS = 3 #Factor of safety\n",
+ "sigma_y = 215 #MPa\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "import math\n",
+ "Pcrx = (math.pi**2*E*10**6*Ix)/(KLx**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "Pcry = (math.pi**2*E*10**6*Iy)/(KLy**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "Pcr = min(Pcrx,Pcry)\n",
+ "A = 7.5*10**-3 #mm**2\n",
+ "P_allow = Pcr/FS\n",
+ "sigma_cr = (Pcr*10**-3)/A\n",
+ "\n",
+ "\n",
+ "if(sigma_cr<sigma_y):\n",
+ " print\"The largest allowable load that the column can support = \",round(P_allow,0),\"kN\"\n",
+ "else:\n",
+ " print\"n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The largest allowable load that the column can support = 141.0 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 Page NO 683"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "z1 = 4*1000 #mm, length\n",
+ "e = 200 #mm, elongation\n",
+ "KLy = 100.8 #inch**2\n",
+ "Iy = 49.1 #inch**4\n",
+ "E = 29*10**3 #ksi, stress\n",
+ "sigma_y =421.2 #MPa\n",
+ "\n",
+ "#Calculation\n",
+ "#y-y Axis Buckling\n",
+ "import math\n",
+ "Pcry = (math.pi**2*E*10**6*Iy)/(KLy**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "Pcry = Pcry/1000\n",
+ "#x-x Axis Yielding\n",
+ "Kx= 2\n",
+ "KLx = 288 #inch\n",
+ "A=11.7\n",
+ "c = (8.25)/2.0\n",
+ "rx = 3.53 #inch\n",
+ "\n",
+ "#Solved by applying the Secant Formula and then finding Px by trial and error\n",
+ "trial_Px = 88.4 #kN\n",
+ "A = 7850#mm**2\n",
+ "sigma = (trial_Px*1000)/(A)\n",
+ "\n",
+ "if(Pcry>trial_Px and sigma<sigma_y):\n",
+ " print'The maximum eccentric load that the column can support = ',trial_Px\n",
+ " print'Failure will occur about the x-x axis.'\n",
+ "\n",
+ "else:\n",
+ " print\"n\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum eccentric load that the column can support = 88.4\n",
+ "Failure will occur about the x-x axis.\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 Page NO 686"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d = 30 #mm, diameter\n",
+ "r = d/2 #mm, radius\n",
+ "L = 600 #mm\n",
+ "sigma_pl = 150#MPa, stress\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "I = (math.pi/4)*(r**4)\n",
+ "A = math.pi*r**2\n",
+ "r_gyr = sqrt(I/A)\n",
+ "K = 1\n",
+ "sl_ratio = (K*L)/(r_gyr)\n",
+ "flag1 = 0\n",
+ "\n",
+ "#Assuming the critical stress is elastic\n",
+ "E = 150/0.001\n",
+ "sigma_cr1 = (math.pi**2*E)/(sl_ratio**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ "\n",
+ "\n",
+ "if(sigma_cr1 > sigma_pl):\n",
+ " Et = (270 - 150)/(0.002 - 0.001)\n",
+ " sigma_cr2 = (math.pi**2*Et)/(sl_ratio**2) #Pcr = (math.pi**2*EI)/(l**2)\n",
+ " \n",
+ "if(sigma_cr2>150 and sigma_cr2<270): \n",
+ " Pcr = sigma_cr2*A\n",
+ " Pcr = Pcr/1000.0 #in kN\n",
+ " print'The critical load when used as a pin supported column = ',round(Pcr,0),\"kN\"\n",
+ " \n",
+ "else:\n",
+ " print\"\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The critical load when used as a pin supported column = 131.0 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 page No 696"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "l=16 #16 ft\n",
+ "A=29.4 #in**2, area\n",
+ "rx=4.60 #in\n",
+ "ry=2.65 #in\n",
+ "k=1\n",
+ "E=29*10**3 #Stress\n",
+ "sigmay=36.0 #ksi\n",
+ "#calculation\n",
+ "import math\n",
+ "x1=k*l*12/ry\n",
+ "x=math.sqrt(2*math.pi**2*E/sigmay)\n",
+ "a=(1-(x1**2/(2.0*x**2)))*((sigmay))\n",
+ "b=(5/3.0)+((3/8.0)*(x1)/(x))-((x1**3)/(8.0*(x**3)))\n",
+ "sigmaallow=a/b\n",
+ "P=sigmaallow*A\n",
+ "\n",
+ "#result\n",
+ "print\" The largest load is\",round(P,0),\"kip\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The largest load is 476.0 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 Page NO 697"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 18 #kip, load\n",
+ "E = 29*10**3 #ksi, stress\n",
+ "sigma_y = 50 #ksi, shear stress\n",
+ "l = 15 #ft, length\n",
+ "k =0.5 #shape factor\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "I_by_d = (1/4.0)*(math.pi)*(d/2.0)**4\n",
+ "A_by_d = (1/4.0)*(math.pi)*d**2\n",
+ "r_by_d = math.sqrt(I_by_d/A_by_d)\n",
+ "sl_ratio_c = math.sqrt((2*math.pi**2*E)/(sigma_y))\n",
+ "\n",
+ "a1=math.sqrt(2*(math.pi)**2*E/(sigma_y))\n",
+ "\n",
+ "d_=((18*4*16*23*(k**2)*(l**2)*12**2)/(12*math.pi**3*E))**(1/4.0)\n",
+ "print \"The smallest diameter is \",round(d_,2),\"inch. So use d=2.25 inch\"\n",
+ "d=2.25\n",
+ "a1=k*l*12/(d/4.0)\n",
+ "if a1<200:\n",
+ " print\"Use of equation is appropriate\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The smallest diameter is 2.11 inch. So use d=2.25 inch\n",
+ "Use of equation is appropriate\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 Page NO 698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "L = 30 #inch\n",
+ "P = 12 #kip\n",
+ "sigma =28.0 #ksi\n",
+ "K = 1\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "b2 = (P)/(2*sigma)\n",
+ "b_ = math.sqrt(b2)\n",
+ "A = 2*b_*b_\n",
+ "Iy = (1/12.0)*(2*b_*b_**3)\n",
+ "ry = sqrt(Iy/A)\n",
+ "sl_ratio = (K*L)/(ry)\n",
+ "if(sl_ratio>12):\n",
+ " b4 = (P*103.9**2)/(2*54000) #Eqn 13.26\n",
+ " b = b4**(1/4.0)\n",
+ " \n",
+ " sl_ratio_ = (2598.1)/(b)\n",
+ " w = 2*b\n",
+ "else:\n",
+ " print\"j\"\n",
+ " \n",
+ "if(sl_ratio>55):\n",
+ " print'The thickness of the bar = ',round(b,2),\"inch\"\n",
+ " \n",
+ "else:\n",
+ " print\"h\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thickness of the bar = 1.05 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9 Page NO 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 5.0 #kip. load\n",
+ "y1 = 5.5 #inch, length\n",
+ "x1 = 1.5 #inch\n",
+ "A = (x1*y1) #area\n",
+ "d = 1.5 #inch\n",
+ "K = 1\n",
+ "\n",
+ "#Eqn 13.29\n",
+ "L2 = (540*A*d**2)/(P)\n",
+ "L = sqrt(L2)\n",
+ "KL_d = (K*L)/(d)\n",
+ "\n",
+ "if(KL_d>26 and KL_d<=50):\n",
+ " print'The greatest allowable length L as specified by the NFPA = ',round(L,1),\"inch\"\n",
+ "else:\n",
+ " print\"j\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The greatest allowable length L as specified by the NFPA = 44.8 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.10 Page NO 705"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#the given dimansion are\n",
+ "L = 80.0 #inch\n",
+ "K = 2.0\n",
+ "l = 4.0 #inch\n",
+ "b = 2.0 #inch\n",
+ "e = 1 #inch\n",
+ "c = 2 #inch\n",
+ "\n",
+ "#Calculations\n",
+ "I1 = (1/12.0)*(l*b**3)\n",
+ "A = l*b\n",
+ "r = sqrt(I1/A)\n",
+ "sl_ratio = (K*L)/(r)\n",
+ "\n",
+ "#Eqn 13.26\n",
+ "sigma_allow = (54000)/(sl_ratio**2)\n",
+ "I2 = (1/12.0)*(b*l**3)\n",
+ "coefficient = (1/A) + (e*c)/I2\n",
+ "\n",
+ "sigma_max = sigma_allow\n",
+ "P = sigma_max/coefficient\n",
+ "\n",
+ "#Display\n",
+ "print'The load that can be supported if the column is fixed at its base ',P,\"kip\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The load that can be supported if the column is fixed at its base 2.25 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.11 Page No 706"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "sigmaB_allow = 22 #ksi, allowable stress\n",
+ "E = 29*10**3 #ksi, stress\n",
+ "sigma_y = 36 #ksi, shear stress\n",
+ "K= 1 #shape factor\n",
+ "A = 5.87 #inch**2, area\n",
+ "Ix = 41.4 #inch**4, moment of inertia\n",
+ "ry = 1.5 #inch\n",
+ "d = 6.2 #inch\n",
+ "c= d/2.0 \n",
+ "e = 30 #inch\n",
+ "L = 15 #ft\n",
+ "\n",
+ "sl_ratio = (K*L*12)/(ry)\n",
+ "sl_ratio_c = math.sqrt((2*math.pi**2*E)/(sigma_y))\n",
+ "\n",
+ "\n",
+ "\n",
+ "if(sl_ratio<sl_ratio_c):\n",
+ " num = (1 - (sl_ratio**2/(2*sl_ratio_c**2)))*sigma_y\n",
+ " denom1 = (5/3.0) + ((3/8.0)*sl_ratio/sl_ratio_c)\n",
+ " denom2 = (sl_ratio**3)/(8*sl_ratio_c**3)\n",
+ " sigmaA_allow = num/(denom1 - denom2)\n",
+ " \n",
+ " coeffP = 1/(sigmaA_allow*A) + (e*c)/(Ix*sigmaB_allow)\n",
+ " P = 1/coeffP\n",
+ " \n",
+ " sigA = (P/A)/(sigmaA_allow)\n",
+ "else:\n",
+ " print\"k\"\n",
+ " \n",
+ " \n",
+ "if(sigA < 0.15):\n",
+ " print'The maximum allowable value of eccentric load = ',round(P,2),\"kN\"\n",
+ "else:\n",
+ " print\"h\"\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable value of eccentric load = 8.43 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.12 Page NO 707"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "K = 2 #shape factor\n",
+ "d= 3.0 #inch, diameter\n",
+ "L = 60 #inch, length\n",
+ "e = 4 #inch\n",
+ "c = d\n",
+ "l = 3.0 #inch\n",
+ "b =6.0 #inch\n",
+ "A = l*b #inch**2\n",
+ "\n",
+ "#Calculations\n",
+ "sl_ratio = (K*L)/(d)\n",
+ "\n",
+ "if(sl_ratio>26 and sl_ratio<50):\n",
+ " sigma_allow = (540)/(sl_ratio**2)\n",
+ " sigma_max = sigma_allow\n",
+ " \n",
+ " I = (1/12.0)*(l*b**3)\n",
+ " coeffP = (1/A) + (e*c)/(I)\n",
+ " P = sigma_max/coeffP\n",
+ " print'The eccentric load that can be supported = ',round(P,2),\"kip\"\n",
+ "else:\n",
+ " print\"no\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The eccentric load that can be supported = 1.22 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter14.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter14.ipynb new file mode 100755 index 00000000..aa30b557 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter14.ipynb @@ -0,0 +1,447 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14:Energy Methods"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 Page No 721"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_y = 44 #stress ,ksi\n",
+ "db =0.731 #inch, diameter\n",
+ "rb = db/2.0 #radius\n",
+ "import math\n",
+ "Ab = math.pi*(rb**2)\n",
+ "E = 29*10**3 #N/mm**2, stress\n",
+ "da1 = 0.875 #inch, diameter\n",
+ "ra1 = da1/2.0\n",
+ "La1 = 2 #inch\n",
+ "La2= 0.25 #inch\n",
+ "da2 =0.731 #inch\n",
+ "ra2 = da2/2.0\n",
+ "Lb = 2.25 #inch\n",
+ "\n",
+ "#Calculation\n",
+ "#Bolt A\n",
+ "Aa2 = math.pi*(ra2**2)\n",
+ "Aa1 = math.pi*(ra1**2)\n",
+ "P_max = sigma_y*Ab\n",
+ "Uia = (P_max**2/(2*E))*(La1/Aa1 + La2/Aa2) #Ui = (N**2L)/(2AE)\n",
+ "#Bolt B\n",
+ "Uib = (P_max**2/(2*E))*(Lb/Ab)\n",
+ "\n",
+ "#Display\n",
+ "print'The greatest amount of strain energy absorbed by bolt A = ',round(Uia,4),\"J\"\n",
+ "print'The greatest amount of strain energy absorbed by bolt B = ',round(Uib,4),\"J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "0.0230568851609\n",
+ "The greatest amount of strain energy absorbed by bolt A = 0.0231 J\n",
+ "The greatest amount of strain energy absorbed by bolt B = 0.0315 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 Page No 728"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "G = 75*10**9 #N/m**2, stress\n",
+ "ro = 80/1000.0 #m, outside radius\n",
+ "t = 15/1000.0 #m, thickness\n",
+ "ri = ro - t #inside radius\n",
+ "l1 = 750/1000.0 #m, length\n",
+ "l2 = 300/1000.0 #m\n",
+ "T1 = 40 #Nm. torque\n",
+ "T2 =15 #Nm\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "J = (math.pi/2.0)*(ro**4 - ri**4)\n",
+ "#Eqn 14-22\n",
+ "U1 = (T1**2*l1)/(2*G*J) \n",
+ "U2 = (T2**2*l2)/(2*G*J)\n",
+ "Ui = U1 + U2\n",
+ "Ui = Ui*10**6 #in micro Joule\n",
+ "\n",
+ "#Display\n",
+ "print'The strain energy stored in the shaft = ',round(Ui,0),\"micro J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The strain energy stored in the shaft = 233.0 micro J\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 Page No 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "F=5.0 #kip, horizontal distance\n",
+ "A=0.20 #inch**2, area\n",
+ "E=29*10**3 #ksi, stress\n",
+ "Nab=2.89 #kip, normal stress\n",
+ "Nac=5.77 #kip\n",
+ "L1=2 #ft, length\n",
+ "L2=4 #ft\n",
+ "L3=3.46 #ft\n",
+ "\n",
+ "#calculation\n",
+ "#Appling equation 14-24\n",
+ "dBh=(Nab**2*L1/(2*A*E)+(-Nac)**2*L2/(2*A*E)+F**2*L3/(2*A*E))*(2/F)\n",
+ "\n",
+ "#result\n",
+ "print\"The horizontal displacement is\",round(dBh*12,4),\"inch\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal displacement is 0.0978 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.8 Page No 743"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ro = 3 #inch, outside radius\n",
+ "ri = 2.5 #inch, inside radius\n",
+ "E = 10*10**3 #ksi, stress\n",
+ "W = 150 #kip, force\n",
+ "L = 12 #inch, length\n",
+ "h = 0\n",
+ "\n",
+ "#Part a\n",
+ "import math\n",
+ "A = (math.pi)*(ro**2 - ri**2)\n",
+ "del_st= (W*L)/(A*E)\n",
+ "#Part b\n",
+ "del_max = del_st*(1 + math.sqrt(1 + 2*(h/del_st)))\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum displacement at the top of the pipe for gradually applied load = ',round(del_st,4),\"inch\"\n",
+ "print'The maximum displacement at the top of the pipe for suddenly applied load = ',round(del_max,4),\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum displacement at the top of the pipe for gradually applied load = 0.0208 inch\n",
+ "The maximum displacement at the top of the pipe for suddenly applied load = 0.0417 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9 Page No 744"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "W = 1.5 #kip, force\n",
+ "h = 2 #inch, height\n",
+ "E = 29*1000 #N/mm**2, stress\n",
+ "L = 16 #ft, length\n",
+ "I = 209 #inch**2, area\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "del_st = (W*L**3*12**3)/(48*E*I)\n",
+ "del_max = del_st*(1 + math.sqrt(1 + 2*(h/del_st)))\n",
+ "c = 9.92/2.0\n",
+ "Pmax=48*E*I/(L**3*12**3)\n",
+ "Mmax=Pmax*L/4.0\n",
+ "sigma_max = (12*E*del_max*c)/(L**2*12**2)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum bending stress in the steel beam = ',round(sigma_max,1),\"ksi\"\n",
+ "print'The maximum deflection in the beam = ',round(del_max,2),\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum bending stress in the steel beam = 19.7 ksi\n",
+ "The maximum deflection in the beam = 0.42 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.10 Page No 745"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "m = 80*1000 #kg\n",
+ "v = 0.2 #m/s\n",
+ "l_ac = 1.5 #m\n",
+ "E = 200*10**9 #N/m**2\n",
+ "w = 0.2 #m\n",
+ "I = (1/12.0)*(w**4)\n",
+ "l_ab = 1000 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "del_Amax = math.sqrt((m*v**2*l_ac**3)/(3*E*I))\n",
+ "\n",
+ "P_max = (3*E*I*del_Amax)/(l_ac**3)\n",
+ "theta_A = (P_max*l_ac**2)/(2*E*I)\n",
+ "del_Amax = del_Amax*1000\n",
+ "del_Bmax = del_Amax + (theta_A*l_ab)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum horizontal displacement of the post at B due to impact =',round(del_Bmax,2),\"mm\"\n",
+ " \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum horizontal displacement of the post at B due to impact = 23.24 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11 Page No 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "A = 400*10**-6 #m**2\n",
+ "E = 200*10**6 #kN/m**2\n",
+ "P = 100 #kN\n",
+ "\n",
+ "#Virtual Work Equation\n",
+ "n1 = 0\n",
+ "n2=0\n",
+ "n3=-1.414\n",
+ "n4=1\n",
+ "N1=-100\n",
+ "N2=-141.4\n",
+ "N3=-141.4\n",
+ "N4=200\n",
+ "L1=4\n",
+ "L2=2.828\n",
+ "L3=2.828\n",
+ "L4=2\n",
+ "Sum=n1*N1*L1+n2*N2*L2+n3*N3*L3+n4*N4*L4\n",
+ "del_cv = Sum/(A*E)\n",
+ "\n",
+ "#Display\n",
+ "print'The vertical displacement of joint C of the steel truss ',round(del_cv*1000,1),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vertical displacement of joint C of the steel truss 12.1 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.12 Page no 759"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#given\n",
+ "A=250*10**(-6) #m**2\n",
+ "E=200*10**6 #pa\n",
+ "alpha=12*10**(-6)\n",
+ "l=4 #m\n",
+ "l1=-1.155 #KN\n",
+ "l2=-12 #KN\n",
+ "\n",
+ "#calculation\n",
+ "x=0 #x=n*N*L/A*E\n",
+ "y=0 #y=n*alpha*delta*T*L\n",
+ "z=(l1*l2*l)/(A*E)\n",
+ "deltabh=(x+y+z)\n",
+ "\n",
+ "#result\n",
+ "print \"The horizontal displacement is \",round(deltabh*1000,2),\"m\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The horizontal displacement is 1.11 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.15 Page No 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 200*10**6 #kN/m**2\n",
+ "P = 0 #N\n",
+ "A = 400*10**-6 #m**2\n",
+ "\n",
+ "#Calculation\n",
+ "N_by_P1 = 0\n",
+ "N_by_P2=0\n",
+ "N_by_P3=-1.414\n",
+ "N_by_P4=1\n",
+ "L1=4\n",
+ "L2=2.828\n",
+ "L3=2.828\n",
+ "L4=2\n",
+ "N1=-100\n",
+ "N2=141.4\n",
+ "N3=-141.4\n",
+ "N4=200\n",
+ "\n",
+ "Sum = N_by_P1*L1*N1+N_by_P2*L2*N2+N_by_P3*L3*N3+N_by_P4*L4*N4\n",
+ "del_ch = Sum/(E*A)\n",
+ "\n",
+ "#Display\n",
+ "print'The vertical displacement of joint C of the steel truss =',round(del_ch*1000,1),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The vertical displacement of joint C of the steel truss = 12.1 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter2.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter2.ipynb new file mode 100755 index 00000000..c29910ba --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter2.ipynb @@ -0,0 +1,207 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2: Strain"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1 page no. 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "e_z= 4 #Constant\n",
+ "ab = 0.200 #m, dimension\n",
+ "from scipy import integrate\n",
+ "#Calculations\n",
+ "#Part a)\n",
+ "import math\n",
+ "def f(z):\n",
+ " return(1+(40*10**-3)*(math.sqrt(z)))\n",
+ "z=integrate.quad(f,0,ab) #Strain formula for short line segment = delta(sdash) =(1+e_z)delta(s) \n",
+ "deltaB= z[0]-ab\n",
+ "deltaB_mm= deltaB*1000\n",
+ "\n",
+ "#Part b)\n",
+ "\n",
+ "e_avg = deltaB/ab# Normal strain formula e = (delta(sdash) -delta(s))/delta(s)\n",
+ "\n",
+ "#Display\n",
+ "print\"The displacement at the end of the rod is = \",round(deltaB_mm,2),\"mm\"\n",
+ "print\"The average normal strain in the rod is =\",round(e_avg,4),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement at the end of the rod is = 2.39 mm\n",
+ "The average normal strain in the rod is = 0.0119 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2 page no. 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "theta = 0.05 #degree, angle\n",
+ "L1=300.0 #mm, length\n",
+ "L2 = 400.0 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "alpha=math.atan(L2/L1)*180/3.14\n",
+ "phi=90-alpha+theta\n",
+ "Lad=math.sqrt(L1**2+L2**2)\n",
+ "Lbd=math.sqrt(Lad**2+L2**2-2*L2*Lad*math.cos(36.92*3.14/180.0))\n",
+ "epsilonBD=(Lbd-L1)/(L1)\n",
+ "dLbd=(theta*3.14/180.0)*L2\n",
+ "\n",
+ "#Display\n",
+ "print\"The average normal strain =\",round(epsilonBD,3),\"mm/mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average normal strain = 0.001 mm/mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3 page no. 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#The given dimension are\n",
+ "ab= 250.0 #mm\n",
+ "bbdash_x = 3.0 #mm\n",
+ "bbdash_y = 2.0 #mm\n",
+ "ac = 300.0 #mm\n",
+ "\n",
+ "#calculations\n",
+ "#Part(a)\n",
+ "import math\n",
+ "abdash = math.sqrt((ab - bbdash_y)**2 + (bbdash_x)**2) #Pythagoras theorem\n",
+ "avg_normal_strain = (abdash-ab)/ab\n",
+ "\n",
+ "#Part(b)\n",
+ "gamma_xy = math.atan(bbdash_x/(ab - bbdash_y)) #shear strain formula\n",
+ "\n",
+ "#Display\n",
+ "print\"The average normal strain along AB is =\",round(avg_normal_strain,4),\"mm/mm\"\n",
+ "print\"The average shear strain =\",round(gamma_xy,4),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average normal strain along AB is = -0.0079 mm/mm\n",
+ "The average shear strain = 0.0121 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4 page no. 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ab = 150 #mm\n",
+ "bc = 150 #mm\n",
+ "disp_cd= 2 #mm\n",
+ "ab_half = ab/2.0\n",
+ "addash_half = (bc+disp_cd)/2.0 \n",
+ "\n",
+ "#Calculations\n",
+ "#Part(a)\n",
+ "import math\n",
+ "ac = sqrt((ab)**2 + (bc)**2) #Pythagoras theorem in mm\n",
+ "ac_m = ac/1000.0 #in m\n",
+ "acdash = sqrt((ab)**2 + (bc+disp_cd)**2) #Pythagoras theorem in mm\n",
+ "acdash_m = acdash/1000.0 #in m\n",
+ "avg_strain_ac = (acdash_m - ac_m)/ac_m #Normal strain formula\n",
+ "\n",
+ "#Part(b)\n",
+ "theta_dash = 2* math.atan((addash_half)/(bc/2.0)) \n",
+ "gamma_xy = (math.pi / 2.0)- theta_dash \n",
+ "\n",
+ "#Display\n",
+ "print\"The average normal strain along the diagonal AC is =\",round(avg_strain_ac,5),\"mm/mm\"\n",
+ "print\"The shear strain at E relative to the x,y axes =\",round(gamma_xy,4),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average normal strain along the diagonal AC is = 0.00669 mm/mm\n",
+ "The shear strain at E relative to the x,y axes = -0.0132 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter3.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter3.ipynb new file mode 100755 index 00000000..355e0ff6 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter3.ipynb @@ -0,0 +1,334 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3: Mechanics Properties of Materials"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 Page no 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "offset = 0.2 #\n",
+ "a_x = 0.0016 #in/in\n",
+ "a_y = 50 #ksi\n",
+ "\n",
+ "#Calculations\n",
+ "#Modulus of Elasticity\n",
+ "E = a_y/(a_x*10**3) #E is the slope in GPa.\n",
+ "#Yield Strength\n",
+ "sigma_ys = 68 #ksi, Graphically, for a strain of 0.0016 mm/mm\n",
+ "#Ultimate Stress\n",
+ "sigma_u = 108 #ksi B is the peak of stress strain graph.\n",
+ "#Fracture Stress\n",
+ "ep_f = 0.23 #in/in\n",
+ "sigma_f = 90 #ksi from the graph.\n",
+ "\n",
+ "#Display\n",
+ "print\"The Modulus of Elasticity is \",E,\"ksi\"\n",
+ "print\"The Yield Strength from the graph \",sigma_ys,\"ksi\"\n",
+ "print\"The Ultimate Stress from the graph is \",sigma_u,\"ksi\"\n",
+ "print\"The Fracture Stress from the graph is \",sigma_f,\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Modulus of Elasticity is 31.25 ksi\n",
+ "The Yield Strength from the graph 68 ksi\n",
+ "The Ultimate Stress from the graph is 108 ksi\n",
+ "The Fracture Stress from the graph is 90 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 Page No 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "stress_b = 600 #MPa, stress\n",
+ "strain_b = 0.023 #mm/mm, strain\n",
+ "stress_a = 450 #Mpa, stress\n",
+ "strain_a = 0.006 #mm/mm, strain\n",
+ "\n",
+ "#Calculations\n",
+ "#Permanent Strain\n",
+ "E = stress_a/strain_a\n",
+ "strain_cd = stress_b/E #The recovered elastic strain\n",
+ "perm_strain = strain_b - strain_cd #mm/mm\n",
+ "\n",
+ "#Modulus of Resilience\n",
+ "ur_initial = (0.5*stress_a*strain_a)\n",
+ "ur_final = (0.5*stress_b*strain_cd) \n",
+ "\n",
+ "#Display\n",
+ "print\"The Permanent Strain is =\",perm_strain,\"mm/mm\"\n",
+ "print\"The Initial Modulus of Resilience is = \",ur_initial,\"MJ/mm**3\"\n",
+ "print\"The Final Modulus of Resilience is = \",ur_final,\"MJ/mm**3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Permanent Strain is = 0.015 mm/mm\n",
+ "The Initial Modulus of Resilience is = 1.35 MJ/mm**3\n",
+ "The Final Modulus of Resilience is = 2.4 MJ/mm**3\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 Page No 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Given\n",
+ "p = 10000 #N, load\n",
+ "E_al = 70*(10**3) #MPa,pressure\n",
+ "#The given dimension are\n",
+ "l_ab = 600.0 #mm\n",
+ "d_ab = 20.0 #mm\n",
+ "l_bc = 400.0 #mm\n",
+ "d_bc = 15.0 #mm\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "a_ab = (math.pi/4.0)*(d_ab**2) # Area of AB\n",
+ "a_bc = (math.pi/4.0)*(d_bc**2)\n",
+ "stress_ab = p/a_ab\n",
+ "stress_bc = p/a_bc\n",
+ "e_ab = stress_ab/E_al \n",
+ "e_bc = 0.045 #mm/mm . From the graph for stress_bc\n",
+ "elongation = (l_ab*e_ab)+ (l_bc*e_bc)\n",
+ "strain_rec = stress_bc/E_al \n",
+ "e_og = e_bc-strain_rec\n",
+ "rod_elong = e_og*l_bc\n",
+ "\n",
+ "#Display\n",
+ "print\"The elongation of the rod when load is applied is\",round(elongation,1),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The elongation of the rod when load is applied is 18.3 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 Page No 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 80 \t#kN load\n",
+ "#Dimensions are\n",
+ "l_z = 1.5\t #m\n",
+ "l_y = 0.05\t#m\n",
+ "l_x = 0.1 \t#m\n",
+ "\n",
+ "#Calculations\n",
+ "Aa= l_x*l_y\n",
+ "normal_stress_z = (P*(10**3))/Aa\n",
+ "Est = 200 #GPa - from the tables.\n",
+ "strain_z = (normal_stress_z)/(Est*(10**9)) \n",
+ "axial_elong = strain_z*l_z #elongation in the y direction\n",
+ "nu_st = 0.32 #Poisson's Ratio - from the tables.\n",
+ "strain_x = -(nu_st)*(strain_z) #strain in the x direction.\n",
+ "strain_y = strain_x\n",
+ "#Elongations\n",
+ "delta_x = strain_x*l_x\n",
+ "delta_y = strain_y*l_y\n",
+ "\n",
+ "#Display\n",
+ "print\"The change in the length (z direction) =\",axial_elong*10**6,\"micrometer\"\n",
+ "print\"The change in the cross section (x direction)=\",delta_x*10**6,\"micrometer\"\n",
+ "print\"The change in the cross section (y direction)=\",delta_y*10**6,\"micrometer\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in the length (z direction) = 120.0 micrometer\n",
+ "The change in the cross section (x direction)= -2.56 micrometer\n",
+ "The change in the cross section (y direction)= -1.28 micrometer\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 Page No 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#Refer to the graph of shear stress-strain of titanium alloy.\n",
+ "x_A = 0.008 #rad - x co-ordinate of A\n",
+ "y_A = 52\t #MPa - y co-ordinate of A\n",
+ "height = 2 \t#mm\n",
+ "l = 3.0 \t\t #mm\n",
+ "b = 4.0 \t #mm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Shear Modulus\n",
+ "G = y_A/x_A\n",
+ "#Proportional Limit\n",
+ "tou_pl = 52 #ksi Point A\n",
+ "#Ultimate Stresss\n",
+ "tou_u = 73 #ksi - Max shear stress at B\n",
+ "#Maximum Elastic Displacement\n",
+ "tanA= x_A # tan theta is approximated as theta.\n",
+ "d = tanA*height\n",
+ "#Shear Force\n",
+ "A = l*b\n",
+ "V = tou_pl*A\n",
+ "\n",
+ "#Display\n",
+ "print\"The Shear Modulus = \",G,\"ksi\"\n",
+ "print\"The Proportional Limit = \",tou_pl,\"ksi\"\n",
+ "print\"The Ultimate Shear Stress = \",tou_u,\"ksi\"\n",
+ "print\"The Maximum Elastic Displacement = \",d,\"inch\"\n",
+ "print\"The Shear Force = \",V,\"kip\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Modulus = 6500.0 ksi\n",
+ "The Proportional Limit = 52 ksi\n",
+ "The Ultimate Shear Stress = 73 ksi\n",
+ "The Maximum Elastic Displacement = 0.016 inch\n",
+ "The Shear Force = 624.0 kip\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 Page No 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d_o = 0.025 \t\t#m, outside diameter\n",
+ "l_o =0.25 \t\t #m\n",
+ "F =165 \t\t\t #kN, load\n",
+ "delta = 1.2 \t\t#mm\n",
+ "G_al = 26 \t\t #GPa\n",
+ "sigma_y = 440 \t\t#MPa\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "#Modulus of Elasticity\n",
+ "A = (math.pi/4)*(d_o**2)\n",
+ "avg_normal_stress = (F*10**3)/A\n",
+ "avg_normal_strain = delta/l_o\n",
+ "E_al = avg_normal_stress/ avg_normal_strain\n",
+ "E_al = E_al/10**6\n",
+ "#Contraction of Diameter\n",
+ "nu = (E_al/(2*G_al))-1\n",
+ "strain_lat = nu*(avg_normal_strain) \n",
+ "d_contraction = strain_lat* d_o \n",
+ "\n",
+ "#Display\n",
+ "print\"The Modulus of Elasticity is = \",round(E_al,0),\"GPa\"\n",
+ "print\"The contraction in diameter due to the force = \",round(d_contraction,4),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "70.0281749604\n",
+ "The Modulus of Elasticity is = 70.0 GPa\n",
+ "The contraction in diameter due to the force = 0.0416 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter4.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter4.ipynb new file mode 100755 index 00000000..8da809d8 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter4.ipynb @@ -0,0 +1,728 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4:Axial Load"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 Page no 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a_ab = 1\t\t #inch**2, area\n",
+ "a_bd = 2 \t\t #inch**2\n",
+ "a_bc = a_bd\n",
+ "p = 29\t\t\t #kN, load\n",
+ "l_ab = 2\t\t #ft\n",
+ "l_bc = 1.5 \t\t #ft\n",
+ "l_cd = 1 \t #ft\n",
+ "\n",
+ "#Calculations\n",
+ "#Internal Forces By method of Sections\n",
+ "p_bc = 15 #kip\n",
+ "p_cd = 7 #kip\n",
+ "p_ab=9 #kip\n",
+ "#Displacement\n",
+ "d=(p_bc*l_ab*12/(a_ab*p*10**3))+(p_cd*l_bc*12/(a_bd*p*10**3))+(p_ab*l_cd*12/(a_bc*p*10**3))\n",
+ "d_=p_cd*l_bc*12/(a_bd*p*10**3)\n",
+ "\n",
+ "#Display\n",
+ "print\"The displacement of B relative to C is = +%1.3f mm\",round(d*10,4),\"inch\"\n",
+ "print \"Displacement of B relative to C is\",round(d_,5),\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement of B relative to C is = +%1.3f mm 0.0217 inch\n",
+ "Displacement of B relative to C is 0.00217 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 Page no 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "a_ab = 400.0 #mm**2, area\n",
+ "d_rod = 10.0 #mm\n",
+ "r_rod = d_rod/(2*1000) #radius in m\n",
+ "P = 80.0 #kN, load\n",
+ "E_st = 200*(10**9) #Pa, pressure\n",
+ "E_al = 70*(10**9) #Pa\n",
+ "l_ab = 400.0 #mm, length of ab\n",
+ "l_bc = 600.0 #mm length of bc\n",
+ "\n",
+ "#Calculations\n",
+ "#Displacement\n",
+ "#delta =PL/AE\n",
+ "import math\n",
+ "numerator1 = P*(10**3)*(l_bc/1000.0) \n",
+ "denominator1 = (math.pi*r_rod**2*E_st)\n",
+ "delta_cb = numerator1/denominator1 #to the right\n",
+ "numerator2 = -P*(10**3)*(l_ab/1000.0) \n",
+ "denominator2 = (a_ab* 10**-6 *E_al)\n",
+ "delta_a = -numerator2/denominator2 #to the right\n",
+ "delta_c = delta_a+delta_cb\n",
+ "\n",
+ "#Display\n",
+ "print\"The displacement of C with respect to B = \",round(delta_cb,4),\"m\"\n",
+ "print\"The displacement of B with respect to A = \",round(delta_a,4),\"m\"\n",
+ "print'The displacement of C relative to A = ',round(delta_c*1000,2),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement of C with respect to B = 0.0031 m\n",
+ "The displacement of B with respect to A = 0.0011 m\n",
+ "The displacement of C relative to A = 4.2 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 Page no 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d_ac = 20.0 #mm, ac diameter\n",
+ "r_ac = d_ac/(2*1000)\t\t #radius in m\n",
+ "d_bd =40.0 \t\t\t #mm\n",
+ "r_bd = d_bd/(2*1000) \t\t#radius in m\n",
+ "P = 90.0 \t\t\t\t#kN\n",
+ "E_st = 200*(10**9) \t\t#Pa\n",
+ "E_al = 70*(10**9) \t\t#Pa\n",
+ "l_af = 200.0 \t\t\t#mm\n",
+ "l_fb = 400.0 \t\t\t#mm\n",
+ "l_bd = 300.0\t\t\t#mm\n",
+ "l_ac = l_bd\n",
+ "\n",
+ "#Calculations\n",
+ "#Internal Force\n",
+ "P_ac = 60 #kN\n",
+ "P_bd = 30 #kN\n",
+ "#Displacement\n",
+ "import math\n",
+ "num1 = -(P_ac*10**3*(l_ac/1000.0))\n",
+ "denom1 = math.pi* r_ac**2*E_st\n",
+ "delta_a = -num1/denom1 \n",
+ "delta_a = delta_a*1000 \n",
+ "#Post BD delta = PL/AE\n",
+ "num2 = -(P_bd*10**3*(l_bd/1000))\n",
+ "denom2 = math.pi* r_bd**2*E_al\n",
+ "delta_b = -num2/denom2 \n",
+ "delta_b = delta_b*1000 \n",
+ "delta_f = delta_b + (0.184)*(l_fb/(l_af+l_fb)) \n",
+ "\n",
+ "#Display\n",
+ "print'The displacement of Post AC =',round(delta_a,3),\"mm downwards\"\n",
+ "print'The displacement of Post BD =',round(delta_b,3),\"mm downwards\"\n",
+ "print'nThe displacement of point F =',round(delta_f,3),\"mm downwards\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The displacement of Post AC = 0.286 mm downwards\n",
+ "The displacement of Post BD = 0.102 mm downwards\n",
+ "nThe displacement of point F = 0.225 mm downwards\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 Page no 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "d_ab = 5 #mm, ab diameter\n",
+ "A = (math.pi/4)*(d_ab/1000)**2\n",
+ "gap = 1 #mm\n",
+ "P = 20 #kN, pressure\n",
+ "E_st = 200 #GPa\n",
+ "l_ac = 0.4 #m\n",
+ "l_cb = 0.8 #m\n",
+ "l_ab = l_ac+l_cb\n",
+ "\n",
+ "#Calculations\n",
+ "#Equilibrium\n",
+ "# Eqn1 -Fa - Fb +P*10**3 = 0 \n",
+ "#Compatibility\n",
+ "delta_ba = gap/1000.0 #in m\n",
+ "delta = delta_ba*(A*E_st*10**9) #delta_ba* Lac/AE \n",
+ "\n",
+ "#Eqn2 (L/AE)*Fa -(Lb/AE)*Fb = delta_ba\n",
+ "#Solving Equations 1 and 2 by matrices\n",
+ "Fa=16 #KN\n",
+ "Fb=4.05 #KN\n",
+ "\n",
+ "#Display\n",
+ "print\"The reaction force at A = \",Fa,\"kN\"\n",
+ "print\"The reaction force at B = \",Fb,\"kN\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction force at A = 16 kN\n",
+ "The reaction force at B = 4.05 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6 Page no 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 9 \t\t #kip, load\n",
+ "E_al = 10 #ksi, \n",
+ "E_br = 15 # ksi\n",
+ "h = 1.5 \t #ft\n",
+ "ri = 1 \t #inch\n",
+ "ro = 2 \t #inch\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "A = (math.pi*(ro**2 -ri**2))\n",
+ "Ai = math.pi*ri**2\n",
+ "#Equilibrium Eqn1 F_al +F_br = P\n",
+ "#Compatibility\n",
+ "coeff_F_br = (A*E_al)/(Ai*E_br) \n",
+ "#Eqn2 F_al- (coeff_F_br*F_br) = 0\n",
+ "#Solving equations 1 and 2 using matrices\n",
+ "Fal=6 \n",
+ "Fbr=3\n",
+ "\n",
+ "avg_stress_al = Fal/A \n",
+ "avg_stress_br = Fbr/Ai \n",
+ "avg_stress_al = avg_stress_al/1000\n",
+ "avg_stress_br = avg_stress_br/1000\n",
+ "\n",
+ "#Display\n",
+ "print\"The axial force experienced by Al = \",Fal,\"ksi\"\n",
+ "print\"The axial force experienced by Brass = \",Fbr,\"ksi\"\n",
+ "print'The average normal stress in Al = ',round(avg_stress_al*1000,3),\"ksi\"\n",
+ "print'The average normal stress in Al Brass = ',round(avg_stress_br*1000,3),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The axial force experienced by Al = 6 ksi\n",
+ "The axial force experienced by Brass = 3 ksi\n",
+ "The average normal stress in Al = 0.637 ksi\n",
+ "The average normal stress in Al Brass = 0.955 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 Page no 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 15\t\t #kN. load\n",
+ "a_ab = 50 \t#mm**2, area\n",
+ "a_ef =a_ab\n",
+ "a_cd = 30 \t#mm**2, area\n",
+ "l_ef = 0.5 \t#m, ef length\n",
+ "l_ce = 0.4 \t#m\n",
+ "l_ac = 0.4 \t#m\n",
+ "\n",
+ "#Calculations\n",
+ "#In the y direction F_a +F_c +F_e = P\n",
+ "#of moments -F_a(l_ac)+ P(l_ac/2) +F_e(l_ce) = 0\n",
+ "\n",
+ "#Compatibility equation for displacemnts\n",
+ "coeff_Fc = (1/a_cd) #coefficient of Fc\n",
+ "coeff_Fa = (0.5/a_ab) #coefficient of Fc\n",
+ "coeff_Fe = (0.5/a_ef) #coefficient of Fc\n",
+ "\n",
+ "#Solving the 3 Equations\n",
+ "F_a=9.52\n",
+ "F_b=3.46\n",
+ "F_c=2.02\n",
+ "#Display\n",
+ "print\"The force in rod AB = \",F_a,\"kN\"\n",
+ "print'The force in rod CD = ',F_b,\"kN\"\n",
+ "print'The force in rod EF = ',F_c,\"kN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force in rod AB = 9.52 kN\n",
+ "The force in rod CD = 3.46 kN\n",
+ "The force in rod EF = 2.02 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8 Page no 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "r_o = 0.5\t\t #inch, outside radius\n",
+ "r_i = 0.25\t\t#inch, inside radius\n",
+ "l = 3 \t\t\t#inch\n",
+ "one_turn =20 #threads per inch\n",
+ "\n",
+ "#calculations\n",
+ "import math\n",
+ "a_t = (math.pi)*(r_o**2 - r_i**2) #Area of thread\n",
+ "a_b = (math.pi*(r_i**2))# Area of bolt\n",
+ "# In Y direction F_b - F_t = 0\n",
+ "\n",
+ "#Compatibility\n",
+ "half_turn = one_turn/2.0\n",
+ "#Solving the two simultaneous equations for F_b and F_t\n",
+ "F_b =11.22 #kip\n",
+ "F_t = F_b\n",
+ "stress_b = F_b/a_b\n",
+ "stress_t = F_t/a_t\n",
+ "F_b = F_b/1000.0\n",
+ "F_t = F_t/1000.0\n",
+ "\n",
+ "#Display\n",
+ "print'The stress in the bolt ',round(stress_b,1),\"ksi\"\n",
+ "print'The stress in the screw ',round(stress_t,1),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress in the bolt 57.1 ksi\n",
+ "The stress in the screw 19.0 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 Page no 144"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "l_ab = 800 + 400\t\t#mm, ab length\n",
+ "P = 20 \t\t \t#kN, load\n",
+ "d = 5/1000.0 \t\t\t#m, diameter\n",
+ "area = (math.pi/4.0)*d**2 \t#Cross sectional area\n",
+ "l_bbdash = 1/1000.0\t\t#m\n",
+ "E = 200.0 \t\t\t#GPa\n",
+ "\n",
+ "#Calculations\n",
+ "#Compatibility\n",
+ "delta_p = (P*10**3*0.4)/(area*E*10**9) #delta = PL/AE\n",
+ "delta_b = delta_p-l_bbdash\n",
+ "F_b = (delta_b*area*E*10**9)/(l_ab/1000.0)\n",
+ "F_b = F_b/1000.0\n",
+ "\n",
+ "#Equilibrium\n",
+ "F_a = P - F_b\n",
+ "\n",
+ "#Display\n",
+ "print\"The reaction at A \",round(F_a,2),\"kN\"\n",
+ "print'The reaction at B',round(F_b,2),\"kN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A 16.61 kN\n",
+ "The reaction at B 3.39 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10 Page no 152"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "T1 = 60\t\t #degree celcius\n",
+ "T2 = 120\t\t#degress celcius\n",
+ "l_ab = 0.5\t\t#m\n",
+ "area =l_ab**2 \t#m**2\n",
+ "alpha = 6.6*10**-6\t# per degree celcius\n",
+ "E = 29*10**6 \t\t#kPa\n",
+ "\n",
+ "#Equilibrium\n",
+ "#F_a = F_b = F\n",
+ "del_T = T2-T1\n",
+ "F = alpha*del_T*area*E #Thermal Stress Formula\n",
+ "avg_normal_comp_stress = (F*10**-3)/area # sigma = F/A\n",
+ "\n",
+ "#Display\n",
+ "print\"The force at A and B = \",F/1000,\"kip\"\n",
+ "print'The average normal compressive stress = ',avg_normal_comp_stress,\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force at A and B = 2.871 kip\n",
+ "The average normal compressive stress = 11.484 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 Page no 154"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "area_sleeve = 600*10**-6 #m**2, area\n",
+ "area_bolt = 400*10**-6 #m**2, area\n",
+ "T1 = 15 #degree celcius\n",
+ "T2 = 80 #degree celcius\n",
+ "alpha_bolt = 12*10**-6 #per degree celcius\n",
+ "alpha_sleeve = 23*10**-6 #per degree celcius\n",
+ "l = 0.15 #m\n",
+ "E_bolt = 200*10**9 #N/m**2 \n",
+ "E_sleeve = 73.1*10**9 #N/m**2 \n",
+ "\n",
+ "#Equilibrium\n",
+ "#F_s = F_b\n",
+ "\n",
+ "#Compatibility\n",
+ "del_T = T2 - T1 \n",
+ "delb_T = alpha_bolt*del_T*l \n",
+ "delb_F = l/(area_bolt*E_bolt)\n",
+ "dels_T = alpha_sleeve*del_T*l \n",
+ "dels_F = l/(area_sleeve*E_sleeve)\n",
+ "\n",
+ "#delb_T + F_b*delb_F = dels_T + F_s*dels_F\n",
+ "F_b = (dels_T-delb_T)/(delb_F+dels_F)\n",
+ "F_b = F_b/1000 #in kN\n",
+ "F_s= F_b\n",
+ "\n",
+ "#Display\n",
+ "print\"The force experienced by sleeve and bolt, Fs=Fb \",round(F_s,1),\"kN\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force experienced by sleeve and bolt, Fs=Fb 20.3 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.13 Page no 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "yiel = 250 #MPa, yield stress\n",
+ "r = 4 #mm, radius\n",
+ "width = 40 #mm\n",
+ "thick = 2 #mm\n",
+ "\n",
+ "#a)\n",
+ "r_h = r/(width - (2*r))\n",
+ "w_h = width/(width - (2*r))\n",
+ "K = 1.75\n",
+ "area = (thick*(width - (2*r))*10**-6)\n",
+ "P_y = (yiel*10**6*area)/K\n",
+ "P_y = P_y/1000.0\n",
+ "#b)\n",
+ "P_p = (yiel*10**6*area)\n",
+ "P_p = P_p/1000.0\n",
+ "\n",
+ "#Display\n",
+ "print\"The maximum load P that does not cause the steel to yield \",round(P_y,2),\"kN\"\n",
+ "print'The maximum load that the bar can support ',P_p,\"kN\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum load P that does not cause the steel to yield 9.14 kN\n",
+ "The maximum load that the bar can support 16.0 kN\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14 Page No:166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "P = 60 #KN, load\n",
+ "sigmaY= 420 #MPa, bending stress\n",
+ "E = 70*10**6 #MPa\n",
+ "l1 = 0.1 #m\n",
+ "l2 = 0.3 #m\n",
+ "r=0.005 #m \n",
+ "\n",
+ "#Maximum Normal Stress:\n",
+ "#r_h = 6/20.0\n",
+ "#w_h = 40/20.0\n",
+ "#K = 1.6\n",
+ "#from sec 4.4\n",
+ "Fa=45\n",
+ "Fb=15\n",
+ "sigmaAC=(Fa/1000.0)/((math.pi)*r**2)\n",
+ "sigmaCB=(Fb/1000.0)/((math.pi)*r**2)\n",
+ "Fay=sigmaY*10**3*(math.pi)*r**2\n",
+ "Fb=P-Fay\n",
+ "if sigmaAC>sigmaY:\n",
+ " print\"Calculate sigmaAC again\"\n",
+ "else:\n",
+ " print\"It is OK\" \n",
+ "sigmaAC_=sigmaY\n",
+ "sigmaCB_=Fb/1000.0/((math.pi)*r**2)\n",
+ "if sigmaCB_<sigmaY:\n",
+ " print\"It is OK\"\n",
+ "else:\n",
+ " print\"Calculate sigmaAC again\" \n",
+ "dL=Fb*l2/(((math.pi)*r**2)*E)\n",
+ "epsilonCB=dL/l2\n",
+ "epsilonAC=dL/l1\n",
+ "epsilonY=sigmaY*10**6/(E*10**3)\n",
+ "sigmaACr=-sigmaAC_+sigmaAC\n",
+ "sigmaCBr=sigmaCB_-sigmaCB\n",
+ "\n",
+ "#Display:\n",
+ "print\"Residual stress in AC is\",round(sigmaACr,0),\"MPa\"\n",
+ "print\"Residual stress in CB is\",round(sigmaCBr,0),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Calculate sigmaAC again\n",
+ "It is OK\n",
+ "420\n",
+ "572.957795131\n",
+ "190.98593171\n",
+ "343.943726841\n",
+ "Residual stress in AC is 153.0 MPa\n",
+ "Residual stress in CB is 153.0 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15 Page no 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "weight = 3.0 #kip, weight\n",
+ "l_ab = 20.0 #ft, length\n",
+ "l_ac= 20.03 #ft\n",
+ "area = 0.05 #inch**2, area\n",
+ "sigmaY=50 #ksi\n",
+ "\n",
+ "#calculations\n",
+ "strain_ab = (l_ac-l_ab)/l_ab \n",
+ "max_strain = 0.0017 \n",
+ "stress_ab = (350*strain_ab)/max_strain\n",
+ "F_ab = stress_ab*area \n",
+ "E_st = 350/max_strain \n",
+ "del1 = l_ab/(area*10**-6*E_st*10**3) \n",
+ "del2 = l_ac/(area*10**-6*E_st*10**3) \n",
+ "\n",
+ "T_ab=sigmaY*area\n",
+ "T_ac = weight-T_ab #kip\n",
+ "stress_in_ab = (T_ab*10**3)/area\n",
+ "stress = (T_ac)/area\n",
+ "strain_ac = (stress*max_strain)/50.0\n",
+ "elong_ac = strain_ac*l_ac #m\n",
+ "elong_ab = (l_ac-l_ab)+elong_ac #m\n",
+ "\n",
+ "#Display\n",
+ "print'The force experienced by wire AB = ',T_ab,\"kip\"\n",
+ "print'The force experienced by wire AC = ',T_ac,\"kip\"\n",
+ "print'The elongation in wire AB = ',round(elong_ab,4),\"ft\"\n",
+ "print'The elongation in wire AC = ',round(elong_ac,5),\"ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The force experienced by wire AB = 2.5 kip\n",
+ "The force experienced by wire AC = 0.5 kip\n",
+ "The elongation in wire AB = 0.0368 ft\n",
+ "The elongation in wire AC = 0.00681 ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter5.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter5.ipynb new file mode 100755 index 00000000..649dd3d3 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter5.ipynb @@ -0,0 +1,736 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5:Torsion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 Page No 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "T1 = 4250.0 #kNmm, torque\n",
+ "T2 = -3000.0 #kNm\n",
+ "T3 = T1+T2 #kNm\n",
+ "r = 75.0 #mm, radius\n",
+ "\n",
+ "#Calculation\n",
+ "#Section Property\n",
+ "import math\n",
+ "J = (math.pi/2.0)*(r**4) #polar moment of inertia\n",
+ "#Shear Stress\n",
+ "c_a = 75 #mm\n",
+ "tou_a = (T3*c_a*1000)/J #tou = Tc/J\n",
+ "c_b = 15 #mm\n",
+ "tou_b = (T3*c_b*1000)/J #tou = Tc/J\n",
+ "\n",
+ "#Display\n",
+ "print'The shear stress developed at A = ',round(tou_a*10,1),\"ksi\"\n",
+ "print'The shear stress developed at B = ',round(tou_b*10,2),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear stress developed at A = 18.9 ksi\n",
+ "The shear stress developed at B = 3.77 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 Page No 189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "di = 80 #mm, inside diameter\n",
+ "ri = 40/1000.0 #m, inside radius\n",
+ "d0 = 100 #mm, outside diameter\n",
+ "ro = d0/2000.0 #m outside radius\n",
+ "F = 80 #N, force\n",
+ "l1 = 0.2 #m, length\n",
+ "l2 = 0.3 #m\n",
+ "\n",
+ "#Internal Torque\n",
+ "T = F*(l1+l2)\n",
+ "#Section Property\n",
+ "import math\n",
+ "J = (math.pi/2.0)*((ro**4)-(ri**4))\n",
+ "#Shear Stress\n",
+ "c_o = 0.05#m\n",
+ "tou_o = (T*c_o)/(J*10**6)\n",
+ "c_i = 0.04 #m\n",
+ "tou_i = (T*c_i)/(J*10**6)\n",
+ "\n",
+ "#Display\n",
+ "print'The shear stress in the inner wall = ',round(tou_i,3),\"MPa\"\n",
+ "print'The shear stress in the outer wall = ',round(tou_o,3),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear stress in the inner wall = 0.276 MPa\n",
+ "The shear stress in the outer wall = 0.345 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 Page No 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "P = 5 #hp\n",
+ "N = 175 #rpm\n",
+ "allow_shear = 14.5 #ksi\n",
+ "\n",
+ "#Calculations\n",
+ "import math\n",
+ "P_=P*550 #ftlb/s\n",
+ "ang_vel = (2*math.pi*N)/60.0 # rad/s\n",
+ "T = P_/ang_vel #P = T*angular velocity\n",
+ "c = ((2*T*12)/(math.pi*allow_shear*1000))**(1/3.0)\n",
+ "d =2*c\n",
+ "\n",
+ "#Display\n",
+ "print'The required diameter of the shaft = ',round(d,3),\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required diameter of the shaft = 0.858 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 Page No 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "E = 80*10**9 #N/m**2, longitudinal stress\n",
+ "d = 14/1000.0 #m, diameter\n",
+ "r = d/2.0 #m, radius\n",
+ "R = 100 #mm\n",
+ "l_ac = 0.4 #m, length\n",
+ "l_cd = 0.3 #m\n",
+ "l_de = 0.5 #m\n",
+ "T_c = 280 #Nm, torque\n",
+ "T_a = 150 #Nm\n",
+ "T_d = 40 #Nm\n",
+ "T_ac = T_a #Nm\n",
+ "\n",
+ "#Calculation\n",
+ "T_cd = T_ac - T_c \n",
+ "T_de = T_cd - T_d\n",
+ "#Angle of Twist\n",
+ "import math\n",
+ "J = (math.pi/2.0)*(r**4)\n",
+ "phiA=T_ac*l_ac/(J*E)+T_cd*l_cd/(J*E)+T_de*l_de/(J*E)\n",
+ "Sp=phiA*R\n",
+ "\n",
+ "#Display\n",
+ "print'The angle of twist of the shaft = ',round(phiA,3),\"rad\"\n",
+ "print'The displacement of tooth P on gear A =',round(Sp,3),\"mm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle of twist of the shaft = -0.212 rad\n",
+ "The displacement of tooth P on gear A = -21.212 mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 Page No 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "T = 45\t\t #N, torque\n",
+ "G = 80 \t\t#GPa, pressure\n",
+ "d = 20/1000.0\t\t #m\n",
+ "r = d/2.0\t #m\n",
+ "l_dc = 1.5\t\t #m\n",
+ "l_ab = 2 \t\t#m\n",
+ "r1 = 75/1000.0\t\t #m\n",
+ "r2 = 150/1000.0\t\t #m\n",
+ "\n",
+ "#Calculation\n",
+ "#Internal Torque\n",
+ "F = T/r2\n",
+ "T_d_x = F*r1\n",
+ "#Angle of twist\n",
+ "import math\n",
+ "J = (math.pi/2)*(r**4)\n",
+ "phi_c = (T*l_dc)/(2*J*G*10**9)\n",
+ "phi_b = (phi_c*r1)/r2\n",
+ "phi_ab = (T*l_ab)/(J*G*10**9)\n",
+ "phi_a = phi_b + phi_ab\n",
+ "\n",
+ "#Display\n",
+ "print'The angle of twist of end A of shaft AB = ',round(phi_a,3),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The angle of twist of end A of shaft AB = 0.085 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 Page No 207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d = 2 #inch, diameter\n",
+ "r = d/2.0 #radius\n",
+ "c = d/2.0\n",
+ "l_buried = 600\t\t #mm, buried length\n",
+ "G = 5500*10**3 \t\t#MPa\n",
+ "F = 1 \t\t#N\n",
+ "l_handle= 150 \t\t#mm\n",
+ "l_ab = 36 \t\t#inch\n",
+ "\n",
+ "#Internal Torque\n",
+ "T_ab = F*2*l_handle\n",
+ "t = T_ab/l_buried\n",
+ "#Maximum Shear Stress\n",
+ "import math\n",
+ "J = (math.pi/2.0)*(r**4)\n",
+ "tou_max = (T_ab*c)/(J)\n",
+ "\n",
+ "#Angle of Twist\n",
+ "from scipy import integrate\n",
+ "def f(x):\n",
+ " return(x)\n",
+ "x=integrate.quad(f,0,24) #Strain formula for short line segment = delta(sdash) =(1+e_z)delta(s) \n",
+ "X= x[0]\n",
+ "phi_a = ((T_ab*l_ab)+(50*X/4.0))/(J*G) \n",
+ "\n",
+ "#Display\n",
+ "print'The maximum shear stress in the post =',round(tou_max,1),\"psi\"\n",
+ "print'The angle of twist at the top of the post = ',round(phi_a,5),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear stress in the post = 191.0 psi\n",
+ "The angle of twist at the top of the post = 0.00167 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 Page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d = 20/1000.0 #m, diameter\n",
+ "r = d/2.0\n",
+ "l_bc = 0.2\n",
+ "l_cd = 1.5\n",
+ "l_da = 0.3\n",
+ "T_c = 800 #Nm, torque\n",
+ "T_d = -500 #Nm\n",
+ "\n",
+ "#Calculation\n",
+ "#Eqn 1 300 = T_a + T_b\n",
+ "#Compatibility\n",
+ "#Eqn 2\n",
+ "coeff_Tb = -l_bc\n",
+ "coeff_Ta = l_cd + l_da\n",
+ "#Solving Equations simultaneously using matrices\n",
+ "T_b = 645\n",
+ "T_a = -345\n",
+ "\n",
+ "#Display\n",
+ "print'The reaction at A = ',T_a,\"Nm\"\n",
+ "print'The reaction at B = ',T_b,\"Nm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reaction at A = -345 Nm\n",
+ "The reaction at B = 645 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 Page No 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "T = 250 #Nm, torque\n",
+ "G_st = 80 #GPa, pressure\n",
+ "G_br = 36 #GPa\n",
+ "ri = 0.5 #inch, inside radius\n",
+ "ro = 1 #inch, outside radius\n",
+ "l_ab = 1.2 #m\n",
+ "\n",
+ "#Equilibrium\n",
+ "# -Tst-Tbr+250Nm = 0\n",
+ "coeff1_st = -1\n",
+ "coeff1_br = -1\n",
+ "b1 = -250\n",
+ "\n",
+ "#Compatibility\n",
+ "#phi = TL/JG\n",
+ "import math\n",
+ "J1 = (math.pi/2.0)*(ro**4 - ri**4)\n",
+ "J2 = (math.pi/2.0)*(ri**4)\n",
+ "coeff2_st = 1/(J1*G_st*10**3)\n",
+ "coeff2_br = -1/(J2*G_br*10**3)\n",
+ "b2 = 0\n",
+ "\n",
+ "#Solving the above two equations simultaneously using matrices\n",
+ "T_st = 2911.5 #lb-inch\n",
+ "T_br = 88.5 #lb-inch\n",
+ "\n",
+ "shear_br_max = (T_br*10**3*ri)/(J2) #tou = (Tr)/J\n",
+ "shear_st_min = (T_st*10**3*ri)/(J1) #tou = (Tr)/J\n",
+ "shear_st_max = (T_st*10**3*ro)/(J1) #tou = (Tr)/J\n",
+ "\n",
+ "shear_strain = shear_br_max / G_br\n",
+ "shear_strain = shear_strain\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum shear stress experienced by Steel =',round(shear_st_max/1000),\"psi\"\n",
+ "print'The minimum shear stress experienced by Steel =',round(shear_st_min/1000),\"psi\"\n",
+ "print'The maximum shear stress experienced by Brass ',round(shear_br_max/1000),\"psi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear stress experienced by Steel = 1977.0 psi\n",
+ "The minimum shear stress experienced by Steel = 989.0 psi\n",
+ "The maximum shear stress experienced by Brass 451.0 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10 Page No 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "l = 4*12 #m, length\n",
+ "a = 1.5 #inch\n",
+ "tou_allow = 8000 #lb\n",
+ "phi_allow = 0.02 #rad\n",
+ "G = 3.7*10**6 #lb/inch**2, pressure\n",
+ "alpha = (60*math.pi)/180.0 #degrees\n",
+ " \n",
+ "#Calculations\n",
+ "T_shear1 = (tou_allow*a**3)/(20.0) # allowable shear stress = (20T)/(a**3)\n",
+ "T_twist1 = (phi_allow*a**4*G)/(46*l) #angle of twist =(46TL)/(a**4*G)\n",
+ "T1 = min(T_shear1, T_twist1)\n",
+ " \n",
+ "#Circular Cross Section\n",
+ "c_ = (a*a*math.sin(alpha))/(math.pi*2)\n",
+ "c = math.sqrt(c_)\n",
+ "\n",
+ "J = (math.pi/2.0)*(c**4)\n",
+ "T_shear2 = (tou_allow*J)/(c*1000)\n",
+ "T_twist2 = (phi_allow*J*G*10**3)/(l*10**6)\n",
+ "T2 = min(T_shear2, T_twist2)\n",
+ "\n",
+ "#Display\n",
+ "print'The largest torque that applied at the end of the triangular shaft ',round(T1,0),\"lb-in\"\n",
+ "print'The largest torque that applied at the end of the circular shaft ',round(T2*1000,0),\"lb-in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The largest torque that applied at the end of the triangular shaft 170.0 lb-in\n",
+ "The largest torque that applied at the end of the circular shaft 233.0 lb-in\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12 Page No 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "#The given dimension are\n",
+ "l_cd = 0.5 #m\n",
+ "l_de = 1.5 #m\n",
+ "h =60/1000.0 #m\n",
+ "w = 40/1000.0 #m\n",
+ "t_h = 3/1000.0 #m\n",
+ "t_w = 5/1000.0 #m\n",
+ "T_c = 60 #Nm\n",
+ "T_d = 25 #Nm\n",
+ "G = 38*10**9 #N/m**2\n",
+ "T1 = T_c - T_d\n",
+ "\n",
+ "#Calculation\n",
+ "#Average Shear Stress\n",
+ "area = (w-t_w)*(h-t_h)\n",
+ "shear_a = T1/(2*t_w*area*10**6)\n",
+ "shear_b = T1/(2*t_h*area*10**6)\n",
+ "\n",
+ "#Angle of Twist\n",
+ "phi=(T_c*l_cd/(4*area**2*G))*((2*57/5.0)+(2*35/3.0))+(T1*l_de/(4*area**2*G))*((2*57/5.0)+(2*35/3.0))\n",
+ "\n",
+ "#Display\n",
+ "print'The average shear stress of the tube at A = ',round(shear_a,2),\"MPa\"\n",
+ "print'The average shear stress of the tube at B = ',round(shear_b,2),\"MPa\"\n",
+ "print'The angle of twist of end C = ',round(phi,5),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average shear stress of the tube at A = 1.75 MPa\n",
+ "The average shear stress of the tube at B = 2.92 MPa\n",
+ "The angle of twist of end C = 0.00629 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13 Page No 236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "fillet_r = 6 #mm, fillet radius\n",
+ "D = 40/1000.0 #m, diameter\n",
+ "d = 20/1000.0 #m\n",
+ "T = 30 #Nm\n",
+ "\n",
+ "#Calculation\n",
+ "D_d = D/d \n",
+ "r_d = fillet_r/d \n",
+ "k = 1.3\n",
+ "#Maximum Shear Stress\n",
+ "import math\n",
+ "c = D/2.0\n",
+ "J = (math.pi/2.0)*(c**4)\n",
+ "max_shear = (k*T*c)/(J*10**6) # tou = K(Tc/J)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum shear stress in the shaft is = ',round(max_shear,1),\"MPa\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear stress in the shaft is = 3.1 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 83
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.14 Page No 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "ro = 50/1000.0 #m, outside radius\n",
+ "ri = 30/1000.0 #m inside radius\n",
+ "c = ro\n",
+ "shear = 20*10**6 #N/m**2\n",
+ "\n",
+ "#Maximum Elastic Torque\n",
+ "import math\n",
+ "J = (math.pi/2.0)*((ro**4)-(ri**4))\n",
+ "T_y = (shear*J)/c # tou = Tc/J\n",
+ "T_y = T_y/1000.0 #in kN\n",
+ "\n",
+ "#Plastic Torque\n",
+ "x0 = 0.03\n",
+ "x1 = 0.05\n",
+ "\n",
+ "from scipy import integrate\n",
+ "def f(rho):\n",
+ " return(rho**2)\n",
+ "I=integrate.quad(f,x0,x1) #Strain formula for short line segment = delta(sdash) =(1+e_z)delta(s) \n",
+ "\n",
+ "Tp =(2*math.pi*I[0]*shear)\n",
+ "Tp_= Tp/1000.0\n",
+ "#Outer Shear Strain\n",
+ "strain = (0.286*10**-3*ro)/(ri)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum torque that can be applied to the shaft ',round(T_y,2),\"kNm\"\n",
+ "print'The plastic torque that can be applied to the shaft',round(Tp_,2),\"kNm\" \n",
+ "print'The minimum shear strain at the outer radius of the shaft ',round(strain,6),\"rad\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum torque that can be applied to the shaft 3.42 kNm\n",
+ "The plastic torque that can be applied to the shaft 4.11 kNm\n",
+ "The minimum shear strain at the outer radius of the shaft 0.000477 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 104
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.15 Page No 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "r = 20/1000.0 #m, radius\n",
+ "l = 1.5 #m, length\n",
+ "phi = 0.6 #rad\n",
+ "shear_y = 75*10**6 #N/m**2\n",
+ "\n",
+ "#Calculations\n",
+ "max_shear_strain = (phi*r)/(l) #phi = (strain*L)/r\n",
+ "strain_y = 0.0016\n",
+ "r_y = (r*strain_y)/(max_shear_strain) #by ratios\n",
+ "#T= (math.pi*shear_y)*(4c**3 - r_y**3)/6.0\n",
+ "import math\n",
+ "c = r\n",
+ "T = (math.pi*shear_y)*(4*c**3 - r_y**3)/6.0\n",
+ "T = T/1000.0\n",
+ "\n",
+ "#Display\n",
+ "print'The torque needed to twist the shaft by 0.6 rad ',T,\"kNm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The torque needed to twist the shaft by 0.6 rad 1.25412378731 kNm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.16 Page No 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "l = 5 #m, length\n",
+ "G = 12*10**3 #GPa\n",
+ "co = 2 #inch\n",
+ "ci = 1 #inch\n",
+ "shear_y = 12 #N/mm**2\n",
+ "strain_y = 0.002 #rad, strain\n",
+ "\n",
+ "#Plastic Torque\n",
+ "import math\n",
+ "T_p = ((2*math.pi)*(co**3 - ci**3)*shear_y)/3.0\n",
+ "phi_p = (strain_y*l*shear_y)/ci\n",
+ "J = (math.pi/2.0)*(co**4 - ci**4)\n",
+ "shear_r = (T_p*co)/J\n",
+ "shear_i = (shear_r*ci)/(co)# shear = Tc/J\n",
+ "G = shear_y/strain_y \n",
+ "phi_dash = (T_p*l*10**3)/(J*G) #phi = TpL/JG\n",
+ "phi = phi_p - phi_dash\n",
+ "\n",
+ "\n",
+ "#Display\n",
+ "print'The plastic torque Tp = ',round(T_p,1),\"kip in\"\n",
+ "print'shear stress at inner wall is ',round(shear_i,2),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plastic torque Tp = 175.9 kip in\n",
+ "shear stress at inner wall is 7.47 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter6.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter6.ipynb new file mode 100755 index 00000000..7a27f067 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter6.ipynb @@ -0,0 +1,798 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6:Bending"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.10 Page No 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "Lab=12.0 #ft, length\n",
+ "f=120 #lb/ft , force\n",
+ "shear=240 #shear at x=0\n",
+ "\n",
+ "#Calculation\n",
+ "a=f/Lab #a=w/x\n",
+ "x=(shear*2/(a))**(1/2.0)\n",
+ "#Moment diagram\n",
+ "Mmax=shear*x-(0.5)*(a*x)*x*(1/3.0)*x\n",
+ "\n",
+ "#Result\n",
+ "print\"The Maximum Bending Moment is\",round(Mmax,0),\"lb-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Maximum Bending Moment is 1109.0 lb-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.11 Page No:289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "b = 6.0 #inch, length\n",
+ "h = 12.0 #inch\n",
+ "sigma_max = 2.0 #ksi\n",
+ "c = b\n",
+ "\n",
+ "#Part (a):\n",
+ "I = (1/12.0)*b*h**3\n",
+ "M1 = (sigma_max*I)/(c) #sigma_max = Mc/I Flexure Formula\n",
+ "\n",
+ "F = (0.5*sigma_max*b*b)\n",
+ "c = (2/3.0)*(b) #distance between centroids of each volume.\n",
+ "d=2*c #distance\n",
+ "M2 = F*d\n",
+ "\n",
+ "#Display:\n",
+ "print\"The internal moment M calculated using : \"\n",
+ "print\"a)The flexure formula = \",M1,\"kip-inch or \",M1/12.0,\"kip-ft\"\n",
+ "print\"b)The resultant of the stress distribution using the basic principles \",M2,\"kip-inch or\",M2/12.0,\"kip-ft\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal moment M calculated using : \n",
+ "a)The flexure formula = 288.0 kip-inch or 24.0 kip-ft\n",
+ "b)The resultant of the stress distribution using the basic principles 288.0 kip-inch or 24.0 kip-ft\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.12 Page No:290"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "udl = 5 #kN/m, force\n",
+ "l1 = 3 #m , lenght\n",
+ "l2 = 6 #m\n",
+ "t = 20/1000.0 #mm\n",
+ "yb = 0.15 #m\n",
+ "\n",
+ "#Section Property:\n",
+ "I_bar1 = (1/12.0)*(0.25)*(t**3)\n",
+ "Ad2 = (0.25)*(0.02)*(yb+(t/2.0))**2\n",
+ "I_bar2 = (1/12.0)*(0.02)*(0.3**3)\n",
+ "I = 2*(I_bar1 + Ad2) + I_bar2\n",
+ "\n",
+ "#Bending stress:\n",
+ "c = 0.15 + t\n",
+ "M= 22.5 #kNm\n",
+ "sigma_max = (M*c)/(I*1000)\n",
+ "sigma_B = (M*yb)/(I*1000)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The absolute maximum bending stress is \",round(sigma_max,1),\"MPa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The absolute maximum bending stress is 12.7 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.13 Page No:291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "t1 = 15/1000.0 #m, thickness\n",
+ "t2 = 20/1000.0 #m\n",
+ "l = 250/1000.0 #m\n",
+ "b = 200/1000.0 #m\n",
+ "P = 2.4 #kN, load\n",
+ "l_a = 2 #m\n",
+ "l_b = 1 #m\n",
+ "\n",
+ "#Internal Moment:\n",
+ "y1 = b/2.0\n",
+ "y2 = t2/2.0\n",
+ "A = (2*t1*b)+(t2*l)\n",
+ "y_bar = ((2*y1*t1*b)+(y2*t2*l))/A\n",
+ "M = (P*l_a)+(1*y_bar)\n",
+ "\n",
+ "#Section Property:\n",
+ "I1 = (1/12.0)*(l*t2**3) + (l*t2*(y_bar - y2)**2)\n",
+ "I2 = (1/12.0)*(t1*b**3) + (t1*b*(y1 - y_bar)**2)\n",
+ "I =I1+ 2*I2\n",
+ "\n",
+ "#Maximum Bending Stress:\n",
+ "c = b - y_bar\n",
+ "sigma_max = (M*c)/(I*1000)\n",
+ "\n",
+ "#Display:\n",
+ "print'The maximum bending stress at section a-a is',round(sigma_max,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum bending stress at section a-a is 16.2 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.14 Page No:292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "b = 60/1000.0 #m, breadth\n",
+ "h = 30/1000.0 #m, height\n",
+ "M = 40 #Nm, moment\n",
+ "c1= h/2.0\n",
+ "rib_t = 5/1000.0 #m\n",
+ "rib_w = 10/1000.0 #m\n",
+ "\n",
+ "#Without Ribs:\n",
+ "I1 = (1/12.0)*(b*h**3)\n",
+ "sigma_max1 = (M*c1)/(I1*10**6)\n",
+ "\n",
+ "#With Ribs:\n",
+ "y1 = c1\n",
+ "y2 = h+(rib_t/2.0)\n",
+ "A1 = h*b\n",
+ "A2 = rib_t*rib_w\n",
+ "y_bar = ((y1*A1)+2*(y2*A2))/(A1 + 2*A2)\n",
+ "\n",
+ "c2 = h+rib_t - y_bar\n",
+ "I2 = I1 + (b*h*(y_bar - y1)**2)\n",
+ "I3 = (1/12)*rib_w*rib_t**3 + (rib_w*rib_t*(y2 - y_bar)**2)\n",
+ "I = I2 + 2*I3\n",
+ "sigma_max2 = (M*c2)/(I*10**6)\n",
+ "\n",
+ "if(sigma_max2>sigma_max1):\n",
+ " print\"The maximum normal stress in the member without ribs\",round(sigma_max1,2),\"MPa\" \n",
+ " print\"The maximum normal stress in the member with ribs = \",round(sigma_max2,2),\"MPa\"\n",
+ " print\"The ribs should be omitted.\"\n",
+ " \n",
+ "else:\n",
+ " print\"no\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum normal stress in the member without ribs 4.44 MPa\n",
+ "The maximum normal stress in the member with ribs = 4.65 MPa\n",
+ "The ribs should be omitted.\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.15 Page No:306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "M = 12 #kNm, moment\n",
+ "l_bc = 0.2 #m, length\n",
+ "l_be = 0.4 #m\n",
+ "\n",
+ "#Internal Moment Components:\n",
+ "import math\n",
+ "My = (-4/5.0)*M\n",
+ "Mz = (3/5.0)*M\n",
+ "\n",
+ "Iy = (1/12.0)*(l_be*l_bc**3)\n",
+ "Iz = (1/12.0)*(l_bc*l_be**3) \n",
+ "\n",
+ "#Bending Stress:\n",
+ "sigma_B = (-Mz*1000*(l_be/2.0))/Iz + (My*1000*(-l_bc/2.0))/Iy\n",
+ "sigma_B = sigma_B/10.0**6\n",
+ "sigma_C = (-Mz*1000*(l_be/2.0))/Iz + (My*1000*(l_bc/2.0))/Iy\n",
+ "sigma_C = sigma_C/10.0**6\n",
+ "sigma_D = (-Mz*1000*(-l_be/2.0))/Iz + (My*1000*(l_bc/2.0))/Iy\n",
+ "sigma_D = sigma_D/10.0**6\n",
+ "sigma_E = (-Mz*1000*(-l_be/2.0))/Iz + (My*1000*(-l_bc/2.0))/Iy\n",
+ "sigma_E = sigma_E/10.0**6\n",
+ "\n",
+ "#Orientation of Nuetral Axis:\n",
+ "z = (0.45)/(sigma_E + sigma_B)\n",
+ "\n",
+ "#theta = -atan(4/3.0)\n",
+ "import math\n",
+ "tanA = (Iz/Iy)*(-4/3.0)\n",
+ "alpha = math.atan(tanA)\n",
+ "alpha = alpha*(180/math.pi)\n",
+ "\n",
+ "\n",
+ "#Display:\n",
+ "print\"The normal stress at B\",sigma_B,\"MPa\"\n",
+ "print\"The normal stress at C \",sigma_C,\"MPa\"\n",
+ "print\"The normal stress at D \",sigma_D,\"MPa\"\n",
+ "print\"The normal stress at E \",sigma_E,\"MPa\"\n",
+ "print\"The orientation of the nuetral axis \",round(alpha,1),\"degree\"\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress at B 2.25 MPa\n",
+ "The normal stress at C -4.95 MPa\n",
+ "The normal stress at D -2.25 MPa\n",
+ "The normal stress at E 4.95 MPa\n",
+ "The orientation of the nuetral axis -79.4 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.16 Page No:308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "import math\n",
+ "M =20 #kN, moment\n",
+ "Iy = 0.96*10**-3 #m**4, moment of inertia\n",
+ "Iz = 7.54*10**-3 #m**4\n",
+ "theta = 57.1*(math.pi/180.0) #angle\n",
+ "\n",
+ "#Calculation\n",
+ "#Internal moment Components:\n",
+ "My = M*sin(theta) \n",
+ "Mz = M*cos(theta) \n",
+ "#Bending Stress:\n",
+ "y_p = -0.2 #y Coordinate of P\n",
+ "z_p = 0.35 #z Coordinate of P\n",
+ "\n",
+ "theta1 = (math.pi/2)-(theta)\n",
+ "yp = -z_p*math.sin(theta1)+ y_p*math.cos(theta1)\n",
+ "zp = z_p*math.cos(theta1) + y_p*math.sin(theta1)\n",
+ "\n",
+ "#Eq 6-17\n",
+ "\n",
+ "sigma_p = ((Mz*-yp)/Iz) + ((My*zp)/Iy) \n",
+ "sigma_p = sigma_p/10.0**3\n",
+ "#Orientation of the Nuetral Axis:\n",
+ "alpha = math.atan((Iz/Iy)*math.tan(theta))\n",
+ "alpha = alpha*(180/math.pi)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The maximum normal stress at point P is\",round(sigma_p,1),\"Mpa\"\n",
+ "print\"The orientation of the nuetral axis is\",round(alpha,1),\"degree\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum normal stress at point P is 3.8 Mpa\n",
+ "The orientation of the nuetral axis is 85.3 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.17 Page No:316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "M = 2 #kNm, moment\n",
+ "Ew = 12 #GPa, Pressure\n",
+ "Est = 200.0 #GPa\n",
+ "bw = 150/1000.0 #m\n",
+ "t = 20/1000.0 #m\n",
+ "rib = 9/1000.0#m\n",
+ "\n",
+ "#Section Properties:\n",
+ "n = (Ew/Est)\n",
+ "bst = n*bw\n",
+ "y1 = t/2.0\n",
+ "A1 = t*bw\n",
+ "y2 = bw/2.0 + t\n",
+ "A2 = rib*bw\n",
+ "\n",
+ "y_bar = (y1*A1 +y2*A2)/(A1+A2)\n",
+ "I1 = (1/12.0)*(bw)*(t**3) + A1*(y_bar - y1)**2\n",
+ "I2 = (1/12.0)*(rib)*(bw**3) + A2*(y2-y_bar)**2\n",
+ "Ina = I1+I2\n",
+ "\n",
+ "#Normal Stress:\n",
+ "sigma_B = (M*(bw+t-y_bar))/(Ina*1000)\n",
+ "sigma_C = (M*(y_bar))/(Ina*1000)\n",
+ "\n",
+ "#Normal Stress in the wood:\n",
+ "sigmaB = n*sigma_B\n",
+ "\n",
+ "#Display:\n",
+ "print\"The normal stress at point B = \",round(sigma_B,1),\"MPa\"\n",
+ "print\"The normal stress at point C = \",round(sigma_C,1),\"MPa\"\n",
+ "print\"The normal stress at point B in the wood =\",round(sigmaB,2),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress at point B = 28.6 MPa\n",
+ "The normal stress at point C = 7.8 MPa\n",
+ "The normal stress at point B in the wood = 1.71 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.18 Page No:308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "M = 60 #kip, moment \n",
+ "Est = 29*10**3 #GPa, stress\n",
+ "Econc = 3.6*10**3 #GPa\n",
+ "d = 25.0 #mm, diameter\n",
+ "r = d/2.0 #radius\n",
+ "w = 12 #inch, width\n",
+ "ht =16 #inch, height\n",
+ "\n",
+ "#Section Properties:\n",
+ "import math\n",
+ "n = Est/Econc\n",
+ "Ast = 2*math.pi*r**2\n",
+ "A = n*Ast\n",
+ "\n",
+ "#h**2+2.11h-33.7=0\n",
+ "#Constants (a,b,c) of quadratic no\n",
+ "a=1\n",
+ "b=2.11\n",
+ "c=-33.7\n",
+ "d=b**2-4*a*c\n",
+ "x1 = (-b+math.sqrt(b**2-4*a*c))/2*a\n",
+ "x2 = (-b-math.sqrt(b**2-4*a*c))/2*a\n",
+ "I = (1/12.0)*(w*x1**3) +w*x1*(x1/2.0)**2 + 12.65*(ht - x1)**2\n",
+ "\n",
+ "#Normal Stress:\n",
+ "sigma_conc_max = (M*12*x1)/(I)\n",
+ "sigma_conc = (M*12*(ht-x1))/(I)\n",
+ "sigma_st = n*sigma_conc\n",
+ "\n",
+ "#Display:\n",
+ "print\"The normal stress in each steel reinforcing rod = \",round(sigma_st,1),\"ksi\"\n",
+ "print\"The maximum normal stress in the concrete = \",round(sigma_conc_max,2),\"ksi\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress in each steel reinforcing rod = 31.9 ksi\n",
+ "The maximum normal stress in the concrete = 1.72 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.19 Page No:324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "#The given radius are\n",
+ "ri = 200/1000.0 #m\n",
+ "r1 = 250/1000.0 #m\n",
+ "ro = 280/1000.0 #m\n",
+ "M = 4 #kNm\n",
+ "a = 0.05 #m\n",
+ "h = 0.03 #m\n",
+ "\n",
+ "#Section Properties:\n",
+ "import math\n",
+ "A1 = a**2 \n",
+ "A2 = (0.5*a*h)\n",
+ "A = A1+A2\n",
+ "r_avg1 = (r1+ri)/2.0\n",
+ "r_avg2 = r1+(h/3.0)\n",
+ "r_bar =((r_avg1*A1)+(r_avg2*A2))/A\n",
+ "\n",
+ "int_dA_r1 = a*math.log(r1/ri)\n",
+ "int_dA_r2 = (a*ro*math.log(ro/r1))/(ro-r1) - a\n",
+ "R = (A)/(int_dA_r1+ int_dA_r2)\n",
+ "k= r_bar - R\n",
+ "\n",
+ "#Normal Stress:\n",
+ "sigma_B = (-M*(R-ri))/(A*ri*k*1000)\n",
+ "sigma_A = (-M*(R-ro))/(A*ro*k*1000)\n",
+ "sigma = max(abs(sigma_B),abs(sigma_A))\n",
+ "\n",
+ "#Display:\n",
+ "print\"The maximum normal stress in the bar =\",round(sigma,0),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum normal stress in the bar = 129.0 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.20 Page No:328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "M = 5 #kNm, moment\n",
+ "sigma_y = 500 #MPa, stress\n",
+ "r = 16 #mm, radius\n",
+ "h = 80.0 #mm, height\n",
+ "w = 120 #mm, width\n",
+ "r_h = r/h\n",
+ "w_h = w/h\n",
+ "k = 1.45 \n",
+ "c = h/(2000.0)\n",
+ "t = 20/1000.0 #m\n",
+ "\n",
+ "#Calculations:\n",
+ "I = (1/12.0)*(t)*(h/1000.0)**3\n",
+ "sigma_max = (k*M*c)/(I*1000)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The maximum normal stress in the steel =\",round(sigma_max,0),\"Mpa\"\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum normal stress in the steel = 340.0 Mpa\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.21 Page No:341"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "sigma_y = 36 #ksi, stress\n",
+ "t = 0.5 #inch, thickness\n",
+ "w = 8 #inch, width\n",
+ "h = 9 #inch, height\n",
+ "\n",
+ "#Maximum Elastic Moment:\n",
+ "yy = (h+t)/2.0\n",
+ "I1 = (1/12.0)*(w*t**3) + (w*t*yy**2)\n",
+ "I = (1/12.0)*(t*h**3) + 2*(I1)\n",
+ "c = 5.0 #mm\n",
+ "\n",
+ "My = (sigma_y*I)/(c) #Flexure Formula\n",
+ "#Plastic Moment:\n",
+ "C1= sigma_y*t*(h/2.0)\n",
+ "C2= sigma_y*t*(w)\n",
+ "Mp = (2*2.25*C1) + (2*yy*C2)\n",
+ "\n",
+ "#Shape Factor:\n",
+ "k = Mp/My\n",
+ "\n",
+ "#Display:\n",
+ "print\"The shape factor for the beam = \",round(k,2)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shape factor for the beam = 1.14\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.22 Page no 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "sigma_y = 250 #MPa, bending stress\n",
+ "t = 15/1000.0 #m, thickness\n",
+ "w = 100/1000.0 #m, width\n",
+ "h = 120/1000.0 #m, height\n",
+ "c = 10/1000.0 #m\n",
+ "\n",
+ "#Calculations:\n",
+ "d = ((sigma_y*t*w)+(sigma_y*t*h))/(sigma_y*t*2)\n",
+ "T = sigma_y*t*d*10**3\n",
+ "C1 = sigma_y*t*c*10**3\n",
+ "C2 = sigma_y*t*w*10**3\n",
+ "Mp = (T*d/2.0)+(C1*c/2.0)+(C2*(c+t/2.0))\n",
+ "\n",
+ "#Display:\n",
+ "print\"The plastic moment that can be resisted by the beam = \",round(Mp,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The plastic moment that can be resisted by the beam = 29.4 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.23 Page no 343"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "sigma_y = 36 #ksi, bending stress\n",
+ "t = 12.5 #mm, thickness\n",
+ "w = 8 #inch, width\n",
+ "h = 9 #inch, height\n",
+ "c = (h/2.0)+t\n",
+ "I = 211 #inch**4, moment of inertia\n",
+ "Mp = 1732.5 #kip\n",
+ "\n",
+ "#Calculations:\n",
+ "sigma_allow = (Mp*c)/(I)\n",
+ "y = (sigma_y*c)/(sigma_allow)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The point of zero normal stress = \",round(y,2),\"inch\"\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The point of zero normal stress = 4.38 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "Example 6.24,Page no :344"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "ep1 = 0.01 #Strain at top\n",
+ "ep2 = 0.05 #strain at bottom\n",
+ "sig1 = 150 #kip\n",
+ "sig2 = 150 #N/mm**2\n",
+ "sig3 = 40 #N/mm**2\n",
+ "y = 0.3 #in\n",
+ "h = 3 #in\n",
+ "w = 2 #in\n",
+ "\n",
+ "#Calculations:\n",
+ "yy = (h/2.0)-y\n",
+ "T1 = (1/2.0)*(sig3*yy*w)\n",
+ "y1 = y +(2/3.0)*(yy)\n",
+ "T2 = yy*sig1*w\n",
+ "y2 = y+(0.5*yy)\n",
+ "T3 = (0.5*y*sig1*w)\n",
+ "y3 = (2/3.0)*(y)\n",
+ "M = 2*(T1*y1 + T2*y2 + T3*y3)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The bending moment applied that will cause a strain of \",round(M,0),\"kip in\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bending moment applied that will cause a strain of 772.0 kip in\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter7.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter7.ipynb new file mode 100755 index 00000000..2461bf06 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter7.ipynb @@ -0,0 +1,390 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7:Transverse Shear"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1 Page No 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V = 4\t\t #kN, load\n",
+ "co = 0.05\t\t#mm, outside radius\n",
+ "ci = 0.02\t\t #mm, inside radius\n",
+ "t1 = 0.1 \t#mm, thickness\n",
+ "t2=0.06\n",
+ "\n",
+ "#Part (a)\n",
+ "#Section Properties\n",
+ "import math\n",
+ "Isolid=1/4.0*(math.pi)*co**4\n",
+ "Itube = 1/4.0*(math.pi)*(co**4-ci**4)\n",
+ "Qsolid=4*co/(3*math.pi)*(math.pi*co**2/2.0)\n",
+ "Qtube=4*co/(3*math.pi)*(math.pi*co**2/2.0)-4*ci/(3*math.pi)*(math.pi*ci**2/2.0)\n",
+ "Tsolid=V*10**3*Qsolid/(Isolid*t1)\n",
+ "Ttube=V*10**3*Qsolid/(Itube*t2)\n",
+ "\n",
+ "#Display\n",
+ "print\"The shear stress in solid = \",round(Tsolid/1000,1),\"KPa\"\n",
+ "print'The shear stress in tube = ',round(Ttube/1000000,2),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear stress in solid = 679.1 KPa\n",
+ "The shear stress in tube = 1.16 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3 Page No 370"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V = 80.0 \t\t\t#kN, load\n",
+ "thick_1 = 20/1000.0 \t#m, thickness\n",
+ "thick_2 = 15/1000.0 \t#m\n",
+ "l = 300/1000.0 \t\t#m, length\n",
+ "y = 100/1000.0 \t\t#m\n",
+ "h = 2*y\n",
+ "y_dash = y +thick_1/2.0\n",
+ "\n",
+ "#Part(a)\n",
+ "I1 = (thick_2*(h**3))/12.0\n",
+ "I2 = (l*(thick_1**3))/12.0\n",
+ "I3 = (l*thick_1*(y_dash)**2)\n",
+ "I = I1+2*(I2+I3) #Moment of inertia\n",
+ "Q_b = y_dash*l*thick_1\n",
+ "#At B'\n",
+ "tou_b_dash = (V*Q_b)/(I*l*1000)\n",
+ "#At B\n",
+ "tou_b = (V*Q_b)/(I*thick_2*1000)\n",
+ "\n",
+ "#At C\n",
+ "Q_c = (y_dash*l*thick_1)+(y*thick_2*y/2.0)\n",
+ "tou_c = (V*Q_c)/(I*thick_2*1000)\n",
+ "\n",
+ "#Display\n",
+ "print\"The shear stress at B dash = \",round(tou_b_dash,1),\"MPa\"\n",
+ "print\"The shear stress at B = \",round(tou_b,1),\"MPa\"\n",
+ "print\"The shear stress at C = \",round(tou_c,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear stress at B dash = 1.1 MPa\n",
+ "The shear stress at B = 22.6 MPa\n",
+ "The shear stress at C = 25.2 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4 Page No 372"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "udl = 6.5\t\t #kN, force\n",
+ "l_bc = 8 \t\t#m, length\n",
+ "l = 150/1000.0\t\t#m\n",
+ "t = 30/1000.0\t\t#m, thickness\n",
+ "\n",
+ "#Calculation\n",
+ "#Internal Shear\n",
+ "w = udl*l_bc/2.0\n",
+ "l_wc = l_bc/4.0\n",
+ "l_bw = l_bc - l_wc\n",
+ "V = (w*l_bw)/l_bc\n",
+ "R_b = w - V\n",
+ "\n",
+ "#Section Properties\n",
+ "y1= l/2.0\n",
+ "A = (l*t)\n",
+ "y2= l+(t/2.0)\n",
+ "y_dash = (y1*A + y2*A)/(2*A)\n",
+ "I1 = (t*l**3)/12.0\n",
+ "I2 = (A*(y_dash-y1)**2)\n",
+ "I3 = (l*t**3)/12.0\n",
+ "I4 = (A*(y2 - y_dash)**2)\n",
+ "I = I1+I2+I3+I4\n",
+ "Q = ((l+t)-(t/2.0)-y_dash)*A\n",
+ "#Shear Stress\n",
+ "tou_max = (V*Q)/(I*t*1000)\n",
+ "\n",
+ "#Display\n",
+ "print\"The maximum shear stress in the glue necessary to hold the boards together\",round(tou_max,2),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum shear stress in the glue necessary to hold the boards together 4.88 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5 Page No 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V = 850 #kN, force\n",
+ "#The given dimension are\n",
+ "l1 =250/1000.0 #m.\n",
+ "l2 = 300/1000.0 #m\n",
+ "l3 = 125/1000.0 #m\n",
+ "t = 10/1000.0 #m\n",
+ "h = 200/1000.0 #m\n",
+ "\n",
+ "#Calculation\n",
+ "A1 = l1*t\n",
+ "A2 = l2*t\n",
+ "A3 = l3*t\n",
+ "y1 = l2+(t/2.0)\n",
+ "y2 = l2/2.0\n",
+ "y3 = h+(t/2.0)\n",
+ "y_dash = (2*y2*A2 + A1*y1 + A3*y3)/(2*A2 + A1 + A3)\n",
+ "I1 = ((l1*t**3)/12.0) +(A1 * (l2+(t/2.0)-y_dash)**2)\n",
+ "I2 = ((t*l2**3)/12.0) +(A2 * (y_dash - (l2/2.0))**2)\n",
+ "I3 = ((l3*t**3)/12.0) +(A1 * (h+(t/2.0)-y_dash)**2)\n",
+ "I = 2*I2 + I1 + I3\n",
+ "Q_b = (l2+(t/2.0) - y_dash)*A1 #Q = y'A'\n",
+ "Q_c = (h+(t/2.0) - y_dash)*A3 #Q = y'A'\n",
+ "\n",
+ "#Shear Flow\n",
+ "q_b = (V*Q_b)/I\n",
+ "q_c = (V*Q_c)/I\n",
+ "q_b = q_b/(2*1000)\n",
+ "q_c = q_c/(2*1000)\n",
+ "\n",
+ "#Display\n",
+ "print\"The shear flow at B, resisted by the glue is \",round(q_b,2),\"MN/m\"\n",
+ "print\"The shear flow at C, resisted by the glue is \",round(q_c,4),\"MN/m\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shear flow at B, resisted by the glue is 1.31 MN/m\n",
+ "The shear flow at C, resisted by the glue is 0.0498 MN/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6 Page No 381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V = 80 #lb, load\n",
+ "#The given dimension are\n",
+ "t = 1.5 #inch\n",
+ "a = 7.5 #inch\n",
+ "b = a-2*t #inch\n",
+ "F_nail= 30 #lb\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Section Properties\n",
+ "I = (a*a**3 - b*b**3 )/12.0\n",
+ "Q_b = (((a-2*t)/2.0)+(t/2.0))*a*t #Q = y'A'\n",
+ "Q_c = (((a-2*t)/2.0)+(t/2.0))*(a-2*t)*t #Q = y'A'\n",
+ "\n",
+ "#Shear Flow\n",
+ "q_b = (V*Q_b)/I\n",
+ "q_c = (V*Q_c)/I\n",
+ "s_b = F_nail/(q_b/2.0)\n",
+ "s_c = F_nail/(q_c/2.0)\n",
+ "\n",
+ "#Display\n",
+ "print\"The maximum spacing of nails required at B is =\",s_b,\"inch\"\n",
+ "print\"The maximum spacing of nails required at C is =\",s_c,\"inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum spacing of nails required at B is = 5.1 inch\n",
+ "The maximum spacing of nails required at C is = 8.5 inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7 Page No 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "F = 40 #lb, force\n",
+ "#The other dimension are\n",
+ "s = 9.0 #inch\n",
+ "h = 5 #inch\n",
+ "t = 0.5 #inch\n",
+ "w = 3 #inch\n",
+ "w_3 = w/3.0 #inch\n",
+ "\n",
+ "#Calculations\n",
+ "I = (w*h**3)/12.0 - (2*w_3*(h - 2*t)**3)/12.0\n",
+ "#Case 1\n",
+ "Q1 = ((h-t)/2.0)*(w*t)\n",
+ "V1 =((F/s)*I)/Q1 #q = VQ/I\n",
+ "\n",
+ "#Case2\n",
+ "Q2 = ((h-t)/2.0)*(w_3*t)\n",
+ "V2 =((F/s)*I)/Q2 #q = VQ/I\n",
+ "\n",
+ "#Display\n",
+ "print\"The largest vertical shear that can be supported in Case 1 = \",round(V1,1),\"lb\"\n",
+ "print\"The largest vertical shear that can be supported in Case 2 = \",round(V2,1),\"lb\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The largest vertical shear that can be supported in Case 1 = 27.1 lb\n",
+ "The largest vertical shear that can be supported in Case 2 = 81.3 lb\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8 Page No 381"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "V = 10 #lb, load\n",
+ "b1 = 6 #inch\n",
+ "h1 = 8 #inch\n",
+ "t = 1 #inch\n",
+ "b2 = b1-2*t\n",
+ "h2 = h1-2*t #inch\n",
+ "b3 = 4 #inch\n",
+ "\n",
+ "#Calculations\n",
+ "I = ((b2/2.0*(b1+t)**3))/12.0 +2*((b3+t)*t*((h1-t)/2.0)**2)\n",
+ "q_b = 0\n",
+ "Q_c = (h1-t)/2.0*(b3+t)*t \n",
+ "q_c = 1/2.0*(V*Q_c)/I\n",
+ "Q_d = 2*((h1-t)/4.0)*(h1-t)/2.0*t+(h1-t)/2.0*(b3+t)*t\n",
+ "q_d = 1/2.0*(V*Q_d)/I #Q = VQ/I\n",
+ "\n",
+ "#Display\n",
+ "print\"Variation of shear flow at B = \",q_b,\"kip/inch\"\n",
+ "print\"Variation of shear flow at C = \",round(q_c,3),\"kip/inch\"\n",
+ "print'Variation of shear flow at D = ',round(q_d,3),\"kip/inch\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Variation of shear flow at B = 0 kip/inch\n",
+ "Variation of shear flow at C = 0.487 kip/inch\n",
+ "Variation of shear flow at D = 0.828 kip/inch\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter8.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter8.ipynb new file mode 100755 index 00000000..366c18a1 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter8.ipynb @@ -0,0 +1,412 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8:Combined Loadings"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1 Page No 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "di=4*12 #inch, diameter\n",
+ "ri=di/2.0 #Radius\n",
+ "t=0.5 #inch, thickness\n",
+ "sigma=20.0 #Ksi, stress\n",
+ "\n",
+ "#Calculation\n",
+ "#Cylindrical Pressure Vessel\n",
+ "p1=(t*sigma)/ri #sigma = pr/t\n",
+ "#Spherical Vessel\n",
+ "p2=(2*t*sigma)/(ri) #sigma = pr/2t\n",
+ "\n",
+ "#Display\n",
+ "print\"The maximum internal pressure the cylindrical pressure vessel can sustainis\",round(p1*1000,0),\"psi\"\n",
+ "print\"The maximum internal pressure a spherical pressure vessel can sustain is\",round(p2*1000,0),\"psi\"\n",
+ "\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum internal pressure the cylindrical pressure vessel can sustainis 417.0 psi\n",
+ "The maximum internal pressure a spherical pressure vessel can sustain is 833.0 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2 Page No 414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Determine stress at point B and C\n",
+ "\n",
+ "#Given\n",
+ "P = 15000.0 #N, force,\n",
+ "a = 40.0 #mm, length\n",
+ "b = 100.0 #mm, breadth\n",
+ "\n",
+ "#CAlculation\n",
+ "#Normal Force\n",
+ "A = a*b #Area\n",
+ "sigma = P/A\n",
+ "#Bending Moment\n",
+ "I = (a*b**3)/12.0 #I = (1/12)*bh**3\n",
+ "M = P*(b/2.0) \n",
+ "c = b/2.0\n",
+ "sigma_max =(M*c)/I\n",
+ "\n",
+ "#Superposition\n",
+ "x = ((sigma_max-sigma)*b)/((sigma_max+sigma)+(sigma_max-sigma))\n",
+ "sigma_b = (sigma_max-sigma)\n",
+ "sigma_c = (sigma_max + sigma)\n",
+ "\n",
+ "#Display\n",
+ "print\"The state of stress at B is(tensile)\",sigma_b,\"psi\"\n",
+ "print\"The state of stress at C is (compressive)\",sigma_c,\"psi\"\n",
+ "\n",
+ "\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The state of stress at B is(tensile) 7.5 psi\n",
+ "The state of stress at C is (compressive) 15.0 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3 Page No 415"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Calculate the stress\n",
+ "\n",
+ "#Given:\n",
+ "ri =24 #inch, radius\n",
+ "t = 0.5 #inch\n",
+ "ro = ri+t\n",
+ "sp_wt_water = 62.4 #lb/ft**3\n",
+ "sp_wt_steel = 490 #lb/ft**3\n",
+ "l_a = 3 #m depth of point A from the top\n",
+ "\n",
+ "#Internal Loadings:\n",
+ "import math\n",
+ "v = (math.pi*l_a)*((ro/12.0)**2 - (ri/12.0)**2)\n",
+ "W_st = sp_wt_steel*v\n",
+ "p = sp_wt_water*l_a #lb/ft**2,Pascal's Law\n",
+ "p_=p*0.0069 #psi\n",
+ "#Circumferential Stress:\n",
+ "sigma1 = (p_*ri)/t\n",
+ "#Longitudinal Stress:\n",
+ "A_st = (math.pi)*(ro**2 - ri**2)\n",
+ "sigma2 = W_st/A_st\n",
+ "\n",
+ "#Display:\n",
+ "print\"The state of stress at A (Circumferential)\",round(sigma1,0),\"KPa\"\n",
+ "print\"The state of stress at A (Longitudinal) \",round(sigma2,1),\"KPa\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The state of stress at A (Circumferential) 62.0 KPa\n",
+ "The state of stress at A (Longitudinal) 10.2 KPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4 Page No 417"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Determine the state of stress\n",
+ "\n",
+ "#Given\n",
+ "y_c = 125/1000.0 #m, length\n",
+ "x_c = 1.5 #m\n",
+ "y_b = 1.5 #m\n",
+ "x_b = 6.0 #m\n",
+ "udl = 50.0 #kN/m, force per unit length\n",
+ "l_udl = 2.5 #m\n",
+ "l = 250/1000.0 #m\n",
+ "width = 50/1000.0 #m \n",
+ "\n",
+ "\n",
+ "#Internal Loadings:\n",
+ "N = 16.45 #kN\n",
+ "V = 21.93 #kN\n",
+ "M = 32.89 #kNm\n",
+ "\n",
+ "#Stress Components:\n",
+ "#Normal Force:\n",
+ "A = l*width\n",
+ "sigma1 = N/(A*1000)\n",
+ "#Shear Force:\n",
+ "tou_c = 0\n",
+ "#Bending Moment:\n",
+ "c = y_c\n",
+ "I = (1/12.0)*(width*l**3)\n",
+ "sigma2 = (M*c)/(I*1000)\n",
+ "#Superposition:\n",
+ "sigmaC = sigma1+sigma2\n",
+ "\n",
+ "#Display:\n",
+ "print\"The stress due to normal force at C \",round(sigma1,2),\"MPa\"\n",
+ "print\"The stress due to shear force at C \",tou_c,\"MPa\"\n",
+ "print\"The stress due to bending moment at C \",round(sigma2,1),\"MPa\"\n",
+ "print\"The resultant stress at C \",round(sigmaC,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress due to normal force at C 1.32 MPa\n",
+ "The stress due to shear force at C 0 MPa\n",
+ "The stress due to bending moment at C 63.1 MPa\n",
+ "The resultant stress at C 64.5 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5 Page No 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given:\n",
+ "r = 0.75*10 #mm, radius\n",
+ "f_x =40000 #N, force along x\n",
+ "f_y =800 #N force along y\n",
+ "l1 = 0.8 #mm\n",
+ "l2 = 0.4 #mm\n",
+ "\n",
+ "#Stress Components:\n",
+ "#Normal Force:\n",
+ "A1 =l1*l2\n",
+ "sigma1 = f_x/A1 #stress = P/A\n",
+ "\n",
+ "#Bending Moment:\n",
+ "M_y1 = 8000 #N\n",
+ "c1 = l2/2.0\n",
+ "I1 = (1/12.0)*(l1*l2**3)\n",
+ "sigma_A1 = (M_y1*c1)/I1 \n",
+ "M_y2 = 16000 #N\n",
+ "c2 = l2\n",
+ "I2 = (1/12.0)*(l2*l1**3)\n",
+ "sigma_A2 = (M_y2*c2)/I2 \n",
+ "\n",
+ "#Resultant:\n",
+ "res_normal= -sigma1-sigma_A1-sigma_A2\n",
+ "\n",
+ "#Display:\n",
+ "\n",
+ "print\"The stress due to normal force at A \",sigma1/1000,\"KPa\"\n",
+ "print\"The stress due to bending moment 8KN at A \",sigma_A1/1000,\"KPa\"\n",
+ "print\"The stress due to bending moment 16KN at A \",sigma_A2/1000,\"KPa\"\n",
+ "print\"The resultant normal stress component at A \",res_normal/1000,\"KPa\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress due to normal force at A 125.0 KPa\n",
+ "The stress due to bending moment 8KN at A 375.0 KPa\n",
+ "The stress due to bending moment 16KN at A 375.0 KPa\n",
+ "The resultant normal stress component at A -875.0 KPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7 Page No 420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Calculate Stress at A\n",
+ "\n",
+ "#Given:\n",
+ "P = 500 #lb, load\n",
+ "r=0.75 #inch, radius\n",
+ "#Stress Components:\n",
+ "\n",
+ "#Normal Force:\n",
+ "import math\n",
+ "A = math.pi*r**2\n",
+ "sigma = P/A\n",
+ "\n",
+ "#Bendng Moments:\n",
+ "M_x =7000 #lb\n",
+ "cy = r\n",
+ "Ix = (1/4.0)*math.pi*(r**4) \n",
+ "sigma_max_1 = (M_x*cy)/Ix \n",
+ "\n",
+ "M_y = P*l_bc/2.0\n",
+ "cx = l_bc/2.0\n",
+ "Iy = (1/12.0)*(l_ab*l_bc**3) #I = (1/12)*(bh**3)\n",
+ "sigma_max_2 = (M_y*cx)/Iy #sigma = My/I\n",
+ "#Superposition\n",
+ "sigmaf=round(sigma/1000,3)+round(sigma_max_1/1000,1)\n",
+ "\n",
+ "#Display:\n",
+ "print\"The normal stress at corner A \",round(sigma/1000,3),\"ksi\"\n",
+ "print\"The normal stress at point A for Bending Moment \",round(sigma_max_1/1000,1),\"ksi\"\n",
+ "print\"The normal stress at point A for Superimposition \",round(sigmaf,1),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress at corner A 0.283 ksi\n",
+ "The normal stress at point A for Bending Moment 21.1 ksi\n",
+ "The normal stress at point A for Superimposition 21.4 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8 Page No 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Determine the state of stress at point A\n",
+ "\n",
+ "#Given\n",
+ "r=0.75 #radius,inch\n",
+ "V=800 #Forca, lb\n",
+ "\n",
+ "#Calculation\n",
+ "#shear force\n",
+ "import math\n",
+ "Q=(4*r/(3*math.pi))*(0.5*(math.pi*r**2))\n",
+ "Ix=(1/4.0)*math.pi*(r**4) \n",
+ "tau=V*Q/(Ix*2*r)\n",
+ "#Since point A is on neutral axis\n",
+ "sigmaA=0\n",
+ "T=11200 #lb inch, force \n",
+ "Iy=(1/2.0)*math.pi*(r**4) \n",
+ "sigma_a=T*r/Iy\n",
+ "#Superimposition\n",
+ "sigmayzA=tau+sigma_a\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"The stress for shear stress distribution is\",round(tau/1000,3),\"ksi\"\n",
+ "print\"The stress for Bending moment is\",sigmaA,\"ksi\"\n",
+ "print\"The stress for torque\",round(sigma_a/1000,2),\"ksi\"\n",
+ "print\"The stress for Superimposition \",round(sigmayzA/1000,1),\"ksi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The stress for shear stress distribution is 0.604 ksi\n",
+ "The stress for Bending moment is 0 ksi\n",
+ "The stress for torque 16.9 ksi\n",
+ "The stress for Superimposition 17.5 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter9.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter9.ipynb new file mode 100755 index 00000000..cb81513e --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/Chapter9.ipynb @@ -0,0 +1,454 @@ +{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9:Stress Transformation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1 Page no 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "tou = 25\t\t #MPa, shear stress\n",
+ "sigma1 = 50 \t\t#MPa, stress\n",
+ "sigma2 = 80 \t\t#MPa\n",
+ "phi = 30*(math.pi/180.0)\n",
+ "\n",
+ "# Calculations\n",
+ "sigma_x1 = (sigma1*math.cos(phi)*math.cos(phi))- (tou*math.cos(phi)*math.sin(phi)) - (sigma2*math.sin(phi)*math.sin(phi))- (tou*math.sin(phi)*math.cos(phi))\n",
+ "tou1 = (sigma1*math.cos(phi)*math.sin(phi))+ (tou*math.cos(phi)*math.cos(phi)) + (sigma2*math.sin(phi)*math.cos(phi))- (tou*math.sin(phi)*math.sin(phi))\n",
+ "sigma_x2 = (tou*math.cos(phi)*math.sin(phi))- (sigma2*math.cos(phi)*math.cos(phi)) + (tou*math.sin(phi)*math.cos(phi))+ (sigma1*math.sin(phi)*math.sin(phi))\n",
+ "tou2 = (tou*math.cos(phi)*math.cos(phi))+ (sigma2*math.cos(phi)*math.sin(phi)) - (tou*math.sin(phi)*math.sin(phi))+ (sigma1*math.sin(phi)*math.cos(phi))\n",
+ "\n",
+ "#Display\n",
+ "print\"The normal stress component in the x diection is = \",round(sigma_x1,1),\"MPa\"\n",
+ "print\" The shear stress component in the x diection is = \",round(tou1,1),\"MPa\"\n",
+ "print\" The normal stress component in the y diection is = \",round(sigma_x2,1),\"MPa\"\n",
+ "print\" The shear stress component in the y diection is = \",round(tou2,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress component in the x diection is = -4.2 MPa\n",
+ " The shear stress component in the x diection is = 68.8 MPa\n",
+ " The normal stress component in the y diection is = -25.8 MPa\n",
+ " The shear stress component in the y diection is = 68.8 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2 Page no 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "import math\n",
+ "phi = -30*(math.pi/180) #angle\n",
+ "theta = 60*(math.pi/180) \n",
+ "sigma_x = -80 #MPa\n",
+ "sigma_y = 50 #MPa\n",
+ "tou_xy = -25 #MPa\n",
+ "\n",
+ "#Plane CD\n",
+ "sigma_x1 = (sigma_x+sigma_y)/2 + ((sigma_x-sigma_y)*math.cos(2*phi))/2 + (tou_xy*math.sin(2*phi)) #Eqn 9.1\n",
+ "tou_xy1 = ((-(sigma_x - sigma_y)*math.sin(2*phi))/2) + (tou_xy*math.cos(2*phi)) #Eqn 9.2\n",
+ "\n",
+ "#Plane BC\n",
+ "sigma_x2 = (sigma_x+sigma_y)/2 + ((sigma_x-sigma_y)*math.cos(2*theta))/2 + (tou_xy*math.sin(2*theta)) #Eqn 9.1\n",
+ "tou_xy2 = (-(sigma_x - sigma_y)*math.sin(2*theta))/2 + tou_xy*math.cos(2*theta) #Eqn 9.2\n",
+ "\n",
+ "#Display\n",
+ "print'The normal stress of plane CD inclined at 30 degrees = ',round(sigma_x1,1),\"MPa\"\n",
+ "print'The shear stress of plane CD inclined at 30 degrees = ',round(tou_xy1,1),\"MPa\"\n",
+ "print'The normal stress of plane BC inclined at 60 degrees = ',round(sigma_x2,1),\"MPa\"\n",
+ "print'The shear stress of plane BC inclined at 60 degrees = ',round(tou_xy2,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress of plane CD inclined at 30 degrees = -25.8 MPa\n",
+ "The shear stress of plane CD inclined at 30 degrees = -68.8 MPa\n",
+ "The normal stress of plane BC inclined at 60 degrees = -4.2 MPa\n",
+ "The shear stress of plane BC inclined at 60 degrees = 68.8 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 Page no 448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_x = -20 #MPa, stress\n",
+ "sigma_y = 90 #MPa\n",
+ "tou_xy = 60 #MPa\n",
+ "\n",
+ "#Orientation of Element\n",
+ "import math\n",
+ "theta_p2 = math.atan((2*tou_xy)/(sigma_x - sigma_y))\n",
+ "theta_p2 = theta_p2/2.0\n",
+ "theta_p1 = (180+2*theta_p2)/2.0\n",
+ "\n",
+ "#Principal Stresses\n",
+ "\n",
+ "sigma1 = ((sigma_x+sigma_y)/2.0)+(math.sqrt(((sigma_x - sigma_y)/2.0)**2 + tou_xy**2))\n",
+ "sigma2 = ((sigma_x+sigma_y)/2.0)- math.sqrt(((sigma_x-sigma_y)/2.0)**2 + tou_xy**2)\n",
+ "sigma_x2 = ((sigma_x+sigma_y)/2.0)+ (((sigma_x-sigma_y)/2.0)*math.cos(2*theta_p2)) + (tou_xy*math.sin(2*theta_p2))\n",
+ "\n",
+ "#Display\n",
+ "print\"The first principal stress is = \",round(sigma1,1),\"MPa\"\n",
+ "print\"The second principal stress is = \",round(sigma2,1),\"MPa\"\n",
+ "print'The normal stress acting on the 23.7 degrees plane = ',round(sigma_x2,1),\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The first principal stress is = 116.4 MPa\n",
+ "The second principal stress is = -46.4 MPa\n",
+ "The normal stress acting on the 23.7 degrees plane = -43.3 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 Page no 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_x = -20.0 #MPa, stress along x\n",
+ "sigma_y = 90.0 #MPa stress along y\n",
+ "tou_xy =60.0 #Mpa, shear stress\n",
+ "\n",
+ "#Calculation\n",
+ "#Orientation of Element\n",
+ "import math\n",
+ "theta_s2 = math.atan(-(sigma_x - sigma_y)/(2*tou_xy))\n",
+ "theta_s2 = theta_s2/2.0\n",
+ "theta_s1 = math.pi + 2*theta_s2\n",
+ "theta_s1 = theta_s1/2.0\n",
+ "\n",
+ "#Maximum in plane Shear Stress\n",
+ "tou_max = (math.sqrt(((sigma_x - sigma_y)/2.0)**2 + tou_xy**2))\n",
+ "tou_xy1 = -(sigma_x - sigma_y)*(math.sin(2*theta_s2))/2.0 + (tou_xy*math.cos(2*theta_s2))\n",
+ "#Average Normal Stress\n",
+ "sigma_avg = (sigma_x+sigma_y)/2\n",
+ "\n",
+ "#Display\n",
+ "print\"The maximum in-plane shear stress is = \",round(tou_xy1,1),\"MPa\"\n",
+ "print\"The average normal stress is = \",round(sigma_avg,0),\"MPa\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum in-plane shear stress is = 81.4 MPa\n",
+ "The average normal stress is = 35.0 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7 Page no 465"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_x = -12 #ksi, stress along x\n",
+ "sigma_y = 0\n",
+ "tou_xy = -6 #ksi, stress along xy\n",
+ "\n",
+ "#Calculation\n",
+ "#Construction of the circle\n",
+ "import math\n",
+ "sigma_avg = (sigma_x+sigma_y)/2.0\n",
+ "R = sqrt((-sigma_x+sigma_avg)**2 + (tou_xy)**2)\n",
+ "#Principal Stresses\n",
+ "sigma2 = -R+sigma_avg\n",
+ "sigma1 = R+sigma_avg\n",
+ "theta_p2 = math.atan((-tou_xy)/(-sigma_x+sigma_avg))\n",
+ "theta_p2 = theta_p2/2*(180/math.pi)\n",
+ "\n",
+ "#Display\n",
+ "print'The first principal stress is = ',round(sigma1,2),\"ksi\"\n",
+ "print'The second principal stress is = ',round(sigma2,2),\"ksi\"\n",
+ "print'The direction of the principal plane is = ',theta_p2,\"degree\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The first principal stress is = 2.49 ksi\n",
+ "The second principal stress is = -14.49 ksi\n",
+ "The direction of the principal plane is = 22.5 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8 Page no 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_x = -20.0 #MPa\n",
+ "sigma_y = 90.0 #MPa\n",
+ "tou_xy = 60.0 #MPa\n",
+ "\n",
+ "#Construction of the circle\n",
+ "import math\n",
+ "sigma_avg = (sigma_x+sigma_y)/2\n",
+ "R = math.sqrt(((sigma_x-sigma_avg))**2 + (tou_xy)**2)\n",
+ "#Maximum In plane Shear Stress\n",
+ "tou_max = R\n",
+ "theta_s1 = math.atan(-(sigma_x - sigma_avg)/(tou_xy))\n",
+ "theta_s1 = theta_s1/2.0*(180/math.pi)\n",
+ "\n",
+ "#Display\n",
+ "print'The maximum in-plane shear stresses are = ',round(tou_max,1),\"MPa\"\n",
+ "print'The second principal stress = ',sigma_avg,\"MPa\"\n",
+ "print'The orientation of the element is = ',round(theta_s1,1),\"degree\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum in-plane shear stresses are = 81.4 MPa\n",
+ "The second principal stress = 35.0 MPa\n",
+ "The orientation of the element is = 21.3 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9 Page no 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Calculate normal stress and shear stress \n",
+ "\n",
+ "#Given\n",
+ "sigma_x = -8.0 #MPa\n",
+ "sigma_y = 12.0 #MPa\n",
+ "tou_xy = -6.0 #Mpa\n",
+ "\n",
+ "#Construction of the circle\n",
+ "import math\n",
+ "sigma_avg = (sigma_x+sigma_y)/2.0\n",
+ "R = math.sqrt( 10**2 + tou_xy**2)\n",
+ "#Stresses on 30 degree element\n",
+ "phi = math.atan(6/10.0)\n",
+ "psi = (math.pi/3.0) - phi\n",
+ "#On face BD\n",
+ "sigma_x1 = 2 - (R*math.cos(psi))\n",
+ "tou_xy1 = (R*math.sin(psi))\n",
+ "#On face DE\n",
+ "sigma_x2 = 2 + (R*math.cos(psi))\n",
+ "tou_xy2 = -(R*math.sin(psi))\n",
+ "\n",
+ "#Display\n",
+ "print'The normal stress on plane BD inclined at 30 degrees is = ',round(sigma_x1,1),\"ksi\"\n",
+ "print'The normal stress on plane DE inclined at 60 degrees is = ',round(sigma_x2,1),\"ksi\"\n",
+ "print'The shear stress is = ',round(tou_xy1,1),\"ksi\"\n",
+ "print'The shear stress is = ',round(tou_xy2,1),\"ksi\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal stress on plane BD inclined at 30 degrees is = -8.2 ksi\n",
+ "The normal stress on plane DE inclined at 60 degrees is = 12.2 ksi\n",
+ "The shear stress is = 5.7 ksi\n",
+ "The shear stress is = -5.7 ksi\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.10 Page no 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "sigma_max = 32 #MPa\n",
+ "sigma_min = 0 #MPa\n",
+ "sigma_int = 16 #MPa\n",
+ "\n",
+ "#Calculation\n",
+ "tou_max = (sigma_max - sigma_min)/2 \n",
+ "sigma_avg = (sigma_max + sigma_min)/2 \n",
+ "tou_in_plane = (sigma_max - sigma_int)/2\n",
+ "sigma_avg2 = sigma_avg + (tou_in_plane)\n",
+ "\n",
+ "#Display\n",
+ "print 'The normal shears tress is', sigma_avg,\"MPa\"\n",
+ "print'The maximum absolute shear stress = ',tou_max,\"MPa\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The normal shears tress is 16 MPa\n",
+ "The maximum absolute shear stress = 16 MPa\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.11 Page no 477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "tou = 40 #psi\n",
+ "sigma = -20 #psi\n",
+ "\n",
+ "#Calculation\n",
+ "#Principal Stresses\n",
+ "import math\n",
+ "sigma_avg = sigma/2\n",
+ "R = sqrt( (-sigma + sigma_avg)**2 + tou**2)\n",
+ "sigma_max = sigma_avg + R \n",
+ "sigma_min = sigma_avg - R \n",
+ "theta = math.atan(tou/(-sigma+sigma_avg))\n",
+ "theta = theta/2\n",
+ "#Absolute Maximum Shear Stress\n",
+ "tou_max = (sigma_max - sigma_min)/2\n",
+ "sigma_avg = (sigma_max + sigma_min)/2\n",
+ "\n",
+ "#Display\n",
+ "print'The prinicpal stresses at the point are ',round(sigma_max,2),\"psi and\",round(sigma_min,1),\"psi\"\n",
+ "print'The absolute maximum shear stress at the point ',round(tou_max,1),\"psi\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The prinicpal stresses at the point are 31.23 psi and -51.2 psi\n",
+ "The absolute maximum shear stress at the point 41.2 psi\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/README.txt b/Mechanics_of_Materials_by_R._C._Hibbeler/README.txt new file mode 100755 index 00000000..bcc04e6f --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/README.txt @@ -0,0 +1,10 @@ +Contributed By: Ankit Garg +Course: btech +College/Institute/Organization: DCRUST, Murthal +Department/Designation: Chemical Engineering +Book Title: Mechanics of Materials +Author: R. C. Hibbeler +Publisher: Pearson Prentice Hall +Year of publication: 2011 +Isbn: 978-013-602230-5 +Edition: 8
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter1.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter1.ipynb new file mode 100755 index 00000000..ab371470 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter1.ipynb @@ -0,0 +1,407 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:aea5bb987f3d9aa2243551894826c2910635d28d3bf3f202e7af5344bd9c9219" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 1: Tension Comprssion and Shear" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.1, page no. 9" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#initialisation\n", + "\n", + "d_1 = 4 # inner diameter (inch)\n", + "d_2 = 4.5 #outer diameter (inch)\n", + "P = 26000 # pressure in pound\n", + "L = 16 # Length of cylinder (inch)\n", + "my_del = 0.012 # shortening of post (inch)\n", + "\n", + "#calculation\n", + "A = (math.pi/4)*((d_2**2)-(d_1**2)) #Area (inch^2)\n", + "s = P/A # stress\n", + "\n", + "print \"compressive stress in the post is \", round(s), \"psi\"\n", + "\n", + "e = my_del/L # strain\n", + "\n", + "print \"compressive strain in the post is %e\" %e" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "compressive stress in the post is 7789.0 psi\n", + "compressive strain in the post is 7.500000e-04\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.2, page no. 10" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "W = 1500 # weight (Newton)\n", + "d = 0.008 #diameter(meter) \n", + "g = 77000 # Weight density of steel\n", + "L = 40 # Length of bar (m)\n", + "\n", + "#calculation\n", + "\n", + "A = (math.pi/4)*(d**2) # Area\n", + "s_max = (1500/A) + (g*L) # maximum stress\n", + "\n", + "#result\n", + "print \"Therefore the maximum stress in the rod is \", round(s_max,1), \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Therefore the maximum stress in the rod is 32921551.8 Pa\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.3. page no. 26" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d1 = 4.5 # diameter in inch\n", + "d2 = 6 # diameter in inch\n", + "A = (math.pi/4)*((d2**2)-(d1**2)) # Area\n", + "P = 140 # pressure in K\n", + "s = -P/A # stress (compression)\n", + "E = 30000 # young's modulus in Ksi\n", + "e = s/E # strain\n", + "\n", + "#calculation\n", + "\n", + "# Part (a)\n", + "my_del = e*4*12 # del = e*L \n", + "print \"Change in length of the pipe is\", round(my_del,3), \"inch\"\n", + "\n", + "# Part (b)\n", + "v = 0.30 # Poissio's ratio\n", + "e_ = -(v*e)\n", + "print \"Lateral strain in the pipe is %e\" %e_\n", + "\n", + "# Part (c)\n", + "del_d2 = e_*d2 \n", + "del_d1 = e_*d1\n", + "print \"Increase in the inner diameter is \", round(del_d1,6), \"inch\"\n", + "\n", + "# Part (d)\n", + "t = 0.75\n", + "del_t = e_*t\n", + "print \"Increase in the wall thicness is %f\" %del_t, \"inch\"\n", + "del_t1 = (del_d2-del_d1)/2 \n", + "print \"del_t1 = del_t\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Change in length of the pipe is -0.018 inch\n", + "Lateral strain in the pipe is 1.131768e-04\n", + "Increase in the inner diameter is 0.000509 inch\n", + "Increase in the wall thicness is 0.000085 inch\n", + "del_t1 = del_t\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.4, page no. 35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 0.02 # diameter in m\n", + "t = 0.008 # thickness in m\n", + "A = math.pi*d*t # shear area\n", + "P = 110000 # prassure in Newton\n", + "\n", + "#calculation\n", + "A1 = (math.pi/4)*(d**2) # Punch area\n", + "t_aver = P/A # Average shear stress \n", + "\n", + "\n", + "print \"Average shear stress in the plate is \", t_aver, \"Pa\"\n", + "s_c = P/A1 # compressive stress\n", + "print \"Average compressive stress in the plate is \", s_c, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Average shear stress in the plate is 218838046.751 Pa\n", + "Average compressive stress in the plate is 350140874.802 Pa\n" + ] + } + ], + "prompt_number": 37 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Eample 1.5, page no. 36" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "P = 12.0 # Pressure in K\n", + "t = 0.375 # thickness of wall in inch\n", + "theta = 40.0 # angle in degree\n", + "d_pin = 0.75 # diameter of pin in inch\n", + "t_G = 0.625 # thickness of gusset in inch\n", + "t_B = 0.375 #thickness of base plate in inch\n", + "d_b = 0.50 # diameter of bolt in inch\n", + "\n", + "#calculation\n", + "\n", + "#Part (a)\n", + "s_b1 = P/(2*t*d_pin) # bearing stress\n", + "print \"Bearing stress between strut and pin\", round(s_b1,1), \"ksi\"\n", + "\n", + "#Part (b)\n", + "t_pin = (4*P)/(2*math.pi*(d_pin**2)) # average shear stress in the \n", + "print \"Shear stress in pin is \", round(t_pin,1), \"ksi\"\n", + "\n", + "# Part (c)\n", + "s_b2 = P/(2*t_G*d_pin) # bearing stress between pin and gusset\n", + "print \"Bearing stress between pin and gussets is\", s_b2, \"ksi\"\n", + "\n", + "# Part (d)\n", + "s_b3 = (P*math.cos(math.radians(40))/(4*t_B*d_b)) # bearing stress between anchor bolt and base plate\n", + "print \"Bearing stress between anchor bolts & base plate\", round(s_b3,1), \"ksi\"\n", + "\n", + "# Part (e)\n", + "t_bolt = (4*math.cos(math.radians(40))*P)/(4*math.pi*(d_b**2)) # shear stress in anchor bolt\n", + "print \"Shear stress in anchor bolts is\", round(t_bolt,1), \"ksi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bearing stress between strut and pin 21.3 ksi\n", + "Shear stress in pin is 13.6 ksi\n", + "Bearing stress between pin and gussets is 12.8 ksi\n", + "Bearing stress between anchor bolts & base plate 12.3 ksi\n", + "Shear stress in anchor bolts is 11.7 ksi\n" + ] + } + ], + "prompt_number": 39 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.7, page no. 42" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#initialisation\n", + "b1 = 1.5 # width of recmath.tangular crosssection in inch\n", + "t = 0.5 # thickness of recmath.tangular crosssection in inch\n", + "b2 = 3.0 # width of enlarged recmath.tangular crosssection in inch\n", + "d = 1.0 # diameter in inch\n", + "\n", + "#calculation\n", + "\n", + "# Part (a)\n", + "s_1 = 16000 # maximum allowable tensile stress in Psi\n", + "P_1 = s_1*t*b1 \n", + "print \"The allowable load P1 is\", P_1, \"lb\"\n", + "\n", + "# Part (b)\n", + "s_2 = 11000 # maximum allowable tensile stress in Psi\n", + "P_2 = s_2*t*(b2-d) \n", + "print \"allowable load P2 at this section is\", P_2, \"lb\"\n", + "\n", + "#Part (c)\n", + "s_3 = 26000 # maximum allowable tensile stress in Psi\n", + "P_3 = s_3*t*d \n", + "print \"The allowable load based upon bearing between the hanger and the bolt is\", P_3, \"lb\"\n", + "\n", + "# Part (d)\n", + "s_4 = 6500 # maximum allowable tensile stress in Psi\n", + "P_4 = (math.pi/4)*(d**2)*2*s_4 \n", + "print \"the allowable load P4 based upon shear in the bolt is\", round(P_4), \"lb\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The allowable load P1 is 12000.0 lb\n", + "allowable load P2 at this section is 11000.0 lb\n", + "The allowable load based upon bearing between the hanger and the bolt is 13000.0 lb\n", + "the allowable load P4 based upon shear in the bolt is 10210.0 lb\n" + ] + } + ], + "prompt_number": 42 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 1.8, page no. 46" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "R_ah = (2700*0.8 + 2700*2.6)/2 # Horizontal component at A in N\n", + "R_ch = R_ah # Horizontal component at C in N\n", + "R_cv = (2700*2.2 + 2700*0.4)/3 # vertical component at C in N\n", + "R_av = 2700 + 2700 - R_cv # vertical component at A in N\n", + "R_a = math.sqrt((R_ah**2)+(R_av**2))\n", + "R_c = math.sqrt((R_ch**2)+(R_cv**2))\n", + "Fab = R_a # Tensile force in bar AB\n", + "Vc = R_c # Shear force acting on the pin at C\n", + "s_allow = 125000000 # allowable stress in tension \n", + "t_allow = 45000000 # allowable stress in shear\n", + "\n", + "#calculation\n", + "Aab = Fab / s_allow # required area of bar \n", + "Apin = Vc / (2*t_allow) # required area of pin\n", + "\n", + "\n", + "print \"Required area of bar is %f\" %Apin, \"m^2\"\n", + "d = math.sqrt((4*Apin)/math.pi) # diameter in meter\n", + "print \"Required diameter of pin is %f\" %d, \"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Required area of bar is 0.000057 m^2\n", + "Required diameter of pin is 0.008537 m\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb new file mode 100755 index 00000000..6c1963de --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter11.ipynb @@ -0,0 +1,501 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:84b48278b7f3c96235822dbaf287a816273c08b171a3ad371f818f325de3125f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 11: Columns" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.1, page no. 763" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "E = 29000 # Modulus of elasticity in ksi\n", + "spl = 42 # Proportional limit in ksi\n", + "L = 25 # Total length of coloum in ft\n", + "n = 2.5 # factor of safety\n", + "I1 = 98 # Moment of inertia on horizontal axis\n", + "I2 = 21.7 # Moment of inertia on vertical axis\n", + "A = 8.25 # Area of the cross section\n", + "\n", + "#calculation\n", + "Pcr2 = (4*math.pi**2*E*I2)/((L*12)**2) # Criticle load if column buckles in the plane of paper\n", + "Pcr1 = (math.pi**2*E*I1)/((L*12)**2) # Criticle load if column buckles in the plane of paper\n", + "Pcr = min(Pcr1,Pcr2) # Minimum pressure would govern the design\n", + "scr = Pcr/A # Criticle stress\n", + "Pa = Pcr/n # Allowable load in k\n", + "print \"The allowable load is \", round(Pa), \"k\"\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The allowable load is 110.0 k\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.2, page no. 774" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 3.25 # Length of alluminium pipe in m\n", + "d = 0.1 # Outer diameter of alluminium pipe\n", + "P = 100000 # Allowable compressive load in N\n", + "n =3 # Safety factor for eular buckling\n", + "E = 72e09 # Modulus of elasticity in Pa\n", + "l = 480e06 # Proportional limit\n", + "\n", + "#calculation\n", + "Pcr = n*P # Critice load\n", + "t = (0.1-(55.6e-06)**(1.0/4.0) )/2.0 # Required thickness\n", + "\n", + "tmin = t \n", + "print \"The minimum required thickness of the coloumn is\", round(tmin*1000,2), \"mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required thickness of the coloumn is 6.82 mm\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.3, page no. 780" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "from sympy import *\n", + "\n", + "#initialisation\n", + "P = 1500 # Load in lb\n", + "e = 0.45 # ecentricity in inch\n", + "h = 1.2 # Height of cross section in inch\n", + "b = 0.6 # Width of cross section in inch\n", + "E = 16e06 # Modulus of elasticity \n", + "my_del = 0.12 # Allowable deflection in inch\n", + "\n", + "#calculation\n", + "L = mpmath.asec(1.2667)/0.06588 # Maximum allowable length possible\n", + "\n", + "#Result\n", + "print \"The longest permissible length of the bar is\", round(L), \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The longest permissible length of the bar is 10.0 inch\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.4, page no. 785" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "from sympy import *\n", + "import math\n", + "\n", + "#initialisation\n", + "L = 25 # Length of coloum in ft\n", + "P1 = 320 # Load in K\n", + "P2 = 40 # Load in K\n", + "E = 30000 # Modulus of elasticity of steel in Ksi\n", + "P = 360 # Euivalent load\n", + "e = 1.5 # Ecentricity of compressive load\n", + "A = 24.1 # Area of the Cross section\n", + "r = 6.05 # in inch\n", + "c = 7.155 # in inch\n", + "sy = 42 # Yeild stress of steel in Ksi\n", + "\n", + "#calculation\n", + "\n", + "smax = (P/A)*(1+(((e*c)/r**2)*mpmath.sec((L/(2*r))*math.sqrt(P/(E*A))))) # Maximum compressive stress\n", + "print \"The Maximum compressive stress in the column \", round(smax,2), \"ksi\"\n", + "# Bisection method method to solve for yeilding\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "\n", + "def p(x): \n", + "\t return x + (0.2939*x*sec(0.02916*sqrt(x))) - 1012 \n", + "x = stress(710,750,p)\n", + "Py = x # Yeilding load in K\n", + "n = Py/P # Factor of safety against yeilding\n", + "print \"The factor of safety against yeilding is\", round(n)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Maximum compressive stress in the column 19.32 ksi\n", + "The factor of safety against yeilding is 2.0\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.5, page no. 804" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "E = 29000 # Modulus of elasticity in ksi\n", + "sy = 36 # Yeilding stress in ksi\n", + "L = 20 # Length of coloumn in ft\n", + "r = 2.57 # radius of gyration of coloumn\n", + "K = 1 # Effetive Length factor\n", + "\n", + "#calculation\n", + "s = math.sqrt((2*math.pi**2*E)/sy) # Criticle slenderness ratio (K*L)/r\n", + "s_ = (L*12)/r # Slenderness ratio\n", + "\n", + "# Part(a)\n", + "n1 = (5.0/3.0)+((3.0/8.0)*(s_/s))-((1.0/8.0)*((s_**3)/(s**3))) # Factor of safety \n", + "sallow = (sy/n1)*(1-((1.0/2.0)*((s_**2)/(s**2)))) # Allowable axial load\n", + "A = 17.6 # Cross sectional area from table E1\n", + "Pallow = sallow*A # Allowable axial load\n", + "print \"Allowable axial load is\", round(Pallow,2), \"k\"\n", + "\n", + "# Part (b)\n", + "Pe = 200 # Permissible load in K\n", + "L_ = 25 # Assumed length in ft\n", + "s__ = (L_*12)/r # Slenderness ratio\n", + "n1_ = (5.0/3.0)+((3.0/8.0)*(s__/s))-((1.0/8.0)*((s__**3)/(s**3))) # Factor of safety \n", + "sallow_ = (sy/n1_)*(1-((1.0/2.0)*((s__**2)/(s**2)))) # Allowable axial load\n", + "A = 17.6 # Area of the cross section in**2\n", + "Pallow = sallow_*A # Allowable load\n", + "L1 = [24, 24.4, 25]\n", + "P1 = [201, 194, 190]\n", + "L_max = numpy.interp(200.0, P1, L1)\n", + "print \"The maximum permissible length is\", L_max, \"ft\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Allowable axial load is 242.84 k\n", + "The maximum permissible length is 25.0 ft\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.6, page no. 806" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "L = 3.6 # Length of steel pipe coloumn\n", + "d = 0.16 # Outer diameter in m\n", + "P = 240e03 # Load in N\n", + "E = 200e09 # Modulus of elasticity in Pa\n", + "sy = 259e06 # yeilding stress in Pa\n", + "K = 2.0\n", + "Le = K*L # As it in fixed-free condition\n", + "\n", + "#calculation\n", + "sc = math.sqrt((2*math.pi**2*E)/sy) # Critical slenderness ratio\n", + "\n", + "# First trial\n", + "t = 0.007 # Assumed thick ness in m\n", + "I = (math.pi/64)*(d**4-(d-2*t)**4) # Moment of inertia\n", + "A = (math.pi/4)*(d**2-(d-2*t)**2) # Area of cross section\n", + "r = math.sqrt(I/A) # Radius of gyration\n", + "sc_ = round((K*L)/r) # Slender ness ratio\n", + "n2 = 1.92 # From equation 11.80\n", + "sa = (sy/(2*n2))*(sc**2/sc_**2) # Allowable stress\n", + "Pa = round((sa*A)/1000) # Allowable axial load in N\n", + "\n", + "# Interpolation\n", + "t = [7, 8, 9]\n", + "Pa = [196, 220, 243]\n", + "t_min = numpy.interp(240.0, Pa, t)\n", + "print \"The minimum required thickness of the steel pipe is\", round(t_min,1), \"mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required thickness of the steel pipe is 8.9 mm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.7, page no. 808" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "L = 16 # Effective length in inch\n", + "P = 5 # axial load in K\n", + "\n", + "#calculation\n", + "# Bisection method for solvong the quaderatic\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "def p(x): \n", + "\t return 30.7*x**2 - 11.49*x -17.69 \n", + "x = stress(0.9,1.1,p)\n", + "d = x # Diameter in inch\n", + "sl = 49.97/d # Slenderness ration L/r\n", + "dmin = d # Minimum diameter\n", + "print \"The minimum required outer diameter of the tube is\", round(dmin,2), \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum required outer diameter of the tube is 0.97 inch\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 11.8, page no. 810" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "Fc = 11e06 # Compressive demath.sing stress in Pa\n", + "E = 13e09 # Modulus of elasticity in Pa\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "Kce = 0.3 \n", + "c = 0.8 \n", + "A = 0.12*0.16 # Area of cross section\n", + "Sl = 1.8/0.12 # Slenderness ratio\n", + "fi = (Kce*E)/(Fc*Sl**2) # ratio of stresses\n", + "Cp = ((1+fi)/(2*c)) - math.sqrt(((1+fi)/(2*c))**2-(fi/c)) # Coloumn stability factor \n", + "Pa = Fc*Cp*A\n", + "print \"The allowable axial load is\", Pa, \"N\"\n", + "\n", + "# Part (b)\n", + "P = 100000 # Allowable Axial load\n", + "Cp_ = P/(Fc*A) # Coloumn stability factor\n", + "\n", + "# Bisection method method to solve for fi\n", + "def stress(a,b,f):\n", + " N = 100\n", + " eps = 1e-5\n", + " if((f(a)*f(b))>0):\n", + " print 'no root possible f(a)*f(b)>0'\n", + " sys.exit()\n", + " if(abs(f(a))<eps):\n", + " print 'solution at a'\n", + " sys.exit()\n", + " if(abs(f(b))<eps):\n", + " print 'solution at b'\n", + " while(N>0):\n", + " c = (a+b)/2.0\n", + " if(abs(f(c))<eps):\n", + " x = c \n", + " return x\n", + " if((f(a)*f(c))<0 ):\n", + " b = c \n", + " else:\n", + " a = c \n", + " N = N-1\n", + " print 'no convergence'\n", + " sys.exit()\n", + "def p(x): \n", + " return ((1+x)/(2.0*c)) - math.sqrt(((1+x)/(2.0*c))**2-(x/c)) - Cp_ \n", + "x = stress(0.1,1.0,p) \n", + "fi_ = x\n", + "d_ = 0.12 # Diameter in m\n", + "L_max = d_*math.sqrt((Kce*E)/(fi_*Fc)) # Maximum length in m\n", + "print \"The minimum allowable length is\", round(L_max,2), \"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The allowable axial load is 173444.30361 N\n", + "The minimum allowable length is 3.02 m\n" + ] + } + ], + "prompt_number": 12 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter12.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter12.ipynb new file mode 100755 index 00000000..461ae35c --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter12.ipynb @@ -0,0 +1,164 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:28eceabccc986d95bd8fd4a32c3e228a185da4101f3a8dcc4e232e8945315e7d" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 12: Review of Centroids and Moments of Inertia " + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.2, page no. 833" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "A1 = 6*0.5 # Partial Area in in2\n", + "A2 = 20.8 # from table E1 and E3\n", + "A3 = 8.82 # from table E1 and E3\n", + "y1 = (18.47/2.0) + (0.5/2.0) # Distance between centroid C1 and C2\n", + "y2 = 0 # Distance between centroid C2 and C2\n", + "y3 = (18.47/2.0) + 0.649 # Distance between centroid C3 and C2\n", + "\n", + "#calculation\n", + "A = A1 + A2 + A3 # Area of entire cross section\n", + "Qx = (y1*A1) + (y2*A2) - (y3*A3) # First moment of entire cross section\n", + "y_bar = Qx/A # Distance between x-axis and centroid of the cross section\n", + "print \"The distance between x-axis and centroid of the cross section is \", round(-y_bar,2), \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The distance between x-axis and centroid of the cross section is 1.8 inch\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.5, page no. 840" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "A1 = 6*0.5 # Partial Area in in2\n", + "A2 = 20.8 # from table E1 and E3\n", + "A3 = 8.82 # from table E1 and E3\n", + "y1 = (18.47/2.0) + (0.5/2.0) # Distance between centroid C1 and C2\n", + "y2 = 0 # Distance between centroid C2 and C2\n", + "y3 = (18.47/2.0) + 0.649 # Distance between centroid C3 and C2\n", + "\n", + "#calculation\n", + "A = A1 + A2 + A3 # Area of entire cross section\n", + "Qx = (y1*A1) + (y2*A2) - (y3*A3) # First moment of entire cross section\n", + "y_bar = Qx/A # Distance between x-axis and centroid of the cross section\n", + "c_bar = -(y_bar)\n", + "\n", + "I1 = (6*0.5**3)/12.0 # Moment of inertia of A1 \n", + "I2 = 1170 # Moment of inertia of A2 from table E1\n", + "I3 = 3.94 # Moment of inertia of A3 from table E3\n", + "Ic1 = I1 + (A1*(y1+c_bar)**2) # Moment of inertia about C-C axis of area C1\n", + "Ic2 = I2 + (A2*(y2+c_bar)**2) # Moment of inertia about C-C axis of area C2\n", + "Ic3 = I3 + (A3*(y3-c_bar)**2) # Moment of inertia about C-C axis of area C3\n", + "Ic = Ic1 + Ic2 + Ic3 # Moment of inertia about C-C axis of whole area\n", + "print \"The moment of inertia of entire cross section area about its centroidal axis C-C\", round(Ic), \"in^4\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The moment of inertia of entire cross section area about its centroidal axis C-C 2200.0 in^4\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 12.7, page no. 851" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "Ix = 29.29e06 # Moment of inertia of crosssection about x-axis\n", + "Iy = 5.667e06 # Moment of inertia of crosssection about y-axis\n", + "Ixy = -9.336e06 # Moment of inertia of crosssection \n", + "\n", + "#calculation\n", + "tp1 = (numpy.degrees(numpy.arctan((-(2*Ixy)/(Ix-Iy)))))/2.0 # Angle definig a Principle axix\n", + "tp2 = 90 + tp1 \n", + "print \"The Principle axis is inclined at an angle\", round(tp1,2), \"degree\"\n", + "print \"Second angle of inclination of Principle axis is\", round(tp2,2), \"degree\"\n", + "Ix1 = (Ix+Iy)/2.0 + ((Ix-Iy)/2.0)*math.cos(math.radians(tp1)) - Ixy*math.sin(math.radians(tp1))\n", + "Ix2 = (Ix+Iy)/2.0 + ((Ix-Iy)/2.0)*math.cos(math.radians(tp2)) - Ixy*math.sin(math.radians(tp2))\n", + "print \"Principle Moment of inertia corresponding to tp1\", round(Ix1), \"mm^4\"\n", + "print \"Principle Moment of inertia corresponding to tp2\", round(Ix2), \"mm^4\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The Principle axis is inclined at an angle 19.16 degree\n", + "Second angle of inclination of Principle axis is 109.16 degree\n", + "Principle Moment of inertia corresponding to tp1 31700001.0 mm^4\n", + "Principle Moment of inertia corresponding to tp2 22420295.0 mm^4\n" + ] + } + ], + "prompt_number": 3 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter2.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter2.ipynb new file mode 100755 index 00000000..831eb87c --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter2.ipynb @@ -0,0 +1,481 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:35167c2920a96b28d2f9772d7854ca2ec822d5efce1d68ac1a2ac93b9d95fe9f" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 2: Axially Loaded Members" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.1, page no. 72" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "W = 2.0 #lb\n", + "b = 10.5 #inch\n", + "c = 6.4 #inch\n", + "k = 4.2 #inch\n", + "p = 1.0/16.0 #inch\n", + "\n", + "#calculation\n", + "\n", + "n = (W*b)/(c*k*p) #inch\n", + "\n", + "#result\n", + "\n", + "print \" No. of revolution required = \", n, \"revolutions\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " No. of revolution required = 12.5 revolutions\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.2, page no. 74" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "\n", + "Fce_ = 2.0 #dummy variable\n", + "Fbd_ = 3.0 #dummy variable \n", + "Lbd = 480.0 #mm\n", + "Lce = 600.0 #mm\n", + "E = 205e6 #205Gpa\n", + "Abd = 1020.0 #mm\n", + "Ace = 520.0 #mm\n", + "\n", + "#calculation\n", + "Dbd_ = (Fbd_*Lbd)/(E*Abd) #dummy variable\n", + "Dce_ = (Fce_*Lce)/(E*Ace) #dummy variable\n", + "Da = 1 #limiting value\n", + "P = ((((450+225)/225)*(Dbd_ + Dce_) - Dce_ )**(-1)) * Da \n", + "Fce = 2*P # Real value in newton\n", + "Fbd = 3*P #real value in newton\n", + "Dbd = (Fbd*Lbd)/(E*Abd) #print lacement in mm\n", + "Dce = (Fce*Lce)/(E*Ace) # print lacement in mm\n", + "a = numpy.degrees(numpy.arctan(((Da+Dce)/675))) #alpha in degree\n", + "\n", + "#result\n", + "print \"alpha = \", round(a,2), \"degree\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "alpha = 0.11 degree\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.3, page no. 80" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "P1 = 2100.0 #lb\n", + "P2 = 5600.0 #lb\n", + "b = 25.0 #inch\n", + "a = 28.0 #inch\n", + "A1 = 0.25 #inch^2\n", + "A2 = 0.15 #inch^2\n", + "L1 = 20.0 #inch\n", + "L2 = 34.8 #inch\n", + "E = 29e6 #29Gpa\n", + "\n", + "#Calculations\n", + "P3 = (P2*b)/a \n", + "Ra = P3-P1\n", + "N1 = -Ra \n", + "N2 = P1 \n", + "D = ((N1*L1)/(E*A1)) + ((N2*L2)/(E*A2)) #print lacement\n", + "\n", + "#Result\n", + "print \"Downward print lacement is = \", D, \"inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Downward print lacement is = 0.0088 inch\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.6, page no. 90" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#Numerical calculation of allowable load\n", + "\n", + "d1 = 4.0 #mm\n", + "d2 = 3.0 #mm\n", + "A1 = (math.pi*(d1**2))/4 #area\n", + "A2 = (math.pi*(d2**2))/4 #area\n", + "L1 = 0.4 #meter\n", + "L2 = 0.3 #meter\n", + "E1 = 72e9 #Gpa\n", + "E2 = 45e9 #Gpa\n", + "f1 = L1/(E1*A1) * 1e6 # To cpmpensate for the mm**2\n", + "f2 = L2/(E2*A2) * 1e6 \n", + "s1 = 200e6 #stress\n", + "s2 = 175e6 #stress\n", + "\n", + "#Calculations\n", + "P1 = ( (s1*A1*(4*f1 + f2))/(3*f2) ) * 1e-6 # To cpmpensate for the mm**2\n", + "P2 = ( (s2*A2*(4*f1 + f2))/(6*f1) ) * 1e-6 \n", + "\n", + "#Result\n", + "print \"Newton Minimum allowable stress aomong the two P1 and P2 is smaller one, therefore MAS = \", P2" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Newton Minimum allowable stress aomong the two P1 and P2 is smaller one, therefore MAS = 1264.49104307\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.10, page no. 113" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "P = 90000.0 #newton\n", + "A = 1200e-6 # meter^2\n", + "s_x = -P/A #stress\n", + "t_1 = 25.0 #for the stresses on ab and cd plane\n", + "\n", + "#Calculations\n", + "s_1 = s_x*(math.cos(math.radians(t_1))**2)\n", + "T_1 = -s_x*math.cos(math.radians(t_1))*math.sin(math.radians(t_1))\n", + "t_2 = -65.0 #for the stresses on ad and bc plane\n", + "s_2 = s_x*(math.cos(math.radians(t_2))**2)\n", + "T_2 = -s_x*math.cos(math.radians(t_2))*math.sin(math.radians(t_2))\n", + "\n", + "#Result\n", + "print \"The normal and shear stresses on the plane ab and cd are\", round((T_1/1E+6),2), round((s_1/1E+6),2), \"MPa respecively\" \n", + "print \"respecively The normal and shear stresses on the plane ad and bc are\", round((T_2/1E+6),2), round((s_2/1E+6),2), \"MPa respecively\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The normal and shear stresses on the plane ab and cd are 28.73 -61.6 MPa respecively\n", + "respecively The normal and shear stresses on the plane ad and bc are -28.73 -13.4 MPa respecively\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.11, page no. 114" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "# Value of s_x based on allowable stresses on glued joint\n", + "\n", + "#initialisation\n", + "s_t = -750.0 #psi\n", + "t = -50.0 #degree\n", + "T_t = -500.0 #psi\n", + "\n", + "sg_x_1 = s_t/(math.cos(math.radians(t))**2)\n", + "sg_x_2 = -T_t/(math.cos(math.radians(t))*math.sin(math.radians(t)))\n", + "\n", + "# Value of s_x based on allowable stresses on plastic\n", + "\n", + "sp_x_1 = -1100.0 #psi\n", + "T_t_p = 600.0 #psi\n", + "t_p = 45.0 #degree\n", + "sp_x_2 = -T_t_p/(math.cos(math.radians(t_p))*math.sin(math.radians(t_p)))\n", + "\n", + "# Minimum width of bar\n", + "\n", + "P = 8000.0 #lb\n", + "A = P/sg_x_2\n", + "b_min = math.sqrt(abs(A)) #inch\n", + "print \"The minimum width of the bar is\", round(b_min,2), \"inch\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The minimum width of the bar is 2.81 inch\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.15, page no. 126" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "#Bolt with reduced shank diameter\n", + "\n", + "#initialisation\n", + "g = 1.50 # inch\n", + "d = 0.5 #inch\n", + "t = 0.25 #inch\n", + "d_r = 0.406 #inch\n", + "L = 13.5 #inch\n", + "\n", + "#calculation\n", + "ratio = ((g*(d**2))/(((g-t)*(d_r**2))+(t*(d**2)))) #U2/U1\n", + "\n", + "print \"The energy absorbing capacity of the bolts with reduced shank diameter\", round(ratio,2)\n", + "ratio_1 = ( (((L-t)*(d_r**2))+(t*(d**2))) / ((2*(g-t)*(d_r**2))+2*(t*(d**2))) ) #U3/2U1\n", + "print \"The energy absorbing capacity of the long bolts\", round(ratio_1,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The energy absorbing capacity of the bolts with reduced shank diameter 1.4\n", + "The energy absorbing capacity of the long bolts 4.18\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + " Example 2.16, page no. 133" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "# Maximum elongation\n", + "M = 20 #kg\n", + "g = 9.81 #m/s^2\n", + "L = 2 #meter\n", + "E = 210e9 #210Gpa\n", + "h = 0.15 #meter\n", + "diameter = 0.015 #milimeter\n", + "\n", + "#Calculations & Result\n", + "A = (math.pi/4)*(diameter**2) #area\n", + "D_st = ((M*g*L)/(E*A)) \n", + "D_max = D_st*(1+(1+(2*h/D_st))**0.5) \n", + "D_max_1 = math.sqrt(2*h*D_st) # another approach to find D_max\n", + "i = D_max / D_st # Impact factor\n", + "print \"Maximum elongation is\",round((D_max/1E-3),2), \"mm\" # Maximum tensile stress\n", + "s_max = (E*D_max)/L #Maximum tensile stress\n", + "s_st = (M*g)/A #static stress\n", + "i_1 = s_max / s_st #Impact factor \n", + "print \"Maximum tensile stress is \", round((s_max/1E+6),2), \"MPa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum elongation is 1.79 mm\n", + "Maximum tensile stress is 188.13 MPa\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 2.18, page no. 148" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "\n", + "#initialisation\n", + "P1 = 108000.0 #Newton\n", + "P2 = 27000.0 #Newton\n", + "L = 2.2 #meter\n", + "A = 480.0 #mm^2\n", + "\n", + "\n", + "#calculations\n", + "\n", + "# Displacement due to load P1 acting alone\n", + "s = (P1/A) #stress in MPa\n", + "e = (s/70000) + (1/628.2)*((s/260)**10) #strain\n", + "D_b = e*L*1e3 #elongation in mm\n", + "print \"elongation when only P1 load acting is = \", round(D_b,2), \" mm\"\n", + "\n", + "# Displacement due to load P2 acting alone\n", + "s_1 = (P2/A) #stress in MPa\n", + "e_1 = (s_1/70000) + (1/628.2)*((s_1/260)**10) #strain\n", + "D_b_1 = e_1*(L/2)*1e3 #elongation in mm (no elongation in lower half)\n", + "print \"elongation when only P2 load acting is = \", round(D_b_1,2), \" mm\"\n", + "\n", + "# Displacement due to both load acting simonmath.taneously\n", + "#upper half\n", + "s_2 = (P1/A) #stress in MPa\n", + "e_2 = (s_2/70000) + (1/628.2)*((s_2/260)**10) #strain\n", + "\n", + "#lower half\n", + "s_3 = (P1+P2)/A #stress in MPa\n", + "e_3 = (s_3/70000) + (1/628.2)*((s_3/260)**10) #strain\n", + "D_b_2 = ((e_2*L)/2 + (e_3*L)/2) * 1e3 # elongation in mm\n", + "print \"elongation when P1 and P2 both loads are acting is = \", round(D_b_2,2), \" mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "elongation when only P1 load acting is = 7.9 mm\n", + "elongation when only P2 load acting is = 0.88 mm\n", + "elongation when P1 and P2 both loads are acting is = 12.21 mm\n" + ] + } + ], + "prompt_number": 3 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter3.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter3.ipynb new file mode 100755 index 00000000..d7c23e2c --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter3.ipynb @@ -0,0 +1,539 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:da6f3f49063c862fcfbad93321317f9b628a844507de164f29b9e55b975bec08" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3: Torsion" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.1, page no. 196" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 1.5 # diameter of bar in inch\n", + "L = 54.0 # Length of bar in inch\n", + "G = 11.5e06 # modulus of elasticity in psi \n", + "\n", + "#calculation\n", + "\n", + "# Part (a)\n", + "T = 250.0 # torque\n", + "t_max = (16*T*12)/(math.pi*(d**3)) # maximum shear stress in bar\n", + "Ip = (math.pi*(d**4))/32 # polar miment of inertia \n", + "f = (T*12*L)/(G*Ip) # twist in radian\n", + "f_ = (f*180)/math.pi # twist in degree\n", + "print \"Maximum shear stress in the bar is \", round(t_max), \" psi\"\n", + "print \"Angle of twist is\", round(f_,2), \" degree\"\n", + "\n", + "#Part (b)\n", + "t_allow = 6000 # allowable shear stress\n", + "T1 = (math.pi*(d**3)*t_allow)/16 #allowable permissible torque in lb-in\n", + "T1_ = T1*0.0831658 #allowable permissible torque in lb-ft\n", + "f_allow = (2.5*math.pi)/180 # allowable twist in radian\n", + "T2 = (G*Ip*f_allow)/L # allowable stress via a another method\n", + "T2_ = T2*0.0831658 #allowable permissible torque in lb-ft\n", + "T_max = min(T1_,T2_) # minimum of the two\n", + "print \"Maximum permissible torque in the bar is\", round(T_max), \" lb-ft\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum shear stress in the bar is 4527.0 psi\n", + "Angle of twist is 1.62 degree\n", + "Maximum permissible torque in the bar is 331.0 lb-ft\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.2, page no. 197" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "T = 1200.0 # allowable torque in N-m\n", + "t = 40e06 # allowable shear stress in Pa\n", + "f = (0.75*math.pi)/180.0 # allowable rate of twist in rad/meter\n", + "G = 78e09 # modulus of elasticity\n", + "\n", + "#calculation\n", + "\n", + "# Part (a) : Solid shaft\n", + "d0 = ((16.0*T)/(math.pi*t))**(1.0/3.0)\n", + "Ip = T/(G*f) # polar moment of inertia\n", + "d01 = ((32.0*Ip)/(math.pi))**(1.0/4.0) # from rate of twist definition\n", + "print \"The required diameter of the solid shaft is \", round(d0,5), \"m\"\n", + "\n", + "# Part (b) : hollow shaft\n", + "d2 = (T/(0.1159*t))**(1.0/3.0) # Diamater of hollow shaft in meter\n", + "d2_ = (T/(0.05796*G*f))**(1.0/4.0) # Another value of d2 by definition of theta(allow), f = T/(G*Ip)\n", + "d1 = 0.8*d2_ # because rate of twist governs the design\n", + "print \"The required diameter of the hollow shaft is \", round(d2,5), \"m\"\n", + "\n", + "# Part (c) : Ratio of diameter and weight\n", + "r1 = d2_/d01 # diameter ratio\n", + "r2 = ((d2_**2.0)-(d1**2.0))/(d01**2.0) # Weight Ratio\n", + "print \"Ratio of the diameter of the hollow and solid shaft is\", round(r1,2)\n", + "print \"Ratio of the weight of the hollow and solid shaft is\", round(r2,2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The required diameter of the solid shaft is 0.05346 m\n", + "The required diameter of the hollow shaft is 0.06373 m\n", + "Ratio of the diameter of the hollow and solid shaft is 1.14\n", + "Ratio of the weight of the hollow and solid shaft is 0.47\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.3, Page number 200" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "R1 = 0.6*1 #assumption for simplicity in calculations(for fig. a)\n", + "R2 = 1 #assumption for simplicity in calculations(for fig. b)\n", + "\n", + "#Calculations\n", + "Ip1 = (math.pi/2)*(1-(R1**4))\n", + "Ip2 = (math.pi*R2**4)/2\n", + "\n", + "B1 = Ip2/Ip1\n", + "B2 = Ip2/Ip1\n", + "\n", + "Wh = (math.pi*R2**2)*(1-R1**2)\n", + "Ws = math.pi*R2**2\n", + "B3 = Wh/Ws\n", + "\n", + "print \"Maximum shear stress in the hollow shaft to that in the solid shaft is\",round(B1,2)\n", + "print \"The ratio of the angles of twists is\",round(B2,2)\n", + "print \"The ratio of the weight of the hollow shaft to the weight of the solid shaft is\",B3\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum shear stress in the hollow shaft to that in the solid shaft is 1.15\n", + "The ratio of the angles of twists is 1.15\n", + "The ratio of the weight of the hollow shaft to the weight of the solid shaft is 0.64\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.4, page no. 205" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 0.03 # diameter of the shaft in meter\n", + "T2 = 450.0 # Torque in N-m\n", + "T1 = 275.0 \n", + "T3 = 175.0 \n", + "Lbc = 0.5 # Length of shaft in meter\n", + "Lcd = 0.4 # Length of shaft in meter\n", + "G = 80e09 # Modulus of elasticity\n", + "\n", + "#calculation\n", + "Tcd = T2-T1 # torque in segment CD\n", + "Tbc = -T1 # torque in segment BC\n", + "tcd = (16.0*Tcd)/(math.pi*(d**3)) # shear stress in cd segment\n", + "\n", + "print \"Shear stress in segment cd is\", round(tcd/1000000,1), \" MPa\"\n", + "tbc = (16.0*Tbc)/(math.pi*(d**3)) # shear stress in bc segment\n", + "\n", + "#answer given in the textbook for tbc is wrong\n", + "print \"Shear stress in segment bc is\", round(tbc/1000000,1), \" MPa\"\n", + "Ip = (math.pi/32)*(d**4) # Polar monent of inertia\n", + "fbc = (Tbc*Lbc)/(G*Ip) # angle of twist in radian\n", + "fcd = (Tcd*Lcd)/(G*Ip) # angle of twist in radian\n", + "fbd = fbc + fcd # angle of twist in radian\n", + "print \"Angles of twist in section BD\", round(fbd,3), \" radian\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Shear stress in segment cd is 33.0 MPa\n", + "Shear stress in segment bc is -51.9 MPa\n", + "Angles of twist in section BD -0.011 radian\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.6, page no. 214" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#initialisation \n", + "d1 = 0.06 # Inner diameter in meter\n", + "d2 = 0.08 # Outer diameter in meter\n", + "r = d2/2.0 # Outer radius\n", + "G = 27e09 # Modulus of elasticity\n", + "T = 4000.0 # Torque in N-m\n", + "\n", + "#calculation\n", + "Ip = (math.pi/32)*((d2**4)-(d1**4)) # Polar moment of inertia\n", + "t_max = (T*r)/Ip # maximum shear stress\n", + "print \"Maximum shear stress in tube is \", t_max, \" Pa\"\n", + "s_t = t_max # Maximum tensile stress\n", + "print \"Maximum tensile stress in tube is \", s_t, \" Pa\"\n", + "s_c = -(t_max) # Maximum compressive stress\n", + "print \"Maximum compressive stress in tube is \", s_c, \" Pa\"\n", + "g_max = t_max / G # Maximum shear strain in radian\n", + "print \"Maximum shear strain in tube is \", round(g_max,4), \" radian\"\n", + "e_t = g_max/2.0 # Maximum tensile strain in radian\n", + "print \"radian\",e_t,\"Maximum tensile strain in tube is \", round(e_t,4), \" radian\"\n", + "e_c = -g_max/2.0 # Maximum compressive strain in radian\n", + "print \"Maximum compressive strain in tube is \", round(e_c,4), \" radian\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum shear stress in tube is 58205236.3308 Pa\n", + "Maximum tensile stress in tube is 58205236.3308 Pa\n", + "Maximum compressive stress in tube is -58205236.3308 Pa\n", + "Maximum shear strain in tube is 0.0022 radian\n", + "radian 0.00107787474687 Maximum tensile strain in tube is 0.0011 radian\n", + "Maximum compressive strain in tube is -0.0011 radian\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.7, page no. 219" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "H = 40.0 # Power in hp\n", + "s = 6000.0 # allowable shear stress in steel in psi\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "n = 500.0 # rpm\n", + "T = ((33000.0*H)/(2*math.pi*n))*(5042.0/420.0) # Torque in lb-in\n", + "d = ((16.0*T)/(math.pi*s))**(1.0/3.0) # diameter in inch\n", + "print \"Diameter of the shaft at 500 rpm\", round(d,2), \" inch\"\n", + "\n", + "# Part (b)\n", + "n1 = 3000.0 # rpm\n", + "T1 = ((33000.0*H)/(2*math.pi*n1))*(5042.0/420.0) # Torque in lb-in\n", + "d1 = ((16*T1)/(math.pi*s))**(1.0/3.0) # diameter in inch\n", + "print \"Diameter of the shaft at 3000 rpm\", round(d1,2), \" inch\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Diameter of the shaft at 500 rpm 1.62 inch\n", + "Diameter of the shaft at 3000 rpm 0.89 inch\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.8, page no. 221" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "d = 0.05 # diameter of the shaft\n", + "Lab = 1.0 # Length of shaft ab in meter\n", + "Lbc = 1.2 # Length of shaft bc in meter\n", + "Pa = 50000.0 # Power in Watt at A\n", + "Pb = 35000.0 # Power in Watt at B\n", + "Ip = (math.pi/32)*(d**4) # Polar moment of inertia\n", + "Pc = 15000.0 # Power in Watt at C\n", + "G = 80e09 # Modulus of elasticity\n", + "f = 10.0 # frequency in Hz \n", + "\n", + "#Calculations\n", + "Ta = Pa/(2*math.pi*f) # Torque in N-m at A\n", + "Tb = Pb/(2*math.pi*f) # Torque in N-m at B\n", + "Tc = Pc/(2*math.pi*f) # Torque in N-m at B\n", + "Tab = Ta # Torque in N-m in shaft ab\n", + "Tbc = Tc # Torque in N-m in shaft bc\n", + "tab = (16*Tab)/(math.pi*(d**3)) # shear stress in ab segment\n", + "fab = (Tab*Lab)/(G*Ip) # angle of twist in radian\n", + "tbc = (16*Tbc)/(math.pi*(d**3)) # shear stress in ab segment\n", + "fbc = (Tbc*Lbc)/(G*Ip) # angle of twist in radian\n", + "fac = (fab+fbc)*(180.0/math.pi) # angle of twist in degree in segment ac\n", + "tmax = Tab # Maximum shear stress\n", + "\n", + "#Result\n", + "print \"The maximum shear stress tmax in the shaft\", round(tmax), \" Nm\"\n", + "print \"Angle of twist in segment AC\", round(fac,2), \" degree\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum shear stress tmax in the shaft 796.0 Nm\n", + "Angle of twist in segment AC 1.26 degree\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.10, page no. 230" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "Ta = 100.0 # Torque in N-m at A\n", + "Tb = 150.0 # Torque in N-m at B\n", + "L = 1.6 # Length of shaft in meter\n", + "G = 80e09 # Modulus of elasticity\n", + "Ip = 79.52e-09 # polar moment of inertia in m4\n", + "\n", + "#calculation\n", + "\n", + "Ua = ((Ta**2)*L)/(2*G*Ip) # Strain energy at A\n", + "print \"Torque acting at free end\", round(Ua,2), \" joule\"\n", + "Ub = ((Tb**2)*L)/(4*G*Ip) # Strain energy at B\n", + "print \"Torque acting at mid point\", round(Ub,2), \" joule\"\n", + "a = (Ta*Tb*L)/(2*G*Ip) # dummy variabble\n", + "Uc = Ua+a+Ub # Strain energy at C\n", + "print \"Total torque\", round(Uc,2), \"joule\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Torque acting at free end 1.26 joule\n", + "Torque acting at mid point 1.41 joule\n", + "Total torque 4.56 joule\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 3.11, page no. 231" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "t = 480.0 # Torque of consmath.tant intensity\n", + "L = 144.0 # Length of bar\n", + "G = 11.5e06 # Modulus of elasticity in Psi\n", + "Ip = 17.18 # Polar moment of inertia\n", + "\n", + "#Calculation\n", + "U = ((t**2)*(L**3))/(G*Ip*6) # strain energy in in-lb\n", + "\n", + "#Result\n", + "print \"The strain energy for the hollow shaft is\", round(U), \"in-lb\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The strain energy for the hollow shaft is 580.0 in-lb\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "example 3.14, page no. 242" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#Variable declaration\n", + "r = 1 #assuming r = 1 for simplicity in calculations\n", + "\n", + "#Calculations\n", + "Am2 = (math.pi*r)**2/4\n", + "Am1 = math.pi*r**2\n", + "\n", + "T1_T2 = Am2/Am1\n", + "\n", + "t = 1 #assuming t = 1 for simplicity in calculations\n", + "J2 = ((math.pi*r)**3*t)/8\n", + "J1 = 2*math.pi*r**3*t\n", + "phi1_phi2 = J2/J1\n", + "\n", + "#Results\n", + "print \"Ratio of shear stress is \", round(T1_T2,2)\n", + "print \"Ratio of angle of twist is \", round(phi1_phi2, 2)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Ratio of shear stress is 0.79\n", + "Ratio of angle of twist is 0.62\n" + ] + } + ], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter4.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter4.ipynb new file mode 100755 index 00000000..deb5ebe3 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter4.ipynb @@ -0,0 +1,111 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:ff1027836ff09444a0f286e9b3a2446de80c3b84e271ae3db6a9354c2ea33b2b" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 4: Shear Forces and Bending Moments" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.3, page no. 275" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#initialisation\n", + "\n", + "q = 0.2 # Uniform load intensity in K/ft\n", + "P = 14 # Concentrated load in k\n", + "Ra = 11 # Reaction at A from wquation of equilibrium\n", + "Rb = 9 # Reaction at B from wquation of equilibrium\n", + "\n", + "#calculation\n", + "V = 11 - 14 - (0.2*15) # shear force in k\n", + "\n", + "print \"Shear force at section D\", V, \"k\"\n", + "M = (11*15)-(14*6)-(0.2*15*7.5) # Bending moment in K-ft\n", + "print \"Bending moment at section D\", M, \"k-ft\"\n", + "V1 = -9+(0.2*15) # Shear firce from alternative method in k\n", + "M1 = (9*9)-(0.2*7.5*15) # Bending moment from alternative method in k-ft" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Shear force at section D -6.0 k\n", + "Bending moment at section D 58.5 k-ft\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 4.7" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "q = 1 # Uniform load intensity in k/ft\n", + "M0 = 12 # Couple in k-ft\n", + "Rb = 5.25 # Reaction at B in k\n", + "Rc = 1.25 # Reaction at C in k\n", + "b = 4 # Length of section AB in ft\n", + "\n", + "#calculation\n", + "\n", + "Mb = -(q*(b**2))/2 # Moment acting at B\n", + "\n", + "#Result\n", + "print \"Bending moment at B\", Mb, \"k-ft\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bending moment at B -8 k-ft\n" + ] + } + ], + "prompt_number": 2 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter5.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter5.ipynb new file mode 100755 index 00000000..eded6995 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter5.ipynb @@ -0,0 +1,766 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:b3fea044fb61246e436e589813425563571ae1bfc62fb47f12dd9ef378e27c6d" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 5: Stresses in Beams Basic Topics" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.1, page no. 307" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "import numpy\n", + "\n", + "#initialisation\n", + "\n", + "L = 8.0 # length of beam in ft\n", + "h = 6.0 # Height of beam in inch\n", + "e = 0.00125 # elongation on the bottom surface of the beam\n", + "y = -3.0 # Dismath.tance of the bottom surface to the neutral surface of the beam in inch\n", + "\n", + "#Calculations\n", + "r = -(y/e) # Radius of curvature\n", + "print \"radius of curvature is\", round(r), \"inch\"\n", + "k = 1/r # curvature in in-1\n", + "print \"curvature\", round(k,5), \"ft-1\"\n", + "theta = numpy.degrees(numpy.arcsin(((L*12.0)/(2.0*r)))) # angle in degree\n", + "print \"Angle of twist\", round(theta,3), \"degree\"\n", + "my_del = r*(1-math.cos(math.radians(theta))) #Deflection in inch\n", + "print \"Deflection in the beam is \", round(my_del,4), \"inch\" " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "radius of curvature is 2400.0 inch\n", + "curvature 0.00042 ft-1\n", + "Angle of twist 1.146 degree\n", + "Deflection in the beam is 0.48 inch\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.2, page no. 315" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 0.004 # thickness of wire in m\n", + "R0 = 0.5 # radius of cylinder in m\n", + "E = 200e09 # Modulus of elasticity of steel\n", + "s = 1200e06 # proportional limit of steel\n", + "\n", + "#calculation\n", + "\n", + "M = (math.pi*E*d**4)/(32*(2*R0+d)) # Bending moment in wire in N-m\n", + "print \"Bending moment in the wire is \", round(M,2), \"N-m\"\n", + "s_max = (E*d)/(2*R0+d) # Maximum bending stress in wire in Pa\n", + "print \"Maximum bending stress in the wire is %e\" %(s_max), \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Bending moment in the wire is 5.01 N-m\n", + "Maximum bending stress in the wire is 7.968127e+08 Pa\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.3, page no. 316" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 22 # Span of beam in ft\n", + "q = 1.5 # Uniform load intensity in k/ft\n", + "P = 12 # Concentrated in k\n", + "b = 8.75 # width of cross section of beam in inch\n", + "h = 27 # height of cross section of beam in inch\n", + "Ra = 23.59 # Reaction at point A\n", + "Rb = 21.41 # Reacyion at point B\n", + "Mmax = 151.6 # Maximum bending moment\n", + "\n", + "#calculation\n", + "\n", + "S = (b*h**2)/6 # Section modulus\n", + "s = (Mmax*12)/S # stress in k\n", + "st = s*1000 # Tensile stress\n", + "print \"Maximum tensile stress in the beam\", round(st), \"psi\"\n", + "sc = -s*1000 # Compressive stress\n", + "print \"Maximum compressive stress in the beam\", round(sc), \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress in the beam 1711.0 psi\n", + "Maximum compressive stress in the beam -1711.0 psi\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.4, page no. 318" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "q = 3200.0 # Uniform load intensity in N/m\n", + "b = 0.3 # width of beam in m\n", + "h = 0.08 # Height of the beam in m\n", + "t = 0.012 # thickness of beam in m\n", + "Ra = 3600.0 # Reaction at A in N\n", + "Rb = 10800.0 # Reaction at B in N\n", + "Mpos = 2025.0 # Moment in Nm\n", + "Mneg = -3600.0 # Moment in Nm\n", + "\n", + "#calculation\n", + "y1 = t/2.0\n", + "A1 = (b-2*t)*t \n", + "y2 = h/2\n", + "A2 = h*t \n", + "A3 = A2 \n", + "c1 = ((y1*A1)+(2*y2*A2))/((A1)+(2*A2))\n", + "c2 = h - c1 \n", + "Ic1 = (b-2*t)*(t**3)*(1.0/12.0)\n", + "d1 = c1-(t/2.0)\n", + "Iz1 = (Ic1)+(A1*(d1**2))\n", + "Iz2 = 956600e-12\n", + "Iz3 = Iz2 \n", + "Iz = Iz1 + Iz2 + Iz3 # Moment of inertia of the beam cross section\n", + "\n", + "# Section Modulli\n", + "S1 = Iz / c1 # for the top surface\n", + "S2 = Iz / c2 # for the bottom surface\n", + "\n", + "# Maximum stresses for the positive section\n", + "st = Mpos / S2 \n", + "print \"Maximum tensile stress in the beam in positive section is\", st, \"Pa\"\n", + "sc = -Mpos / S1 \n", + "print \"Maximum compressive stress in the beam in positive section is\", sc, \"Pa\"\n", + "\n", + "# Maximum stresses for the negative section\n", + "snt = -Mneg / S1 \n", + "print \"Maximum tensile stress in the beam in negative section is\", snt, \"Pa\"\n", + "snc = Mneg / S2 \n", + "print \"Maximum compressive stress in the beam in negative section is\", snc, \"Pa\"\n", + "\n", + "# Conclusion\n", + "st_max = st\n", + "sc_max = snc" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress in the beam in positive section is 50468539.6422 Pa\n", + "Maximum compressive stress in the beam in positive section is -15157118.8248 Pa\n", + "Maximum tensile stress in the beam in negative section is 26945989.0219 Pa\n", + "Maximum compressive stress in the beam in negative section is -89721848.2528 Pa\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Exampe 5.5, page no. 325" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 12 # Length of beam in ft\n", + "q = 420 # Uniform load intensity in lb/ft\n", + "s = 1800 # Allowable bending stress in psi\n", + "w = 35 # weight of wood in lb/ft3\n", + "\n", + "#calculation\n", + "M = (q*L**2*12)/8 # Bending moment in lb-in\n", + "S = M/s # Section Modulli in in3\n", + "\n", + "# From Appendix F\n", + "q1 = 426.8 # New uniform load intensity in lb/ft\n", + "S1 = S*(q1/q) # New section modulli in in3\n", + "\n", + "# From reference to appendix F, a beam of cross section 3*12 inch is selected\n", + "print (\"Beam of crosssection 3*12 is sufficient\")" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Beam of crosssection 3*12 is sufficient\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.6, page no. 326" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#initialisation\n", + "P = 12000 # Lataeral load at the upper end in N\n", + "h = 2.5 # Height of post in m\n", + "Mmax = P*h # Maximum bending moment in Nm\n", + "\n", + "#calculation\n", + "# Part (a) : Wood Post\n", + "s1 = 15e06 # Maximum allowable stress in Pa\n", + "S1 = Mmax/s1 # Section Modulli in m3\n", + "d1 = ((32.0*S1)/math.pi)**(1.0/3.0) # diameter in m\n", + "print \"the minimum required diameter d1 of the wood post is\", round(d1,3), \"m\"\n", + "\n", + "# Part (b) : Alluminium tube\n", + "s2 = 50e06 # Maximum allowable stress in Pa\n", + "S2 = Mmax/s2 # Section Modulli in m3\n", + "d2 = (S2/0.06712)**(1.0/3.0) # diameter in meter.....(1) \n", + "print \"minimum required outer diameter d2 of the aluminum tube is\", round(d2,3),\"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the minimum required diameter d1 of the wood post is 0.273 m\n", + "minimum required outer diameter d2 of the aluminum tube is 0.208 m\n" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.7, page no. 326" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "q = 2000.0 # Uniform load intensity in lb/ft\n", + "s = 18000.0 # Maximum allowable load in Psi\n", + "Ra = 18860.0 # Reaction at point A\n", + "Rb = 17140.0 # Reaction at point B\n", + "\n", + "#calculation\n", + "x1 = Ra/q # Distance in ft from left end to the point of zero shear\n", + "Mmax = (Ra*x1)-((q*(x1**2))/2.0) # Maximum bending moment in lb-ft\n", + "S = (Mmax*12.0)/s # Section Modulli in in3\n", + "\n", + "# Trial Beam\n", + "Ra_t = 19380.0 # Reaction at point A\n", + "Rb_t = 17670.0 # Reaction at point B\n", + "\n", + "#in Python the value for x1 differes by some points and hence the subsequent results differ\n", + "x1_t = Ra_t/q # Distance in ft from left end to the point of zero shear\n", + "Mmax_t = (Ra_t*x1_t)-((q*(x1_t**2))/2.0) # Maximum bending moment in lb-ft\n", + "S_t = (Mmax_t*12.0)/s # Section Modulli in in3\n", + "# From table E beam 12*50 is selected \n", + "print \"Beam of crosssection 12*50 is selected with section modulli\", round(S_t,2), \"in^3\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Beam of crosssection 12*50 is selected with section modulli 62.6 in^3\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.8, page 329" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#initialisation \n", + "g = 9810 # Specific weight of water in N/m3\n", + "h = 2 # Height of dam in m\n", + "s = 0.8 # Dismath.tance between square cross section in m\n", + "sa = 8e06 # Maximum allowable stress in Pa\n", + "\n", + "#Calculations\n", + "b = ((g*(h**3)*s)/sa)**(1.0/3.0) # Dimension of croossection in m\n", + "\n", + "#Result\n", + "print \"the minimum required dimension b of the posts\", round(b,3), \"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the minimum required dimension b of the posts 0.199 m\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.11, page no. 341" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 3 # Span of beam in ft\n", + "q = 160 # Uniform load intensity in lb/in\n", + "b = 1 # Width of cross section\n", + "h = 4 # Height of cross section\n", + "\n", + "# Calculations from chapter 4\n", + "Mc = 17920 # Bending moment in ld-in\n", + "Vc = -1600 # Loading in lb\n", + "I = (b*(h**3))/12.0 # Moment of inertia in in4\n", + "sc = -(Mc*1)/I # Compressive stress at point C in psi\n", + "Ac = 1*1 # Area of section C in inch2\n", + "yc = 1.5 # dismath.tance between midlayers od section C and cross section of beam\n", + "Qc = Ac*yc # First moment of C cross section in inch3\n", + "tc = (Vc*Qc)/(I*b) # Shear stress in Psi\n", + "print \"Normal stress at C\", sc, \"psi\"\n", + "print \"Shear stress at C\", tc, \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Normal stress at C -3360.0 psi\n", + "Shear stress at C -450.0 psi\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.12, page no. 342" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#initialisation\n", + "s = 11e06 # allowable tensile stress in pa\n", + "t = 1.2e06 # allowable shear stress in pa\n", + "b = 0.1 # Width of cross section in m\n", + "h = 0.15 # Height of cross section in m\n", + "a = 0.5 # in m\n", + "\n", + "#Calculations\n", + "P_bending = (s*b*h**2)/(6.0*a) # Bending stress in N\n", + "P_shear = (2*t*b*h)/3.0 # shear stress in N\n", + "Pmax = P_bending # Because bending stress governs the design\n", + "\n", + "#Result\n", + "print \"the maximum permissible value Pmax of the loads\", Pmax, \"N\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the maximum permissible value Pmax of the loads 8250.0 N\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.13, page no. 345" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "#initialisation\n", + "d2 = 4 # Outer diameter in inch\n", + "d1 = 3.2 # Inner diameter in inch\n", + "r2 = d2/2 # Outer radius in inch\n", + "r1 = d1/2 # inner radius in inch\n", + "P = 1500 # Horizontal force in lb\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "t_max = ((r2**2+(r2*r1)+r1**2)*4*P)/(3*math.pi*((r2**4)-(r1**4))) # Mximum shear stress in Psi\n", + "print \"Maximum shear stress in the pole is\", round(t_max), \"psi\"\n", + "\n", + "# Part (b)\n", + "d0 = math.sqrt((16*P)/(3*math.pi*t_max)) # Diameter of solid circular cross section in meter\n", + "print \"Diameter of solid circular cross section is \", round(d0,2), \"m\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum shear stress in the pole is 658.0 psi\n", + "Diameter of solid circular cross section is 1.97 m\n" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.14, page no. 351" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "\n", + "#initialisation\n", + "b = 0.165 # in m\n", + "h = 0.320 # in m\n", + "h1 = 0.290 # in m\n", + "t = 0.0075 # in m\n", + "V = 45000.0 # Vertical force in N\n", + "\n", + "#calculation\n", + "I = (1.0/12.0)*((b*(h**3))-(b*(h1**3))+(t*(h1**3))) # Moment of inertia of the cros section\n", + "t_max = (V/(8.0*I*t))*((b*(h**2))-(b*(h1**2))+(t*(h1**2))) # Maximum shear stress in Pa\n", + "t_min = ((V*b)/(8*I*t))*(h**2-h1**2) # Minimum shear stress in Pa\n", + "T = ((t*h1)/3.0)*(2*t_max + t_min) # Total shear force in Pa\n", + "t_avg = V/(t*h1) # Average shear stress in Pa\n", + "\n", + "#Result\n", + "print \"Maximum shear stress in the web is\", round(t_max,2), \"Pa\"\n", + "print \"Minimum shear stress in the web is\", round(t_min,2), \"Pa\"\n", + "print \"Total shear stress in the web is\", round(T,2), \"N\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum shear stress in the web is 20985785.26 Pa\n", + "Minimum shear stress in the web is 17359517.46 Pa\n", + "Total shear stress in the web is 43015.04 N\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.15, page no. 352" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "V = 10000 # Vertical shear force in lb\n", + "b = 4 # in inch\n", + "t = 1 # in inch\n", + "h = 8 # in inch\n", + "h1 = 7 # in inch\n", + "\n", + "#calculation\n", + "A = b*(h-h1) + t*h1 # Area of cross section \n", + "Qaa = ((h+h1)/2.0)*b*(h-h1) + (h1/2.0)*(t*h1) # First moment of cross section\n", + "c2 = Qaa/A # Position of neutral axis in inch\n", + "c1 = h-c2 # Position of neutral axis in inch\n", + "Iaa = (b*h**3)/3.0 - ((b-t)*h1**3)/3.0 # Moment of inertia about the line aa\n", + "I = Iaa - A*c2**2 # Moment of inertia of crosssection\n", + "Q1 = b*(h-h1)*(c1-((h-h1)/2.0)) # First moment of area above the line nn\n", + "t1 = (V*Q1)/(I*t) # Shear stress at the top of web in Psi\n", + "Qmax = (t*c2)*(c2/2.0) # Maximum first moment of inertia below neutral axis\n", + "t_max = (V*Qmax)/(I*t) # Maximum Shear stress in Psi\n", + "\n", + "#Result\n", + "print \"Shear stress at the top of the web is\", round(t1), \"psi\"\n", + "print \"Maximum Shear stress in the web is\", round(t_max), \"Psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Shear stress at the top of the web is 1462.0 psi\n", + "Maximum Shear stress in the web is 1762.0 Psi\n" + ] + } + ], + "prompt_number": 24 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.16, page no. 357" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "Af = 40*180 # Area of flange in mm2\n", + "V = 10500 # Shear force acting on cross section\n", + "F = 800 # Allowable load in shear\n", + "df = 120 # Dismath.tance between centroid of flange and neutral axis in mm\n", + "\n", + "#calculation\n", + "Q = Af*df # First moment of cross section of flange\n", + "I = (1.0/12.0)*(210*280**3) - (1.0/12.0)*(180*200**3) # Moment of inertia of entire cross section in mm4\n", + "f = (V*Q)/I # Shear flow\n", + "s = (2*F)/f # Spacing between the screw\n", + "\n", + "#Result\n", + "print \"The maximum permissible longitudinal spacing s of the screws is\", round(s,1), \"mm\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum permissible longitudinal spacing s of the screws is 46.6 mm\n" + ] + } + ], + "prompt_number": 25 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 5.17, page no. 362" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "L = 60 # Length of beam in inch\n", + "d = 5.5 # dismath.tance from the point of application of the load P to the longitudinal axis of the tube in inch\n", + "b = 6 # Outer dimension of tube in inch\n", + "A = 20 # Area of cross section of tube in inch\n", + "I = 86.67 # Moment of inertia in in4\n", + "P = 1000 # in lb\n", + "theta = 60 # in degree\n", + "Ph = P*math.sin(math.radians(60)) # Horizontal component\n", + "Pv = P*math.cos(math.radians(60)) # Vertical component\n", + "\n", + "#Calculations\n", + "M0 = Ph*d # Moment in lb-in\n", + "y = -3 # Point at which maximum tensile stress occur in inch\n", + "N = Ph # Axial force\n", + "M = 9870 # Moment in lb-in\n", + "st_max = (N/A)-((M*y)/I) # Maximum tensile stress in Psi\n", + "yc = 3 # in inch\n", + "M1 = 5110 # moment in lb-in\n", + "sc_left = (N/A)-((M*yc)/I) # Stress at the left of point C in Psi\n", + "sc_right = -(M1*yc)/I # Stress at the right of point C in Psi\n", + "sc_max = min(sc_left,sc_right) # Because both are negative quantities\n", + "\n", + "#Result\n", + "print \"The maximum compressive stress in the beam is\", round(sc_max), \"psi\"\n", + "print \"The maximum tensile stress in the beam is\", round(st_max), \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The maximum compressive stress in the beam is -298.0 psi\n", + "The maximum tensile stress in the beam is 385.0 psi\n" + ] + } + ], + "prompt_number": 26 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter6.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter6.ipynb new file mode 100755 index 00000000..abed2b92 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter6.ipynb @@ -0,0 +1,422 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:6b805af6437b1e35c2a86410c53cf433b859c30c76e14feb211f91f3f6b4d2d7" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6: Stresses in Beams Advanced Topics" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.1, page no. 400" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "\n", + "M = 60.0 # Moment in k-in\n", + "E1 = 1500. # in Ksi\n", + "E2 = 30000.0 # in Ksi\n", + "h1 = 5.031 # Distance between top surface and neutral axis of the beam in inch by solving 1500*(h1-3)*24 + 30000*(h1-6.25)*2 = 0\n", + "\n", + "#calculation\n", + "h2 = 6.5 - h1 \n", + "I1 = (1.0/12.0)*(4*6**3) + (4*6)*(h1-3)**2 # Momeny of inertia of the wooden cross section\n", + "I2 = (1.0/12.0)*(4*0.5**3) + (4*0.5)*(h2-0.25)**2 # Momeny of inertia of the steel cross section\n", + "I = I1 + I2 # Moment of inertia of whole cross section\n", + "\n", + "# Material 1\n", + "s1a = -(M*h1*E1)/((E1*I1)+(E2*I2)) # Maximum compressive stress in ksi where y = h1\n", + "s1c = -(M*(-(h2-0.5))*E1)/((E1*I1)+(E2*I2)) # Maximum tensile stress in ksi where y = -(h2-0.5)\n", + "print \"Maximum compressive stress in wood is\", round(s1a,3)*1000, \"psi\"\n", + "print \"Maximum tensile stress in wood is\", round(s1c,3)*1000, \"psi\"\n", + "\n", + "# Material 2\n", + "s2a = -(M*(-h2)*E2)/((E1*I1)+(E2*I2)) # Maximum tensile stress in ksi where y = -h2\n", + "s2c = -(M*(-(h2-0.5))*E2)/((E1*I1)+(E2*I2)) # Minimum tensile stress in ksi where y = -(h2-0.5)\n", + "print \"Maximum tensile stress in steel is\", round(s2a,3)*1000, \"psi\"\n", + "print \"Minimum tensile stress in steel is\", round(s2c,3)*1000, \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum compressive stress in wood is -1305.0 psi\n", + "Maximum tensile stress in wood is 251.0 psi\n", + "Maximum tensile stress in steel is 7622.0 psi\n", + "Minimum tensile stress in steel is 5028.0 psi\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.2, page no. 402" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "\n", + "M = 3000 # moment in N-m\n", + "t = 0.005 # thickness of alluminiun in m\n", + "E1 = 72e09 # Modulus of elasticity of alluminium in Pa\n", + "E2 = 800e06 # Modulus of elasticity of Plastic core in Pa\n", + "b = 0.2 # Width of cross section in m\n", + "h = 0.160 # Height of cross section in m\n", + "hc = 0.150 # Height of Plastic core cross section in m\n", + "\n", + "#calculation\n", + "I1 = (b/12.0)*(h**3 - hc**3) # Moment of inertia of alluminium cross section\n", + "I2 = (b/12.0)*(hc**3) # Moment of inertia of Plastic core cross section\n", + "f = (E1*I1) + (E2*I2) # Flexural rigidity of the cross section\n", + "s1_max = (M*(h/2.0)*E1)/f \n", + "s1c = -s1_max # Maximum compressive stress in alluminium core in Pa\n", + "s1t = s1_max # Maximum tensile stress in alluminium core in Pa\n", + "print \"Maximum compressive stress on alluminium face by the general theory for composite beams is\", s1c, \"Pa\"\n", + "print \"Maximum tensile stress on alluminium face by the general theory for composite beams is\", s1t, \"Pa\"\n", + "s2_max = (M*(hc/2.0)*E2)/f \n", + "s2c = -s2_max # Maximum compressive stress in Plastic core in Pa\n", + "s2t = s2_max # Maximum tensile stress in Plastic core in Pa\n", + "print \"Maximum compressive stress in plastic core by the general theory for composite beams is\", s2c, \"Pa\"\n", + "print \"Maximum tensile stress in plastic core by the general theory for composite beams is\", s2t, \"Pa\"\n", + "\n", + "# Part (b) : Calculation from approximate theory of sandwitch\n", + "s1_max1 = (M*h)/(2*I1) \n", + "s1c1 = -s1_max1 # Maximum compressive stress in alluminium core in Pa\n", + "s1t1 = s1_max1 # Maximum tensile stress in alluminium core in Pa\n", + "print \"Maximum compressive stress on alluminium core by approximate theory of sandwitch is\", s1c1, \"Pa\"\n", + "print \"Maximum tensile stress on alluminium core by approximate theory of sandwitch is\", s1t1, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum compressive stress on alluminium face by the general theory for composite beams is -18984838.497 Pa\n", + "Maximum tensile stress on alluminium face by the general theory for composite beams is 18984838.497 Pa\n", + "Maximum compressive stress in plastic core by the general theory for composite beams is -197758.734344 Pa\n", + "Maximum tensile stress in plastic core by the general theory for composite beams is 197758.734344 Pa\n", + "Maximum compressive stress on alluminium core by approximate theory of sandwitch is -19972260.749 Pa\n", + "Maximum tensile stress on alluminium core by approximate theory of sandwitch is 19972260.749 Pa\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3, page no. 407" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "M = 60.0 # Moment in k-in\n", + "E1 = 1500.0 # in Ksi\n", + "E2 = 30000.0 # in Ksi\n", + "b = 4.0 # width of crosssection in inch\n", + "\n", + "#calculation\n", + "# Transformed Section\n", + "n = E2/E1 # Modular ratio\n", + "b1 = n*4 # Increased width of transformed cross section\n", + "\n", + "# Neutral axis\n", + "h1 = ((3*4*6)+(80*0.5*6.25))/((4*6)+(80*0.5)) # Dismath.tance between top surface and neutral axis of the beam in inch\n", + "h2 = 6.5 - h1 # in inch\n", + "\n", + "# Moment of inertia\n", + "It = (1.0/12.0)*(4*6**3) + (4*6)*(h1-3)**2 + (1.0/12.0)*(80*0.5**3) + (80*0.5)*(h2-0.25)**2 # Moment of inertia of transformed cross section\n", + "\n", + "# Material 1\n", + "s1a = -(M*h1)/It # Maximum tensile stress in ksi where y = h1\n", + "s1c = -(M*(-(h2-0.5)))/It # Maximum compressive stress in ksi where y = -(h2-0.5)\n", + "print \"Maximum tensile stress in wood is\", s1a*1000, \"psi\"\n", + "print \"Maximum compressive stress in wood is\", s1c*1000, \"psi\"\n", + "\n", + "# Material 2\n", + "s2a = -(M*(-h2)*n)/It # Maximum tensile stress in ksi where y = -h2\n", + "s2c = -(M*(-(h2-0.5)*n))/It # Minimum tensile stress in ksi where y = -(h2-0.5)\n", + "print \"Maximum tensile stress in steel\", s2a*1000, \"psi\"\n", + "print \"Minimum tensile stress in steel\", s2c*1000, \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress in wood is -1305.28781191 psi\n", + "Maximum compressive stress in wood is 251.328709125 psi\n", + "Maximum tensile stress in steel 7620.9350509 psi\n", + "Minimum tensile stress in steel 5026.57418251 psi\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4,page no. 412" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "import numpy\n", + "\n", + "#initialisation\n", + "\n", + "q = 3000.0 # Uniform load intensity in N/m\n", + "a = 26.57 # tilt of the beam in degree\n", + "b = 0.1 # width of the beam\n", + "h = 0.15 # height of the beam\n", + "L = 1.6 # Span of the beam\n", + "\n", + "#calculation\n", + "qy = q*math.cos(math.radians(a)) # Component of q in y direction\n", + "qz = q*math.sin(math.radians(a)) # Component of q in z direction\n", + "My = (qz*L**2.0)/8.0 # Maximum bending moment in y direction\n", + "Mz = (qy*L**2.0)/8.0 # Maximum bending moment in z direction\n", + "Iy = (h*b**3.0)/12.0 # Moment of inertia along y\n", + "Iz = (b*h**3.0)/12.0 # Moment of inertia alon z\n", + "s = ((3*q*L**2)/(4*b*h))*((math.sin(math.radians(a))/b)+(math.cos(math.radians(a))/h))\n", + "sc = -s # Maximum compressive stress\n", + "st = s # Maximum tensile stress\n", + "print \"Maximum compressive stress in the beam is\", sc, \"Pa\"\n", + "print \"Maximum tensile stress in the beam is\", st, \"Pa\"\n", + "\n", + "# Neutral axis\n", + "l = (h/b)**2\n", + "t = math.sin(math.radians(a)/math.cos(math.radians(a)))\n", + "j = l*(math.sin(math.radians(a)/math.cos(math.radians(a))))\n", + "be = math.degrees((numpy.arctan((j)))) # Inclination of Neutral axis to z axis\n", + "print \"Inclination of Neutral axis to z axis is\", round(be,2), \"degree\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum compressive stress in the beam is -4007231.57248 Pa\n", + "Maximum tensile stress in the beam is 4007231.57248 Pa\n", + "Inclination of Neutral axis to z axis is 48.11 degree\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5, page no. 414" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "import numpy \n", + "\n", + "#initialisation\n", + "L = 12.0 # Length of the beam in ft\n", + "P = 10.0 # Load in k acting in vertical direction\n", + "\n", + "#Part (a)\n", + "h = 24.0 # Height of beam in inch\n", + "Iz = 2100 # Moment of inertia along z axis in in4\n", + "Iy = 42.2 # Moment of inertia along y axis in in4\n", + "\n", + "#calculation\n", + "s_max = (P*(h/2.0)*L*12)/Iz # Maximum stress in Ksi\n", + "print \"Maximum tensile stress in the beam at the top of the beam\", round(s_max*1000), \"psi\"\n", + "print \"Maximum compressive stress in the beam at the bottom of the beam\", round(-s_max*1000), \"psi\"\n", + "\n", + "#Part (b)\n", + "a = 1 # Angle between y axis and the load\n", + "My = -(P*math.sin(math.radians(a)))*L*12 # Moment along y-axis in K-in\n", + "Mz = -(P*math.cos(math.radians(a)))*L*12 # Moment along z-axis in K-in\n", + "ba = math.radians(numpy.arctan(((My*Iz)/(Mz*Iy)))) # Orientation of neutral axis\n", + "z = -3.5\n", + "y = 12.0 # Coordinates of the point A and B where maximum stress occur\n", + "s = ((My*z)/Iy)-((Mz*y)/Iz) # Stress in Ksi\n", + "sa = s # Tensile stress at A\n", + "sb = -s # Compressive stress in B\n", + "print \"The tensile stress at A is\", round(sa*1000), \"psi\"\n", + "print \"The compressive stress at B is\", round(sb*1000), \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress in the beam at the top of the beam 8229.0 psi\n", + "Maximum compressive stress in the beam at the bottom of the beam -8229.0 psi\n", + "The tensile stress at A is 10312.0 psi\n", + "The compressive stress at B is -10312.0 psi\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.6, page no. 420" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "import numpy\n", + "\n", + "#initialisation\n", + "M = 15 # Bending moment in k-in\n", + "t = 10 # Angle between line of action of moment and z-axis\n", + "\n", + "# Properties of cross section\n", + "c = 0.634 # Location of centroid on the axis of symmetry\n", + "Iy = 2.28 # Moment of inertia in y-direction in in4\n", + "Iz = 67.4 # Moment of inertia in z-direction in in4\n", + "ya = 5\n", + "za = -2.6+0.634 # Coordinates of point A\n", + "yb = -5\n", + "zb = 0.634 # Coordinates of point B\n", + "My = M*math.sin(math.radians(t)) # Moment along y-axis\n", + "Mz = M*math.cos(math.radians(t)) # Moment along z-axis\n", + "sa = ((My*za)/Iy)-((Mz*ya)/Iz) # Bending stress at point A in ksi\n", + "sb = ((My*zb)/Iy)-((Mz*yb)/Iz) # Bending stress at point B in ksi\n", + "print \"The bending stress at point A is\", round(sa*1000), \"psi\"\n", + "print \"The bending stress at point B is\", round(sb*1000), \"psi\"\n", + "\n", + "# Neutral axis\n", + "j = (Iz/Iy)*(math.sin(math.radians(t)/math.cos(math.radians(t))))\n", + "be = numpy.degrees(numpy.arctan((j))) # Inclination of neutral axis to z-axis in degree\n", + "print \"Inclination of neutral axis to z-axis is\", round(be,1), \"degree\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The bending stress at point A is -3342.0 psi\n", + "The bending stress at point B is 1820.0 psi\n", + "Inclination of neutral axis to z-axis is 79.1 degree\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.9, page no. 448" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialization\n", + "b = 5 # in inch\n", + "b1 = 4 # in inch\n", + "h = 9 # in inch\n", + "h1 = 7.5 # in inch\n", + "sy = 33 # stress along y axis in ksi\n", + "\n", + "#Calculations\n", + "M = (sy/12.0)*((3*b*h**2)-(b+(2*b1))*(h1**2)) # Bending moment acting in k-in\n", + "\n", + "#Result\n", + "print \"the magnitude of the moment M is\", round(M), \"k-in\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the magnitude of the moment M is 1330.0 k-in\n" + ] + } + ], + "prompt_number": 7 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter7.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter7.ipynb new file mode 100755 index 00000000..3bf957bb --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter7.ipynb @@ -0,0 +1,446 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:79553db761abdf4228d341c670873d408edd8ca0894b0f7f1ee9a5c598382141" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 7: Analysis of Stress and Strain" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.1, page no. 472" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "sx = 16000 # Direct stress in x-direction in psi\n", + "sy = 6000 # Direct stress in y-direction \"\"\n", + "txy = 4000 # Shear stress in y-direction \"\"\n", + "tyx = txy # Shear stress in x-direction \"\"\n", + "t = 45 # Inclination pf plane in degree \n", + "\n", + "#calculation\n", + "sx1 = (sx+sy)/2 + ((sx-sy)*(math.cos(math.radians(2*t))/2.0)) + txy*math.sin(math.radians(2*t)) # Direct stress in x1-direction in psi\n", + "sy1 = (sx+sy)/2 - ((sx-sy)*(math.cos(math.radians(2*t))/2.0)) - txy*math.sin(math.radians(2*t)) # Direct stress in y1-direction in psi\n", + "tx1y1 = - ((sx-sy)*(math.sin(math.radians(2*t))/2.0)) + txy*math.cos(math.radians(2*t)) # Shear stress in psi\n", + "\n", + "print \"The direct stress on the element in x1-direction is\", sx1, \"psi\"\n", + "print \"The direct stress on the element in y1-direction is\", sy1, \"psi\"\n", + "print \"The shear stress on the element\", tx1y1, \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The direct stress on the element in x1-direction is 15000.0 psi\n", + "The direct stress on the element in y1-direction is 7000.0 psi\n", + "The shear stress on the element -5000.0 psi\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.2, page no. 473" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "sx = -46e06 # Direct stress in x-direction in Pa\n", + "sy = 12e06 # Direct stress in y-direction \"\"\n", + "txy = -19e06 # Shear stress in y-direction \"\"\n", + "t = -15 # Inclination of plane in degree \n", + "\n", + "#calculation\n", + "sx1 = (sx+sy)/2.0 + ((sx-sy)*(math.cos(math.radians(2*t))/2.0)) + txy*math.sin(math.radians(2*t)) # Direct stress in x1-direction in Pa\n", + "sy1 = (sx+sy)/2.0 - ((sx-sy)*(math.cos(math.radians(2*t))/2.0)) - txy*math.sin(math.radians(2*t)) # Direct stress in y1-direction in Pa\n", + "tx1y1 = -((sx-sy)*(math.sin(math.radians(2*t))/2.0)) + txy*math.cos(math.radians(2*t)) # Shear stress in Pa\n", + "\n", + "\n", + "print \"The direct stress on the element in x1-direction is\", sx1, \"Pa\"\n", + "print \"The direct stress on the element in y1-direction is\", sy1, \"Pa\"\n", + "print \"The shear stress on the element\", tx1y1, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The direct stress on the element in x1-direction is -32614736.7097 Pa\n", + "The direct stress on the element in y1-direction is -1385263.29025 Pa\n", + "The shear stress on the element -30954482.6719 Pa\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "example 7.3, page no. 481" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "\n", + "ax = 12300.0\n", + "ay = -4200.0\n", + "txy = -4700.0\n", + "\n", + "tan_2p = round((2*txy)/(ax-ay), 4)\n", + "\n", + "theta_p1 = 150.3\n", + "theta_p2 = 330.3\n", + "\n", + "stress1 = (ax+ay)/2.0\n", + "stress2 = (ax-ay)/2.0\n", + "a1 = stress1 + math.sqrt((stress2**2.0)+(txy**2.0))\n", + "a2 = stress1 - math.sqrt((stress2**2.0)+(txy**2.0))\n", + "\n", + "#python calculations differ a bit. hence, differences in the answer\n", + "print \"Principal stesses are \", round(a1), \"psi and \", round(a2), \" psi\"\n", + "\n", + "tmax = math.sqrt((stress2**2.0)+(txy**2.0))\n", + "print \"Maximum shear stress is \", round(tmax), \" psi\"\n", + "\n", + "a_aver = (ax+ay)/2.0\n", + "\n", + "print \"Normal stress acting at maximum shear stress = \", round(a_aver), \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Principal stesses are 13545.0 psi and -5445.0 psi\n", + "Maximum shear stress is 9495.0 psi\n", + "Normal stress acting at maximum shear stress = 4050.0 psi\n" + ] + } + ], + "prompt_number": 53 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.4, page no. 492" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "sx = 90e06 # Direct stress in x-direction in Pa\n", + "sy = 20e06 # Direct stress in y-direction in Pa\n", + "t = 30 # Inclination of element in degree\n", + "\n", + "#calculation\n", + "savg = (sx+sy)/2.0 # Average in-plane direct stress\n", + "txy = 0 \n", + "R = math.sqrt(((sx-sy)/2)**2+(txy)**2) # Radius of mohr circle\n", + "\n", + "# Point D at 2t = 60\n", + "sx1 = savg + R*math.cos(math.radians(2*t)) # Direct stress at point D \n", + "tx1y1 = -R*math.sin(math.radians(2*t)) # shear stress at point D\n", + "print \"The direct stress at point D is\", sx1, \"Pa\"\n", + "print \"The shear stress at point D is\", tx1y1, \"Pa\"\n", + "\n", + "# Point D at 2t = 240\n", + "sx2 = savg + R*math.cos(math.radians(90 + t)) # Direct stress at point D \n", + "tx2y2 = R*math.sin(math.radians(90 + t)) # shear stress at point D\n", + "print \"The direct stress at point D_desh is\", sx2, \"Pa\"\n", + "print \"The shear stress at point D_desh is\", tx2y2, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The direct stress at point D is 72500000.0 Pa\n", + "The shear stress at point D is -30310889.1325 Pa\n", + "The direct stress at point D_desh is 37500000.0 Pa\n", + "The shear stress at point D_desh is 30310889.1325 Pa\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.5, page no. 494" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math\n", + "import numpy\n", + "\n", + "#initialisation \n", + "sx = 15000 # Direct stress in x-direction in psi\n", + "sy = 5000 # Direct stress in y-direction \"\"\n", + "txy = 4000 # Shear stress in y-direction \"\"\n", + "savg = (sx+sy)/2.0 # Average in-plane direct stress\n", + "sx1 = 15000 # Stress acting on face at theta = 0 degree\n", + "tx1y1 = 4000 # Stress acting on face at theta = 0 degree\n", + "sx1_ = 5000 \n", + "tx1y1_ = -4000 \n", + "\n", + "#calculation\n", + "R = math.sqrt(((sx-sy)/2)**2+(txy)**2) # Radius of mohr circle\n", + "\n", + "# Part (a)\n", + "t = 40 # Inclination of the plane in degree\n", + "f1 = numpy.degrees(numpy.arctan((4000.0/5000.0))) # Angle between line CD and x1-axis\n", + "f2 = 80 - f1 # Angle between line CA and x1-axis\n", + "\n", + "# Point D \n", + "sx1 = savg + R*math.cos(math.radians(f2)) # Direct stress at point D \n", + "tx1y1 = -R*math.sin(math.radians(f2)) # shear stress at point D\n", + "print \"The shear stress at point D\", round(tx1y1), \"psi\"\n", + "\n", + "# Point D' \n", + "sx2 = savg - R*math.cos(math.radians(f2)) # Direct stress at point D' \n", + "tx2y2 = R*math.sin(math.radians(f2)) # shear stress at point D'\n", + "print \"The direct stres at point D_desh\", round(sx2), \"psi\"\n", + "\n", + "#Part (b)\n", + "sp1 = savg + R # Maximum direct stress in mohe circle (at point P1)\n", + "tp1 = f1/2 # Inclination of plane of maximum direct stress\n", + "print \"with angle\",round(tp1,2) , \"degree The maximum direct stress at P1 is \",sp1 , \"psi\"\n", + "sp2 = savg - R # Minimum direct stress in mohe circle (at point P2)\n", + "tp2 = (f1+180)/2 # Inclination of plane of minimum direct stress\n", + "print \"with angle\", round(tp2,2), \"degree The maximum direct stress at P2 is \",sp2 , \"psi\"\n", + "\n", + "# Part (c)\n", + "tmax = R # Maximum shear stress in mohe circle\n", + "ts1 = -(90 - f1)/2.0 # Inclination of plane of maximum shear stress\n", + "print \"with plane incilation of\", tmax, \"psi The Maximum shear stress is \", round(ts1,2), \"deegree\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The shear stress at point D -4229.0 psi\n", + "The direct stres at point D_desh 5193.0 psi\n", + "with angle 19.33 degree The maximum direct stress at P1 is 16403.1242374 psi\n", + "with angle 109.33 degree The maximum direct stress at P2 is 3596.87576257 psi\n", + "with plane incilation of 6403.12423743 psi The Maximum shear stress is -25.67 deegree\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.6, Page number 497" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "import numpy\n", + "\n", + "\n", + "sx = -50e06 # Direct stress in x-direction in psi\n", + "sy = 10e06 # Direct stress in y-direction \"\"\n", + "txy = -40e06 # Shear stress in y-direction \"\"\n", + "savg = (sx+sy)/2 # Average in-plane direct stress\n", + "sx1 = -50e06\n", + "tx1y1 = -40e06 # Stress acting on face at theta = 0 degree\n", + "sx1_ = 10e06\n", + "tx1y1_ = 40e06 # Stress acting on face at theta = 0 degree\n", + "\n", + "#calculation\n", + "R = math.sqrt(((sx-sy)/2)**2+(txy)**2) # Radius of mohr circle\n", + "\n", + "# Part (a)\n", + "t = 45 # Inclination of the plane in degree\n", + "f1 = numpy.degrees(numpy.arctan((40e06/30e06))) # Angle between line CD and x1-axis\n", + "f2 = 90 - f1 # Angle between line CA and x1-axis\n", + "\n", + "# Point D \n", + "sx1 = savg - R*math.cos(math.radians(f2)) # Direct stress at point D \n", + "tx1y1 = R*math.sin(math.radians(f2)) # shear stress at point D\n", + "print \"The direct stres at point D\", sx1, \"Pa\"\n", + "print \"The shear stress at point D\", tx1y1, \"Pa\"\n", + "\n", + "# Point D' \n", + "sx2 = savg + R*math.cos(math.radians(f2)) # Direct stress at point D' \n", + "tx2y2 = -R*math.sin(math.radians(f2)) # shear stress at point D'\n", + "print \"The direct stres at point D_desh\", sx2, \"Pa\"\n", + "print \"The shear stress at point D_desh\", tx2y2, \"Pa\"\n", + "\n", + "#Part (b)\n", + "sp1 = savg + R # Maximum direct stress in mohe circle (at point P1)\n", + "tp1 =(f1+180)/2 # Inclination of plane of maximum direct stress\n", + "print \"with angle\", round(tp1,2), \"degree\", \"The maximum direct stress at P1 is \", sp1, \"Pa\" \n", + "sp2 = savg - R # Minimum direct stress in mohe circle (at point P2)\n", + "tp2 = f1/2 # Inclination of plane of minimum direct stress\n", + "print \"with angle\", round(tp2,2), \"degree\", \"The maximum direct stress at P2 is \", sp2, \"Pa\"\n", + "\n", + "# Part (c)\n", + "tmax = R # Maximum shear stress in mohe circle\n", + "ts1 = (90 + f1)/2 # Inclination of plane of maximum shear stress\n", + "print \"with plane incilation of\", round(ts1,2), \"degree\", \"The Maximum shear stress is \", tmax, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The direct stres at point D -60000000.0 Pa\n", + "The shear stress at point D 30000000.0 Pa\n", + "The direct stres at point D_desh 20000000.0 Pa\n", + "The shear stress at point D_desh -30000000.0 Pa\n", + "with angle 116.57 degree The maximum direct stress at P1 is 30000000.0 Pa\n", + "with angle 26.57 degree The maximum direct stress at P2 is -70000000.0 Pa\n", + "with plane incilation of 71.57 degree The Maximum shear stress is 50000000.0 Pa\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 7.7, page no. 520" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math\n", + "import numpy\n", + "\n", + "#initialisation\n", + "\n", + "ex = 340e-06 # Strain in x-direction\n", + "ey = 110e-06 # Strain in y-direction\n", + "txy = 180e-06 # shear strain\n", + "\n", + "\n", + "# Part (a)\n", + "t = 30 # Inclination of the element in degree\n", + "ex1 = (ex+ey)/2.0 + ((ex-ey)/2.0)*math.cos(math.radians(2*t)) + (txy/2.0)*(math.sin(math.radians(2*t))) # Strain in x1 direction (located at 30 degree)\n", + "tx1y1 = 2*(-((ex-ey)/2.0)*math.sin(math.radians(2*t)) + (txy/2.0)*(math.cos(math.radians(2*t)))) # Shear starin\n", + "ey1 = ex+ey-ex1 # Strain in y1 direction (located at 30 degree)\n", + "print \"Strain in x1 direction (located at 30 degree) is\", round((ex1/1E-6),2),\"* 10^-6\"\n", + "print \"shear strain is\", round((tx1y1/1E-6),2),\"* 10^-6\"\n", + "print \"Strain in y1 direction (located at 30 degree) is\", ey1\n", + "\n", + "# Part (b)\n", + "e1 = (ex+ey)/2.0 + math.sqrt(((ex-ey)/2.0)**2 + (txy/2.0)**2) # Principle stress\n", + "e2 = (ex+ey)/2.0 - math.sqrt(((ex-ey)/2.0)**2 + (txy/2.0)**2) # Principle stress\n", + "tp1 = (0.5)*numpy.degrees(numpy.arctan((txy/(ex-ey)))) # Angle to principle stress direction\n", + "tp2 = 90 + tp1 # Angle to principle stress direction\n", + "e1 = (ex+ey)/2.0 + ((ex-ey)/2.0)*math.cos(math.radians(2*tp1)) + (txy/2.0)*(math.sin(math.radians(2*tp1))) # Principle stress via another method\n", + "e2 = (ex+ey)/2.0 + ((ex-ey)/2.0)*math.cos(math.radians(2*tp2)) + (txy/2.0)*(math.sin(math.radians(2*tp2))) # Principle stress via another method\n", + "print \"with angle\", round(tp1,2), \"degree\",\"The Principle stress is \", round(e1,4)\n", + "print \"with angle\",round(tp2,2), \"degree\",\"The Principle stress is \",round(e2,4)\n", + "\n", + "# Part (c)\n", + "tmax = 2*math.sqrt(((ex-ey)/2.0)**2 + (txy/2.0)**2) # Maxmum shear strain\n", + "ts = tp1 + 45 # Orientation of element having maximum shear stress \n", + "tx1y1_ = 2*( -((ex-ey)/2)*math.sin(math.radians(2*ts)) + (txy/2)*(math.cos(math.radians(2*ts)))) # Shear starin assosiated with ts direction\n", + "print \"with angle\",round(ts,2), \"degree\",\"The Maximum shear strain is \",round(tx1y1_,4)\n", + "eavg = (e1+e2)/2.0 # Average atrain\n", + "print \"The average strain is\", eavg" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Strain in x1 direction (located at 30 degree) is 360.44 * 10^-6\n", + "shear strain is -109.19 * 10^-6\n", + "Strain in y1 direction (located at 30 degree) is 8.95577136594e-05\n", + "with angle 19.02 degree The Principle stress is 0.0004\n", + "with angle 109.02 degree The Principle stress is 0.0001\n", + "with angle 64.02 degree The Maximum shear strain is -0.0003\n", + "The average strain is 0.000225\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter8.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter8.ipynb new file mode 100755 index 00000000..1f7c0ed9 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter8.ipynb @@ -0,0 +1,502 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:0d2067363679e9ceade333ea9bc4385c2fb9b29e28a336c6f2561c38a5e262ab" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 8: Applications of Plane Stress Pressure Vessels Beams and Combined Loadings" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.1, page no. 546" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 18 # inner idameter of the hemisphere in inch\n", + "t = 1.0/4.0 # thickness of the hemisphere in inch\n", + "\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "sa = 14000 # Allowable tensile stress in Psi\n", + "Pa = (2*t*sa)/(d/2.0) # Maximum permissible air pressure in Psi\n", + "print \"Maximum permissible air pressure in the tank (Part(a)) is\", round(Pa,1), \"psi\"\n", + "\n", + "# Part (b)\n", + "sb = 6000 # Allowable shear stress in Psi\n", + "Pb = (4*t*sb)/(d/2.0) # Maximum permissible air pressure in Psi\n", + "print \"Maximum permissible air pressure in the tank (Part(b)) is\", round(Pb,1), \"psi\"\n", + "\n", + "# Part (c)\n", + "e = 0.0003 # Allowable Strain in Outer sufrface of the hemisphere\n", + "E = 29e06 # Modulus of epasticity of the steel in Psi\n", + "v = 0.28 # Poissions's ratio of the steel\n", + "Pc = (2*t*E*e)/((d/2.0)*(1-v)) # Maximum permissible air pressure in Psi\n", + "print \"Maximum permissible air pressure in the tank (Part(c)) is\", round(Pc,1), \"psi\"\n", + "\n", + "# Part (d)\n", + "Tf = 8100 # failure tensile load in lb/in \n", + "n = 2.5 # Required factor of safetty against failure of the weld\n", + "Ta = Tf / n # Allowable load in ld/in \n", + "sd = (Ta*(1))/(t*(1)) # Allowable tensile stress in Psi\n", + "Pd = (2*t*sd)/(d/2.0) # Maximum permissible air pressure in Psi\n", + "print \"Maximum permissible air pressure in the tank (Part(d)) is\", round(Pd,1), \"psi\"\n", + "\n", + "# Part (e)\n", + "Pallow = Pb \n", + "print \"Maximum permissible air pressure in the tank (Part(e)) is\", round(Pb,1) ,\"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum permissible air pressure in the tank (Part(a)) is 777.8 psi\n", + "Maximum permissible air pressure in the tank (Part(b)) is 666.7 psi\n", + "Maximum permissible air pressure in the tank (Part(c)) is 671.3 psi\n", + "Maximum permissible air pressure in the tank (Part(d)) is 720.0 psi\n", + "Maximum permissible air pressure in the tank (Part(e)) is 666.7 psi\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.2, page no. 552" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "a = 55 # Angle made by helix with longitudinal axis in degree\n", + "r = 1.8 # Inner radius of vessel in m\n", + "t = 0.02 # thickness of vessel in m\n", + "E = 200e09 # Modulus of ealsticity of steel in Pa\n", + "v = 0.3 # Poission's ratio of steel \n", + "P = 800e03 # Pressure inside the tank in Pa\n", + "\n", + "\n", + "#calculation\n", + "# Part (a)\n", + "s1 = (P*r)/t # Circumferential stress in Pa\n", + "s2 = (P*r)/(2*t) # Longitudinal stress in Pa\n", + "\n", + "print \"Circumferential stress is \", s1, \"Pa\"\n", + "print \"Longitudinal stress is \", s2, \"Pa\"\n", + "\n", + "# Part (b)\n", + "t_max_z = (s1-s2)/2.0 # Maximum inplane shear stress in Pa\n", + "t_max = s1/2.0 # Maximum out of plane shear stress in Pa\n", + "\n", + "print \"Maximum inplane shear stress is \", t_max_z, \"Pa\"\n", + "print \"Maximum inplane shear stress is \", t_max, \"Pa\"\n", + "\n", + "# Part (c)\n", + "e1 = (s1/(2*E))*(2-v) # Strain in circumferential direction \n", + "e2 = (s2/E)*(1-(2*v)) # Strain in longitudinal direction\n", + "\n", + "print \"Strain in circumferential direction is %e\"%(e1)\n", + "print \"Strain in longitudinal direction is \", e2\n", + "\n", + "# Part (d)\n", + "# x1 is the direction along the helix\n", + "theta = 90 - a \n", + "sx1 = ((P*r)/(4*t))*(3-math.cos(math.radians(2*theta))) # Stress along x1 direction\n", + "tx1y1 = ((P*r)/(4*t))*(math.sin(math.radians(2*theta))) # Shear stress in x1y1 plane\n", + "sy1 = s1+s2-sx1 # Stress along y1 direction\n", + "\n", + "print \"Stress along y1 direction is \", sy1\n", + "\n", + "# Mohr Circle Method\n", + "savg = (s1+s2)/2.0 # Average stress in Pa\n", + "R = (s1 - s2 )/2.0 # Radius of Mohr's Circle in Pa\n", + "sx1_ = savg - R*math.cos(math.radians(2*theta)) # Stress along x1 direction\n", + "tx1y1_ = R*math.sin(math.radians(2*theta)) # Shear stress in x1y1 plane\n", + "print \"Stress along x1 direction is \", sx1_, \"Pa\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Circumferential stress is 72000000.0 Pa\n", + "Longitudinal stress is 36000000.0 Pa\n", + "Maximum inplane shear stress is 18000000.0 Pa\n", + "Maximum inplane shear stress is 36000000.0 Pa\n", + "Strain in circumferential direction is 3.060000e-04\n", + "Strain in longitudinal direction is 7.2e-05\n", + "Stress along y1 direction is 60156362.5799\n", + "Stress along x1 direction is 47843637.4201 Pa\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.3, page no. 562" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "%matplotlib inline\n", + "from matplotlib import *\n", + "from pylab import *\n", + "import numpy\n", + "\n", + "#initialisation\n", + "L = 6.0 # Span of the beam in ft\n", + "P = 10800 # Pressure acting in lb\n", + "c = 2.0 # in ft\n", + "b = 2.0 # Width of cross section of the beam in inch\n", + "h = 6.0 # Height of the cross section of the beam in inch\n", + "x = 9.0 # in inch\n", + "\n", + "#calculation\n", + "Ra = P/3.0 # Reaction at point at A\n", + "V = Ra # Shear force at section mn \n", + "M = Ra*x # Bending moment at the section mn\n", + "I = (b*h**3)/12.0 # Moment of inertia in in4\n", + "y = linspace(-3, 3, 61)\n", + "sx = -(M/I)*y # Normal stress on crossection mn\n", + "Q = (b*(h/2-y))*(y+((((h/2.0)-y)/2.0))) # First moment of recmath.tangular cross section\n", + "txy = (V*Q)/(I*b) # Shear stress acting on x face of the stress element\n", + "s1 = (sx/2.0)+numpy.sqrt((sx/2.0)**2+(txy)**2) # Principal Tesile stress on the cross section\n", + "s2 = (sx/2.0)-numpy.sqrt((sx/2.0)**2+(txy)**2) # Principal Compressive stress on the cross section\n", + "tmax = numpy.sqrt((sx/2)**2+(txy)**2) # Maximum shear stress on the cross section\n", + "plot(sx,y,'o',color='c')\n", + "plot(txy,y,'+',color='m')\n", + "plot(s1,y,'--',color='y')\n", + "plot(s2,y,'<',color='k')\n", + "plot(tmax,y,label=\"Maximum shear stress on cross section\")\n", + "legend()\n", + "show()\n", + "#print \"Principal Tesile stress on the cross section\", s1, \"psi\"\n", + "#print \"Principal Compressive stress on the cross section\", s2, \"psi\"\n", + "\n", + "# Conclusions \n", + "s1_max = 14400.0 # Maximum tensile stress in Psi\n", + "txy_max = 900.0 # Maximum shear stress in Psi\n", + "t_max = 14400.0/2.0 # Largest shear stress at 45 degree plane" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nL6d169b4+fnRsWNHdu/ezZQpUzh69CijRo3Cz8+PZcuWkZmZiZubm/6xmZmZDBs2DD8/PyIiIkhI\nuNoHKT4+njvuuIOpU6fStGlT2rVrxw8//FDt82hTysbq4RA1Ki8vV12HD1d06qTw9laA9l+3bqrn\n5Mnqppkz1cCZM1XX4cPVjXFxVR7vCOdQnaioKPXtt9+qDh06qLS0NFVaWqoiIiJUVlaW0mg0Kisr\nSyml1HfffacOHjyolFIqLS1NhYeHq/Xr1+v3M2nSJDVt2jR19uxZFR4erjZt2qS/T6PRqPT0dKWU\nUlOnTlXBwcHqwIEDqqioSA0bNkxFRkaq999/Xyml1MKFC1Xfvn2NPlYppaZNm6YWLFiglFJq69at\nysPDQy1dulQppdS7776rgoKC1N13360KCgrUb7/9pho1aqQOHTpk9NybNWumtm/frpRS6tKlS2rf\nvn0V9vvMM8+o8vJy9eWXXyovLy91/vx5pZRSf//739XYsWPVxYsXVX5+vho9erSaPXu2Ukqp8+fP\nqy+++EKVlpaq/Px8NXnyZBVn8DMxaNAg1aZNG5Wenq7Ky8tVaWlphTHt379ftWzZUp08eVIppdTx\n48dVRkaGUkqp+Ph4NWXKlArbV97fmTNnVGhoqFq7dq1SSqnffvtNBQUFqd27dxs95/379yullHr8\n8cfVQw89pEpLS1V5ebn68ccfjT5nJ0+eVH5+fmrDhg1KKaU+/vhj5e/vr3JycvTjadeuncrKylIF\nBQUqNjZWPf7440b3lZycrAIDA9X333+vlFLq1KlT+p+xyud17Nixao+bm5ur/Pz89K/z2bNnVVpa\nmlJKqbFjx+p/PkpKStSuXbuMjuWVV15Ro0aNUgUFBUoppVJTU9XFixeVUkoNGzZMPfLII6qoqEid\nP39e9e7dWy1fvlwppdSqVatUZGSkOnDggFJKqczMTHX06FGllPZ3a8uWLfpjZGRkKI1Go8rKypRS\nSl133XXq8ccfV6WlpeqPP/5QYWFh6vPPP1dKKbVo0SLl4+Ojvv32W6WUUvPmzVM9e/Y0Ovbq5hdr\nzTsNYpJXSqkvtmxRbaZPV8TH6yd7z2uuUaG33VbhNp+wMPWFwQurVM3nANb5Vxe6Sf7ZZ59V8+bN\nU5s3b1Y33XSTKi0trTDJVzZnzhz10EMP6b/Py8tTrVq1UjExMerBBx+ssK3hRD1t2jR1//336+97\n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\nAAAASUVORK5CYII=\n", + "text": [ + "<matplotlib.figure.Figure at 0x263ff90>" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.4, page no. 570" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d = 0.05 # Diameter of shaft in m\n", + "T = 2400 # Torque transmitted by the shaft in N-m\n", + "P = 125000 # Tensile force\n", + "\n", + "#calculation\n", + "s0 = (4*P)/(math.pi*d**2) # Tensile stress in\n", + "t0 = (16*T)/(math.pi*d**3) # Shear force \n", + "# Stresses along x and y direction\n", + "sx = 0 \n", + "sy = s0 \n", + "txy = -t0 \n", + "s1 = (sx+sy)/2.0 + math.sqrt(((sx-sy)/2.0)**2 + (txy)**2) # Maximum tensile stress \n", + "s2 = (sx+sy)/2.0 - math.sqrt(((sx-sy)/2.0)**2 + (txy)**2) # Maximum compressive stress \n", + "tmax = math.sqrt(((sx-sy)/2)**2 + (txy)**2) # Maximum in plane shear stress \n", + "print \"Maximum tensile stress %e\" %s1, \"Pa\"\n", + "print \"Maximum compressive stress %e\" %s2, \"Pa\"\n", + "print \"Maximum in plane shear stress %e \" %tmax, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress 1.346662e+08 Pa\n", + "Maximum compressive stress -7.100421e+07 Pa\n", + "Maximum in plane shear stress 1.028352e+08 Pa\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.5, page no. 573" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "\n", + "#initialisation\n", + "P = 12 # Axial load in K\n", + "r = 2.1 # Inner radius of the cylinder in inch\n", + "t = 0.15 # Thickness of the cylinder in inch\n", + "ta = 6500 # Allowable shear stress in Psi\n", + "\n", + "#calculation\n", + "p1 = (ta - 3032)/3.5 # allowable internal pressure\n", + "p2 = (ta + 3032)/3.5 # allowable internal pressure\n", + "p3 = 6500/7.0 # allowable internal pressure\n", + "\n", + "prs_allowable = min(p1,p2,p3) # Minimum pressure would govern the design\n", + "print \"Maximum allowable internal pressure \", round(prs_allowable), \"psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum allowable internal pressure 929.0 psi\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.6, page no. 574" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "d1 = 0.18 # Inner diameter of circular pole in m\n", + "d2 = 0.22 # Outer diameter of circular pole in m\n", + "P = 2000 # Pressure of wind in Pa\n", + "b = 1.5 # Distance between centre line of pole and board in m\n", + "h = 6.6 # Distance between centre line of board and bottom of the ploe in m\n", + "\n", + "#calculation\n", + "W = P*(2*1.2) # Force at the midpoint of sign \n", + "V = W # Load\n", + "T = W*b # Torque acting on the pole\n", + "M = W*h # Moment at the bottom of the pole\n", + "I = (math.pi/64.0)*(d2**4-d1**4) # Momet of inertia of cross section of the pole\n", + "sa = (M*d2)/(2*I) # Tensile stress at A \n", + "Ip = (math.pi/32.0)*(d2**4-d1**4) # Polar momet of inertia of cross section of the pole\n", + "t1 = (T*d2)/(2*Ip) # Shear stress at A and B\n", + "r1 = d1/2.0 # Inner radius of circular pole in m\n", + "r2 = d2/2.0 # Outer radius of circular pole in m\n", + "A = math.pi*(r2**2-r1**2) # Area of the cross section\n", + "t2 = ((4*V)/(3*A))*((r2**2 + r1*r2 +r1**2)/(r2**2+r1**2)) # Shear stress at point B \n", + "\n", + "# Principle stresses \n", + "sxa = 0\n", + "sya = sa\n", + "txya = t1\n", + "sxb = 0\n", + "syb = 0\n", + "txyb = t1+t2 \n", + "\n", + "# Stresses at A\n", + "s1a = (sxa+sya)/2.0 + math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum tensile stress \n", + "s2a = (sxa+sya)/2.0 - math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum compressive stress \n", + "tmaxa = math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum in plane shear stress\n", + "\n", + "print \"Maximum tensile stress at point A is\", s1a, \"Pa\"\n", + "print \"Maximum compressive stress at point A is\", s2a, \"Pa\"\n", + "print \"Maximum in plane shear stress at point A is\", tmaxa, \"Pa\"\n", + "\n", + "# Stress at B \n", + "s1b = (sxb+syb)/2.0 + math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum tensile stress \n", + "s2b = (sxb+syb)/2.0 - math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum compressive stress \n", + "tmaxb = math.sqrt(((sxb-syb)/2.0)**2 + (txyb)**2) # Maximum in plane shear stress \n", + "print \"Maximum tensile stress at point B is\", s1b, \"Pa\"\n", + "print \"Maximum compressive stress at point B is\", s2b, \"Pa\"\n", + "print \"Maximum in plane shear stress at point B is\", tmaxb, \"Pa\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress at point A is 55613361.197 Pa\n", + "Maximum compressive stress at point A is -700178.455718 Pa\n", + "Maximum in plane shear stress at point A is 28156769.8263 Pa\n", + "Maximum tensile stress at point B is 6999035.59641 Pa\n", + "Maximum compressive stress at point B is -6999035.59641 Pa\n", + "Maximum in plane shear stress at point B is 6999035.59641 Pa\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 8.7, page no. 578" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "import math \n", + "\n", + "#initialisation\n", + "b = 6 # Outer dimension of the pole in inch\n", + "t = 0.5 # thickness of the pole\n", + "P1 = 20*(6.75*24) # Load acting at the midpoint of the platform\n", + "d = 9 # Distance between longitudinal axis of the post and midpoint of platform\n", + "P2 = 800 # Load in lb\n", + "h = 52 # Distance between base and point of action of P2\n", + "\n", + "#calculation\n", + "M1 = P1*d # Moment due to P1\n", + "M2 = P2*h # Moment due to P2\n", + "A = b**2 - (b-2*t)**2 # Area of the cross section\n", + "sp1 = P1/A # Comoressive stress due to P1 at A and B\n", + "I = (1.0/12.0)*(b**4 - (b-2*t)**4) # Moment of inertia of the cross section\n", + "sm1 = (M1*b)/(2*I) # Comoressive stress due to M1 at A and B\n", + "Aweb = (2*t)*(b-(2*t)) # Area of the web\n", + "tp2 = P2/Aweb # Shear stress at point B by lpad P2\n", + "sm2 = (M2*b)/(2*I) # Comoressive stress due to M2 at A \n", + "sa = sp1+sm1+sm2 # Total Compressive stress at point A\n", + "sb = sp1+sm1 # Total compressive at point B \n", + "tb = tp2 # Shear stress at point B\n", + "\n", + "# Principle stresses \n", + "sxa = 0\n", + "sya = -sa\n", + "txya = 0\n", + "sxb = 0\n", + "syb = -sb\n", + "txyb = tp2 \n", + "\n", + "# Stresses at A\n", + "s1a = (sxa+sya)/2 + math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum tensile stress \n", + "s2a = (sxa+sya)/2 - math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum compressive stress \n", + "tmaxa = math.sqrt(((sxa-sya)/2)**2 + (txya)**2) # Maximum in plane shear stress\n", + "print \"Maximum tensile stress at point A is\", s1a,\"Psi\"\n", + "print \"Maximum compressive stress at point A is\", round(s2a,2), \"Psi\"\n", + "print \"Maximum in plane shear stress at point A is\", round(tmaxa,2), \"Psi\"\n", + "\n", + "# Stress at B \n", + "s1b = (sxb+syb)/2 + math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum tensile stress \n", + "s2b = (sxb+syb)/2 - math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum compressive stress \n", + "tmaxb = math.sqrt(((sxb-syb)/2)**2 + (txyb)**2) # Maximum in plane shear stress\n", + "print \"Maximum tensile stress at point B is\", round(s1b,2), \"Psi\"\n", + "print \"Maximum compressive stress at point B is\", round(s2b,2), \"Psi\"\n", + "print \"Maximum in plane shear stress at point B is\", round(tmaxb,2), \"Psi\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Maximum tensile stress at point A is 0.0 Psi\n", + "Maximum compressive stress at point A is -4090.91 Psi\n", + "Maximum in plane shear stress at point A is 2045.45 Psi\n", + "Maximum tensile stress at point B is 13.67 Psi\n", + "Maximum compressive stress at point B is -1872.69 Psi\n", + "Maximum in plane shear stress at point B is 943.18 Psi\n" + ] + } + ], + "prompt_number": 5 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/chapter9.ipynb b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter9.ipynb new file mode 100755 index 00000000..ee48f481 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/chapter9.ipynb @@ -0,0 +1,123 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:688a5ddb04d5076a46d59fbb5d6dc8d907dec2ec735786354cef92d935d1ccd0" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 9: Deflections of beams" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.17, Page number 654" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "\n", + "#Variable declaration\n", + "P = 5 #load(k)\n", + "L = 8*12 #beam length(in)\n", + "E = 30*10**6 #modulus of elasticity(psi)\n", + "I = 75.0 #moment of inertia(in^4)\n", + "q = 1.5*(1./12.)#load intensity(k/in)\n", + "\n", + "#Calculations\n", + "Sc = ((P*L**3)/(48*E*I))+((5.*q*L**4)/(384.*E*I))\n", + "\n", + "#Result\n", + "print \"The download deflection is\",Sc,\"in(Calculation mistake in textbook)\"\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The download deflection is 0.0001024 in(Calculation mistake in textbook)\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 9.23, Page number 682" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\n", + "#Variable declaration\n", + "E = 30*10**6*144 #modulus of elasticity(lb/ft^2)\n", + "I = 25.92/12 #moment of inertia(ft^4)\n", + "x = 12 #ft\n", + "\n", + "#Calculations\n", + "'''The equivalent load q(x) for the beam is given by the following equation\n", + "q(x) = -700(x)^-1+800(x-6)^0 - 800(x-12)^0 - 5600(x-12)^-1 + 1500(x-16)^-1\n", + "Since the equation equals zero at all points except where x=16, we omit the last term\n", + "Taking 4th order integration, we obtain the following expression,'''\n", + "C1 = (-((350*x**3)/3)+((100*(x-6)**4)/3)-((100*(x-12)**4)/3)+((2800*(x-12)**3)/3))/12\n", + "print \"C1 =\",C1\n", + "\n", + "#For Deflection at point C\n", + "x = 6\n", + "Elv = ((350*x**3)/3)-(100*((x-6)**4)/3)+(100*((x-12)**4)/3)+(2800*((x-12)**3)/3)+(C1*x)\n", + "Sc = Elv/(E*I) #ft\n", + "\n", + "#For deflection at point D\n", + "x = 16\n", + "Elv_16 = ((350*x**3)/3)-(100*((x-6)**4)/3)+(100*((x-12)**4)/3)+(2800*((x-12)**3)/3)+(C1*x)\n", + "Sd = Elv_16/(E*I)\n", + "\n", + "#Results\n", + "print \"Deflection at point C is\",round((-Sc*12),8),\"in\"\n", + "print \"Deflection at point D is\",round((Sd*12),8),\"in\"\n", + "\n", + "print \"\\n Please note that there is a calculation mistake in textbook while calculating Elv. Hence, the difference in solution\"\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "C1 = -13200\n", + "Deflection at point C is 0.00027315 in\n", + "Deflection at point D is 2.06e-06 in\n", + "\n", + " Please note that there is a calculation mistake in textbook while calculating Elv. Hence, the difference in solution\n" + ] + } + ], + "prompt_number": 19 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/10_5.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/10_5.png Binary files differnew file mode 100755 index 00000000..2e50015b --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/10_5.png diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/14_5.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/14_5.png Binary files differnew file mode 100755 index 00000000..5fdc4b38 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/14_5.png diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/1_1.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/1_1.png Binary files differnew file mode 100755 index 00000000..6b09b98f --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/1_1.png diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen1.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen1.png Binary files differnew file mode 100755 index 00000000..2e923aea --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen1.png diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen2.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen2.png Binary files differnew file mode 100755 index 00000000..eb6ad8e1 --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen2.png diff --git a/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen3.png b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen3.png Binary files differnew file mode 100755 index 00000000..ff023b0d --- /dev/null +++ b/Mechanics_of_Materials_by_R._C._Hibbeler/screenshots/screen3.png |