diff options
author | hardythe1 | 2015-07-03 12:23:43 +0530 |
---|---|---|
committer | hardythe1 | 2015-07-03 12:23:43 +0530 |
commit | 9d260e6fae7328d816a514130b691fbd0e9ef81d (patch) | |
tree | 9e6035702fca0f6f8c5d161de477985cacad7672 /Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb | |
parent | afcd9e5397e3e1bde0392811d0482d76aac391dc (diff) | |
download | Python-Textbook-Companions-9d260e6fae7328d816a514130b691fbd0e9ef81d.tar.gz Python-Textbook-Companions-9d260e6fae7328d816a514130b691fbd0e9ef81d.tar.bz2 Python-Textbook-Companions-9d260e6fae7328d816a514130b691fbd0e9ef81d.zip |
add/remove books
Diffstat (limited to 'Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb')
-rwxr-xr-x | Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb b/Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb new file mode 100755 index 00000000..a0feab39 --- /dev/null +++ b/Engineering_Mechanics_by_Tayal_A.K./chapter06.ipynb @@ -0,0 +1,279 @@ +{
+ "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": {}
+ }
+ ]
+}
\ No newline at end of file |