{ "metadata": { "name": "chapter6.ipynb" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 6: Friction" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6-1,Page No:126" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "import numpy as np\n", "\n", "# Initilization of variables\n", "\n", "m=5 #kg # mass of the bock\n", "g=9.81 # m/s^2 # acceleration due to gravity\n", "theta=15 # degree # angle made by the forces (P1 & P2) with the horizontal of the block\n", "mu=0.4 #coefficient of static friction\n", "\n", "#Calculations\n", "\n", "# Case 1. Where P1 is the force required to just pull the bock\n", "\n", "# Solving eqn's 1 & 2 using matrix\n", "A=np.array([[cos(theta*(pi/180)), -mu],[sin(theta*(pi/180)), 1]])\n", "B=np.array([0,(m*g)])\n", "C=np.linalg.solve(A,B)\n", "\n", "# Calculations \n", "\n", "# Case 2. Where P2 is the force required to push the block\n", "\n", "# Solving eqn's 1 & 2 using matrix\n", "P=np.array([[-cos(theta*(pi/180)), mu],[-sin(theta*(pi/180)) ,1]])\n", "Q=np.array([0,(m*g)])\n", "R=np.linalg.solve(P,Q)\n", "\n", "# Results\n", "\n", "print\"The required pull force P1 is \",round(C[0],2),\"N\" #answer in textbook is wrong\n", "print\"The required push force P2 is \",round(R[0]),\"N\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The required pull force P1 is 18.35 N\n", "The required push force P2 is 23.0 N\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6-4,Page No:129" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "# Initilization of variables\n", "\n", "W1=50 # N # weight of the first block\n", "W2=50 # N # weight of the second block\n", "mu_1=0.3 # coefficient of friction between the inclined plane and W1\n", "mu_2=0.2 # coefficient of friction between the inclined plane and W2\n", "\n", "# Calculations\n", "\n", "# On adding eq'ns 1&3 and substuting the values of N1 & N2 from eqn's 2&4 in this and on solving for alpha we get,\n", "\n", "alpha=(arctan(((mu_1*W1)+(mu_2*W2))/(W1+W2)))*(180/pi) # degrees\n", "\n", "# Results\n", "\n", "print\"The inclination of the plane is \",round(alpha),\"degree\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The inclination of the plane is 14.0 degree\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6-7,Page No:133" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "# Initilization of variables\n", "\n", "M=2000 # kg # mass of the car\n", "mu=0.3 # coefficient of static friction between the tyre and the road\n", "g=9.81 # m/s^2 # acc. due to gravity\n", "\n", "# Calculations\n", "\n", "# Divide eqn 1 by eqn 2, We get\n", "theta=arctan(mu)*(180/pi) #degree\n", "\n", "# Results\n", "\n", "print\"The angle of inclination is \",round(theta,1),\"degree\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The angle of inclination is 16.7 degree\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6-9,Page No:135" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "import numpy as np\n", "\n", "# Initilization of variabes\n", "\n", "Wa=1000 #N # weight of block A\n", "Wb=500 #N # weight of block B\n", "theta=15 # degree # angle of the wedge\n", "mu=0.2 # coefficient of friction between the surfaces in contact\n", "phi=7.5 # degrees # used in case 2\n", "\n", "# Caculations \n", "\n", "# CASE (a)\n", "\n", "# consider the equilibrium of upper block A\n", "# rearranging eq'ns 1 &2 and solving them using matrix for N1 & N2\n", "A=np.array([[1 ,-0.4522],[-0.2 ,0.914]])\n", "B=np.array([0,1000])\n", "C=np.linalg.solve(A,B)\n", "\n", "# Now consider the equilibrium of lower block B\n", "# From eq'n 4\n", "N3=Wb+(C[1]*cos(theta*(pi/180)))-(mu*C[1]*sin(theta*(pi/180))) #N\n", "# Now from eq'n 3\n", "P=(mu*N3)+(mu*C[1]*cos(theta*(pi/180)))+(C[1]*sin(theta*(pi/180))) # N\n", "\n", "# CASE (b)\n", "\n", "# The eq'n for required coefficient for the wedge to be self locking is,\n", "mu_req=(theta*pi)/360 # multiplying with (pi/180) to convert it into radians\n", "\n", "# Results\n", "\n", "print\"The minimum horizontal force (P) which should be applied to raise the block is \",round(P),\"N\"\n", "print\"The required coefficient for the wedge to be self locking is \",round(mu_req,4) #answer in textbook is wrong\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The minimum horizontal force (P) which should be applied to raise the block is 871.0 N\n", "The required coefficient for the wedge to be self locking is 0.1309\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.6-13.Page No:141" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "import numpy as np\n", "\n", "# Initilization of variables\n", "\n", "P=100 #N # force acting at 0.2 m from A\n", "Q=200 #N # force acting at any distance x from B\n", "l=1 #m # length of the bar\n", "theta=45 #degree #angle made by the normal reaction at A&B with horizontal\n", "\n", "# Calculations\n", "\n", "#solving eqn's 1 & 2 using matrix for Ra & Rb,\n", "A=np.array([[1, -1],[sin(theta*(pi/180)) ,sin(theta*(pi/180))]])\n", "B=np.array([0,(P+Q)])\n", "C=np.linalg.solve(A,B)\n", "\n", "# Now take moment about B\n", "x=((C[0]*l*sin(theta*(pi/180)))-(P*(l-0.2)))/200 #m # here 0.2 is the distance where 100 N load lies from A\n", "\n", "# Results\n", "\n", "print\"The minimum value of x at which the load Q=200 N may be applied before slipping impends is \",round(x,2),\"m\" \n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The minimum value of x at which the load Q=200 N may be applied before slipping impends is 0.35 m\n" ] } ], "prompt_number": 20 } ], "metadata": {} } ] }