diff options
Diffstat (limited to 'Testing_the_interface')
44 files changed, 0 insertions, 16216 deletions
diff --git a/Testing_the_interface/README.txt b/Testing_the_interface/README.txt deleted file mode 100755 index 110efe0b..00000000 --- a/Testing_the_interface/README.txt +++ /dev/null @@ -1,10 +0,0 @@ -Contributed By: Test User -Course: mca -College/Institute/Organization: Indian Institute of Technology -Department/Designation: Aerospace Engineering -Book Title: Testing the interface -Author: Myself -Publisher: Don't Know -Year of publication: 2020 -Isbn: 2233445566 -Edition: 2nd
\ No newline at end of file diff --git a/Testing_the_interface/chapter1.ipynb b/Testing_the_interface/chapter1.ipynb deleted file mode 100755 index cf45a409..00000000 --- a/Testing_the_interface/chapter1.ipynb +++ /dev/null @@ -1,423 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Find compressive stress and strain in the post\n", - "\"\"\"\n", - "\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", - "formula for maximum stress & calculating maximum stress\n", - "\"\"\"\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", - "calculating change in lenght of pipe, strain in pipe, increase in diameter & increase in wall thickness\n", - "\"\"\"\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", - "calculate average shear stress and compressive stress\n", - "\"\"\"\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", - "calculate bearing stress, shear stress in pin,\n", - "bearing stress between pin and gussets,\n", - "shear stress in anchor bolts\n", - "\"\"\"\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", - "determine stress at various parts\n", - "\"\"\"\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", - "calculating the cross sectional area \n", - "\"\"\"\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/Testing_the_interface/chapter11.ipynb b/Testing_the_interface/chapter11.ipynb deleted file mode 100755 index b7650778..00000000 --- a/Testing_the_interface/chapter11.ipynb +++ /dev/null @@ -1,516 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "allowable load Pallow using a factor of safety & with respect to Euler buckling of the column\n", - "\"\"\"\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", - "calculate minimum required thickness t of the columns\n", - "\"\"\"\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", - "evaluate the longest permissible length of the bar\n", - "\"\"\"\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", - "maximum compressive stress in the column & the factor of safety\n", - "\"\"\"\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", - "the allowable axial load & max. permissible length\n", - "\"\"\"\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": [ - "196.0\n", - "The minimum required thickness of the steel pipe is 8.9 mm\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11.7, page no. 808" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "max. require outer diameter\n", - "\"\"\"\n", - "\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", - "calculate various quantities\n", - "\"\"\"\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/Testing_the_interface/chapter11_1.ipynb b/Testing_the_interface/chapter11_1.ipynb deleted file mode 100755 index b7650778..00000000 --- a/Testing_the_interface/chapter11_1.ipynb +++ /dev/null @@ -1,516 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "allowable load Pallow using a factor of safety & with respect to Euler buckling of the column\n", - "\"\"\"\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", - "calculate minimum required thickness t of the columns\n", - "\"\"\"\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", - "evaluate the longest permissible length of the bar\n", - "\"\"\"\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", - "maximum compressive stress in the column & the factor of safety\n", - "\"\"\"\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", - "the allowable axial load & max. permissible length\n", - "\"\"\"\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": [ - "196.0\n", - "The minimum required thickness of the steel pipe is 8.9 mm\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11.7, page no. 808" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "max. require outer diameter\n", - "\"\"\"\n", - "\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", - "calculate various quantities\n", - "\"\"\"\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/Testing_the_interface/chapter11_2.ipynb b/Testing_the_interface/chapter11_2.ipynb deleted file mode 100755 index b7650778..00000000 --- a/Testing_the_interface/chapter11_2.ipynb +++ /dev/null @@ -1,516 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "allowable load Pallow using a factor of safety & with respect to Euler buckling of the column\n", - "\"\"\"\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", - "calculate minimum required thickness t of the columns\n", - "\"\"\"\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", - "evaluate the longest permissible length of the bar\n", - "\"\"\"\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", - "maximum compressive stress in the column & the factor of safety\n", - "\"\"\"\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", - "the allowable axial load & max. permissible length\n", - "\"\"\"\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": [ - "196.0\n", - "The minimum required thickness of the steel pipe is 8.9 mm\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11.7, page no. 808" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "max. require outer diameter\n", - "\"\"\"\n", - "\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", - "calculate various quantities\n", - "\"\"\"\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/Testing_the_interface/chapter11_3.ipynb b/Testing_the_interface/chapter11_3.ipynb deleted file mode 100755 index b7650778..00000000 --- a/Testing_the_interface/chapter11_3.ipynb +++ /dev/null @@ -1,516 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "allowable load Pallow using a factor of safety & with respect to Euler buckling of the column\n", - "\"\"\"\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", - "calculate minimum required thickness t of the columns\n", - "\"\"\"\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", - "evaluate the longest permissible length of the bar\n", - "\"\"\"\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", - "maximum compressive stress in the column & the factor of safety\n", - "\"\"\"\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", - "the allowable axial load & max. permissible length\n", - "\"\"\"\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": [ - "196.0\n", - "The minimum required thickness of the steel pipe is 8.9 mm\n" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 11.7, page no. 808" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "max. require outer diameter\n", - "\"\"\"\n", - "\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", - "calculate various quantities\n", - "\"\"\"\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/Testing_the_interface/chapter1_1.ipynb b/Testing_the_interface/chapter1_1.ipynb deleted file mode 100755 index cf45a409..00000000 --- a/Testing_the_interface/chapter1_1.ipynb +++ /dev/null @@ -1,423 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Find compressive stress and strain in the post\n", - "\"\"\"\n", - "\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", - "formula for maximum stress & calculating maximum stress\n", - "\"\"\"\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", - "calculating change in lenght of pipe, strain in pipe, increase in diameter & increase in wall thickness\n", - "\"\"\"\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", - "calculate average shear stress and compressive stress\n", - "\"\"\"\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", - "calculate bearing stress, shear stress in pin,\n", - "bearing stress between pin and gussets,\n", - "shear stress in anchor bolts\n", - "\"\"\"\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", - "determine stress at various parts\n", - "\"\"\"\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", - "calculating the cross sectional area \n", - "\"\"\"\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/Testing_the_interface/chapter1_2.ipynb b/Testing_the_interface/chapter1_2.ipynb deleted file mode 100755 index cf45a409..00000000 --- a/Testing_the_interface/chapter1_2.ipynb +++ /dev/null @@ -1,423 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Find compressive stress and strain in the post\n", - "\"\"\"\n", - "\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", - "formula for maximum stress & calculating maximum stress\n", - "\"\"\"\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", - "calculating change in lenght of pipe, strain in pipe, increase in diameter & increase in wall thickness\n", - "\"\"\"\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", - "calculate average shear stress and compressive stress\n", - "\"\"\"\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", - "calculate bearing stress, shear stress in pin,\n", - "bearing stress between pin and gussets,\n", - "shear stress in anchor bolts\n", - "\"\"\"\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", - "determine stress at various parts\n", - "\"\"\"\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", - "calculating the cross sectional area \n", - "\"\"\"\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/Testing_the_interface/chapter1_3.ipynb b/Testing_the_interface/chapter1_3.ipynb deleted file mode 100755 index cf45a409..00000000 --- a/Testing_the_interface/chapter1_3.ipynb +++ /dev/null @@ -1,423 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Find compressive stress and strain in the post\n", - "\"\"\"\n", - "\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", - "formula for maximum stress & calculating maximum stress\n", - "\"\"\"\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", - "calculating change in lenght of pipe, strain in pipe, increase in diameter & increase in wall thickness\n", - "\"\"\"\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", - "calculate average shear stress and compressive stress\n", - "\"\"\"\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", - "calculate bearing stress, shear stress in pin,\n", - "bearing stress between pin and gussets,\n", - "shear stress in anchor bolts\n", - "\"\"\"\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", - "determine stress at various parts\n", - "\"\"\"\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", - "calculating the cross sectional area \n", - "\"\"\"\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/Testing_the_interface/chapter2.ipynb b/Testing_the_interface/chapter2.ipynb deleted file mode 100755 index c4e1ad0f..00000000 --- a/Testing_the_interface/chapter2.ipynb +++ /dev/null @@ -1,501 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating the number of revolutions for the nut\n", - "\"\"\"\n", - "\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", - "finding maximum allowable load\n", - "\"\"\"\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", - "calculation if vertical displacement\n", - "\"\"\"\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", - "obtaing formula and calculating allowable load\n", - "\"\"\"\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", - "calculate stress acting on inclined section &\n", - "the complete state of stress\n", - "\"\"\"\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", - "Calculate the vertical displacement of the joint\n", - "\"\"\"\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", - "Comparison of energy-absorbing capacity with different type of bolts\n", - "\"\"\"\n", - "\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", - "Determine the maximum elongation and tensile stress\n", - "\"\"\"\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", - "determine displacement at the lower end of bar in various conditions\n", - "\"\"\"\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/Testing_the_interface/chapter2_1.ipynb b/Testing_the_interface/chapter2_1.ipynb deleted file mode 100755 index c4e1ad0f..00000000 --- a/Testing_the_interface/chapter2_1.ipynb +++ /dev/null @@ -1,501 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating the number of revolutions for the nut\n", - "\"\"\"\n", - "\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", - "finding maximum allowable load\n", - "\"\"\"\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", - "calculation if vertical displacement\n", - "\"\"\"\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", - "obtaing formula and calculating allowable load\n", - "\"\"\"\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", - "calculate stress acting on inclined section &\n", - "the complete state of stress\n", - "\"\"\"\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", - "Calculate the vertical displacement of the joint\n", - "\"\"\"\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", - "Comparison of energy-absorbing capacity with different type of bolts\n", - "\"\"\"\n", - "\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", - "Determine the maximum elongation and tensile stress\n", - "\"\"\"\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", - "determine displacement at the lower end of bar in various conditions\n", - "\"\"\"\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/Testing_the_interface/chapter2_2.ipynb b/Testing_the_interface/chapter2_2.ipynb deleted file mode 100755 index c4e1ad0f..00000000 --- a/Testing_the_interface/chapter2_2.ipynb +++ /dev/null @@ -1,501 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating the number of revolutions for the nut\n", - "\"\"\"\n", - "\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", - "finding maximum allowable load\n", - "\"\"\"\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", - "calculation if vertical displacement\n", - "\"\"\"\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", - "obtaing formula and calculating allowable load\n", - "\"\"\"\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", - "calculate stress acting on inclined section &\n", - "the complete state of stress\n", - "\"\"\"\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", - "Calculate the vertical displacement of the joint\n", - "\"\"\"\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", - "Comparison of energy-absorbing capacity with different type of bolts\n", - "\"\"\"\n", - "\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", - "Determine the maximum elongation and tensile stress\n", - "\"\"\"\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", - "determine displacement at the lower end of bar in various conditions\n", - "\"\"\"\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/Testing_the_interface/chapter2_3.ipynb b/Testing_the_interface/chapter2_3.ipynb deleted file mode 100755 index c4e1ad0f..00000000 --- a/Testing_the_interface/chapter2_3.ipynb +++ /dev/null @@ -1,501 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating the number of revolutions for the nut\n", - "\"\"\"\n", - "\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", - "finding maximum allowable load\n", - "\"\"\"\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", - "calculation if vertical displacement\n", - "\"\"\"\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", - "obtaing formula and calculating allowable load\n", - "\"\"\"\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", - "calculate stress acting on inclined section &\n", - "the complete state of stress\n", - "\"\"\"\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", - "Calculate the vertical displacement of the joint\n", - "\"\"\"\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", - "Comparison of energy-absorbing capacity with different type of bolts\n", - "\"\"\"\n", - "\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", - "Determine the maximum elongation and tensile stress\n", - "\"\"\"\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", - "determine displacement at the lower end of bar in various conditions\n", - "\"\"\"\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/Testing_the_interface/chapter3.ipynb b/Testing_the_interface/chapter3.ipynb deleted file mode 100755 index 8a396811..00000000 --- a/Testing_the_interface/chapter3.ipynb +++ /dev/null @@ -1,495 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating maximum shear stress & torque\n", - "\"\"\"\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", - "Calculation of required diameter, outer diameter & ratio of diameteres\n", - "\"\"\"\n", - "\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.4, page no. 205" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "determining maximum shear stress in various parts of the shaft\n", - "\"\"\"\n", - "\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", - "Calculate maximum shear, tensile & compressive stress in the tube.\n", - "Also, calculate coressponding strains in the tube\n", - "\"\"\"\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", - "Required diameters of the shaft at various rpm\n", - "\"\"\"\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", - "Find the maximum shear stress & angle of twist in the shaft\n", - "\"\"\"\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", - "for various loading cases, obtain formulae and calculate strain energy\n", - "\"\"\"\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", - "calculate the strain energy for hollow shaft\n", - "\"\"\"\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", - "Ratio of Shear stress and angle of twist for circular & square tube\n", - "\"\"\"\n", - "import math\n", - "\n", - "r_s = (math.pi/4) #Ratio of shear stress\n", - "print \"Ratio of shear stress is \", round(r_s,2)\n", - "r_t = (math.pi**2/16) #Ratio of angle of twit\n", - "print \"Ratio of angle of twist is \", round(r_t, 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": 4 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter3_1.ipynb b/Testing_the_interface/chapter3_1.ipynb deleted file mode 100755 index 8a396811..00000000 --- a/Testing_the_interface/chapter3_1.ipynb +++ /dev/null @@ -1,495 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating maximum shear stress & torque\n", - "\"\"\"\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", - "Calculation of required diameter, outer diameter & ratio of diameteres\n", - "\"\"\"\n", - "\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.4, page no. 205" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "determining maximum shear stress in various parts of the shaft\n", - "\"\"\"\n", - "\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", - "Calculate maximum shear, tensile & compressive stress in the tube.\n", - "Also, calculate coressponding strains in the tube\n", - "\"\"\"\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", - "Required diameters of the shaft at various rpm\n", - "\"\"\"\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", - "Find the maximum shear stress & angle of twist in the shaft\n", - "\"\"\"\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", - "for various loading cases, obtain formulae and calculate strain energy\n", - "\"\"\"\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", - "calculate the strain energy for hollow shaft\n", - "\"\"\"\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", - "Ratio of Shear stress and angle of twist for circular & square tube\n", - "\"\"\"\n", - "import math\n", - "\n", - "r_s = (math.pi/4) #Ratio of shear stress\n", - "print \"Ratio of shear stress is \", round(r_s,2)\n", - "r_t = (math.pi**2/16) #Ratio of angle of twit\n", - "print \"Ratio of angle of twist is \", round(r_t, 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": 4 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter3_2.ipynb b/Testing_the_interface/chapter3_2.ipynb deleted file mode 100755 index 8a396811..00000000 --- a/Testing_the_interface/chapter3_2.ipynb +++ /dev/null @@ -1,495 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating maximum shear stress & torque\n", - "\"\"\"\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", - "Calculation of required diameter, outer diameter & ratio of diameteres\n", - "\"\"\"\n", - "\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.4, page no. 205" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "determining maximum shear stress in various parts of the shaft\n", - "\"\"\"\n", - "\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", - "Calculate maximum shear, tensile & compressive stress in the tube.\n", - "Also, calculate coressponding strains in the tube\n", - "\"\"\"\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", - "Required diameters of the shaft at various rpm\n", - "\"\"\"\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", - "Find the maximum shear stress & angle of twist in the shaft\n", - "\"\"\"\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", - "for various loading cases, obtain formulae and calculate strain energy\n", - "\"\"\"\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", - "calculate the strain energy for hollow shaft\n", - "\"\"\"\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", - "Ratio of Shear stress and angle of twist for circular & square tube\n", - "\"\"\"\n", - "import math\n", - "\n", - "r_s = (math.pi/4) #Ratio of shear stress\n", - "print \"Ratio of shear stress is \", round(r_s,2)\n", - "r_t = (math.pi**2/16) #Ratio of angle of twit\n", - "print \"Ratio of angle of twist is \", round(r_t, 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": 4 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter3_3.ipynb b/Testing_the_interface/chapter3_3.ipynb deleted file mode 100755 index 8a396811..00000000 --- a/Testing_the_interface/chapter3_3.ipynb +++ /dev/null @@ -1,495 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculating maximum shear stress & torque\n", - "\"\"\"\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", - "Calculation of required diameter, outer diameter & ratio of diameteres\n", - "\"\"\"\n", - "\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.4, page no. 205" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "determining maximum shear stress in various parts of the shaft\n", - "\"\"\"\n", - "\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", - "Calculate maximum shear, tensile & compressive stress in the tube.\n", - "Also, calculate coressponding strains in the tube\n", - "\"\"\"\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", - "Required diameters of the shaft at various rpm\n", - "\"\"\"\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", - "Find the maximum shear stress & angle of twist in the shaft\n", - "\"\"\"\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", - "for various loading cases, obtain formulae and calculate strain energy\n", - "\"\"\"\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", - "calculate the strain energy for hollow shaft\n", - "\"\"\"\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", - "Ratio of Shear stress and angle of twist for circular & square tube\n", - "\"\"\"\n", - "import math\n", - "\n", - "r_s = (math.pi/4) #Ratio of shear stress\n", - "print \"Ratio of shear stress is \", round(r_s,2)\n", - "r_t = (math.pi**2/16) #Ratio of angle of twit\n", - "print \"Ratio of angle of twist is \", round(r_t, 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": 4 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter4.ipynb b/Testing_the_interface/chapter4.ipynb deleted file mode 100755 index e9b7e3e0..00000000 --- a/Testing_the_interface/chapter4.ipynb +++ /dev/null @@ -1,116 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Finding shear force V and bending movement M at cross section D located 115 ft from left-hand behind support\n", - "\"\"\"\n", - "\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", - "Shear force and bending moments\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter4_1.ipynb b/Testing_the_interface/chapter4_1.ipynb deleted file mode 100755 index e9b7e3e0..00000000 --- a/Testing_the_interface/chapter4_1.ipynb +++ /dev/null @@ -1,116 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Finding shear force V and bending movement M at cross section D located 115 ft from left-hand behind support\n", - "\"\"\"\n", - "\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", - "Shear force and bending moments\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter4_2.ipynb b/Testing_the_interface/chapter4_2.ipynb deleted file mode 100755 index e9b7e3e0..00000000 --- a/Testing_the_interface/chapter4_2.ipynb +++ /dev/null @@ -1,116 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Finding shear force V and bending movement M at cross section D located 115 ft from left-hand behind support\n", - "\"\"\"\n", - "\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", - "Shear force and bending moments\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter4_3.ipynb b/Testing_the_interface/chapter4_3.ipynb deleted file mode 100755 index e9b7e3e0..00000000 --- a/Testing_the_interface/chapter4_3.ipynb +++ /dev/null @@ -1,116 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "Finding shear force V and bending movement M at cross section D located 115 ft from left-hand behind support\n", - "\"\"\"\n", - "\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", - "Shear force and bending moments\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter5.ipynb b/Testing_the_interface/chapter5.ipynb deleted file mode 100755 index 9042fcb6..00000000 --- a/Testing_the_interface/chapter5.ipynb +++ /dev/null @@ -1,800 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate radius of curvature, curvature & deflection of beam\n", - "\"\"\"\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", - "Evaluate bending moment & maximum bending stress in the wire\n", - "\"\"\"\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", - "find maximum tensile and compressive stress in the beam\n", - "\"\"\"\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", - "because of uniform load in the beam, calculate maximum tensile & compressive stress\n", - "\"\"\"\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", - "choose a suitable size for the beam\n", - "\"\"\"\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", - "find min. req. diameter of the woodpost & req. outer diameter of aluminum tube\n", - "\"\"\"\n", - "\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", - "evaluate and select a structural steel beam of wide-flange shape to support the loads\n", - "\"\"\"\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,1), \"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": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5.8, page 329" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "find min. req. dimension of the posts\n", - "\"\"\"\n", - "\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", - "find normal & shear stress at point C\n", - "\"\"\"\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", - "calculate max. permissible value\n", - "\"\"\"\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", - "evaluate max. shear stress in the pole & diameter of solid pole\n", - "\"\"\"\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", - "maximum shear stress, minimum shear stress, and total shear force in the web.\n", - "\"\"\"\n", - "\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", - "find shear stress at top of the web\n", - "\"\"\"\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", - "maximum permissible longitudinal spacing of the screws\n", - "\"\"\"\n", - "\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", - "maximum tensile and compressive stress in the beam\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter5_1.ipynb b/Testing_the_interface/chapter5_1.ipynb deleted file mode 100755 index 9042fcb6..00000000 --- a/Testing_the_interface/chapter5_1.ipynb +++ /dev/null @@ -1,800 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate radius of curvature, curvature & deflection of beam\n", - "\"\"\"\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", - "Evaluate bending moment & maximum bending stress in the wire\n", - "\"\"\"\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", - "find maximum tensile and compressive stress in the beam\n", - "\"\"\"\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", - "because of uniform load in the beam, calculate maximum tensile & compressive stress\n", - "\"\"\"\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", - "choose a suitable size for the beam\n", - "\"\"\"\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", - "find min. req. diameter of the woodpost & req. outer diameter of aluminum tube\n", - "\"\"\"\n", - "\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", - "evaluate and select a structural steel beam of wide-flange shape to support the loads\n", - "\"\"\"\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,1), \"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": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5.8, page 329" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "find min. req. dimension of the posts\n", - "\"\"\"\n", - "\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", - "find normal & shear stress at point C\n", - "\"\"\"\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", - "calculate max. permissible value\n", - "\"\"\"\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", - "evaluate max. shear stress in the pole & diameter of solid pole\n", - "\"\"\"\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", - "maximum shear stress, minimum shear stress, and total shear force in the web.\n", - "\"\"\"\n", - "\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", - "find shear stress at top of the web\n", - "\"\"\"\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", - "maximum permissible longitudinal spacing of the screws\n", - "\"\"\"\n", - "\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", - "maximum tensile and compressive stress in the beam\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter5_2.ipynb b/Testing_the_interface/chapter5_2.ipynb deleted file mode 100755 index 9042fcb6..00000000 --- a/Testing_the_interface/chapter5_2.ipynb +++ /dev/null @@ -1,800 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate radius of curvature, curvature & deflection of beam\n", - "\"\"\"\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", - "Evaluate bending moment & maximum bending stress in the wire\n", - "\"\"\"\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", - "find maximum tensile and compressive stress in the beam\n", - "\"\"\"\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", - "because of uniform load in the beam, calculate maximum tensile & compressive stress\n", - "\"\"\"\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", - "choose a suitable size for the beam\n", - "\"\"\"\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", - "find min. req. diameter of the woodpost & req. outer diameter of aluminum tube\n", - "\"\"\"\n", - "\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", - "evaluate and select a structural steel beam of wide-flange shape to support the loads\n", - "\"\"\"\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,1), \"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": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5.8, page 329" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "find min. req. dimension of the posts\n", - "\"\"\"\n", - "\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", - "find normal & shear stress at point C\n", - "\"\"\"\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", - "calculate max. permissible value\n", - "\"\"\"\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", - "evaluate max. shear stress in the pole & diameter of solid pole\n", - "\"\"\"\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", - "maximum shear stress, minimum shear stress, and total shear force in the web.\n", - "\"\"\"\n", - "\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", - "find shear stress at top of the web\n", - "\"\"\"\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", - "maximum permissible longitudinal spacing of the screws\n", - "\"\"\"\n", - "\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", - "maximum tensile and compressive stress in the beam\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter5_3.ipynb b/Testing_the_interface/chapter5_3.ipynb deleted file mode 100755 index 9042fcb6..00000000 --- a/Testing_the_interface/chapter5_3.ipynb +++ /dev/null @@ -1,800 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate radius of curvature, curvature & deflection of beam\n", - "\"\"\"\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", - "Evaluate bending moment & maximum bending stress in the wire\n", - "\"\"\"\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", - "find maximum tensile and compressive stress in the beam\n", - "\"\"\"\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", - "because of uniform load in the beam, calculate maximum tensile & compressive stress\n", - "\"\"\"\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", - "choose a suitable size for the beam\n", - "\"\"\"\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", - "find min. req. diameter of the woodpost & req. outer diameter of aluminum tube\n", - "\"\"\"\n", - "\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", - "evaluate and select a structural steel beam of wide-flange shape to support the loads\n", - "\"\"\"\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,1), \"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": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 5.8, page 329" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "find min. req. dimension of the posts\n", - "\"\"\"\n", - "\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", - "find normal & shear stress at point C\n", - "\"\"\"\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", - "calculate max. permissible value\n", - "\"\"\"\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", - "evaluate max. shear stress in the pole & diameter of solid pole\n", - "\"\"\"\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", - "maximum shear stress, minimum shear stress, and total shear force in the web.\n", - "\"\"\"\n", - "\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", - "find shear stress at top of the web\n", - "\"\"\"\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", - "maximum permissible longitudinal spacing of the screws\n", - "\"\"\"\n", - "\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", - "maximum tensile and compressive stress in the beam\n", - "\"\"\"\n", - "\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/Testing_the_interface/chapter6.ipynb b/Testing_the_interface/chapter6.ipynb deleted file mode 100755 index 344830c9..00000000 --- a/Testing_the_interface/chapter6.ipynb +++ /dev/null @@ -1,444 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "largest tensile and compressive stresses in the wood & the max. and min. tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the faces and the core using: general theory for composite beams and \n", - "approximate theory for sandwich beams\n", - "\"\"\"\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", - "calculate largest tensile & compressive stresses in the wood\n", - "also, the maximum and minimum tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the beam\n", - "\"\"\"\n", - "\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", - "maximum bending stresses in the beam for various conditions\n", - "\"\"\"\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", - "the bending stresses at points A and B\n", - "\"\"\"\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", - "calculate magnitude of the moment M\n", - "\"\"\"\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/Testing_the_interface/chapter6_1.ipynb b/Testing_the_interface/chapter6_1.ipynb deleted file mode 100755 index 344830c9..00000000 --- a/Testing_the_interface/chapter6_1.ipynb +++ /dev/null @@ -1,444 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "largest tensile and compressive stresses in the wood & the max. and min. tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the faces and the core using: general theory for composite beams and \n", - "approximate theory for sandwich beams\n", - "\"\"\"\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", - "calculate largest tensile & compressive stresses in the wood\n", - "also, the maximum and minimum tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the beam\n", - "\"\"\"\n", - "\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", - "maximum bending stresses in the beam for various conditions\n", - "\"\"\"\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", - "the bending stresses at points A and B\n", - "\"\"\"\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", - "calculate magnitude of the moment M\n", - "\"\"\"\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/Testing_the_interface/chapter6_2.ipynb b/Testing_the_interface/chapter6_2.ipynb deleted file mode 100755 index 344830c9..00000000 --- a/Testing_the_interface/chapter6_2.ipynb +++ /dev/null @@ -1,444 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "largest tensile and compressive stresses in the wood & the max. and min. tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the faces and the core using: general theory for composite beams and \n", - "approximate theory for sandwich beams\n", - "\"\"\"\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", - "calculate largest tensile & compressive stresses in the wood\n", - "also, the maximum and minimum tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the beam\n", - "\"\"\"\n", - "\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", - "maximum bending stresses in the beam for various conditions\n", - "\"\"\"\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", - "the bending stresses at points A and B\n", - "\"\"\"\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", - "calculate magnitude of the moment M\n", - "\"\"\"\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/Testing_the_interface/chapter6_3.ipynb b/Testing_the_interface/chapter6_3.ipynb deleted file mode 100755 index 344830c9..00000000 --- a/Testing_the_interface/chapter6_3.ipynb +++ /dev/null @@ -1,444 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "largest tensile and compressive stresses in the wood & the max. and min. tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the faces and the core using: general theory for composite beams and \n", - "approximate theory for sandwich beams\n", - "\"\"\"\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", - "calculate largest tensile & compressive stresses in the wood\n", - "also, the maximum and minimum tensile stresses in the steel\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# 4*6 inch wood beam dimension\n", - "# 4*0.5 inch steel beam dimension\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", - "maximum tensile and compressive stresses in the beam\n", - "\"\"\"\n", - "\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", - "maximum bending stresses in the beam for various conditions\n", - "\"\"\"\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", - "the bending stresses at points A and B\n", - "\"\"\"\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", - "calculate magnitude of the moment M\n", - "\"\"\"\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/Testing_the_interface/chapter7.ipynb b/Testing_the_interface/chapter7.ipynb deleted file mode 100755 index 7c80c103..00000000 --- a/Testing_the_interface/chapter7.ipynb +++ /dev/null @@ -1,465 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate stresses acting on an element inclined at 45\u00b0\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# Let x1, y1 be the transformed direction inclined at 45 deegree to the original\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", - "stresses acting on an element that is oriented at a clockwise 15\u00b0 \n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# Let x1, y1 be the transformed direction inclined at 15 deegree to the original\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", - "Calculate shear stress and principal stress\n", - "\"\"\"\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", - "stresses acting on an element inclined at 30\u00b0 \n", - "\"\"\"\n", - "\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", - "stresses acting on an element, principal stress, max. shear stress\n", - "\"\"\"\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\", sp1, \"psi The maximum direct stress at P1 is \", round(tp1,2), \"degree\"\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\", sp2, \"psi The maximum direct stress at P2 is \", round(tp2,2), \"degree\"\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 16403.1242374 psi The maximum direct stress at P1 is 19.33 degree\n", - "with angle 3596.87576257 psi The maximum direct stress at P2 is 109.33 degree\n", - "with plane incilation of 6403.12423743 psi The Maximum shear stress is -25.67 deegree\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7.6" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "use Mohr\u2019s circle, to calculate various quantities\n", - "\"\"\"\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", - "calculate various quantities\n", - "\"\"\"\n", - "\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\", tp1, \"degree\",\"The Principle stress is \", e1\n", - "print \"with angle\",tp2, \"degree\",\"The Principle stress is \",e2\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 \",tx1y1_tx1y1_,\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.0235212659 degree The Principle stress is 0.000371030818665\n", - "with angle 109.023521266 degree The Principle stress is 7.89691813349e-05\n", - "with angle 64.02 degree The Maximum shear strain is -0.00029206163733\n", - "The average strain is 0.000225\n" - ] - } - ], - "prompt_number": 12 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter7_1.ipynb b/Testing_the_interface/chapter7_1.ipynb deleted file mode 100755 index 7c80c103..00000000 --- a/Testing_the_interface/chapter7_1.ipynb +++ /dev/null @@ -1,465 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "calculate stresses acting on an element inclined at 45\u00b0\n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# Let x1, y1 be the transformed direction inclined at 45 deegree to the original\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", - "stresses acting on an element that is oriented at a clockwise 15\u00b0 \n", - "\"\"\"\n", - "\n", - "import math \n", - "\n", - "#initialisation\n", - "# Let x1, y1 be the transformed direction inclined at 15 deegree to the original\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", - "Calculate shear stress and principal stress\n", - "\"\"\"\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", - "stresses acting on an element inclined at 30\u00b0 \n", - "\"\"\"\n", - "\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", - "stresses acting on an element, principal stress, max. shear stress\n", - "\"\"\"\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\", sp1, \"psi The maximum direct stress at P1 is \", round(tp1,2), \"degree\"\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\", sp2, \"psi The maximum direct stress at P2 is \", round(tp2,2), \"degree\"\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 16403.1242374 psi The maximum direct stress at P1 is 19.33 degree\n", - "with angle 3596.87576257 psi The maximum direct stress at P2 is 109.33 degree\n", - "with plane incilation of 6403.12423743 psi The Maximum shear stress is -25.67 deegree\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 7.6" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "use Mohr\u2019s circle, to calculate various quantities\n", - "\"\"\"\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", - "calculate various quantities\n", - "\"\"\"\n", - "\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\", tp1, \"degree\",\"The Principle stress is \", e1\n", - "print \"with angle\",tp2, \"degree\",\"The Principle stress is \",e2\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 \",tx1y1_tx1y1_,\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.0235212659 degree The Principle stress is 0.000371030818665\n", - "with angle 109.023521266 degree The Principle stress is 7.89691813349e-05\n", - "with angle 64.02 degree The Maximum shear strain is -0.00029206163733\n", - "The average strain is 0.000225\n" - ] - } - ], - "prompt_number": 12 - } - ], - "metadata": {} - } - ] -}
\ No newline at end of file diff --git a/Testing_the_interface/chapter8.ipynb b/Testing_the_interface/chapter8.ipynb deleted file mode 100755 index 2e7289e4..00000000 --- a/Testing_the_interface/chapter8.ipynb +++ /dev/null @@ -1,524 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "finding max. permissible pressures at various conditions\n", - "\"\"\"\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", - "calculating various quantities for cylindrical part of vessel\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at cross section\n", - "\"\"\"\n", - "\n", - "%pylab 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" - ] - }, - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "WARNING: pylab import has clobbered these variables: ['power', 'random', 'fft', 'load', 'save', 'linalg', 'info']\n", - "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nGzaMJk2aMH/+fDIyMnBzc9O/9+zZs9x99900a9aM9u3b8+GHH+r3mZCQwP3338/48ePx9fWlc+fO\n/GajGzQrUVZmg0NUq6ysTN0yaJCiY0eFl5cCtP9FR6tuDz6oBk6erO6YMkXdMmiQujM+vtL7HeEc\nqhIWFqa+/vprdfPNN6uDBw+qkpISFRISok6cOKE0Go06ceKEUkqp5ORk9fvvvyullNq7d68KDAxU\niYmJ+v088MADasKECerixYuqdevWauPGjfrXNBqNSk9PV0opNX78eNW8eXOVkpKiCgoKVL9+/VTb\ntm3Vp59+qsrKytTMmTNV3759jb5XKaUmTJigXnzxRaWUUt98841q0KCB+uc//6lKSkrUkiVLVLNm\nzdTYsWNVXl6e2r9/v2rYsKHKyMgweu5BQUHqhx9+UEoplZ2drVJSUsrtd9asWaqkpERt2rRJ+fj4\nqOzsbKWUUtOmTVP33HOPunLlisrNzVXDhg1TM2bMUEopdenSJfXf//5X5efnq9zcXDVq1Cg1fPhw\n/TH79Omj2rZtqw4cOKBKS0tVcXFxuTGlpaWpNm3aqMzMTKWUUidOnNCff0JCgho3bly57SvuLzs7\nW4WEhKjly5er0tJStXv3btW8eXN18OBBk+f83HPPqSeeeEKVlJSokpIS/TYVXbp0Sfn7+6sVK1ao\n0tJStWrVKhUQEKAuX76sH09ERIQ6cuSIys/PV3Fxceq5554zuq8dO3YoPz8/9fXXXyullDpz5oxK\nS0szel5ZWVlVHjcvL0/5+vqqw4cPK6WUysrKUvv371dKKTV69Gg1d+5cpZRShYWF6scffzQ6lvff\nf18NGzZM5efnq7KyMpWSkqKuXr2qlFJq+PDh6oknnlDXr19X58+fV7fffrtavHixUkqp//znPyo4\nOFjt2rVLKaXU0aNH9f9mwsLC1Pbt2/XHOH78uNJoNKq0tFQppVTv3r3VU089pQoLC1Vqaqpq0aKF\nSkpKUkopNWvWLOXt7a02b96sysrK1IwZM1SPHj2Mjr2q+cVS8069mOSVUuqr7dtVu4kTFQkJ+sne\no2VLFXjPPeWe8w4KUl8Z/GCVqv4cwDL/1YVukn/llVfUjBkz1ObNm9XAgQNVSUlJuUm+oqlTp6q/\n/e1v+sfZ2dkqNDRUdenSRT3xxBPltjWcqCdMmKAee+wx/Wtvv/22ioqK0j/eu3ev8vf3N/pe3ftn\nzpyplNJOxg0bNlRlZWVKKaWuXr2qNBqN2rlzp377W2+9tdz/jAyFhoaqxYsXq5ycnHLP6/ar+8eo\nlFItW7ZUO3bsUGVlZapRo0blxvTTTz+pm266yegxdu/erQICAvSP4+Li1KxZs4xuq5RSR44cUS1b\ntlRff/21KioqKvfarFmz1IMPPljuuYr7W716terdu3e5bR577DE1e/Zsk+f80ksvqXvuuUcdPXq0\nyrEppdQnn3yiYmNjyz33pz/9SS1fvlw/njlz5uhfe/fdd9Vdd91ldF+PPfaY+vvf/270tYrnZeq4\n165dU/7+/mrdunXq+vXr5bZ56KGH1GOPPaZOnz5t8ryWLl2qevbsqfbu3Vvu+aysLOXl5aXy8/P1\nz3322Wf6C5GBAweqt956y+g+TU3yJ0+eVO7u7iovL0//+owZM9SECROUUtqf9YABA/Sv6S5YjLH2\nJO+ScY0xQ/r1462xY4m/coU7Bgzglv798VKKc4cPm53TW2qaryuNRsO4ceNYuXKl0agGYMeOHfTt\n25eWLVvi7+/P4sWLy/0Z7ufnx3333cfvv//OM888Y/J4LVu21H/t7e1d7nHDhg3Jy8ur8dibNWum\n/+ygYcOGAAQGBpbb37Vr14y+d926dWzatImwsDDi4uL45Zdfyu3Xze2PX28fHx/y8vK4cOEC169f\n59ZbbyUgIICAgAAGDRrExYsXAe2axY8//jhhYWH4+fnRp08fcnJyyn0/27RpU+X5REREsHDhQhIS\nEggMDGTMmDFkZmaa/B4Y7u/EiRPs2LFDP7aAgAA+++wzzt3ovFrVOU+fPp2IiAgGDhxIeHg4r732\nmtFjnT17ltDQ0HLPtW3blrNnz+ofBxk0rDH18zx9+jTh4eE1Oi9Tx/Xx8WHNmjW8//77tG7dmqFD\nh3Lo0CEA/vWvf6GU4vbbb6dz584sW7bM6LHGjRtHfHw8o0ePJjg4mGeffZaSkhJOnDhBcXExrVq1\n0n8/n3jiCS5cuFCjc6jK2bNnadq0KY0aNdI/FxoaWi7aM/w99vHxoaCgoFxMZCv1ZpIH7US/ZeFC\nkhcu5NbAQPKzs/WTuyFnzOlDQ0Np164dmzdvZsSIEZVeHzt2LMOHD+f06dNkZ2fzxBNPlPuFS01N\nZdmyZYwdO5bJkydbbFw+Pj5cNyhlzczMtNgHwrfddhuJiYlcuHCB4cOHc//991f7nubNm9OwYUMO\n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\n", - "text": [ - "<matplotlib.figure.Figure at 0x4171710>" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8.4, page no. 570" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "maximum tensile stress, maximum compressive stress, and maximum shear stress in the shaft.\n", - "\"\"\"\n", - "\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", - "calculate maximum allowable internal pressure\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at points & at the base of the post\n", - "\"\"\"\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/Testing_the_interface/chapter8_1.ipynb b/Testing_the_interface/chapter8_1.ipynb deleted file mode 100755 index 2e7289e4..00000000 --- a/Testing_the_interface/chapter8_1.ipynb +++ /dev/null @@ -1,524 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "finding max. permissible pressures at various conditions\n", - "\"\"\"\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", - "calculating various quantities for cylindrical part of vessel\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at cross section\n", - "\"\"\"\n", - "\n", - "%pylab 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" - ] - }, - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "WARNING: pylab import has clobbered these variables: ['power', 'random', 'fft', 'load', 'save', 'linalg', 'info']\n", - "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nGzaMJk2aMH/+fDIyMnBzc9O/9+zZs9x99900a9aM9u3b8+GHH+r3mZCQwP3338/48ePx9fWlc+fO\n/GajGzQrUVZmg0NUq6ysTN0yaJCiY0eFl5cCtP9FR6tuDz6oBk6erO6YMkXdMmiQujM+vtL7HeEc\nqhIWFqa+/vprdfPNN6uDBw+qkpISFRISok6cOKE0Go06ceKEUkqp5ORk9fvvvyullNq7d68KDAxU\niYmJ+v088MADasKECerixYuqdevWauPGjfrXNBqNSk9PV0opNX78eNW8eXOVkpKiCgoKVL9+/VTb\ntm3Vp59+qsrKytTMmTNV3759jb5XKaUmTJigXnzxRaWUUt98841q0KCB+uc//6lKSkrUkiVLVLNm\nzdTYsWNVXl6e2r9/v2rYsKHKyMgweu5BQUHqhx9+UEoplZ2drVJSUsrtd9asWaqkpERt2rRJ+fj4\nqOzsbKWUUtOmTVP33HOPunLlisrNzVXDhg1TM2bMUEopdenSJfXf//5X5efnq9zcXDVq1Cg1fPhw\n/TH79Omj2rZtqw4cOKBKS0tVcXFxuTGlpaWpNm3aqMzMTKWUUidOnNCff0JCgho3bly57SvuLzs7\nW4WEhKjly5er0tJStXv3btW8eXN18OBBk+f83HPPqSeeeEKVlJSokpIS/TYVXbp0Sfn7+6sVK1ao\n0tJStWrVKhUQEKAuX76sH09ERIQ6cuSIys/PV3Fxceq5554zuq8dO3YoPz8/9fXXXyullDpz5oxK\nS0szel5ZWVlVHjcvL0/5+vqqw4cPK6WUysrKUvv371dKKTV69Gg1d+5cpZRShYWF6scffzQ6lvff\nf18NGzZM5efnq7KyMpWSkqKuXr2qlFJq+PDh6oknnlDXr19X58+fV7fffrtavHixUkqp//znPyo4\nOFjt2rVLKaXU0aNH9f9mwsLC1Pbt2/XHOH78uNJoNKq0tFQppVTv3r3VU089pQoLC1Vqaqpq0aKF\nSkpKUkopNWvWLOXt7a02b96sysrK1IwZM1SPHj2Mjr2q+cVS8069mOSVUuqr7dtVu4kTFQkJ+sne\no2VLFXjPPeWe8w4KUl8Z/GCVqv4cwDL/1YVukn/llVfUjBkz1ObNm9XAgQNVSUlJuUm+oqlTp6q/\n/e1v+sfZ2dkqNDRUdenSRT3xxBPltjWcqCdMmKAee+wx/Wtvv/22ioqK0j/eu3ev8vf3N/pe3ftn\nzpyplNJOxg0bNlRlZWVKKaWuXr2qNBqN2rlzp377W2+9tdz/jAyFhoaqxYsXq5ycnHLP6/ar+8eo\nlFItW7ZUO3bsUGVlZapRo0blxvTTTz+pm266yegxdu/erQICAvSP4+Li1KxZs4xuq5RSR44cUS1b\ntlRff/21KioqKvfarFmz1IMPPljuuYr7W716terdu3e5bR577DE1e/Zsk+f80ksvqXvuuUcdPXq0\nyrEppdQnn3yiYmNjyz33pz/9SS1fvlw/njlz5uhfe/fdd9Vdd91ldF+PPfaY+vvf/270tYrnZeq4\n165dU/7+/mrdunXq+vXr5bZ56KGH1GOPPaZOnz5t8ryWLl2qevbsqfbu3Vvu+aysLOXl5aXy8/P1\nz3322Wf6C5GBAweqt956y+g+TU3yJ0+eVO7u7iovL0//+owZM9SECROUUtqf9YABA/Sv6S5YjLH2\nJO+ScY0xQ/r1462xY4m/coU7Bgzglv798VKKc4cPm53TW2qaryuNRsO4ceNYuXKl0agGYMeOHfTt\n25eWLVvi7+/P4sWLy/0Z7ufnx3333cfvv//OM888Y/J4LVu21H/t7e1d7nHDhg3Jy8ur8dibNWum\n/+ygYcOGAAQGBpbb37Vr14y+d926dWzatImwsDDi4uL45Zdfyu3Xze2PX28fHx/y8vK4cOEC169f\n59ZbbyUgIICAgAAGDRrExYsXAe2axY8//jhhYWH4+fnRp08fcnJyyn0/27RpU+X5REREsHDhQhIS\nEggMDGTMmDFkZmaa/B4Y7u/EiRPs2LFDP7aAgAA+++wzzt3ovFrVOU+fPp2IiAgGDhxIeHg4r732\nmtFjnT17ltDQ0HLPtW3blrNnz+ofBxk0rDH18zx9+jTh4eE1Oi9Tx/Xx8WHNmjW8//77tG7dmqFD\nh3Lo0CEA/vWvf6GU4vbbb6dz584sW7bM6LHGjRtHfHw8o0ePJjg4mGeffZaSkhJOnDhBcXExrVq1\n0n8/n3jiCS5cuFCjc6jK2bNnadq0KY0aNdI/FxoaWi7aM/w99vHxoaCgoFxMZCv1ZpIH7US/ZeFC\nkhcu5NbAQPKzs/WTuyFnzOlDQ0Np164dmzdvZsSIEZVeHzt2LMOHD+f06dNkZ2fzxBNPlPuFS01N\nZdmyZYwdO5bJkydbbFw+Pj5cNyhlzczMtNgHwrfddhuJiYlcuHCB4cOHc//991f7nubNm9OwYUMO\n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\n", - "text": [ - "<matplotlib.figure.Figure at 0x4171710>" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8.4, page no. 570" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "maximum tensile stress, maximum compressive stress, and maximum shear stress in the shaft.\n", - "\"\"\"\n", - "\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", - "calculate maximum allowable internal pressure\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at points & at the base of the post\n", - "\"\"\"\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/Testing_the_interface/chapter8_2.ipynb b/Testing_the_interface/chapter8_2.ipynb deleted file mode 100755 index 2e7289e4..00000000 --- a/Testing_the_interface/chapter8_2.ipynb +++ /dev/null @@ -1,524 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "finding max. permissible pressures at various conditions\n", - "\"\"\"\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", - "calculating various quantities for cylindrical part of vessel\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at cross section\n", - "\"\"\"\n", - "\n", - "%pylab 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" - ] - }, - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "WARNING: pylab import has clobbered these variables: ['power', 'random', 'fft', 'load', 'save', 'linalg', 'info']\n", - "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nGzaMJk2aMH/+fDIyMnBzc9O/9+zZs9x99900a9aM9u3b8+GHH+r3mZCQwP3338/48ePx9fWlc+fO\n/GajGzQrUVZmg0NUq6ysTN0yaJCiY0eFl5cCtP9FR6tuDz6oBk6erO6YMkXdMmiQujM+vtL7HeEc\nqhIWFqa+/vprdfPNN6uDBw+qkpISFRISok6cOKE0Go06ceKEUkqp5ORk9fvvvyullNq7d68KDAxU\niYmJ+v088MADasKECerixYuqdevWauPGjfrXNBqNSk9PV0opNX78eNW8eXOVkpKiCgoKVL9+/VTb\ntm3Vp59+qsrKytTMmTNV3759jb5XKaUmTJigXnzxRaWUUt98841q0KCB+uc//6lKSkrUkiVLVLNm\nzdTYsWNVXl6e2r9/v2rYsKHKyMgweu5BQUHqhx9+UEoplZ2drVJSUsrtd9asWaqkpERt2rRJ+fj4\nqOzsbKWUUtOmTVP33HOPunLlisrNzVXDhg1TM2bMUEopdenSJfXf//5X5efnq9zcXDVq1Cg1fPhw\n/TH79Omj2rZtqw4cOKBKS0tVcXFxuTGlpaWpNm3aqMzMTKWUUidOnNCff0JCgho3bly57SvuLzs7\nW4WEhKjly5er0tJStXv3btW8eXN18OBBk+f83HPPqSeeeEKVlJSokpIS/TYVXbp0Sfn7+6sVK1ao\n0tJStWrVKhUQEKAuX76sH09ERIQ6cuSIys/PV3Fxceq5554zuq8dO3YoPz8/9fXXXyullDpz5oxK\nS0szel5ZWVlVHjcvL0/5+vqqw4cPK6WUysrKUvv371dKKTV69Gg1d+5cpZRShYWF6scffzQ6lvff\nf18NGzZM5efnq7KyMpWSkqKuXr2qlFJq+PDh6oknnlDXr19X58+fV7fffrtavHixUkqp//znPyo4\nOFjt2rVLKaXU0aNH9f9mwsLC1Pbt2/XHOH78uNJoNKq0tFQppVTv3r3VU089pQoLC1Vqaqpq0aKF\nSkpKUkopNWvWLOXt7a02b96sysrK1IwZM1SPHj2Mjr2q+cVS8069mOSVUuqr7dtVu4kTFQkJ+sne\no2VLFXjPPeWe8w4KUl8Z/GCVqv4cwDL/1YVukn/llVfUjBkz1ObNm9XAgQNVSUlJuUm+oqlTp6q/\n/e1v+sfZ2dkqNDRUdenSRT3xxBPltjWcqCdMmKAee+wx/Wtvv/22ioqK0j/eu3ev8vf3N/pe3ftn\nzpyplNJOxg0bNlRlZWVKKaWuXr2qNBqN2rlzp377W2+9tdz/jAyFhoaqxYsXq5ycnHLP6/ar+8eo\nlFItW7ZUO3bsUGVlZapRo0blxvTTTz+pm266yegxdu/erQICAvSP4+Li1KxZs4xuq5RSR44cUS1b\ntlRff/21KioqKvfarFmz1IMPPljuuYr7W716terdu3e5bR577DE1e/Zsk+f80ksvqXvuuUcdPXq0\nyrEppdQnn3yiYmNjyz33pz/9SS1fvlw/njlz5uhfe/fdd9Vdd91ldF+PPfaY+vvf/270tYrnZeq4\n165dU/7+/mrdunXq+vXr5bZ56KGH1GOPPaZOnz5t8ryWLl2qevbsqfbu3Vvu+aysLOXl5aXy8/P1\nz3322Wf6C5GBAweqt956y+g+TU3yJ0+eVO7u7iovL0//+owZM9SECROUUtqf9YABA/Sv6S5YjLH2\nJO+ScY0xQ/r1462xY4m/coU7Bgzglv798VKKc4cPm53TW2qaryuNRsO4ceNYuXKl0agGYMeOHfTt\n25eWLVvi7+/P4sWLy/0Z7ufnx3333cfvv//OM888Y/J4LVu21H/t7e1d7nHDhg3Jy8ur8dibNWum\n/+ygYcOGAAQGBpbb37Vr14y+d926dWzatImwsDDi4uL45Zdfyu3Xze2PX28fHx/y8vK4cOEC169f\n59ZbbyUgIICAgAAGDRrExYsXAe2axY8//jhhYWH4+fnRp08fcnJyyn0/27RpU+X5REREsHDhQhIS\nEggMDGTMmDFkZmaa/B4Y7u/EiRPs2LFDP7aAgAA+++wzzt3ovFrVOU+fPp2IiAgGDhxIeHg4r732\nmtFjnT17ltDQ0HLPtW3blrNnz+ofBxk0rDH18zx9+jTh4eE1Oi9Tx/Xx8WHNmjW8//77tG7dmqFD\nh3Lo0CEA/vWvf6GU4vbbb6dz584sW7bM6LHGjRtHfHw8o0ePJjg4mGeffZaSkhJOnDhBcXExrVq1\n0n8/n3jiCS5cuFCjc6jK2bNnadq0KY0aNdI/FxoaWi7aM/w99vHxoaCgoFxMZCv1ZpIH7US/ZeFC\nkhcu5NbAQPKzs/WTuyFnzOlDQ0Np164dmzdvZsSIEZVeHzt2LMOHD+f06dNkZ2fzxBNPlPuFS01N\nZdmyZYwdO5bJkydbbFw+Pj5cNyhlzczMtNgHwrfddhuJiYlcuHCB4cOHc//991f7nubNm9OwYUMO\n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\n", - "text": [ - "<matplotlib.figure.Figure at 0x4171710>" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8.4, page no. 570" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "maximum tensile stress, maximum compressive stress, and maximum shear stress in the shaft.\n", - "\"\"\"\n", - "\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", - "calculate maximum allowable internal pressure\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at points & at the base of the post\n", - "\"\"\"\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/Testing_the_interface/chapter8_3.ipynb b/Testing_the_interface/chapter8_3.ipynb deleted file mode 100755 index 2e7289e4..00000000 --- a/Testing_the_interface/chapter8_3.ipynb +++ /dev/null @@ -1,524 +0,0 @@ -{ - "metadata": { - "name": "" - }, - "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", - "finding max. permissible pressures at various conditions\n", - "\"\"\"\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", - "calculating various quantities for cylindrical part of vessel\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at cross section\n", - "\"\"\"\n", - "\n", - "%pylab 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" - ] - }, - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "WARNING: pylab import has clobbered these variables: ['power', 'random', 'fft', 'load', 'save', 'linalg', 'info']\n", - "`%pylab --no-import-all` prevents importing * from pylab and numpy\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nGzaMJk2aMH/+fDIyMnBzc9O/9+zZs9x99900a9aM9u3b8+GHH+r3mZCQwP3338/48ePx9fWlc+fO\n/GajGzQrUVZmg0NUq6ysTN0yaJCiY0eFl5cCtP9FR6tuDz6oBk6erO6YMkXdMmiQujM+vtL7HeEc\nqhIWFqa+/vprdfPNN6uDBw+qkpISFRISok6cOKE0Go06ceKEUkqp5ORk9fvvvyullNq7d68KDAxU\niYmJ+v088MADasKECerixYuqdevWauPGjfrXNBqNSk9PV0opNX78eNW8eXOVkpKiCgoKVL9+/VTb\ntm3Vp59+qsrKytTMmTNV3759jb5XKaUmTJigXnzxRaWUUt98841q0KCB+uc//6lKSkrUkiVLVLNm\nzdTYsWNVXl6e2r9/v2rYsKHKyMgweu5BQUHqhx9+UEoplZ2drVJSUsrtd9asWaqkpERt2rRJ+fj4\nqOzsbKWUUtOmTVP33HOPunLlisrNzVXDhg1TM2bMUEopdenSJfXf//5X5efnq9zcXDVq1Cg1fPhw\n/TH79Omj2rZtqw4cOKBKS0tVcXFxuTGlpaWpNm3aqMzMTKWUUidOnNCff0JCgho3bly57SvuLzs7\nW4WEhKjly5er0tJStXv3btW8eXN18OBBk+f83HPPqSeeeEKVlJSokpIS/TYVXbp0Sfn7+6sVK1ao\n0tJStWrVKhUQEKAuX76sH09ERIQ6cuSIys/PV3Fxceq5554zuq8dO3YoPz8/9fXXXyullDpz5oxK\nS0szel5ZWVlVHjcvL0/5+vqqw4cPK6WUysrKUvv371dKKTV69Gg1d+5cpZRShYWF6scffzQ6lvff\nf18NGzZM5efnq7KyMpWSkqKuXr2qlFJq+PDh6oknnlDXr19X58+fV7fffrtavHixUkqp//znPyo4\nOFjt2rVLKaXU0aNH9f9mwsLC1Pbt2/XHOH78uNJoNKq0tFQppVTv3r3VU089pQoLC1Vqaqpq0aKF\nSkpKUkopNWvWLOXt7a02b96sysrK1IwZM1SPHj2Mjr2q+cVS8069mOSVUuqr7dtVu4kTFQkJ+sne\no2VLFXjPPeWe8w4KUl8Z/GCVqv4cwDL/1YVukn/llVfUjBkz1ObNm9XAgQNVSUlJuUm+oqlTp6q/\n/e1v+sfZ2dkqNDRUdenSRT3xxBPltjWcqCdMmKAee+wx/Wtvv/22ioqK0j/eu3ev8vf3N/pe3ftn\nzpyplNJOxg0bNlRlZWVKKaWuXr2qNBqN2rlzp377W2+9tdz/jAyFhoaqxYsXq5ycnHLP6/ar+8eo\nlFItW7ZUO3bsUGVlZapRo0blxvTTTz+pm266yegxdu/erQICAvSP4+Li1KxZs4xuq5RSR44cUS1b\ntlRff/21KioqKvfarFmz1IMPPljuuYr7W716terdu3e5bR577DE1e/Zsk+f80ksvqXvuuUcdPXq0\nyrEppdQnn3yiYmNjyz33pz/9SS1fvlw/njlz5uhfe/fdd9Vdd91ldF+PPfaY+vvf/270tYrnZeq4\n165dU/7+/mrdunXq+vXr5bZ56KGH1GOPPaZOnz5t8ryWLl2qevbsqfbu3Vvu+aysLOXl5aXy8/P1\nz3322Wf6C5GBAweqt956y+g+TU3yJ0+eVO7u7iovL0//+owZM9SECROUUtqf9YABA/Sv6S5YjLH2\nJO+ScY0xQ/r1462xY4m/coU7Bgzglv798VKKc4cPm53TW2qaryuNRsO4ceNYuXKl0agGYMeOHfTt\n25eWLVvi7+/P4sWLy/0Z7ufnx3333cfvv//OM888Y/J4LVu21H/t7e1d7nHDhg3Jy8ur8dibNWum\n/+ygYcOGAAQGBpbb37Vr14y+d926dWzatImwsDDi4uL45Zdfyu3Xze2PX28fHx/y8vK4cOEC169f\n59ZbbyUgIICAgAAGDRrExYsXAe2axY8//jhhYWH4+fnRp08fcnJyyn0/27RpU+X5REREsHDhQhIS\nEggMDGTMmDFkZmaa/B4Y7u/EiRPs2LFDP7aAgAA+++wzzt3ovFrVOU+fPp2IiAgGDhxIeHg4r732\nmtFjnT17ltDQ0HLPtW3blrNnz+ofBxk0rDH18zx9+jTh4eE1Oi9Tx/Xx8WHNmjW8//77tG7dmqFD\nh3Lo0CEA/vWvf6GU4vbbb6dz584sW7bM6LHGjRtHfHw8o0ePJjg4mGeffZaSkhJOnDhBcXExrVq1\n0n8/n3jiCS5cuFCjc6jK2bNnadq0KY0aNdI/FxoaWi7aM/w99vHxoaCgoFxMZCv1ZpIH7US/ZeFC\nkhcu5NbAQPKzs/WTuyFnzOlDQ0Np164dmzdvZsSIEZVeHzt2LMOHD+f06dNkZ2fzxBNPlPuFS01N\nZdmyZYwdO5bJkydbbFw+Pj5cNyhlzczMtNgHwrfddhuJiYlcuHCB4cOHc//991f7nubNm9OwYUMO\n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\n", - "text": [ - "<matplotlib.figure.Figure at 0x4171710>" - ] - } - ], - "prompt_number": 26 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 8.4, page no. 570" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "\"\"\"\n", - "maximum tensile stress, maximum compressive stress, and maximum shear stress in the shaft.\n", - "\"\"\"\n", - "\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", - "calculate maximum allowable internal pressure\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses\n", - "\"\"\"\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", - "principal stresses and maximum shear stresses at points & at the base of the post\n", - "\"\"\"\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/Testing_the_interface/screenshots/screen1.png b/Testing_the_interface/screenshots/screen1.png Binary files differdeleted file mode 100755 index 2e923aea..00000000 --- a/Testing_the_interface/screenshots/screen1.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen1_1.png b/Testing_the_interface/screenshots/screen1_1.png Binary files differdeleted file mode 100755 index 2e923aea..00000000 --- a/Testing_the_interface/screenshots/screen1_1.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen1_2.png b/Testing_the_interface/screenshots/screen1_2.png Binary files differdeleted file mode 100755 index 2e923aea..00000000 --- a/Testing_the_interface/screenshots/screen1_2.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen2.png b/Testing_the_interface/screenshots/screen2.png Binary files differdeleted file mode 100755 index eb6ad8e1..00000000 --- a/Testing_the_interface/screenshots/screen2.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen2_1.png b/Testing_the_interface/screenshots/screen2_1.png Binary files differdeleted file mode 100755 index eb6ad8e1..00000000 --- a/Testing_the_interface/screenshots/screen2_1.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen2_2.png b/Testing_the_interface/screenshots/screen2_2.png Binary files differdeleted file mode 100755 index eb6ad8e1..00000000 --- a/Testing_the_interface/screenshots/screen2_2.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen3.png b/Testing_the_interface/screenshots/screen3.png Binary files differdeleted file mode 100755 index ff023b0d..00000000 --- a/Testing_the_interface/screenshots/screen3.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen3_1.png b/Testing_the_interface/screenshots/screen3_1.png Binary files differdeleted file mode 100755 index ff023b0d..00000000 --- a/Testing_the_interface/screenshots/screen3_1.png +++ /dev/null diff --git a/Testing_the_interface/screenshots/screen3_2.png b/Testing_the_interface/screenshots/screen3_2.png Binary files differdeleted file mode 100755 index ff023b0d..00000000 --- a/Testing_the_interface/screenshots/screen3_2.png +++ /dev/null |