{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 10:Staircase"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex10.1:pg-517"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Summary of design\n",
      "Thickness of steps= 4  mm\n",
      "Cover from top=15 mm\n",
      "Main steel = 8 mm dia,  4  in each step with development length of  470  mm\n",
      "Distribution steel = 6 mm dia @  415  mm c/c\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "l=1 #span, in m\n",
    "t=0.27 #tread in m\n",
    "sigma_cbc=5 #in MPa\n",
    "sigma_st=140 #in MPa\n",
    "MF=1.6\n",
    "a=MF*7\n",
    "D=l*10**3/a #in mm\n",
    "D=100 #assume, in mm\n",
    "W1=D/10**3*t*25 #in kN/m\n",
    "M1=W1*l/2 #in kN-m\n",
    "M2=t*3*l/2 #in kN-m\n",
    "M3=1.3*l #in kN-m\n",
    "M=M1+max(M2,M3) #in kN-m\n",
    "d=math.sqrt(M*10**6/0.87/t/10**3) #in mm\n",
    "d=83 #in mm\n",
    " #assume 8 mm dia bars\n",
    "dia=8 #in mm\n",
    "D=d+dia/2+15 #this is slightly more than assumed value, hence OK\n",
    "D=100 #in mm\n",
    "z=0.87*d #in mm\n",
    "Ast=M*10**6/sigma_st/z #in sq mm\n",
    "n=Ast/0.785/8**2\n",
    "n=4 #assume\n",
    "Ads=0.15/100*D*t*10**3 #distribution steel, in sq mm\n",
    " #provide 6 mm dia bars\n",
    "s=1000*0.785*6**2/Ads #>5d=415 mm\n",
    "s=415 #in mm\n",
    "Tbd=0.6 #in MPa\n",
    "Ld=dia*sigma_st/4/Tbd #in mm\n",
    "Ld=470 #assume, in mm\n",
    "print \"Summary of design\\nThickness of steps=\",(n),\" mm\\nCover from top=15 mm\\nMain steel = 8 mm dia, \",(n),\" in each step with development length of \",(Ld),\" mm\\nDistribution steel = 6 mm dia @ \",(s),\" mm c/c\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex10.2:pg-518"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Summary of design\n",
      "Slab thickness= 200  mm\n",
      "Cover = 25 mm\n",
      "Main steel = 10 mm dia bars @  150  mm c/c\n",
      "Distribution steel = 8 mm dia @  210  mm c/c\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "l=2.7+1 #span, in m\n",
    "R=0.15 #rise, in m\n",
    "t=0.27 #tread, in m\n",
    "sigma_cbc=5 #in MPa\n",
    "sigma_st=230 #in MPa\n",
    " #assuming 50 mm per 1 m of span\n",
    "D=50*l #in mm\n",
    "D=200 #assume, in mm\n",
    "W1=D/10**3*25*math.sqrt(R**2+t**2)/t #slab load on plan, in kN/m\n",
    "W2=1/2.0*R*t*25/t #load of step per metre, in kN/m\n",
    "W3=3 #live load, in kN/m\n",
    "W=W1+W2+W3 #in kN/m\n",
    "M=W*l**2/8 #in kN-m\n",
    "d=math.sqrt(M*10**6/0.65/10**3) #in mm\n",
    "d=170 #in mm\n",
    " #assume 10 mm dia bars\n",
    "dia=10 #in mm\n",
    "D=d+dia/2+25 #which is equal to assumed value, hence OK\n",
    "z=0.9*d #in mm\n",
    "Ast=M*10**6/sigma_st/z #in mm\n",
    "s1=1000*0.785*dia**2/Ast #spacing of 10 mm dia bars\n",
    "s1=150 #assume, in mm\n",
    "Ads=0.12/100*D*10**3 #distribution steel, in sq mm\n",
    " #provide 8 mm dia bars\n",
    "s2=1000*0.785*8**2/Ads #in mm\n",
    "s2=210 #in mm\n",
    " #let span-to-depth ratio be 'a'\n",
    "a=l*10**3/D\n",
    " #for Fe415 grade steel and pt=.32\n",
    "MF=1.2\n",
    "b=20*MF #permissible span-to-depth ratio\n",
    " #as a<b, hence OK\n",
    "print \"Summary of design\\nSlab thickness=\",(D),\" mm\\nCover = 25 mm\\nMain steel = 10 mm dia bars @ \",(s1),\" mm c/c\\nDistribution steel = 8 mm dia @ \",(s2),\" mm c/c\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex10.3:pg-519"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Summary of design\n",
      "Slab thickness= 200  mm\n",
      "Cover = 25 mm\n",
      "Main steel = 10 mm dia bars @  130  mm c/c\n",
      "Distribution steel = 8 mm dia @  140  mm c/c\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "l=2.5+1.5 #span, in m\n",
    "R=0.15 #rise, in m\n",
    "t=0.25 #tread in m\n",
    "sigma_cbc=7 #in MPa\n",
    "sigma_st=275 #in MPa\n",
    " #assuming 50 mm per 1 m of span\n",
    "D=50*l #in mm\n",
    "W1=D/10**3*25*1.5*math.sqrt(R**2+t**2)/t #slab load on plan, in kN/m\n",
    "W2=1/2*R*t*1.5*25/t #load of step per metre, in kN/m\n",
    "W3=1.5*5 #live load, in kN/m\n",
    "W=W1+W2+W3 #in kN/m\n",
    "M=W*l**2/8 #in kN-m\n",
    "d=math.sqrt(M*10**6/0.81/1.5/10**3) #in mm\n",
    "d=177 #in mm\n",
    " #assume 10 mm dia bars\n",
    "dia=10 #in mm\n",
    "D=d+dia/2+25 #which is slightly more than assumed value, hence OK\n",
    "D=200 #in mm\n",
    "d=D-dia/2-25 #in mm\n",
    "z=0.92*d #in mm\n",
    "Ast=M*10**6/sigma_st/z #in sq mm\n",
    "s1=1500*0.785*dia**2/Ast #spacing of 10 mm dia bars, in mm\n",
    "s1=130 #assume, in mm\n",
    "Ads=0.12/100*D*1.5*10**3 #distribution steel, in sq mm\n",
    " #provide 8 mm dia bars\n",
    "s2=1000*0.785*8**2/Ads #in mm\n",
    "s2=140 #in mm\n",
    " #let span-to-depth ratio be 'a'\n",
    "a=l*10**3/D\n",
    "pt=Ast/1500/D*100 #pt=0.3\n",
    " #for Fe500 grade steel and pt=.3\n",
    "MF=1.2\n",
    "b=20*MF #permissible span-to-depth ratio\n",
    " #as a<b, hence OK\n",
    "print \"Summary of design\\nSlab thickness=\",D,\" mm\\nCover = 25 mm\\nMain steel = 10 mm dia bars @ \",s1,\" mm c/c\\nDistribution steel = 8 mm dia @ \",s2,\" mm c/c\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex10.4:pg-520"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Summary of design\n",
      "Slab thickness= 210  mm\n",
      "Cover = 25 mm\n",
      "(a)Flight AB and CD\n",
      "Main steel = 10 mm dia bars @  210  mm c/c\n",
      "Distribution steel = 6 mm dia @  70  mm c/c\n",
      "(b)Flight BC\n",
      "Main steel = 10 mm dia bars @  130  mm c/c\n",
      "Distribution steel = 6 mm dia @  70  mm c/c\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "R=0.15 #rise, in m\n",
    "t=0.3 #tread, in m\n",
    "sigma_cbc=5 #in MPa\n",
    "sigma_st=230 #in MPa\n",
    "l1=1.8+1.5 #span for flight AB, in m\n",
    "l2=1.2+1.5+1.5 #span for flight BC, in m\n",
    "l3=1.8+1.5 #span for flight CD, in m\n",
    "#assuming 50 mm slab thickness per 1 m of span\n",
    "D=50*l2 #slab thickness, in mm\n",
    "W1=D/10**3*25*1.5*math.sqrt(R**2+t**2)/t #slab load on plan, in kN/m\n",
    "W2=1/2*R*t*1.5*25/t #load of step per metre, in kN/m\n",
    "W3=1.5*5 #live load, in kN/m\n",
    "W=W1+W2+W3 #in kN/m\n",
    "#bending moment\n",
    "#(a) flight AB and CD, refer Fig. 10.9\n",
    "Rb=(W/2*1.5*(1.8+1.5/2)+W*1.8**2/2)/(1.5+1.8) #in kN\n",
    "Ra=W/2*1.5+W*1.8-Rb #in kN\n",
    "x=Ra/Rb #point of zero shear force from Ra, in m\n",
    "M1=Ra*x-W*x**2/2 #maximum bending moment, in kN-m\n",
    " #(b) flight BC, refer Fig. 10.10\n",
    "Rb=(W/2*1.5**2/2+W*1.2*(1.2/2+1.5)+W/2*1.5*(1.5+1.2+1.5/2))/(1.5+1.2+1.5) #in kN\n",
    "Rc=Rb #in kN\n",
    " #maximum bending moment will be at centre\n",
    "M2=Rb*(1.5+1.2/2)-W/2*1.5*(1.5/2+1.2/2)-W*(1.2/2)**2/2 #maximum bending moment, in kN-m\n",
    "M=max(M1,M2) #in kN/m\n",
    "d=math.sqrt(M*10**6/0.65/1.5/10**3) #in mm\n",
    " #assume 10 mm dia bars\n",
    "dia=10 #in mm\n",
    "D=d+dia/2+25 #< 210 mm (assumed value)\n",
    "D=210 #in mm\n",
    "d=D-dia/2-25 #in mm\n",
    "#steel\n",
    "#flight AB and CD\n",
    "z=0.9*d #in mm\n",
    "Ast=M1*10**6/sigma_st/z #in sq mm\n",
    "s1=1500*0.785*dia**2/Ast #spacing of 10 mm dia bars, in mm\n",
    "s1=210 #round-off, in mm\n",
    "Ads=0.12/100*D*1.5*10**3 #distribution steel, in sq mm\n",
    " #provide 6 mm dia bars\n",
    "s2=1000*0.785*6**2/Ads #in mm\n",
    "s2=70 #round-off, in mm\n",
    " #flight BC\n",
    "Ast=M2*10**6/sigma_st/z #in sq mm\n",
    "s3=1500*0.785*dia**2/Ast #spacing of 10 mm dia bars, in mm\n",
    "s3=130 #round-off, in mm\n",
    "#distribution steel is same as flights AB and CD\n",
    "#let span-to-depth ratio be 'a'\n",
    "a=l2*10**3/D\n",
    "#for Fe415 grade steel and pt=.32\n",
    "MF=1.2 #modification factor\n",
    "b=20*MF #permissible span-to-depth ratio\n",
    "#as a < b, hence OK\n",
    "print \"Summary of design\\nSlab thickness=\",D,\" mm\\nCover = 25 mm\\n(a)Flight AB and CD\\nMain steel = 10 mm dia bars @ \",s1,\" mm c/c\\nDistribution steel = 6 mm dia @ \",s2,\" mm c/c\\n(b)Flight BC\\nMain steel = 10 mm dia bars @ \",s3,\" mm c/c\\nDistribution steel = 6 mm dia @ \",s2,\" mm c/c\"\n",
    " #answer in textbook is incorrect\n"
   ]
  }
 ],
 "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.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
