summaryrefslogtreecommitdiff
path: root/Testing_the_interface/chapter11_2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Testing_the_interface/chapter11_2.ipynb')
-rwxr-xr-xTesting_the_interface/chapter11_2.ipynb516
1 files changed, 0 insertions, 516 deletions
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