{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 7 - Keys & Couplings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.1 Pg 195"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " shaft diameter = 48.29 mm. Use d = 50 mm.\n",
      " \n",
      " thickness of hub = 25 mm\n",
      " \n",
      " diameter of recess in flanges = 75 mm\n",
      " \n",
      " outside diameter of protecting flange = 200 mm\n",
      " \n",
      " width of key = 12.5 mm. Use b = 15 mm\n",
      " \n",
      " length of key = 75 mm.\n",
      " \n",
      " thickness for square key = 15 mm\n",
      " \n",
      " Hub length = 75 mm\n",
      " \n",
      " Number of bolts = 4\n",
      " \n",
      " Bolt diameter = 11.86 mm. Use db=12 mm\n",
      " \n",
      " Bolt diameter (based on Tensile load) = 21.9 mm. Use db=15 mm\n",
      " \n",
      " Flange thickness = 18.5 mm. Use t=20 mm\n",
      " \n",
      " permissible bearing stress in flange = 2.76 MPa < 30 MPa\n",
      " \n",
      " shearing of the flange at the junction with hub = 3.17 MPa < 15 MPa.\n",
      "  Values are acceptable.\n",
      " \n",
      " permissible crushing strength of bolts = 14.0 MPa < 60 MPa.\n",
      "  Hence design is safe.\n",
      " \n",
      " Thickness of protecting flange = 10 mm\n",
      " \n",
      " Hub overlap = 3 mm (min)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi,floor\n",
    "from numpy import roots\n",
    "# Given Data\n",
    "P=20## kW\n",
    "N=240## rpm\n",
    "tau_s=45## MPa\n",
    "tau_b=30## MPa\n",
    "sigma_b=60## MPa\n",
    "sigma_cs=2*tau_s## MPa\n",
    "tau_ci=15## MPa\n",
    "#Tmax=1.25*Tm\n",
    "mu=0.15## coefficient of friction\n",
    "\n",
    "#SHAFT DIAMETER\n",
    "# P= 2*pi*N*Tm/60/1000 \n",
    "Tm=P/(2*pi*N/60/1000)## N.m\n",
    "Tmax=1.25*Tm## N.m\n",
    "# pi*d**3*tau_s/16= Tmax\n",
    "d=(Tmax/(pi*tau_s/16)*1000)**(1/3)## mm\n",
    "print ' shaft diameter = %.2f mm. Use d = 50 mm.'%(d)\n",
    "d=50## mm\n",
    "\n",
    "# HUB DIAMETER\n",
    "# Tmax=pi/16*((d1**4-d**4)/d1)*tau_h\n",
    "tau_h=tau_ci## MPa\n",
    "#d1*(Tmax/(pi/16)/tau_h)-d1**4=d**4 -- eqn(1)\n",
    "Tmax=Tmax*1000## N.mm\n",
    "p=[1, 0 ,0 ,-Tmax/(pi*tau_h/16), -d**4] ## polynomial coefficients from eqn(1)\n",
    "d1=roots(p)## roots of poly \n",
    "d1=d1[0]## mm (taking +ve value)\n",
    "d1=100## mm (empirically adopted) \n",
    "t1=(d1-d)/2## mm (thickness of hub)\n",
    "print ' \\n thickness of hub = %.f mm'%(t1)\n",
    "d4=d+t1## mm (diameter of recess in flanges)\n",
    "print ' \\n diameter of recess in flanges = %.f mm'%(d4)\n",
    "d3=4*d## mm (outside diameter of protecting flange)\n",
    "print ' \\n outside diameter of protecting flange = %.f mm'%(d3)\n",
    "\n",
    "# Hub length\n",
    "b=d/4## mm (width of key)\n",
    "l=1.5*d## mm (length of key)\n",
    "print ' \\n width of key = %.1f mm. Use b = 15 mm'%(b)\n",
    "b=15## mm\n",
    "print ' \\n length of key = %.f mm.'%(l) \n",
    "t=b## mm (thickness for square key)\n",
    "print ' \\n thickness for square key = %.f mm'%(t)\n",
    "print ' \\n Hub length = %.f mm'%(l)\n",
    "\n",
    "#Number of bolts\n",
    "n=floor(4*d/150+3)## no. of bolts\n",
    "print ' \\n Number of bolts = %.f'%(n)\n",
    "\n",
    "# Bolt diameter\n",
    "r2=1.5*d## mm\n",
    "F=Tmax/r2/n## N\n",
    "#pi/4*db**2*tau_b=F\n",
    "db=sqrt(F/(pi/4*tau_b))## mm\n",
    "print ' \\n Bolt diameter = %.2f mm. Use db=12 mm'%(db)\n",
    "bolt_dia=db##mm\n",
    "\n",
    "# Bolt diameter based on Tensile load\n",
    "r3=d3/2## mm\n",
    "r4=d4/2## mm\n",
    "rf=2/3*((r3**3-r4**3)/(r3**2-r4**2))## mm\n",
    "#Tmax=n*mu*Pi*rf## N\n",
    "Pi=Tmax/(n*mu*rf)## N\n",
    "# Pi=pi/4*db**2*sigma_t\n",
    "sigma_t=sigma_b## MPa\n",
    "db=sqrt(Pi/(pi/4*sigma_t))## mm \n",
    "print ' \\n Bolt diameter (based on Tensile load) = %.1f mm. Use db=15 mm'%(db)\n",
    "db=15## mm (adopted)\n",
    "\n",
    "# Flange thickness\n",
    "t2=0.5*t1+6## mm (empirically)\n",
    "print ' \\n Flange thickness = %.1f mm. Use t=20 mm'%(t2)\n",
    "t2=20## mm (adopted)\n",
    "#F=n*db*t2*sigma_c\n",
    "sigma_ci=F/n/db/t2## MPa\n",
    "#2*pi*d1**2*tau*t2/4=Tmax\n",
    "tau=Tmax/(2*pi*d1**2*t2/4)## MPa\n",
    "print ' \\n permissible bearing stress in flange = %.2f MPa < 30 MPa'%(sigma_ci)\n",
    "print ' \\n shearing of the flange at the junction with hub = %.2f MPa < 15 MPa.'%(tau)\n",
    "print '  Values are acceptable.'\n",
    "\n",
    "# Check for crushing of bolt\n",
    "#n*db*t2*sigma_cb*d2/2=Tmax\n",
    "d2=d1+d## mm\n",
    "db=bolt_dia##mm\n",
    "sigma_cb=Tmax/(n*db*t2*d2/2)## MPa\n",
    "print ' \\n permissible crushing strength of bolts = %.1f MPa < 60 MPa.'%(sigma_cb)\n",
    "print '  Hence design is safe.'\n",
    "\n",
    "# Thickness of protecting flange\n",
    "t3=0.5*t2## mm\n",
    "print ' \\n Thickness of protecting flange = %.f mm'%( t3)\n",
    "# Hub overlap \n",
    "ho=3## mm (min)\n",
    "print ' \\n Hub overlap = %.f mm (min)'%(ho)\n",
    "#Note - Answer for **Bolt diameter based on Tensile load** is calculated wrong in the textbook(error in Pi calculation)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.2 Pg 200"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " shaft diameter = 40.55 mm. Use d = 42 mm.\n",
      " \n",
      " thickness of hub = 21 mm\n",
      " \n",
      " outside diameter of protecting flange = 168 mm. Use 170 mm\n",
      " \n",
      " width of key = 10.5 mm. Use b = 12 mm\n",
      " \n",
      " length of key = 63 mm.\n",
      " \n",
      " thickness for square key = 12 mm\n",
      " \n",
      " Hub length = 63 mm\n",
      " \n",
      " Number of bolts = 4.68. Use n=6\n",
      " \n",
      " Bolt diameter = 8.57 mm. Use db=20 mm for design purpose\n",
      " \n",
      " pitch circle diameter of bolts = 136 mm \n",
      " \n",
      " Permissible shear stress in bolts = 3.58 MPa < 35 MPa. Hence design is safe.\n",
      " \n",
      " length of bush = 35 mm\n",
      " \n",
      " Bending stress in pin = 28.7 MPa\n",
      " \n",
      " Maximum shear stress in pin = 14.78 MPa < 35 MPa. Hence design is safe.\n",
      " \n",
      " Flange thickness = 16.5 mm. Use t=18 mm\n",
      " \n",
      " shearing of the flange at the junction with hub = 2.30 MPa < 15 MPa.\n",
      "  Values are acceptable.\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from numpy import roots,pi,sqrt\n",
    "# Given Data\n",
    "P=30## kW\n",
    "N=750## rpm\n",
    "#Tmax=1.2*Tm## MPa\n",
    "tau_s=35## MPa\n",
    "tau_b=35## MPa\n",
    "tau_k=35## MPa\n",
    "sigma_cs=70## MPa\n",
    "sigma_ck=70## MPa\n",
    "sigma_cb=70## MPa\n",
    "tau_ci=15## MPa\n",
    "pb=0.8## MPa\n",
    "\n",
    "#sigma_cs=2*tau_s## MPa\n",
    "\n",
    "#Tmax=1.5*Tm\n",
    "mu=0.15## coefficient of friction\n",
    "\n",
    "#SHAFT DIAMETER\n",
    "# P= 2*pi*N*Tm/60/1000 \n",
    "Tm=P/(2*pi*N/60/1000)## N.m\n",
    "Tmax=1.2*Tm## N.m\n",
    "# pi*d**3*tau_s/16= Tmax\n",
    "d=(Tmax/(pi*tau_s/16)*1000)**(1/3)## mm\n",
    "print ' shaft diameter = %.2f mm. Use d = 42 mm.'%(d)\n",
    "d=42## mm\n",
    "\n",
    "# HUB DIAMETER\n",
    "# Tmax=pi/16*((d1**4-d**4)/d1)*tau_h\n",
    "tau_h=tau_ci## MPa\n",
    "#d1*(Tmax/(pi/16)/tau_h)-d1**4=d**4 -- eqn(1)\n",
    "Tmax=Tmax*1000## N.mm\n",
    "p=[1, 0 ,0 ,-Tmax/(pi*tau_h/16) ,-d**4] ## polynomial coefficients from eqn(1)\n",
    "d1=roots(p)## roots of poly \n",
    "d1=d1[0]## mm (taking +ve value)\n",
    "d1=2*d## mm (empirically adopted) \n",
    "t1=(d1-d)/2## mm (thickness of hub)\n",
    "print ' \\n thickness of hub = %.f mm'%(t1)\n",
    "#d4=d+t1## mm (diameter of recess in flanges)\n",
    "#print ' \\n diameter of recess in flanges = %.f mm'%(d4)\n",
    "d3=4*d## mm (outside diameter of protecting flange)\n",
    "print ' \\n outside diameter of protecting flange = %.f mm. Use 170 mm'%(d3)\n",
    "d3=170## mm (adopted)\n",
    "\n",
    "#Key size & Hub length\n",
    "b=d/4## mm (width of key)\n",
    "l=1.5*d## mm (length of key)\n",
    "print ' \\n width of key = %.1f mm. Use b = 12 mm'%(b)\n",
    "b=12## mm\n",
    "print ' \\n length of key = %.f mm.'%(l) \n",
    "t=b## mm (thickness for square key)\n",
    "print ' \\n thickness for square key = %.f mm'%(t)\n",
    "print ' \\n Hub length = %.f mm'%(l)\n",
    "\n",
    "#Number of bolts\n",
    "n=(0.04*d+3)## no. of bolts\n",
    "print ' \\n Number of bolts = %.2f. Use n=6'%(n)\n",
    "n=6## adopted\n",
    "\n",
    "# Bolt diameter\n",
    "db=0.5*d/sqrt(n)## mm\n",
    "print ' \\n Bolt diameter = %.2f mm. Use db=20 mm for design purpose'%(db)\n",
    "db=20##mm (adopted)\n",
    "bolt_dia=db##mm\n",
    "dsb=24## mm(shank diameter of bolt for design)\n",
    "\n",
    "# Outer diameter of rubber bush\n",
    "trb=2## mm (thickness of rubber bush)\n",
    "tbb=6## mm (thickness of brass bush)\n",
    "d3=dsb+2*trb+2*tbb## mm \n",
    "d2=d1+d3+2*tbb## mm (pitch circle diameter of bolts)\n",
    "print ' \\n pitch circle diameter of bolts = %.f mm '%(d2)\n",
    "\n",
    "# Check of shear in bolt\n",
    "F=2*Tmax/n/d2## N\n",
    "#pi/4*db*2*tau=F\n",
    "tau=F/(pi/4*db**2)##MPa\n",
    "print ' \\n Permissible shear stress in bolts = %.2f MPa < 35 MPa. Hence design is safe.'%( tau)\n",
    "\n",
    "# Length of brush\n",
    "pb=0.8## MPa(bearing pressure of brush)\n",
    "#F=l2*d3*pb#\n",
    "l2=F/d3/pb## mm\n",
    "print ' \\n length of bush = %.f mm'%(l2)\n",
    "\n",
    "# Check for pin in bending\n",
    "c=5## mm (clearance between two flanges)\n",
    "l3=(l2-c)/2+c##mm\n",
    "#M=pi/32*db**3*sigma_b & M=F*l3\n",
    "sigma_b = F*l3/(pi/32*db**3)## MPa\n",
    "print ' \\n Bending stress in pin = %.1f MPa'%(sigma_b)\n",
    "\n",
    "# Maximum shear stress in pin\n",
    "tau_max=sqrt((sigma_b/2)**2+tau**2)##MPa\n",
    "print ' \\n Maximum shear stress in pin = %.2f MPa < 35 MPa. Hence design is safe.'%(tau_max)\n",
    "\n",
    "# Flange thickness\n",
    "t2=0.5*t1+6## mm (empirically)\n",
    "print ' \\n Flange thickness = %.1f mm. Use t=18 mm'%(t2)\n",
    "t2=18## mm (adopted)\n",
    "tau=Tmax/(2*pi*d1**2*t2/4)## MPa\n",
    "print ' \\n shearing of the flange at the junction with hub = %.2f MPa < 15 MPa.'%(tau)\n",
    "print '  Values are acceptable.'\n",
    "\n",
    "#Note - Answer in llast part is calculated wrong in the textbook(error in calculation)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.3 Pg 204"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " length of hub = 111 mm\n",
      " \n",
      " Force required to shift the connection = 1278.9 N\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi\n",
    "# Given Data\n",
    "n=8## no. of spline\n",
    "d=52## mm\n",
    "D=60## mm\n",
    "pm=6## MPa\n",
    "mu=0.06## coefficient of friction\n",
    "N=320## rpm\n",
    "P=20## kW\n",
    "\n",
    "T=60*10**3*P/2/pi/N## N.m\n",
    "l=8*T*10**3/pm/n/(D**2-d**2)## mm\n",
    "print ' length of hub = %.f mm'%(l)\n",
    "Rm=(D+d)/4## mm\n",
    "F=T*10**3/Rm## N\n",
    "Ff=mu*F##N (Force of friction)\n",
    "print ' \\n Force required to shift the connection = %.1f N'%(Ff)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.4 Pg 204"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " for key to be equally strong in shear & crushing - \n",
      "\n",
      "  b= 18.75 mm. Use b=20 mm.\n",
      " \n",
      " t=26.67 mm. Use t=27 mm\n",
      " for key to be equally strong in shear as shaft - \n",
      "\n",
      "  l=110.4 mm. Use l=115 mm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import pi\n",
    "# Given Data\n",
    "d=75## mm\n",
    "tau=50## MPa\n",
    "sigma_c=75## MPa\n",
    "print ' for key to be equally strong in shear & crushing - \\n'\n",
    "b=d/4## mm\n",
    "print '  b= %.2f mm. Use b=20 mm.'%(b)\n",
    "b=20##mm\n",
    "#2*b/t=sigma_c/tau for key to be equally strong in shear & crushing\n",
    "t=2*b/(sigma_c/tau)## mm\n",
    "print ' \\n t=%.2f mm. Use t=27 mm'%(t)\n",
    "l= pi*d**2/8/b## mm (for key to be equally strong in shear as shaft)\n",
    "print ' for key to be equally strong in shear as shaft - \\n'\n",
    "print '  l=%.1f mm. Use l=115 mm'%(l)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.6 Pg 205"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " shaft diameter = 100.00 mm.\n",
      " \n",
      " thickness of hub = 50 mm\n",
      " \n",
      " diameter of recess in flanges = 150 mm\n",
      " \n",
      " outside diameter of protecting flange = 400 mm.\n",
      " \n",
      " width of key = 25.0 mm.\n",
      " \n",
      " length of key = 150 mm.\n",
      " \n",
      " thickness for square key = 25 mm\n",
      " \n",
      " Hub length = 150 mm\n",
      " \n",
      " Number of bolts = 6.00.\n",
      " \n",
      " Bolt diameter = 18.38 mm. Use db=20 mm for design purpose\n",
      " \n",
      " Flange thickness = 31.0 mm. Use t=20 mm\n",
      " \n",
      " permissible bearing stress in flange = 3.21 MPa < 75 MPa\n",
      " \n",
      " shearing of the flange at the junction with hub = 5.52 MPa < 175 MPa.\n",
      "  Values are acceptable.\n",
      " \n",
      " permissible crushing strength of bolts = 19.25 MPa < 60 MPa.\n",
      "  Hence design is safe.\n",
      " \n",
      " Thickness of protecting flange = 16 mm\n",
      " \n",
      " Hub overlap = 3 mm (min)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import pi,ceil,sqrt\n",
    "from numpy import roots\n",
    "# Given Data\n",
    "P=135## kW\n",
    "N=120## rpm\n",
    "tau_s=55## MPa\n",
    "tau_b=45## MPa\n",
    "tau_ci=175## MPa\n",
    "sigma_ci=75## MPa\n",
    "\n",
    "#sigma_cs=2*tau_s## MPa\n",
    "\n",
    "#Tmax=1.5*Tm\n",
    "mu=0.15## coefficient of friction\n",
    "\n",
    "#SHAFT DIAMETER\n",
    "# P= 2*pi*N*Tm/60/1000 \n",
    "Tm=P/(2*pi*N/60/1000)## N.m\n",
    "# pi*d**3*tau_s/16= Tm\n",
    "d=(Tm/(pi*tau_s/16)*1000)**(1/3)## mm\n",
    "d=ceil(d)\n",
    "print ' shaft diameter = %.2f mm.'%(d)\n",
    "Tmax=Tm## N.m\n",
    "\n",
    "# HUB DIAMETER\n",
    "# Tmax=pi/16*((d1**4-d**4)/d1)*tau_h\n",
    "tau_h=tau_ci## MPa\n",
    "#d1*(Tmax/(pi/16)/tau_h)-d1**4=d**4 -- eqn(1)\n",
    "Tmax=Tmax*1000## N.mm\n",
    "p=[1, 0, 0, -Tmax/(pi*tau_h/16), -d**4] ## polynomial coefficients from eqn(1)\n",
    "d1=roots(p)## roots of poly \n",
    "d1=d1[0]## mm (taking +ve value)\n",
    "d1=2*d## mm (empirically adopted) \n",
    "t1=(d1-d)/2## mm (thickness of hub)\n",
    "print ' \\n thickness of hub = %.f mm'%(t1)\n",
    "d4=d+t1## mm (diameter of recess in flanges)\n",
    "print ' \\n diameter of recess in flanges = %.f mm'%(d4)\n",
    "d3=4*d## mm (outside diameter of protecting flange)\n",
    "print ' \\n outside diameter of protecting flange = %.f mm.'%(d3)\n",
    "\n",
    "#Key size & Hub length\n",
    "b=d/4## mm (width of key)\n",
    "l=1.5*d## mm (length of key)\n",
    "print ' \\n width of key = %.1f mm.'%(b)\n",
    "print ' \\n length of key = %.f mm.'%(l) \n",
    "t=b## mm (thickness for square key)\n",
    "print ' \\n thickness for square key = %.f mm'%(t)\n",
    "print ' \\n Hub length = %.f mm'%(l)\n",
    "\n",
    "#Number of bolts\n",
    "n=ceil(4*d/150+3)## no. of bolts\n",
    "print ' \\n Number of bolts = %.2f.'%(n)\n",
    "\n",
    "# Bolt diameter\n",
    "r2=1.5*d## mm\n",
    "F=Tm*1000/r2/n##N\n",
    "#(pi/4)*db**2*tau_b=F\n",
    "db=sqrt(F/((pi/4)*tau_b))## mm\n",
    "print ' \\n Bolt diameter = %.2f mm. Use db=20 mm for design purpose'%(db)\n",
    "db=20## mm (adopted for design)\n",
    "bolt_dia=db##mm\n",
    "\n",
    "# Flange thickness\n",
    "t2=0.5*t1+6## mm (empirically)\n",
    "print ' \\n Flange thickness = %.1f mm. Use t=20 mm'%(t2)\n",
    "#F=n*db*t2*sigma_c\n",
    "sigma_ci=F/n/db/t2## MPa\n",
    "#2*pi*d1**2*tau*t2/4=Tmax\n",
    "tau=Tmax/(2*pi*d1**2*t2/4)## MPa\n",
    "print ' \\n permissible bearing stress in flange = %.2f MPa < 75 MPa'%(sigma_ci)\n",
    "print ' \\n shearing of the flange at the junction with hub = %.2f MPa < 175 MPa.'%(tau)\n",
    "print '  Values are acceptable.'\n",
    "\n",
    "# Check for crushing of bolt\n",
    "#n*db*t2*sigma_cb*d2/2=Tmax\n",
    "d2=d1+d## mm\n",
    "db=bolt_dia##mm\n",
    "sigma_cb=Tmax/(n*db*t2*d2/2)## MPa\n",
    "print ' \\n permissible crushing strength of bolts = %.2f MPa < 60 MPa.'%(sigma_cb)\n",
    "print '  Hence design is safe.'\n",
    "# Thickness of protecting flange\n",
    "t3=0.5*t2## mm\n",
    "print ' \\n Thickness of protecting flange = %.f mm'%( t3)\n",
    "# Hub overlap \n",
    "ho=3## mm (min)\n",
    "print ' \\n Hub overlap = %.f mm (min)'%(ho)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.7 Pg 208"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " for key to be equally strong in shear & crushing - \n",
      "\n",
      "  b= 12.50 mm. Use b=15 mm.\n",
      " \n",
      " t=17.50 mm. Use t=20 mm\n",
      " \n",
      " for key to be equally strong in shear as shaft - \n",
      "\n",
      "  l=65.45 mm. Use l=70 mm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi\n",
    "# Given Data\n",
    "d=50## mm\n",
    "tau=42## MPa\n",
    "sigma_c=72## MPa\n",
    "print ' for key to be equally strong in shear & crushing - \\n'\n",
    "b=d/4## mm\n",
    "print '  b= %.2f mm. Use b=15 mm.'%(b)\n",
    "b=15##mm\n",
    "#2*b/t=sigma_c/tau for key to be equally strong in shear & crushing\n",
    "t=2*b/(sigma_c/tau)## mm\n",
    "print ' \\n t=%.2f mm. Use t=20 mm'%(t)\n",
    "l= pi*d**2/8/b## mm (for key to be equally strong in shear as shaft)\n",
    "print ' \\n for key to be equally strong in shear as shaft - \\n'\n",
    "print '  l=%.2f mm. Use l=70 mm'%(l)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.8 Pg 208"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " design shear stress = 80 N/mm.sq.\n",
      " \n",
      " design crushing strength = 160 N/mm.sq.\n",
      " \n",
      " width of key = 6 mm. Use 7mm\n",
      " \n",
      " thickness of key = 7 mm.\n",
      " \n",
      " length of key based on shear failure = 29.76 mm or 30 mm\n",
      " \n",
      " length of key based on crushing failure = 29.76 mm or 30 mm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi,ceil\n",
    "\n",
    "# Given Data\n",
    "d=25## mm\n",
    "N=550## rpm\n",
    "P=12## kW\n",
    "sigma_yt=400## N/mm.sq.\n",
    "sigma_yc=400## N/mm.sq.\n",
    "n=2.5## factor of safety\n",
    "\n",
    "# P= 2*pi*N*T/(60*10**3)\n",
    "T=P/(2*pi*N/(60*10**3))## N.m\n",
    "tau=0.5*sigma_yt## MPa\n",
    "tau_d=tau/n## N/mm.sq.\n",
    "print ' design shear stress = %.f N/mm.sq.'%(tau_d)\n",
    "sigma_d=sigma_yc/n## N/mm.sq.\n",
    "print ' \\n design crushing strength = %.f N/mm.sq.'%(sigma_d)\n",
    "b=d/4##mm\n",
    "print ' \\n width of key = %.f mm. Use 7mm'%(b)\n",
    "b=ceil(d/4)## mm\n",
    "t=b## mm\n",
    "print ' \\n thickness of key = %.f mm.'%(t)\n",
    "l_s=2*T*10**3/(d*b*tau_d)## mm (length of key based on shear failure)\n",
    "print ' \\n length of key based on shear failure = %.2f mm or %.f mm'%(l_s, l_s)\n",
    "l_c=4*T*10**3/(d*t*sigma_d)## mm (length of key based on crushing failure)\n",
    "print ' \\n length of key based on crushing failure = %.2f mm or %.f mm'%(l_c, l_c)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.9 Pg 209"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " \n",
      " Maximum transmitted torque = 248680 N.mm\n",
      " \n",
      " Hub diameter = 72 mm\n",
      " \n",
      " Thickness of hub = 18 mm\n",
      " \n",
      " Diameter of recess in flanges = 54 mm\n",
      " \n",
      " Outside diameter of protecting flange = 144 mm\n",
      " \n",
      " width of key = 9.0 mm.\n",
      " \n",
      " length of key = 54 mm.\n",
      " \n",
      " thickness for square key = 9 mm\n",
      " \n",
      " Hub length = 54 mm\n",
      " \n",
      " Number of bolts = 4.00.\n",
      " \n",
      " Bolt diameter = 5.57 mm. Use db=6 mm for design purpose\n",
      " \n",
      " Flange thickness = 15.0 mm. Use t=20 mm\n",
      " \n",
      " permissible bearing stress in flange = 3.20 MPa < 40 MPa\n",
      " \n",
      " shearing of the flange at the junction with hub = 2.04 MPa < 20 MPa.\n",
      "  Values are acceptable.\n",
      " \n",
      " permissible crushing strength of bolts = 12.79 MPa < 82 MPa.\n",
      "  Hence design is safe.\n",
      " \n",
      " Thickness of protecting flange = 8 mm\n",
      " \n",
      " Hub overlap = 3 mm (min)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi,ceil\n",
    "# Given Data\n",
    "d=36## mm\n",
    "P=15## kW\n",
    "N=720## rpm\n",
    "#Tmax=1.25*Tm\n",
    "sigma_yt=245## MPa (for C20 steel)\n",
    "n=3## factor of safety\n",
    "sigma=82## MPa (Design tensile stress)\n",
    "\n",
    "tau=0.577*sigma## MPa (shear stress)\n",
    "sigma_u=200## MPa (for FG 200 cast Iron)\n",
    "n2=5## factor of safety (for FG 200 cast Iron)\n",
    "tau2=20## MPa shear stress (for FG 200 cast Iron)\n",
    "\n",
    "# Max. torque transmitted\n",
    "#P=2*pi*N*Tm/(60*10**3)\n",
    "Tm=P/(2*pi*N/(60*10**3))*1000## N.mm\n",
    "Tmax=1.25*Tm## N.mm\n",
    "print ' \\n Maximum transmitted torque = %.f N.mm'%(Tmax)\n",
    "\n",
    "# Hub diameter\n",
    "tau_h=20## MPa (permissible shear stress in hub)\n",
    "#Tmax=(pi/16)*(d1**4-d**4)/d1*tau_h   ...eqn(1)\n",
    "d1=2*d##mm (empirically)\n",
    "tau_h=Tmax*1000/((pi/16)*(d1**4-d**4)/d1)## MPa\n",
    "t1=(d1-d)/2## mm (thickness of hub)\n",
    "print ' \\n Hub diameter = %.f mm'%(d1)\n",
    "print ' \\n Thickness of hub = %.f mm'%(t1)\n",
    "d4=d+t1## mm\n",
    "print ' \\n Diameter of recess in flanges = %.f mm'%(d4)\n",
    "d3=4*d##mm\n",
    "print ' \\n Outside diameter of protecting flange = %.f mm'%(d3)\n",
    "\n",
    "#Hub length\n",
    "b=d/4## mm (width of key)\n",
    "l=1.5*d## mm (length of key)\n",
    "print ' \\n width of key = %.1f mm.'%(b)\n",
    "print ' \\n length of key = %.f mm.'%(l) \n",
    "t=b## mm (thickness for square key)\n",
    "print ' \\n thickness for square key = %.f mm'%(t)\n",
    "print ' \\n Hub length = %.f mm'%(l)\n",
    "\n",
    "#Number of bolts\n",
    "n=ceil(4*d/150+3)## no. of bolts\n",
    "print ' \\n Number of bolts = %.2f.'%(n)\n",
    "\n",
    "# Bolt diameter\n",
    "r2=1.5*d## mm\n",
    "F=Tmax/r2/n##N\n",
    "#(pi/4)*db**2*tau_b=F\n",
    "db=sqrt(F/((pi/4)*tau))## mm\n",
    "print ' \\n Bolt diameter = %.2f mm. Use db=6 mm for design purpose'%(db)\n",
    "db=6## mm (adopted for design)\n",
    "bolt_dia=db##mm\n",
    "\n",
    "# Flange thickness\n",
    "t2=0.5*t1+6## mm (empirically)\n",
    "print ' \\n Flange thickness = %.1f mm. Use t=20 mm'%(t2)\n",
    "#F=n*db*t2*sigma_c\n",
    "sigma_ci=F/n/db/t2## MPa\n",
    "#2*pi*d1**2*tau*t2/4=Tmax\n",
    "tau=Tmax/(2*pi*d1**2*t2/4)## MPa\n",
    "print ' \\n permissible bearing stress in flange = %.2f MPa < 40 MPa'%(sigma_ci)\n",
    "print ' \\n shearing of the flange at the junction with hub = %.2f MPa < 20 MPa.'%(tau)\n",
    "print '  Values are acceptable.'\n",
    "\n",
    "# Check for crushing of bolt\n",
    "#n*db*t2*sigma_cb*d2/2=Tmax\n",
    "d2=d1+d## mm\n",
    "db=bolt_dia##mm\n",
    "sigma_cb=Tmax/(n*db*t2*d2/2)## MPa\n",
    "print ' \\n permissible crushing strength of bolts = %.2f MPa < 82 MPa.'%(sigma_cb)\n",
    "print '  Hence design is safe.'\n",
    "# Thickness of protecting flange\n",
    "t3=0.5*t2## mm\n",
    "print ' \\n Thickness of protecting flange = %.f mm'%( t3)\n",
    "# Hub overlap \n",
    "ho=3## mm (min)\n",
    "print ' \\n Hub overlap = %.f mm (min)'%(ho)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## exa 7.10 Pg 212"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " \n",
      " (i) Diameter of bolts = 6.96 mm. Use 8 mm.\n",
      " \n",
      " (ii) Flange thickness = 10.4 mm. Use t2 = 12 mm\n",
      " \n",
      " (iii) Length of key = 100 mm\n",
      "\t\td=35 mm\n",
      "\t\tb=10 mm\n",
      " \n",
      " (iv) Hub length = 100 mm\n",
      " \n",
      " shear stress in hub = 12.67 N/mm.sq.\n",
      " It is nearly equal to 10 N/mm.sq.\n",
      " \n",
      " hence design parameters are fine.\n",
      " \n",
      " (v) Power transmitted = 29.32 kW\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt,pi,ceil\n",
    "# Given Data\n",
    "d=35## mm\n",
    "d2=125## mm\n",
    "n=6## factor of safety\n",
    "T=800## N.m\n",
    "N=350## rpm\n",
    "tau_s=63## MPa\n",
    "tau_b=56## MPa\n",
    "tau_CI=10## MPa\n",
    "tau_k=46## MPa\n",
    "\n",
    "# Diameter of bolts:\n",
    "F=2*T*10**3/d2/n## N\n",
    "#pi/4*db**2*tau_b=F\n",
    "db=sqrt(F/(pi/4*tau_b))## mm\n",
    "print ' \\n (i) Diameter of bolts = %.2f mm. Use 8 mm.'%(db)\n",
    "\n",
    "# Flange thickness\n",
    "d1=2*d## mm\n",
    "#T=pi/2*d1**2*t2*tau_CI\n",
    "t2=T*1000/(pi/2*d1**2*tau_CI)## mm\n",
    "print ' \\n (ii) Flange thickness = %.1f mm. Use t2 = 12 mm'%(t2)\n",
    "t2=12## mm\n",
    "\n",
    "#Key dimensions\n",
    "b=10## mm (width of key)\n",
    "t=7## mm (from tables)\n",
    "#T=l*b*tau_k*d/2\n",
    "l=T*10**3/(b*tau_k*d/2)## mm\n",
    "l=ceil(l)## mm\n",
    "print ' \\n (iii) Length of key = %.f mm\\n\\t\\td=%.f mm\\n\\t\\tb=%.f mm'%(l,d,b)\n",
    "\n",
    "# Hub length\n",
    "lh=l## mm (length of hub)\n",
    "print ' \\n (iv) Hub length = %.f mm'%(l)\n",
    "tau_c=T*10**3/(pi/16*(d1**4-d**4)/d1)## N/mm.sq.\n",
    "print ' \\n shear stress in hub = %.2f N/mm.sq.'%(tau_c)\n",
    "print ' It is nearly equal to %.f N/mm.sq.'%(tau_CI)\n",
    "print ' \\n hence design parameters are fine.'\n",
    "\n",
    "# Power transmitted\n",
    "P=2*pi*N*T/60/10**3## kW\n",
    "print ' \\n (v) Power transmitted = %.2f kW'%(P)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}