{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter5-FRICTION"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "P= 1250.0 N\n",
      "P= 1210.36288071 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "Wa=1000.0 #weight of block a\n",
    "Wb=2000.0  #weight of block b\n",
    "uab=1.0/4.0   #coefficient of friction between A and B\n",
    "ubg=1.0/3.0    #coefficient of friction between ground and B\n",
    "#When P is horizontal\n",
    "#considering  equilibrium of block A\n",
    "N1=Wa         #Normal Reaction on block A from block B\n",
    "F1=uab*N1     #limiting Friction between A and B\n",
    "T=F1         #tension\n",
    "#considering  equilibrium of block B\n",
    "N2=N1+ Wb         #Normal Reaction on block B from Ground\n",
    "F2=ubg*N2     #limiting Friction between A and ground\n",
    "P=F1+F2\n",
    "print \"P=\",P,\"N\"\n",
    "#When P is inclined at angle o\n",
    "o=30.0*3.14/180.0\n",
    "#considering  equilibrium of block A\n",
    "N1=Wa         #Normal Reaction on block A from block B\n",
    "F1=uab*N1     #limiting Friction between A and B\n",
    "T=F1         #tension\n",
    "#considering  equilibrium of block B\n",
    "#from\n",
    "#N2+Psin30=N1+Wb\n",
    "#Pcos30=F1+F2\n",
    "#F1=ubg*N2\n",
    "N2=(N1+Wb-F1*math.tan(o))/(1+ubg*math.tan(o))\n",
    "P=(N1+Wb-N2)/math.sin(o)\n",
    "print \"P=\",P,\"N\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "29.0693410161 °\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "Wa=300.0 #weight of upper block \n",
    "Wb=900.0  #weight of lower block \n",
    "u1=1.0/3.0   #coefficient of friction between upper block and lower block\n",
    "u2=1.0/3.0    #coefficient of friction between ground and  lower block\n",
    "#using \n",
    "#N1=Wacoso          Normal Reaction\n",
    "#F1=u1*N1           Friction\n",
    "#N2=Wbcoso+N1\n",
    "#F2=u2*N2\n",
    "o=math.atan((u1*Wa+u2*Wb+u2*Wa)/Wb)*180/3.14\n",
    "print o,\"°\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Angle of inclination is  30.0152164356\n",
      "coefficient of friction is 0.1\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "W=500.0    #weight of block\n",
    "F1=200.0     #force up the inclined plane when block is moving down\n",
    "F2=300.0     #force up the inclined plane when block is at rest\n",
    "#When block starts moving down the plane\n",
    "#sum of all forces perpendicular to the plane = 0\n",
    "#N =Wcoso\n",
    "#sum of all forces parallel to the plane = 0\n",
    "#Fr+F1=Wsino\n",
    "#sino-ucoso=F1/w    1\n",
    "#When block starts moving up the plane\n",
    "#sum of all forces perpendicular to the plane = 0\n",
    "#N =Wcoso\n",
    "#sum of all forces parallel to the plane = 0\n",
    "#Wsino+Wucoso=F2\n",
    "#using these equations\n",
    "o=math.asin((F1*0.5/W)+(F2*0.5/W))   #angle of inclination\n",
    "print \"Angle of inclination is \",(o*180/3.14)\n",
    "#using 1\n",
    "u=math.sin(o)-F1/W\n",
    "print \"coefficient of friction is\",round(u,3)\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Angle of Inclination 21.8124674778\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "uag=0.5   #coefficient of friction between block A and the plane\n",
    "ubg=0.2   #coefficient of friction between block B and the plane\n",
    "Wb=500.0  #weight of block B\n",
    "Wa=1000.0  #weight of block A\n",
    "#Considering equilibrium of block A,\n",
    "#sum of all forces along the plane is 0\n",
    "#N1=Wacoso ,Fr=uagN1\n",
    "#sum of all forces perpendicaular to  the plane is 0\n",
    "#T=uagWacoso-Wasino\n",
    "#Considering equilibrium of block A,\n",
    "#sum of all forces along the plane is 0\n",
    "#N2=Wbcoso ,Fr=uagN2\n",
    "#sum of all forces perpendicaular to  the plane is 0\n",
    "#T=Wbsino-ubgwbsino\n",
    "o=math.atan((uag*Wa+ubg*Wb)/(Wa+Wb))*180.0/3.14\n",
    "print \"Angle of Inclination\",o;\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "853.305553493 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "Wl=750.0  #weight of lower block\n",
    "Wu=500.0  #weight of upper block\n",
    "o1=60.0*3.14/180.0   #angle of inclined plane\n",
    "o2=30.0 *3.14/180.0 # anlge at which pull is applied\n",
    "u=0.2     #coefficient of friction\n",
    "#for 750 N block\n",
    "#Σ Forces normal to the plane = 0 \n",
    "N1=Wl*math.cos(o1)\n",
    "F1=u*N1\n",
    "#Σ Forces parallel to the plane = 0\n",
    "T=F1+Wl*math.sin(o1)\n",
    "#Σ Forces horizontal to the plane = 0\n",
    "P=(T+u*Wu)/(math.cos(o2)+u*math.sin(o2))\n",
    "print P,\"N\"\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Least Weight is 266.34090474 N\n",
      "Greatest Weight is 969.473014916 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "o1=60.0*3.14/180.0    #angle of inclination of plane AC\n",
    "o2=30.0*3.14/180.0    #angle of inclination of plane BC\n",
    "Wbc=1000.0  #weight of block on plane BC\n",
    "ubc=0.28    #coefficient of friction between the load and the plane BC \n",
    "uac=0.20   #coefficient of friction between the load and the plane AC\n",
    "#for least weight \n",
    "N1=Wbc*math.cos(o2)                            #Normal Reaction\n",
    "F1=ubc*N1                                       #frictional Force\n",
    "T=Wbc*math.sin(o2)-F1                          #Tension\n",
    "#for block on plane AC\n",
    "#N2=Wcoso1\n",
    "#F2=uac*N2\n",
    "#T=F2+W sino2\n",
    "W=T/(uac*math.cos(o1)+math.sin(o1))\n",
    "print \"Least Weight is\",W,\"N\"\n",
    "#for greatest weight \n",
    "N1=Wbc*math.cos(o2)                            #Normal Reaction\n",
    "F1=ubc*N1                                       #frictional Force\n",
    "T=Wbc*math.sin(o2)+F1                          #Tension\n",
    "#for block on plane AC\n",
    "#N2=Wcoso1\n",
    "#F2=uac*N2\n",
    "#T=F2+W sino2\n",
    "W=T/(-1*uac*math.cos(o1)+math.sin(o1))\n",
    "print \"Greatest Weight is\",W,\"N\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Weight  10498.172578 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "u=0.4     #The coefficient of friction on the horizontal plane\n",
    "oi=30     #angle of inclined plane\n",
    "o=20.0  #The limiting angle of  friction for block B on the inclined plane\n",
    "wb=5000.0   #weight of block b\n",
    "ub=math.tan(o*3.14/180.0)            #coefficcient of friction on plane\n",
    "#for block B\n",
    "#N1 N2 N3 are normal reaction\n",
    "#F1 F2  are frictional forces\n",
    "#F1=ub*N1   \n",
    "#N1 sinoi + F1 cos oi=wb\n",
    "N1=wb/(math.sin(oi*3.14/180.0)+ub*math.cos(oi*3.14/180.0))\n",
    "F1=ub*N1\n",
    "C=N1*math.cos(oi*3.14/180.0)-F1*math.sin(oi*3.14/180.0)\n",
    "\n",
    "#force balance on A in horizontal balance\n",
    "F2=C\n",
    "N2=F2/u\n",
    "#force balance on A in vertical balance\n",
    "W=N2\n",
    "print \"Weight \",W,\"N\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Force = 23812.7516422 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "w=20000.0    #weight of upper block\n",
    "o=15.0      #The angle of friction for all surfaces of contact\n",
    "u=math.tan(o)  #coefficient of friction\n",
    "#R1 R2 are forces\n",
    "Or1=15.0     #angle force R1 makes with x axis\n",
    "Or2=35.0       #angle force R2 makes with Y axis\n",
    "R2=w*math.sin((90-Or1)*3.14/180.0)/math.sin((90+Or1+Or2)*3.14/180.0)\n",
    "#applyig lamis theorem on block B\n",
    "Or1=15.0     #angle force R3 makes with Y axis\n",
    "Or2=35.0       #angle force R2 makes with Y axis\n",
    "P=R2*math.sin((180-Or1-Or2)*3.14/180.0)/math.sin((90+Or1)*3.14/180.0)\n",
    "print \"Force =\",P,\"N\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "P= 66.26 KN\n"
     ]
    }
   ],
   "source": [
    "import math \n",
    "w=160.0    #weight of block,KN\n",
    "u=0.25             #coefficient of friction\n",
    "phi=math.atan(u)\n",
    "\n",
    "#The free body diagrams of wedges A, B and block C .The problem being symmetric, the reactions R1 and R2 on wedges A and B are equal. The system of forces on block C andon wedge A are shown in the form convenient for applying Lami’s theorem\n",
    "R1=w*math.sin(math.pi-(16*math.pi/180)-phi)/math.sin(2*(phi+math.pi*16/180))\n",
    "#consider the equillibrium of the wedge A ,Ny lamis's theorem,we get\n",
    "P=R1*math.sin(math.pi-phi-phi-(16*math.pi/180))/math.sin((math.pi/2)+phi)\n",
    "print\"P=\",round(P,2),\"KN\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Force required is  62.0836173323 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "l=4.0    #length of ladder\n",
    "u1=0.2    #coefficient of friction between the wall and the ladder\n",
    "w=200.0   #weight of ladder\n",
    "u2=0.3    #coefficient of friction between floor and the ladder\n",
    "wm=600.0     #weight of man\n",
    "lm=3.0      #distance of man\n",
    "o=3.14*60.0/180.0   #angle made by ladder with floor\n",
    "#sum of all moment about A =0\n",
    "Nb=(w*l/2*math.cos(o)+wm*lm*math.cos(o))/(l*(math.sin(o)+u1*math.cos(o)))     # normal reaction from wall\n",
    "Fb=u1*Nb     #friction from wall\n",
    "#force balance in vertical direction\n",
    "Na=(w+wm-Fb)      # normal reaction from ground\n",
    "Fa=u2*Na      #friction from ground\n",
    "P=Nb-Fa\n",
    "print \"Force required is \",P,\"N\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.11"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Angle of inclination is  71.6013500101 degrees\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "l=6.0    #length of ladder\n",
    "u1=0.4    #coefficient of friction between the wall and the ladder\n",
    "w=200.0   #weight of ladder\n",
    "u2=0.25    #coefficient of friction between floor and the ladder\n",
    "wl=900.0     #weight of load\n",
    "ll=5.0      #distance of load\n",
    "#force balancing\n",
    "#Na Nb   normal reaction at A and B\n",
    "#Fa Fb    friction  at A and B\n",
    "#Fa=u2*Na              \n",
    "#Fb=u1*Nb\n",
    "#Na+Fb=w+wl\n",
    "#Fa=Nb\n",
    "Nb=(wl+w)*u2/(1+u2*u1)\n",
    "Na=Nb/u2\n",
    "Fa=u2*Na\n",
    "Fb=u1*Nb\n",
    "#sum of all moments about a is =0\n",
    "temp=((w*l*0.5)+(wl*ll)-(Fb*l))/(Nb*l)\n",
    "o=math.atan(temp)*180/3.14\n",
    "print \"Angle of inclination is \",o,\"degrees\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.12"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "length will 0.5 times\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "o=45.0*3.14/180.0       #angle of inclination \n",
    "u=0.5                        #coefficient of friction\n",
    "r=1.5                    #ratio of mans weight to ladders weight\n",
    "o1=45.0*math.pi/180.0           #angle of inclination\n",
    "#from law of friction\n",
    "#Fa = μNa\n",
    "#Fb = μNb\n",
    "#Fa – Nb = 0 \n",
    "#Na + Fb = W + r W\n",
    "#ΣMA = 0\n",
    "o=(((u*u+u)*(1+r)/((1+u)))-1.0/2.0)/r\n",
    "print \"length will\",o,\"times\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.13"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Maximum weight is  6277.60420331\n",
      "Minimum weight is  57.3467183245\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "n=1.25                 #number of turns\n",
    "o=2*3.14*n              #angle of contact\n",
    "u=0.3                 #coefficient of friction\n",
    "t=600.0                #force at the other end of the rope\n",
    "#if the impending motion of the weight be downward.\n",
    "W=T2=t*2.71**(u*o)\n",
    "print \"Maximum weight is \",W\n",
    "#if the impending motion of weight be upwards\n",
    "W=T1=t*2.71**(-1*u*o)\n",
    "print \"Minimum weight is \",W"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.14"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Weight is  136.9599857 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "ur=0.20       #The coefficient of friction  between the rope and the fixed drum\n",
    "uo=0.30        #The coefficient of friction  between other surfaces\n",
    "cosa=4.0/5.0 #cos of angle of inclination\n",
    "sina=3.0/5.0 #sin of angle of inclination\n",
    "Ww=1000.0  #weight\n",
    "o=3.14   #angle of contact of rope with pulley\n",
    "#for unknown weight\n",
    "#force balance perpendicular to the plane\n",
    "#N1 = W cos α\n",
    "#fr=uoN1\n",
    "#force balance along the plane\n",
    "#T1 = F1 + W sin α\n",
    "#for 1000 N body\n",
    "#force balance perpendicular to the plane\n",
    "#N2=N1+Wwcosa\n",
    "#fr2=uoN2\n",
    "#force balance along the plane\n",
    "#T2= Wwsina -F1 -F2\n",
    "#T2=T1*e^(ur*o)\n",
    "W=(Ww*sina-uo*Ww*cosa)/(((uo*cosa+sina)*(2.71**(uo*o)))+(uo*cosa+uo*cosa))\n",
    "print \"Weight is \",W,\"N\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.15"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "force P applied at the end of the brake lever 274.480678202\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "u=0.3           #coefficient of friction\n",
    "r=250           #radius of brake drum\n",
    "l=300            #length of lever arm\n",
    "M=300000.0      #torque\n",
    "o=r*3.14/180.0\n",
    "l2=50.0\n",
    "#using \n",
    "#T2 = T1e^(μθ)         T1 and T2 are tension\n",
    "#(T2-T1)r=M\n",
    "T1=M/(r*(2.71**(u*o)-1))\n",
    "T2=(2.71**(u*o))*T1\n",
    "#Consider the lever arm. Taking moment about the hinge\n",
    "p=T2*l2/l                     #force P applied at the end of the brake lever\n",
    "print \"force P applied at the end of the brake lever\",p\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 5.16"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Length of belt is  6972.02507534 mm\n",
      "Power Transmitted 3252832.96438 Watt\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "d1=500.0         #diameter of a shaft\n",
    "d2=100.0        #diameter of a shaft\n",
    "D=3000.0                   #distance between shafts in mm\n",
    "T=1000.0              #Maximum permissible tension in the belt\n",
    "U=0.25           #coefficient of friction between the belt and the pulley\n",
    "R=220.0              #revlution per minute of larger shaft\n",
    "O1=O2=3.14+2*math.asin((d1+d2)/(2*D))\n",
    "#Length of belt = Arc length DC + Arc length FE + 2BG\n",
    "L=(d1/2+d2/2)*O1+2*D*math.cos(math.asin((d1+d2)/(2*D)))\n",
    "print  \"Length of belt is \",L,\"mm\"\n",
    "T1=T/(2.71**(U*O1))\n",
    "Velocity_of_the_belt =d1/2*(R*2*3.14/60.0)\n",
    "Power_transmitted=(T-T1)*Velocity_of_the_belt\n",
    "print \"Power Transmitted\",Power_transmitted,\"Watt\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Example 5.17"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Length of belt is  6955.3382782 mm\n",
      "Power Transmitted 3035637.41075 Watt\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "d1=500.0         #diameter of a shaft\n",
    "d2=100.0        #diameter of a shaft\n",
    "D=3000.0                   #distance between shafts in mm\n",
    "T=1000.0              #Maximum permissible tension in the belt\n",
    "U=0.25           #coefficient of friction between the belt and the pulley\n",
    "R=220.0              #revlution per minute of larger shaft\n",
    "O1=3.14+2*math.asin((d1-d2)/(2*D))\n",
    "O2=3.14-2*math.asin((d1-d2)/(2*D))\n",
    "#Length of belt = Arc length DC + Arc length FE + 2BG\n",
    "L=(d1/2*O1+d2/2*O2)+2*D*math.cos(math.asin((d1-d2)/(2*D)))\n",
    "print  \"Length of belt is \",L,\"mm\"\n",
    "T1=T/(2.71**(U*O2))\n",
    "Velocity_of_the_belt =d1/2*(R*2*3.14/60.0)\n",
    "Power_transmitted=(T-T1)*Velocity_of_the_belt\n",
    "print \"Power Transmitted\",Power_transmitted,\"Watt\"\n",
    "\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [Root]",
   "language": "python",
   "name": "Python [Root]"
  },
  "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.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}