summaryrefslogtreecommitdiff
path: root/Engineering_Mechanics
diff options
context:
space:
mode:
Diffstat (limited to 'Engineering_Mechanics')
-rw-r--r--Engineering_Mechanics/chapter_1.ipynb866
-rw-r--r--Engineering_Mechanics/chapter_11.ipynb1353
-rw-r--r--Engineering_Mechanics/chapter_12.ipynb1392
-rw-r--r--Engineering_Mechanics/chapter_13.ipynb717
-rw-r--r--Engineering_Mechanics/chapter_14.ipynb1114
-rw-r--r--Engineering_Mechanics/chapter_15.ipynb2687
-rw-r--r--Engineering_Mechanics/chapter_16.ipynb1312
-rw-r--r--Engineering_Mechanics/chapter_17.ipynb879
-rw-r--r--Engineering_Mechanics/chapter_18.ipynb1586
-rw-r--r--Engineering_Mechanics/chapter_2.ipynb648
-rw-r--r--Engineering_Mechanics/chapter_20.ipynb2599
-rw-r--r--Engineering_Mechanics/chapter_3.ipynb591
-rw-r--r--Engineering_Mechanics/chapter_4.ipynb1051
-rw-r--r--Engineering_Mechanics/chapter_5.ipynb851
-rw-r--r--Engineering_Mechanics/chapter_6.ipynb1118
-rw-r--r--Engineering_Mechanics/chapter_7.ipynb788
-rw-r--r--Engineering_Mechanics/chapter_8.ipynb1699
-rw-r--r--Engineering_Mechanics/chapter_9.ipynb1623
18 files changed, 22874 insertions, 0 deletions
diff --git a/Engineering_Mechanics/chapter_1.ipynb b/Engineering_Mechanics/chapter_1.ipynb
new file mode 100644
index 00000000..ea9d90ce
--- /dev/null
+++ b/Engineering_Mechanics/chapter_1.ipynb
@@ -0,0 +1,866 @@
+{
+ "metadata": {
+ "name": "chapter_1.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 1:Fundamental Of Engineering Mechanics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.1,Page No.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "P=10 #N #Force1\n",
+ "Q=8 #N #Force2\n",
+ "alpha=60 #Degrees #Angle Between Two Forces\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Magnitude of Resultant Force \n",
+ "R=(P**2+Q**2+2*P*Q*cos(alpha*pi*180**-1))**0.5 #N\n",
+ " \n",
+ "#Result\n",
+ "print\"Magnitude of Resultant Force\",round(R,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant Force 15.62 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.2,Page No.8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "alpha=60 #Degrees #Angle between Forces\n",
+ "R=20*(3)**0.5\n",
+ "\n",
+ "#Let P & Q be the Two forces\n",
+ "#As Two Forces are equal i.e P=Q\n",
+ "\n",
+ "#Magnitude of Resultant Force \n",
+ "#R=(P**2+Q**2+2*P*Q*cos(alpha*pi*180**-1))**0.5 #N\n",
+ "#After Sub values and Furhter simplifying above equations we get\n",
+ "#R=2*P*cos(alpha*2**-1*pi*180**-1)\n",
+ "\n",
+ "#Further on Simplifying we get\n",
+ "P=R*((3)**0.5)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force is 20.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.3,Page No.9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Case-1\n",
+ "R1=14 #N #Resultant1\n",
+ "alpha1=60 #Degrees #Angle between two forces\n",
+ "\n",
+ "#Case-2\n",
+ "R2=(136)**0.5\n",
+ "alpha2=90 #Degrees #Angle between two Forces\n",
+ "\n",
+ "#Let P And Q be the two forces\n",
+ "#R=(P**2+Q**2+2*P*Q**cos(alpha))\n",
+ "\n",
+ "#Now For case-1,we get Resultant as\n",
+ "#P**2+Q**2+P*Q=196 ............................(1)\n",
+ "\n",
+ "#For case-2,we get Resultant as\n",
+ "#P**2+Q**2=136 ...................................(2)\n",
+ "\n",
+ "#Subtracting Equation 2 from equation 1 we get\n",
+ "#P*Q=60 .........................................(3)\n",
+ "\n",
+ "#Multiplying abovw equation by 2 we get\n",
+ "#2*P*Q=120 .......................................(4)\n",
+ "\n",
+ "#Adding equation 4 to equation 2 we get\n",
+ "#P**2+Q**2+2*P*Q=256\n",
+ "#After Further simplifying we get\n",
+ "#P=16-Q ..........................(5)\n",
+ "\n",
+ "#Sub value of P in equation 3 we get\n",
+ "#Q**2-16*Q+60=0\n",
+ "a=1\n",
+ "b=-16\n",
+ "c=60\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "Q1=(-b+X**0.5)*(2*a)**-1\n",
+ "Q2=(-b-X**0.5)*(2*a)**-1\n",
+ "\n",
+ "#Now sub value of Q in equation 5 we get\n",
+ "P1=16-Q1\n",
+ "P2=16-Q2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of two Forces is:P2\",round(P2,2),\"N\"\n",
+ "print\" :Q1\",round(Q2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of two Forces is:P2 10.0 N\n",
+ " :Q1 6.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.4,Page No.10 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "P=50 #N #Force acting at pt O\n",
+ "Q=100 #N #force acting at pt O\n",
+ "alpha=30 #DEgree #Angle Between Two Forces\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#MAgnitude of Resultant\n",
+ "R=(P**2+Q**2+2*P*Q*cos(alpha*pi*180**-1))**0.5 #N\n",
+ "\n",
+ "#Angle Made by resultant with the direction of P\n",
+ "X=(Q*sin(alpha*180**-1*pi)*(P+(Q*cos(alpha*pi*180**-1)))**-1)\n",
+ "theta=np.arctan(X)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Angle made by resultant with x-axis is\n",
+ "Y=theta+alpha*2**-1 #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant in the Magnitude is\",round(R,2),\"N\"\n",
+ "print\"Resultant in the Direction is\",round(Y,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant in the Magnitude is 145.47 N\n",
+ "Resultant in the Direction is 35.1 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.5,Page No.10 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "R=1500 #N #REsultant of two Forces\n",
+ "alpha=90 #Degrees #Angle between two Forces\n",
+ "theta=36 #Degrees #Angle Made by Resultant with one Force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now From Equation of Direction of Resultant,we get\n",
+ "#tan(theta)=(Q*sin(alpha))*(P+Q*sin(alpha))**-1\n",
+ "#After Further sub values and simplifying we get\n",
+ "#Q=0.726*P .......................................(1)\n",
+ "\n",
+ "#Now From Equation of Resultant\n",
+ "#R=(P**2+Q**2+2*P*Q*cos(alpha))\n",
+ "#After sub values and further simplifying we get\n",
+ "#R=1.527*P**2 \n",
+ "#Therefore,we get value of P After simplifying above equation\n",
+ "P=(R**2*(1.527)**-1)**0.5\n",
+ "\n",
+ "#Sub value of P in equation 1 we get\n",
+ "Q=0.726*P \n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude Of Forces:P\",round(P,2),\"N\"\n",
+ "print\" :Q\",round(Q,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude Of Forces:P 1213.87 N\n",
+ " :Q 881.27 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6,Page No.11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "#P+Q=120\n",
+ "R=180 #N #Resultant of two Forces\n",
+ "theta=90 #Degrees #Angle between force and Resultant\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now From Equation of Direction of Resultant,we get\n",
+ "#Tan(theta)=Q*sin(alpha)*(P+Q*sin(alpha))**-1\n",
+ "#After Further ssub values a in above equation and further simplifying we get\n",
+ "#P=-Q*cos(alpha) ..........(1)\n",
+ "\n",
+ "#Now From equation of Resultant we get\n",
+ "#R=(P**2++Q**2+2*P*Q*cos(alpha))**0.5\n",
+ "#After sub values and further simplifying\n",
+ "#Q-P=120 ......................................(1)\n",
+ "#P+Q=270 ......................................(2)\n",
+ "\n",
+ "#After Adding above equations i.e equations 1 and 2 we get\n",
+ "Q=390*2**-1 #N\n",
+ "\n",
+ "P=270-Q #N\n",
+ "\n",
+ "#Value of angle alpha\n",
+ "alpha=np.arccos(-P*Q**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Each Force:P\",round(P,2),\"N\"\n",
+ "print\" :Q\",round(Q,2),\"N\"\n",
+ "print\"Angle between Two Forces\",round(alpha,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Each Force:P 75.0 N\n",
+ " :Q 195.0 N\n",
+ "Angle between Two Forces 112.62 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.7,Page No.13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "W=1000 #N #Weight\n",
+ "#Angles\n",
+ "CAB=30 #Degrees\n",
+ "CBA=CBD=60 #Degrees\n",
+ "ACB=90 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "#Angle\n",
+ "CAD=30 #Degrees\n",
+ "\n",
+ "#In Right-Angle Triangle,Angle ADC\n",
+ "ACD=90-CAD #Degrees\n",
+ "\n",
+ "#In Right-Angle Triangle,Angle BDC\n",
+ "#Angle\n",
+ "BCD=90-CBD #Degrees\n",
+ "ACE=180-ACB-90-60 #DEgrees\n",
+ "BCE=180-ACE-ACB #DEGrees\n",
+ "\n",
+ "#Applying LAmi's Theorem at Point C\n",
+ "#T1*(sin150)**-1=T2*(sin(120)**-1=1000*sin(90)**-1\n",
+ "\n",
+ "#After Further simp;ifying we get\n",
+ "T1=W*sin(150*pi*180**-1) #N\n",
+ "T2=W*sin(120*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Tension in Chain is:T1\",round(T1,2),\"N\"\n",
+ "print\" :T2\",round(T2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tension in Chain is:T1 500.0 N\n",
+ " :T2 866.03 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.8,Page No.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "W=900 #N #Weight at C\n",
+ "#Length\n",
+ "AC=4 #m \n",
+ "BC=3 #m\n",
+ "AB=5 #m\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#In Triangle ABC\n",
+ "X=AC**2+BC**2 \n",
+ "Y=AB**2 \n",
+ "\n",
+ "#Therefore,\n",
+ "#X=Y\n",
+ "\n",
+ "#Therefore,\n",
+ "#Triangle ABC is Right Angle Triangle,In Which Angle ACB=90 Degrees\n",
+ "alpha=np.arcsin(BC*AB**-1)*(180*pi**-1)\n",
+ "Beta=90-alpha\n",
+ "\n",
+ "#In Right Angle Triangle ADC,\n",
+ "theta1=90-alpha\n",
+ "\n",
+ "#In Right Angle Triangle BDC,\n",
+ "theta2=90-Beta\n",
+ "\n",
+ "#Now,Angles\n",
+ "ACE=180-theta1\n",
+ "BCE=180-theta2\n",
+ "\n",
+ "#Now applying ami's Theorem\n",
+ "#T1*(sin(BCE))**-1=T2*(sin(ACE))**-1=W*(sin(90))**-1\n",
+ "\n",
+ "#Tensions in chains \n",
+ "T1=W*sin(BCE*180**-1*pi) #N\n",
+ "T2=W*sin(ACE*180**-1*pi) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Tension in Chains are:T1\",round(T1,2),\"N\"\n",
+ "print\" :T2\",round(T2,2),\"N\"\n",
+ "\n",
+ "#Answer in hte book For T2 is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tension in Chains are:T1 540.0 N\n",
+ " :T2 720.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.9,Page No.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "W=15 #N #Weight at Pt C\n",
+ "OAC=FAC=60 #Degrees\n",
+ "CBD=BCF=45 #Degrees\n",
+ "FCA=90-FAC #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Using Lami's theorem,\n",
+ "#W*(sin(BCA))**-1=T1*(sin(ACE))**-1=T2*(sin(ACE))**-1\n",
+ "\n",
+ "#Angles\n",
+ "BCA=BCF+FCA #Degrees\n",
+ "ACE=180-FCA #Degrees\n",
+ "BCE=180-BCF #Degrees\n",
+ "\n",
+ "#Force's in the string AC\n",
+ "T1=W*sin(ACE*180**-1*pi)*(sin(BCA*180**-1*pi))**-1 #N\n",
+ "T2=W*sin(BCE*180**-1*pi)*(sin(BCA*180**-1*pi))**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Force's in the string:T1\",round(T1,2),\"N\"\n",
+ "print\" :T2\",round(T2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force's in the string:T1 7.76 N\n",
+ " :T2 10.98 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.10,Page No.16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Forces\n",
+ "P=50 #N\n",
+ "Q=100 #N\n",
+ "alpha=30 #Angle Between Two Forces\n",
+ "theta=15 #Degrees #Angle Made By Force P with x-axis\n",
+ "theta2=alpha+theta #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Sum Of COmponents of forces along X-Axis is\n",
+ "H=P*cos(theta*pi*180**-1)+Q*cos(theta2*pi*180**-1) #N\n",
+ "\n",
+ "#Sum Of COmponents of forces along Y-Axis is\n",
+ "V=P*sin(theta*pi*180**-1)+Q*sin(theta2*pi*180**-1) #N\n",
+ "\n",
+ "#MAgnitude Of Resultant Force is\n",
+ "R=(H**2+V**2)**0.5 #N\n",
+ "\n",
+ "#Let Direction Of Resultant Force be beta\n",
+ "#Direction Of Resultant Force is\n",
+ "beta=np.arctan(V*H**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant Force is\",round(R,2),\"N\"\n",
+ "print\"Direction of Resultant Force is\",round(beta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant Force is 145.47 N\n",
+ "Direction of Resultant Force is 35.1 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.11,Page No.17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Let 3Forces Be\n",
+ "R1=40 #KN\n",
+ "R2=15 #KN\n",
+ "R3=20 #KN\n",
+ "\n",
+ "#Angles Made by respective forces with X-Axis\n",
+ "theta1=60 #Degrees\n",
+ "theta2=120 #Degrees\n",
+ "theta3=240 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now sum of components of all forces along X-Axis\n",
+ "H=R1*cos(theta1*pi*180**-1)+R2*cos(theta2*pi*180**-1)+R3*cos(theta3*pi*180**-1)\n",
+ "\n",
+ "#Now sum of components of all forces along Y-Axis\n",
+ "V=R1*sin(theta1*pi*180**-1)+R2*sin(theta2*pi*180**-1)+R3*sin(theta3*pi*180**-1)\n",
+ "\n",
+ "#MAgnitude of Resultant Force is\n",
+ "R=(H**2+V**2)**0.5 #N\n",
+ "\n",
+ "#Direction of Resultant Force is\n",
+ "theta=np.arctan(V*H**-1)*(pi**-1*180)\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant Force is\",round(R,2),\"KN\"\n",
+ "print\"Direction of Resultant Force is\",round(theta,2),\"Degrees\"\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Let 3Forces Be\n",
+ "R1=40 #KN\n",
+ "R2=15 #KN\n",
+ "R3=20 #KN\n",
+ "\n",
+ "#Angles Made by respective forces with X-Axis\n",
+ "theta1=60 #Degrees\n",
+ "theta2=120 #Degrees\n",
+ "theta3=240 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now sum of components of all forces along X-Axis\n",
+ "H=R1*cos(theta1*pi*180**-1)+R2*cos(theta2*pi*180**-1)+R3*cos(theta3*pi*180**-1)\n",
+ "\n",
+ "#Now sum of components of all forces along Y-Axis\n",
+ "V=R1*sin(theta1*pi*180**-1)+R2*sin(theta2*pi*180**-1)+R3*sin(theta3*pi*180**-1)\n",
+ "\n",
+ "#MAgnitude of Resultant Force is\n",
+ "R=(H**2+V**2)**0.5 #N\n",
+ "\n",
+ "#Direction of Resultant Force is\n",
+ "theta=np.arctan(V*H**-1)*(pi**-1*180)\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant Force is\",round(R,2),\"KN\"\n",
+ "print\"Direction of Resultant Force is\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant Force is 30.41 KN\n",
+ "Direction of Resultant Force is 85.28 Degrees\n",
+ "Magnitude of Resultant Force is 30.41 KN\n",
+ "Direction of Resultant Force is 85.28 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.12,Page No.18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Let 4 Forces Be\n",
+ "R1=10 #KN\n",
+ "R2=15 #KN\n",
+ "R3=20 #KN\n",
+ "R4=40 #KN\n",
+ "\n",
+ "#Angles Made by respective forces with X-Axis\n",
+ "theta1=30 #Degrees\n",
+ "theta2=60 #Degrees\n",
+ "theta3=90 #Degree\n",
+ "theta4=120 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Now sum of components of all forces along X-Axis\n",
+ "H=R1*cos(theta1*pi*180**-1)+R2*cos(theta2*pi*180**-1)+R3*cos(theta3*pi*180**-1)+R4*cos(theta4*pi*180**-1)\n",
+ "\n",
+ "#Now sum of components of all forces along Y-Axis\n",
+ "V=R1*sin(theta1*pi*180**-1)+R2*sin(theta2*pi*180**-1)+R3*sin(theta3*pi*180**-1)+R4*sin(theta4*pi*180**-1)\n",
+ "\n",
+ "#MAgnitude of Resultant Force is\n",
+ "R=(H**2+V**2)**0.5 #N\n",
+ "\n",
+ "#Direction of Resultant Force is\n",
+ "theta4=np.arctan(V*H**-1)*(pi**-1*180)\n",
+ "theta=180+theta4 #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant Force is\",round(R,2),\"KN\"\n",
+ "print\"Direction of Resultant Force is\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant Force is 72.73 KN\n",
+ "Direction of Resultant Force is 93.03 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.13,Page No.19"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "L=10 #m #Length of beam\n",
+ "W=200 #N #Pt Load\n",
+ "\n",
+ "#Distances\n",
+ "L_AC=4 #m\n",
+ "L_CB=6 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the forces acting at A & B\n",
+ "#Taking Moment at A\n",
+ "R_B=(W*L_CB)*L**-1 #N\n",
+ "R_A=W-R_B #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Beam Reactions are:R_A\",round(R_A,2),\"N\"\n",
+ "print\" :R_B\",round(R_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Beam Reactions are:R_A 80.0 N\n",
+ " :R_B 120.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.14,Page No.20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration of Variables\n",
+ "\n",
+ "#Let 4 Forces be\n",
+ "F1=10 #N\n",
+ "F2=20 #N\n",
+ "F3=30 #N\n",
+ "F4=40 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Net Forces in Horizontal direction is\n",
+ "H=F1-F3 #N\n",
+ "\n",
+ "#Net Forces in Vertical direction is\n",
+ "V=F2-F4 #N\n",
+ "\n",
+ "#Resultant Force is given by\n",
+ "R=(H**2+V**2)**0.5 #N\n",
+ "\n",
+ "#Direction of resultant Forces\n",
+ "theta=np.arctan(V*H**-1)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Since H & V are negative theta lies between 180 & 270\n",
+ "theta2=180+theta #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force is\",round(R,2),\"N\"\n",
+ "print\"Direction of Force is\",round(theta2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force is 28.28 N\n",
+ "Direction of Force is 225.0 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_11.ipynb b/Engineering_Mechanics/chapter_11.ipynb
new file mode 100644
index 00000000..47d411ff
--- /dev/null
+++ b/Engineering_Mechanics/chapter_11.ipynb
@@ -0,0 +1,1353 @@
+{
+ "metadata": {
+ "name": "chapter_11.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 11:Belts,Ropes And Chain Drives"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1,Page No.386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "N1=200 #r.p.m\n",
+ "d1=51 #cm #Dia. of engine\n",
+ "d2=30 #cm #Dia. of driven shaft\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Speed of driven shaft\n",
+ "N2=d1*d2**-1*N1 #r.p.m\n",
+ "\n",
+ "#Result\n",
+ "print\"Speed of driven shaft is\",round(N2,2),\"r.p.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Speed of driven shaft is 340.0 r.p.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2,Page No.386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "t=1 #cm #thickness\n",
+ "N1=200 #r.p.m\n",
+ "d1=51 #cm\n",
+ "d2=30 #cm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Speed of shaft\n",
+ "N2=(d1+t)*(d2+t)**-1*N1 #r.p.m\n",
+ "\n",
+ "#Result\n",
+ "print\"speed of shaft is\",round(N2,2),\"r.p.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "speed of shaft is 335.48 r.p.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3,Page No.388"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "N1=200 #r.p.m\n",
+ "N2=300\n",
+ "d1=60 #cm\n",
+ "t=0.5 #cm\n",
+ "s=4 #%\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Diameter of pulley\n",
+ "d2=N1*N2**-1*d1 #cm\n",
+ "\n",
+ "#Taking belt thickness\n",
+ "d2_2=(d1+t)*N1*N2**-1-t\n",
+ "\n",
+ "#Also considering slip\n",
+ "d2_3=(d1+t)*N1*N2**-1*(1-s*100**-1)-t #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"Diameter of belt is:Neglecting belt thickness\",round(d2,2),\"cm\"\n",
+ "print\" :Belt thickness only\",round(d2_2,2),\"cm\"\n",
+ "print\" :Considering belt thickness and slip\",round(d2_3,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter of belt is:Neglecting belt thickness 40.0 cm\n",
+ " :Belt thickness only 39.83 cm\n",
+ " :Considering belt thickness and slip 38.22 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4,Page No.389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=1 #m #dia. of driver pulley\n",
+ "N1=200 #r.p.m #Speed of driver pulley\n",
+ "d2=2.5 #m #Dia. of driven pulley\n",
+ "f1=1.44 #N/mm**2 #strress\n",
+ "f2=0.49 #N/mm**2 \n",
+ "E=100 #N/mm**2 #Young's Modulus\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Speed of driven pulley\n",
+ "N2=d1*d2**-1*(E+round((f2)**0.5,2))*(E+round((f1)**0.5,2))**-1*N1\n",
+ "\n",
+ "#Speed if creep is neglected\n",
+ "N2_2=d1*d2**-1*N1 #r.p.m\n",
+ "\n",
+ "#Speed lost by driven pulley due to creep\n",
+ "N=N2_2-N2\n",
+ "\n",
+ "#Result\n",
+ "print\"speed Lost by driven pulley due to creep is\",round(N,3),\"r.p.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "speed Lost by driven pulley due to creep is 0.395 r.p.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.5,Page No.390"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=1 #m #Diameter\n",
+ "N1=200 #r.p.m\n",
+ "d2=2.5 #m\n",
+ "b=500 #mm #width\n",
+ "t=10 #mm #thickness\n",
+ "E=100 #N/mm**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area\n",
+ "A=b*t #mm**2\n",
+ "\n",
+ "#Tension on tight side\n",
+ "T1=10*b\n",
+ "\n",
+ "#Tension on slack side\n",
+ "T2=4*b #N\n",
+ "\n",
+ "#Stress on tight side\n",
+ "f1=T1*A**-1 #N/mm**2\n",
+ "\n",
+ "#Stress on slack side\n",
+ "f2=T2*A**-1 #N/mm**2\n",
+ "\n",
+ "#Speed of driven pulley\n",
+ "N2=d1*d2**-1*(E+(f2)**0.5)*(E+(f1)**0.5)**-1*N1\n",
+ "\n",
+ "#Speed if creep is neglected\n",
+ "N2_2=d1*d2**-1*N1 #r.p.m\n",
+ "\n",
+ "#Speed lost by driven pulley due to creep\n",
+ "N=N2_2-N2\n",
+ "\n",
+ "#Result\n",
+ "print\"speed Lost by driven pulley due to creep is\",round(N,2),\"r.p.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "speed Lost by driven pulley due to creep is 0.29 r.p.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.7,Page No.397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "x=600 #cm #Distance between shafts\n",
+ "r1=30 #cm #radius\n",
+ "r2=20 #cm \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#If belt is open \n",
+ "L1=pi*(r1+r2)+(r1-r2)**2*x**-3+2*x #cm \n",
+ "\n",
+ "#If belt is crossed\n",
+ "L2=pi*(r1+r2)+(r1+r2)**2*x**-1+2*x #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"If belt is open Length is\",round(L1,2),\"cm\"\n",
+ "print\"If belt is crossed length is\",round(L2,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "If belt is open Length is 1357.08 cm\n",
+ "If belt is crossed length is 1361.25 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.8,Page No.397"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#speed of shafts\n",
+ "N1=N3=N5=160 #r.p.m\n",
+ "N2=60 #r.p.m\n",
+ "N4=80 #r.p.m\n",
+ "N6=100 #r.p.m\n",
+ "x=180 #cm #Distance between shafts\n",
+ "r1=15 #cm #Radius of smallest pulley\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Radii of pulley 2\n",
+ "r2=r1*N1*N2**-1 #cm\n",
+ "\n",
+ "#using same above equation for radii of pulley 3 we get and further simplifying we get\n",
+ "#r4=2*r3 ..................1\n",
+ "\n",
+ "#but for crossed belt equation is\n",
+ "#r1+r2=r3+r4=r5+r6 .................2\n",
+ "#After further simplifying we get\n",
+ "r3=(r1+r2)*3**-1 #cm\n",
+ "r4=2*r3 #cm\n",
+ "\n",
+ "#Using same above equation and further simplifying we get\n",
+ "#r6=1.6*r5 ...............3\n",
+ "\n",
+ "#sub value of r6 in equation we get\n",
+ "r5=(r1+r2)*2.6**-1 #cm\n",
+ "r6=1.6*r5 #cm\n",
+ "\n",
+ "#Length of open belt\n",
+ "L=pi*(r1+r2)+(r1-r2)**2*x**-1+2*x #cm\n",
+ "\n",
+ "#For pulley 3 and 4 equation is\n",
+ "#L=pi*(r3+r4)+(r3-r4)**2*x**-1+2*x\n",
+ "#sub value in above equation we get an equation as\n",
+ "#r3**2+1696.5*r3-31710.6=0\n",
+ "a=1\n",
+ "b=1696.5\n",
+ "c=-31710.6\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "r3_2=(-b+X**0.5)*2**-1 #cm\n",
+ "r4_2=2*r3_2 #cm\n",
+ "\n",
+ "#Sim for r5 & r6 \n",
+ "\n",
+ "#L=pi*(r6+r5)+(r6-r5)**2*x**-1+2*x\n",
+ "#sub value in above equation we get an equation as\n",
+ "#r5**2+4084*r5-88085=0\n",
+ "a=1\n",
+ "b=4084\n",
+ "c=-88085\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "r5_2=(-b+X**0.5)*2**-1 #cm\n",
+ "r6_2=1.6*r5_2 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"Radii of two stepped pulleys is:For crossed belt:r3\",round(r3,2),\"cm\"\n",
+ "print\" :r4\",round(r4,2),\"cm\"\n",
+ "print\" :r5\",round(r5,2),\"cm\"\n",
+ "print\" :r6\",round(r6,2),\"cm\"\n",
+ "print\"Radii of two stepped pulleys is:For open belt:r3_2\",round(r3_2,2),\"cm\"\n",
+ "print\" :r4_2\",round(r4_2,2),\"cm\"\n",
+ "print\" :r5_2\",round(r5_2,2),\"cm\"\n",
+ "print\" :r6_2\",round(r6_2,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Radii of two stepped pulleys is:For crossed belt:r3 18.33 cm\n",
+ " :r4 36.67 cm\n",
+ " :r5 21.15 cm\n",
+ " :r6 33.85 cm\n",
+ "Radii of two stepped pulleys is:For open belt:r3_2 18.49 cm\n",
+ " :r4_2 36.98 cm\n",
+ " :r5_2 21.46 cm\n",
+ " :r6_2 34.33 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.9,Page No.403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=1.2 #m #Diameter\n",
+ "N=200 #r.p.m #Speed\n",
+ "theta=165*pi*180**-1 #radians\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "T1=3000 #N #MAx Tension\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*d*N*60**-1 #m/s\n",
+ "\n",
+ "#From ration of tensions we get\n",
+ "#T1*T2=e**mu*theta \n",
+ "#After simplifying we get\n",
+ "#e**mu*theta =2.3714\n",
+ "T2=T1*2.3714**-1 #N\n",
+ "\n",
+ "#Power transmitted\n",
+ "P=(T1-T2)*v*1000**-1 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power transmitted is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power transmitted is 21.8 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.10,Page No.403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=1.20 #m #Diameter\n",
+ "r1=0.6 #m #Radius\n",
+ "r2=0.25 #m \n",
+ "x=4 #m #Distance between shafts\n",
+ "T1=1855.3 #N #Max TRension\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "N1=200 #r.p.m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*d1*N1*60**-1 #m/s\n",
+ "\n",
+ "##Let sin(alpha)=X\n",
+ "X=(r1-r2)*x**-1\n",
+ "alpha=np.arcsin(X)*(pi**-1*180)\n",
+ "\n",
+ "#Angle of contact\n",
+ "theta=180-2*alpha\n",
+ "\n",
+ "#From equation of max tension and further simplifying we get\n",
+ "T2=1855.3*2.435**-1 #N\n",
+ "\n",
+ "#Power transmitted\n",
+ "P=(T1-T2)*v*1000**-1 #KW\n",
+ "\n",
+ "#Torque\n",
+ "t1=(T1-T2)*r1 #N*m\n",
+ "t2=(T1-T2)*r2 #Nm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Power transmitted is\",round(P,2),\"KN\"\n",
+ "print\"Torque Exerted on driving shaft is:t1\",round(t1,2),\"N*m\"\n",
+ "print\" :t2\",round(t2,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power transmitted is 13.74 KN\n",
+ "Torque Exerted on driving shaft is:t1 656.02 N*m\n",
+ " :t2 273.34 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11,Page No.407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "theta=2.88\n",
+ "v=28.33 #m/s #velocity\n",
+ "b=20 #cm #Width\n",
+ "t=0.8 #cm #thickness\n",
+ "rho=10**-3 #Kg/cm**3 #density\n",
+ "f=250 #N/cm**2 #Stress\n",
+ "mu=0.25 #coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max Tension\n",
+ "Tm=f*b*t #N\n",
+ "\n",
+ "#mass\n",
+ "m=rho*b*t*100 #Kg\n",
+ "\n",
+ "#Centrifugal Tension\n",
+ "Tc=m*v**2 #N\n",
+ "\n",
+ "#Tension on tight side\n",
+ "T1=Tm-Tc #N\n",
+ "\n",
+ "#From ratio of tension equation we get\n",
+ "T2=T1*2.056**-1 #N\n",
+ "\n",
+ "#MAx Power\n",
+ "P=(T1-T2)*v*1000**-1 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Power transmitted is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Power transmitted is 39.52 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.12,Page No.408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=10**-3 #kg/cm**3 #density\n",
+ "f=250 #N/cm**2 #stress\n",
+ "b=20 #cm #width\n",
+ "t=1.2 #cm #thickness\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#MAss\n",
+ "m=rho*b*t*100\n",
+ "\n",
+ "#MAx tension\n",
+ "Tm=f*b*t #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=(Tm*(3*m)**-1)**0.5 #m/s\n",
+ "\n",
+ "#From equation of max tension and further simplifying we get\n",
+ "T1=2*3**-1*Tm #N\n",
+ "T2=T1*2**-1 #N\n",
+ "\n",
+ "#Power \n",
+ "P=(T1-T2)*v*(1000)**-1 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Power transmitted is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Power transmitted is 57.74 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.13,Page No.409"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=9 #KW #Power\n",
+ "d1=1.2 #m #Diameter\n",
+ "N1=200 #r.p.m\n",
+ "theta=165*pi*180**-1 #radians\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "f=140 #N/cm**2 #Stress\n",
+ "rho=10**-3 #kg/cm**3\n",
+ "t=1 #cm #thickness\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Ratio of tension equation we get\n",
+ "#T1*T2=e**mu*theta \n",
+ "#After simplifying we get\n",
+ "#e**mu*theta =2.3714\n",
+ "#T1=2.3714*T2 ................1\n",
+ "\n",
+ "#Max tension in belt\n",
+ "#Tm=f*b*t ..............2\n",
+ "\n",
+ "#Centrifugal tension\n",
+ "#Tc=m*v**2 .....................3\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*d1*N1*60**-1 #m/s\n",
+ "\n",
+ "#mass\n",
+ "#m=rho*b*t*100\n",
+ "#After simplifying we get\n",
+ "#m=b*10**-1\n",
+ "\n",
+ "#Sub value of m in equation 2 and further simplfying we get\n",
+ "#T1-T2=716.5\n",
+ "\n",
+ "#After further simplifying equations 1,2,3 we get\n",
+ "T2=716.5*1.3714**-1 #N\n",
+ "T1=2.3714*T2 #N\n",
+ "\n",
+ "#sub value in MAx tension and further simplifying we get\n",
+ "b=1238.96*124**-1 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"Width of belt is\",round(b,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of belt is 9.99 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.14,Page No.411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "b=100 #mm #Width\n",
+ "t=10 #mm #thickness\n",
+ "theta=2.79 #radians\n",
+ "rho=10**-6 #kg/mm**3\n",
+ "mu=0.25 #coefficient of friction\n",
+ "f=1.5 #N/mm**2\n",
+ "g=9.81 \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#MAx tension\n",
+ "Tm=f*b*t #N\n",
+ "\n",
+ "#From Ratio of tension equation we get\n",
+ "#T1*T2=e**mu*theta \n",
+ "#After simplifying we get\n",
+ "#e**mu*theta =2\n",
+ "\n",
+ "#For Max power\n",
+ "Tc=Tm*3**-1 #N\n",
+ "\n",
+ "#From max transmissiom equation\n",
+ "T1=Tm-Tc\n",
+ "T2=T1*2**-1 #N\n",
+ "\n",
+ "#MAss\n",
+ "m=rho*b*t*1000 #Kg\n",
+ "\n",
+ "#Weight\n",
+ "W=m*g #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=(Tm*(3*m)**-1)**0.5 #m/s\n",
+ "\n",
+ "#Power transmitted\n",
+ "P=(T1-T2)*v*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Power that can be transmitted is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Power that can be transmitted is 11.18 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.15,Page No.412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=60 #cm #diameter\n",
+ "r1=30 #cm #Radius\n",
+ "d2=24 #cm \n",
+ "r2=12 #cm\n",
+ "x=300 #cm #dist between two shafs\n",
+ "N2=300 #r.p.m #speed of small pulley\n",
+ "mu=0.3 #coefficient of friction\n",
+ "m=0.6703 #kg\n",
+ "t=100 #N per cm width #Safe working tension\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt sin(Alpha)=X\n",
+ "alpha=np.arcsin((r1-r2)*x**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Using equation of ratio of tension\n",
+ "#T1*T2**-1=e**mu*theta ...........1\n",
+ "#Simplifying furter we get value of\n",
+ "#e**mu*theta=2.474\n",
+ "#T1=2.474*T2 ...................1\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*d2*N2*60**-1*10**-2 #m/s\n",
+ "\n",
+ "#Sub value of v and P in equation of power transmited and further simplifying we get\n",
+ "#(T1-T2)=994.7 .....................2\n",
+ "#Sub value of T1 from equation 1 we get\n",
+ "T2=994.7*1.474**-1 #N\n",
+ "T1=2.474*T2 #N\n",
+ "\n",
+ "#Min width\n",
+ "b=T1*t**-1 #cm\n",
+ "\n",
+ "#Initial belt tension\n",
+ "To=(T1+T2)*2**-1 #N\n",
+ "\n",
+ "#Length of belt required\n",
+ "L=(pi*(r1+r2)+(r1+r2)**2*x**-1+2*x)*100**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum width of belt is\",round(b,2),\"cm\"\n",
+ "print\"Initial belt tension is\",round(To,2),\"N\"\n",
+ "print\"Length of belt required is\",round(L,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum width of belt is 16.7 cm\n",
+ "Initial belt tension is 1172.18 N\n",
+ "Length of belt required is 7.38 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.16,Page No.414"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=1.5 #m #diameter\n",
+ "r1=0.75 #m #Radius\n",
+ "d2=1 #m \n",
+ "r2=0.5 #m\n",
+ "x=4.80 #dist between two shafs\n",
+ "To=3000 #N #Initial tension\n",
+ "N2=600 #r.p.m #speed of small pulley\n",
+ "mu=0.3 #coefficient of friction\n",
+ "m=0.6703 #kg\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*d2*N2*60**-1 #m/s\n",
+ "\n",
+ "#Centrifugal tension\n",
+ "Tc=m*v**2\n",
+ "\n",
+ "#from Initial Tensiom\n",
+ "#T1+T2=4677 ..........1\n",
+ "\n",
+ "#Let sin(alpha)=X\n",
+ "X=(r1-r2)*x**-1\n",
+ "alpha=np.arcsin(X)*(pi**-1*180)\n",
+ "\n",
+ "#Angle of contact\n",
+ "theta=(180-2*alpha)*pi*180**-1\n",
+ "\n",
+ "#From equation of ratio of tension we get\n",
+ "#t1=2.5*T2 ...................2\n",
+ "\n",
+ "#sub value in equation 1 we get\n",
+ "T2=4677*3.5**-1 #N\n",
+ "T1=2.5*T2\n",
+ "\n",
+ "#Power transmitted\n",
+ "P2=(T1-T2)*v*10**-3\n",
+ "\n",
+ "#Result\n",
+ "print\"Power transmitted is\",round(P2,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power transmitted is 62.97 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.18,Page No.418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "alpha=25 #degrees #Angle of groove\n",
+ "Tmax=T1=1500 #N #Max tension\n",
+ "theta=170*pi*180**-1 #radians\n",
+ "mu=0.27 #coefficient of friction\n",
+ "v=2 #m/s #belt speed\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From ratio of tension\n",
+ "#T1*T2**-1=e**mu*cosec(alpha)\n",
+ "#AFter further simplifying we get\n",
+ "#e**mu*cosec(alpha)=8.109\n",
+ "T2=T1*8.109**-1 \n",
+ "\n",
+ "#Net driving tension\n",
+ "T3=(T1-T2) #N\n",
+ "\n",
+ "#Power transmitted\n",
+ "P=T3*v*10**-3 #W\n",
+ "\n",
+ "#Result\n",
+ "print\"Net driving tension is\",round(T3,2),\"N\"\n",
+ "print\"Power transmitted by the pulley is\",round(P,2),\"W\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net driving tension is 1315.02 N\n",
+ "Power transmitted by the pulley is 2.63 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.19,Page No.418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "alpha=15 #Degrees\n",
+ "t=2 #cm #Depth pf belt\n",
+ "m=3.5*100*1000 #gm/l #mass\n",
+ "f=140 #N/cm**2 #Allowable stress\n",
+ "theta=140*pi*180**-1\n",
+ "mu=0.15 #coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "CF=2*tan(15*pi*180**-1)\n",
+ "GC=1-2*tan(15*pi*180**-1)\n",
+ "BC=2*GC\n",
+ "ED=2\n",
+ "DF=2\n",
+ "\n",
+ "#Area of v-belt\n",
+ "A=(ED+BC)*2**-1*DF\n",
+ "\n",
+ "#MAx permissible tension\n",
+ "Tmax=f*A #N\n",
+ "\n",
+ "#Centrifugal tension\n",
+ "Tc=Tmax*3**-1 #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=(Tc*m**-1)**0.5*1000 #m/s\n",
+ "\n",
+ "#tension on tight side\n",
+ "T1=Tmax-Tc #N\n",
+ " \n",
+ "#From ratio of tensions \n",
+ "#T1*T2**-1=e*mu*thta*cosec(alpha)\n",
+ "#After substituting values and furter simplifying we get value of\n",
+ "#e*mu*thta*cosec(alpha)=4.12\n",
+ "T2=T1*4.12**-1 #N\n",
+ "\n",
+ "#Power\n",
+ "P2=(T1-T2)*v*1000**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Power transmitted is\",round(P2,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Power transmitted is 4.09 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.20,Page No.420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=75 #KW #Power\n",
+ "d1=1.50 #m #Dia. of driver pulley\n",
+ "N1=200 #r.p.m\n",
+ "alpha=22.5 #Angle of groove\n",
+ "mu=0.3 #coefficient of friction\n",
+ "theta=160*pi*180**-1\n",
+ "m=0.6 #kg #Mass\n",
+ "Tmax=800 #N #Max safe\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity of rope\n",
+ "v=pi*d1*N1*60**-1 #m/s\n",
+ "\n",
+ "#centrifugal Tension\n",
+ "Tc=m*v**2 #N\n",
+ "\n",
+ "#Tension in tight side of rope\n",
+ "T1=Tmax-Tc #N\n",
+ "\n",
+ "#Ratio of tension in rope\n",
+ "#T1*T2=e**mu*theta*cosec(alpha)\n",
+ "#After further simplifying we get value of e**mu*theta*cosec(alpha\n",
+ "#e**mu*theta*cosec(alpha=8.95\n",
+ "T2=T1*8.95**-1\n",
+ "\n",
+ "#Power Transmitted by onr rope\n",
+ "P2=(T1-T2)*v*1000**-1 #KW\n",
+ "\n",
+ "#No. of ropes required\n",
+ "n=P*P2**-1 \n",
+ "\n",
+ "#Initial rope tensuion\n",
+ "To=(T1+T2+2*Tc)*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"No. of ropes required for drive is\",round(n,2)\n",
+ "print\"Initial Rope tension is\",round(To,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No. of ropes required for drive is 8.24\n",
+ "Initial Rope tension is 510.44 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.21,Page No.421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d1=0.40 #Dia. of pulley\n",
+ "N1=110 #speed #r.p.m\n",
+ "alpha=22.5 #Angle of groove\n",
+ "mu=0.28 #coefficient of friction\n",
+ "N=10 #No.of ropes\n",
+ "P=23.628 #KW #Power\n",
+ "theta=160*pi*180**-1 #radians\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#velocity\n",
+ "v=pi*d1*N1*60**-1 #m/s\n",
+ "\n",
+ "#Power transmited by one rope\n",
+ "P2=P*N**-1 #KW\n",
+ "\n",
+ "#Centrifugal Tension\n",
+ "#Tc=0.0281*C**2 ................1\n",
+ "\n",
+ "#Ratio of tension in rope\n",
+ "#T1=7.71*T2 ...........................2\n",
+ "\n",
+ "#From other formula of power transmited by one rope \n",
+ "#P2=(T1-T2)*v*1000**-1 \n",
+ "#After further substituting and simplifying we get\n",
+ "T2=1026*6.71**-1 #N\n",
+ "T1=7.71*T2 #N\n",
+ "\n",
+ "#Tmax=T1+T2\n",
+ "#After sub values and further simplifying we get\n",
+ "C=(96.86)**0.5 #cm #girth of rope\n",
+ "\n",
+ "Tc=0.0281*C**2 #N\n",
+ "\n",
+ "#Initial Tension\n",
+ "To=(T1+T2+2*Tc)*2**-1 #N\n",
+ "\n",
+ "#Dia. of each rope\n",
+ "d=C*pi**-1 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"Initial Tension is\",round(To,2),\"N\"\n",
+ "print\"Dia. of each rope is\",round(d,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial Tension is 668.63 N\n",
+ "Dia. of each rope is 3.13 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.22,Page No.422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=3.6 #m #Dia. of pulley\n",
+ "n=15 #No. of ropes\n",
+ "alpha=22.5 #Degrees\n",
+ "theta=170*pi*180**-1 #Angle of contact\n",
+ "mu=0.28 #angle of friction\n",
+ "Tmax=960 #N #MAx tension\n",
+ "m=1.5 #kg/l #mass of rope\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Centrifugal tension\n",
+ "Tc=Tmax*3**-1 #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=(Tmax*(3*m)**-1)**0.5 #m\n",
+ "N=60*v*(pi*D)**-1 #r.p.m\n",
+ "\n",
+ "#equation\n",
+ "#T1*T2**-1=e**mu*theta*cosec(alpha)\n",
+ "#After simlifying further we get \n",
+ "#e**mu*theta*cosec(alpha)=8.756\n",
+ "\n",
+ "#Tension in tight side of rope\n",
+ "T1=Tmax-Tc #N\n",
+ "\n",
+ "#Tension in slack side\n",
+ "T2=T1*8.756**-1\n",
+ "\n",
+ "#Max Power\n",
+ "P=(T1-T2)*v*1000**-1\n",
+ "\n",
+ "#Total max power\n",
+ "P2=P*n\n",
+ "\n",
+ "#Result\n",
+ "print\"Speed of the pulley in r.p.m is\",round(N,2),\"r.p.m\"\n",
+ "print\"Total max power is\",round(P2,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Speed of the pulley in r.p.m is 77.49 r.p.m\n",
+ "Total max power is 124.2 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.23,Page No.423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=9000 #N #Weight of casting\n",
+ "n=2.5 #turns\n",
+ "theta=5*pi #Total angle covered\n",
+ "D=0.3 #m #diameter\n",
+ "N=20 #Speed\n",
+ "mu=0.25 #Coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#equation\n",
+ "#W*P**-1=e**mu*theta\n",
+ "#After simlifying further we get \n",
+ "P=W*50.65**-1 #Tension in slack side of rope #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=pi*D*N*60**-1 #m/s\n",
+ "\n",
+ "#Power to raise casting\n",
+ "P2=(W-P)*v*1000**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Force Required by the man is\",round(P,2),\"N\"\n",
+ "print\"Power to raise the casting is\",round(P2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force Required by the man is 177.69 N\n",
+ "Power to raise the casting is 2.77 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_12.ipynb b/Engineering_Mechanics/chapter_12.ipynb
new file mode 100644
index 00000000..212f421c
--- /dev/null
+++ b/Engineering_Mechanics/chapter_12.ipynb
@@ -0,0 +1,1392 @@
+{
+ "metadata": {
+ "name": "chapter_12.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 12:Kinematics of Linear Motion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1,Page No.437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=2 #m/s #Initial velocity\n",
+ "v=5 #m/s #Final Velocity\n",
+ "t=4 #sec\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "a=(v-u)*t**-1 #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the body is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the body is 0.75 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2,Page No.437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=15 #m/s #Intital velocity\n",
+ "v=0 #m/s #Final velocity\n",
+ "t=5 #sec\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#acceleration\n",
+ "a=u*t**-1 #m/s**2\n",
+ "\n",
+ "#Distance\n",
+ "S=u*t-a*t**2*0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"Retardation is\",round(a,2),\"m/s**2\"\n",
+ "print\"Distance travelled by the car is\",round(S,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Retardation is 3.0 m/s**2\n",
+ "Distance travelled by the car is 37.5 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3,Page No.437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=250 #m/s #Initial Velocity\n",
+ "v=0 #m/s #final Velocity\n",
+ "s1=0.40 #m #Distance\n",
+ "s2=0.20 #m #distance moved\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#acceleration\n",
+ "a=u**2*(2*s1)**-1 #m/s**2\n",
+ "\n",
+ "#velocity\n",
+ "v=(u**2-2*a*s2)**0.5 #m/s\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Velocity is\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 78125.0 m/s**2\n",
+ "Velocity is 176.78 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4,Page No.438"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AB=100 #m #Distance AB\n",
+ "L_BC=100 #m #distance BC\n",
+ "t1=10 #s #Time taken by car from A to B\n",
+ "t2=8 #s #Time taken by car from B to C\n",
+ "s=100 #m #Distance\n",
+ "L_AC=L_AB+L_BC #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From equation of distance we get value of velocity\n",
+ "#s=10*V_A+50*a ...........................1\n",
+ "\n",
+ "#again using equation of distance we get\n",
+ "#L_AC=18*V_A+162*a .........................2\n",
+ "\n",
+ "#After simplifying above equations we get equations like\n",
+ "#900=90*V_A+450*a ......................3\n",
+ "#1000=90*V_A+810*a ..............4\n",
+ "\n",
+ "#Subtracting equations 3 by 4 we get\n",
+ "a=100*360**-1 #m/s**2\n",
+ "\n",
+ "#Velocity of car A\n",
+ "V_A=(100-13.9)*10**-1 #m/s\n",
+ "\n",
+ "#Velocity of car B\n",
+ "V_B=(L_BC-(a*t2**2*0.5))*t2**-1 #m/s\n",
+ "\n",
+ "#Distance OA\n",
+ "s3=V_A**2*(2*a)**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of car is\",round(a,2),\"m/s**2\"\n",
+ "print\"Velocity of car A\",round(V_A,2),\"m/s\"\n",
+ "print\"Velocity of car B\",round(V_B,2),\"m/s\"\n",
+ "print\"distance of mark A from starting point is\",round(s3,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of car is 0.28 m/s**2\n",
+ "Velocity of car A 8.61 m/s\n",
+ "Velocity of car B 11.39 m/s\n",
+ "distance of mark A from starting point is 133.44 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5,Page No.440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #m/s #Initial velocity\n",
+ "a=2 #m/s**2 #Acceleration\n",
+ "u2=40 #m/s #Uniform velocity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#after simplifying Distance travelled we get\n",
+ "#t**2+20t+100=0 .................1\n",
+ "\n",
+ "#Distance travelled by police party=40*t ..........2\n",
+ "\n",
+ "#Equating equations 1 and 2 we get\n",
+ "#t**2-20*t+100\n",
+ "a=1\n",
+ "b=-20\n",
+ "c=100\n",
+ "\n",
+ "X=b**-4*a*c\n",
+ "\n",
+ "t=(-b+X**0.5)*(2*a)**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"TIme taken in which police van will overtake the car is\",round(t,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "TIme taken in which police van will overtake the car is 10.01 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6,Page No.440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "v=10 #m/s #uniform Velocity\n",
+ "a=1 #m/s**2 #Uniform acceleration\n",
+ "u=10 #m/s #uniform velocity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From distance equation and further simplifying we get\n",
+ "#S=(t**2+100-20*t) .................1\n",
+ "\n",
+ "#again sub value in distance we get\n",
+ "#S=u*t ............2\n",
+ "\n",
+ "#Equating two equations and further simplifying we get\n",
+ "#t**2-40*t+100=0\n",
+ "a=1\n",
+ "b=-40\n",
+ "c=100\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "t1=(-b+X**0.5)*(2*a)**-1 #s\n",
+ "t2=(-b-X**0.5)*(2*a)**-1 #s\n",
+ "\n",
+ "#time required to catch smugglers car is\n",
+ "t3=(t1-10)\n",
+ "\n",
+ "#Result\n",
+ "print\"Time necesscary for the jeep to catch up with the smuggler's car is\",round(t3,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time necesscary for the jeep to catch up with the smuggler's car is 27.32 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6(A),Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0\n",
+ "a=4 #m/s**2\n",
+ "t1=7 #s\n",
+ "t2=6 #s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance travelled in 7 seconds\n",
+ "S7=u*t1+0.5*a*t1**2 #m\n",
+ "\n",
+ "#DistANCE TRAVELLED in 6 seconds\n",
+ "S6=u*t2+0.5*a*t2**2 #m\n",
+ "\n",
+ "#Distance travelled in 7th second\n",
+ "S7_2=S7-S6\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance travelled in 7th second is\",round(S7_2,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance travelled in 7th second is 26.0 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7,Page No.442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "S5=15 #m #Distance travelled for 5 th seconds\n",
+ "S10=25 #m #Distance travelled for 10 th seconds\n",
+ "n1=10\n",
+ "n2=5\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Equation for distance covered for nth seconds\n",
+ "#S=u+a*2**-1\n",
+ "\n",
+ "#distance covered in 10 th second\n",
+ "#S10=u+a*2**-1*(2*n1-1) ...................1\n",
+ "\n",
+ "#distance covered in 5 th second\n",
+ "#S5=u+a*2**-1*(2*n2-1) .........................2\n",
+ "\n",
+ "#Subtracting equation 2 by 1 we get\n",
+ "a=10*(19-9)**-1*2\n",
+ "\n",
+ "u=S5-9*2**-1*2\n",
+ "\n",
+ "#Result\n",
+ "print\"Initial Velocity of the body is\",round(a,2),\"m/s**2\"\n",
+ "print\"Acceleration of the body is\",round(u,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial Velocity of the body is 2.0 m/s**2\n",
+ "Acceleration of the body is 6.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8,Page No.443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=90 #3mm Height of tower\n",
+ "h1=30 #m #Height at which both particles meet\n",
+ "S1=60 #m #Distance travelled by first particle\n",
+ "S2=30 #m \n",
+ "g2=-9.81 #m/s**2\n",
+ "\n",
+ "#For Initial Velocity\n",
+ "u1=0 \n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Time\n",
+ "t1=((S1*2)*g**-1)**0.5 #s\n",
+ "\n",
+ "#For second particle\n",
+ "u2=(S2-0.5*g2*t1**2)*t1**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity with which second particle projected is\",round(u2,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity with which second particle projected is 25.73 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9,Page No.443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=800 #m #Height of aeroplane\n",
+ "U=166.67 #m/s \n",
+ "\n",
+ "#First case\n",
+ "u1=0\n",
+ "h2=800 #m #Height of bomb when released\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Time required to reach the ground\n",
+ "t=(h*2*(g)**-1)**0.5\n",
+ "\n",
+ "#Horizontal distance travelled\n",
+ "S=U*t\n",
+ "\n",
+ "#Result\n",
+ "print\"Time required to reach the ground is\",round(t,2),\"s\"\n",
+ "print\"Horizontal distance travelled is\",round(S,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time required to reach the ground is 12.77 s\n",
+ "Horizontal distance travelled is 2128.55 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10,Page No.445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #m/s #Initial velocity\n",
+ "g=9.81 #m/s**2 #acceleration due to gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#t1+t2=4 ...........1\n",
+ "\n",
+ "#Depth of well after simplifying we get\n",
+ "#h=4.905*t1**2 ........2\n",
+ "\n",
+ "#Time taken by sound to reach from bottom of well\n",
+ "#t2=4.905*t1**2*350**-1 #s ...............3\n",
+ "\n",
+ "#Sub value in equation 1 and further simplifying we get\n",
+ "#4.905*t1**2+350*t1-1400=0\n",
+ "a=4.905 \n",
+ "b=350\n",
+ "c=-1400\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "t1=(-b+X**0.5)*(2*a)**-1 #s\n",
+ "\n",
+ "#Depth of well \n",
+ "h=4.905*t1**2 #m \n",
+ "\n",
+ "#Result\n",
+ "print\"Depth of well is\",round(h,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Depth of well is 70.75 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11,Page No.446"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=19.6 #m/s #Initial velocity\n",
+ "h=24.5 #m #height of tower\n",
+ "g=9.80 #m/s**2 #acceleration de to gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Max height of stone\n",
+ "h1=(u**2)*(2*g)**-1 #m\n",
+ "\n",
+ "#Time for stone to move from A to C\n",
+ "t1=u*g**-1\n",
+ "\n",
+ "#Time for stone to move from C to D\n",
+ "h2=h+h1 #m #Max height to which stone will rise\n",
+ "t2=((h2*4.9**-1))**0.5 #s\n",
+ "\n",
+ "#Total time for stone to reach the ground\n",
+ "t=t1+t2 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Total time for stone to reach the ground is\",round(t,2),\"s\"\n",
+ "print\"Velocity of stone in downward travel is\",round(u,2),\"m/s\"\n",
+ "print\"Max height to which the stone will rise is\",round(h2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total time for stone to reach the ground is 5.0 s\n",
+ "Velocity of stone in downward travel is 19.6 m/s\n",
+ "Max height to which the stone will rise is 44.1 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12,Page No.447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #Initial Velocity\n",
+ "t=5 #s #time taken by stone in striking the glass pane\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#velocity\n",
+ "v1=u+g*t #m/s\n",
+ "\n",
+ "#Velocity lost in breaking stones\n",
+ "v2=20*100**-1*10\n",
+ "\n",
+ "#Velocity of the stone after breaking the glass pane\n",
+ "v3=v1-v2 #m/s \n",
+ "\n",
+ "#distance travelled in t2=1 s\n",
+ "t2=1 #s\n",
+ "s=v3*t2+0.5*g*t2**2 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance travelled by the stone in next second is\",round(s,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance travelled by the stone in next second is 51.96 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13,Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #m/s\n",
+ "s=53.90 #m #Distance\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Height \n",
+ "#After simplifying equation of distance we get\n",
+ "#h1=4.9*t**2 ..................................1\n",
+ "\n",
+ "#Distance travelleed in (t-1) s\n",
+ "#After simplifying equation of distance we get\n",
+ "#h2=4.9(t-1)**2 ..................................2\n",
+ "\n",
+ "#Distance travelled by object in last seconds\n",
+ "#h3=h-h2\n",
+ "#After substituting values in above equation we get\n",
+ "#h3=4.9(2*t-1)\n",
+ "\n",
+ "#Equating h3 to s we get after simplifying\n",
+ "t=12*2**-1 #m/s\n",
+ "\n",
+ "#height from which object falls\n",
+ "h1=4.9*t**2\n",
+ "\n",
+ "#Result\n",
+ "print\"height from which object falls is\",round(t,2),\"s\"\n",
+ "print\"Total time taken by object in falling is\",round(h1,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "height from which object falls is 6.0 s\n",
+ "Total time taken by object in falling is 176.4 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14,Page No.448"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "g=9.80 #m/s**2\n",
+ "u=0 #m/s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance travelled in time t after simplifiying \n",
+ "#h=4.9*t**2\n",
+ "\n",
+ "#Distance travelled in (t-1)s\n",
+ "#h-h2=2*3**-1*h\n",
+ "\n",
+ "#Substituting value we get equation as\n",
+ "#2*t**2-6*t+3=0\n",
+ "a=2\n",
+ "b=-6\n",
+ "c=3\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "t=(-b+X**0.5)*(2*a)**-1 #s\n",
+ "t2=(-b-X**0.5)*(2*a)**-1 #s\n",
+ "\n",
+ "#Height of tower \n",
+ "h=4.9*t**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Height of tower is\",round(h,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height of tower is 27.43 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15,Page No.449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u1=30 #m/s #Initial Vlocity of 1st object\n",
+ "u2=40 #m/s #Initial Velocity of2nd object\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For the first object\n",
+ "#After simplifying we get\n",
+ "#h1=30*t-4.905*t**2 ................1\n",
+ "\n",
+ "#For second object\n",
+ "##After simplifying we get\n",
+ "#h2=40*(t-4)-4.905(t-4)**2 ...........2\n",
+ "\n",
+ "#Equating equations 1 and 2 and further simplify we get\n",
+ "t=238.48*49.24**-1 #s\n",
+ "\n",
+ "#height\n",
+ "h=30*t-4.905*t**2 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Time whrn the two objects will meet each other is\",round(t,2),\"s\"\n",
+ "print\"Height from the earth at which the two objects will meet is\",round(h,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time whrn the two objects will meet each other is 4.84 s\n",
+ "Height from the earth at which the two objects will meet is 30.24 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16,Page No.450"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=100 #m #Height of tower\n",
+ "u1=0 #Initial velocity of 1st particle\n",
+ "S2=30 #m #Distace travelled by 2nd particle\n",
+ "S1=70 #m #Distance travelled by 1st paerticle\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#time of particle 1 \n",
+ "t=(S1*(g*2**-1)**-1)**0.5 #s\n",
+ "\n",
+ "#Initial velocity\n",
+ "u=((S2+(g*2**-1)*t**2)*t**-1) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity with which the second particle is projected upward is\",round(u,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity with which the second particle is projected upward is 26.47 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16(A),Page No.451"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "n=5 #Rate of drops\n",
+ "u=0 #Initial Velocity\n",
+ "v=3 #m/s #Final Velocity\n",
+ "g=9.81 #m/s**2\n",
+ "t=3*9.81**-1 #s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Vertical Distance \n",
+ "Sb=u*t+0.5*g*t**2 #m\n",
+ "\n",
+ "#time taken by drop A \n",
+ "t2=3*9.81**-1-0.2 #s\n",
+ "\n",
+ "#Vertical Distance travelled from mouth of faucet by drop A\n",
+ "Sa=u*t2+0.5*g*t2**2 #m\n",
+ "\n",
+ "#Vertical Separation between drops A and B\n",
+ "S=Sb-Sa #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Vertical separation between two drops is\",round(S,3),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vertical separation between two drops is 0.404 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.18,Page No.453"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #m/s**2 #Initial Velocity\n",
+ "#S=(x+20) #m #distance\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Distance travelled by Body in time t\n",
+ "#x=0.5*g*t**2 .................................1\n",
+ "\n",
+ "#Distance travelled by body in time (t+0.4)s\n",
+ "#S2=0.5(t**2+0.**t+0.16) ........................2\n",
+ "\n",
+ "#Subtracting equation 2 from 1 we get\n",
+ "t=3.92*0.80**-1\n",
+ "\n",
+ "#Distance travelled by Body in time t is given by\n",
+ "x=0.5*g*t**2 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance travelled by Body in time t is\",round(x,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance travelled by Body in time t is 117.77 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.19,Page No.454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Equation of displacement\n",
+ "#s=t**3+3*t**2+4*t+5\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#After differentiating displacement equation we get velocity at t=0\n",
+ "#At \n",
+ "t=0\n",
+ "v=3*t**2+6*t+4 #m/s\n",
+ "\n",
+ "#Velocity at t=4 seconds\n",
+ "t2=4\n",
+ "v2=3*t2**2+6*t2+4 #m/s\n",
+ "\n",
+ "#After differentiating w.r.to t we get equation of acceleration as\n",
+ "#a=6*t+6\n",
+ "\n",
+ "#at t=0\n",
+ "t3=0\n",
+ "a=6*t3+6 #m/s**2\n",
+ "\n",
+ "#at t=4\n",
+ "t4=4\n",
+ "a2=6*t4+6 #m/s**2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity at start of 4seconds is\",round(v,2),\"m/s\"\n",
+ "print\"Velocity after 4seconds is\",round(v2,2),\"m/s\"\n",
+ "print\"Acceleration at start is\",round(a,2),\"m/s**2\"\n",
+ "print\"Acceleration after four seconds is\",round(a2,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity at start of 4seconds is 4.0 m/s\n",
+ "Velocity after 4seconds is 76.0 m/s\n",
+ "Acceleration at start is 6.0 m/s**2\n",
+ "Acceleration after four seconds is 30.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.20,Page No.455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Equation of particle motion\n",
+ "#s=18*t+3*t**2-2*t**3\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#After differentiating w.r.to t to above equation we get\n",
+ "#6*t**2-6*t-18\n",
+ "\n",
+ "#at \n",
+ "t=0\n",
+ "#Velocity\n",
+ "v=6*t**2+6*t+18\n",
+ "\n",
+ "#After differentiating above equation again we get equation of acceleration\n",
+ "#at \n",
+ "t2=0\n",
+ "a=6-12*t2\n",
+ "\n",
+ "#After differentiating equation of velocity we get value of \n",
+ "t2=6*12**-1\n",
+ "\n",
+ "vmax=18+6*t2-6*t2**2 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity at start is\",round(v,2),\"m/s\"\n",
+ "print\"Acceleration at start is\",round(a,2),\"m/s**2\"\n",
+ "print\"Time when it reaches max velocity is\",round(t2,2),\"s\"\n",
+ "print\"MAx velocity of particle is\",round(vmax,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity at start is 18.0 m/s\n",
+ "Acceleration at start is 6.0 m/s**2\n",
+ "Time when it reaches max velocity is 0.5 s\n",
+ "MAx velocity of particle is 19.5 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.21,Page No.457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#a=-**s**-2 #m/s**2\n",
+ "t=1 #s #time\n",
+ "s=4 #m #Distance\n",
+ "v=2 #m/s #Velocity\n",
+ "t2=2 #s #time\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Acceleration equation\n",
+ "#a=v*(dv*ds**-1)\n",
+ "#After sub values and further simplifying and integrating the obtained equation we get\n",
+ "#v**2=8*s**-1+C1 ...................1\n",
+ "#Sub equation in above equations we get\n",
+ "C1=v**2*2**-1-8*s**-1\n",
+ "\n",
+ "#Sub value in equation 1 and furter simplifying and integrating obtained equation we get\n",
+ "#2*3**-1*s**(3*2**_1)=4*t+c2\n",
+ "#Sub values\n",
+ "C2=2*3**-1*s**(3*2**-1)-4*t\n",
+ "\n",
+ "#Sub value of C2 and further sub values we get\n",
+ "s=14**(2*3**-1) \n",
+ "\n",
+ "#Acceleration\n",
+ "a=8*s**-2 #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration when t=2 is\",round(a,4),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration when t=2 is 0.2371 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.22,Page No.458"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#a=4*t**2-2 \n",
+ "t1=0 \n",
+ "s1=-2 #m\n",
+ "\n",
+ "t2=2 #s\n",
+ "s2=-20 #m\n",
+ "\n",
+ "t3=4 #s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#a=4*t**2-2\n",
+ "#After integrating above equations we getand further simplifying we get equation of distance as\n",
+ "#s=t**4*3**-1-t**2+C1*t+C2\n",
+ "C2=s1-t1**4*3**-1 \n",
+ "\n",
+ "#s=t**4*3**-1-t**2+C1*t-2 ...............3\n",
+ "#Now after sub in equation and further simplifying the equation we get\n",
+ "C1=(s2-t2**4*3**-1+t2**2+2)*t2**-1\n",
+ "#Sub in above equation 3 we get\n",
+ "\n",
+ "#when t=4\n",
+ "t4=4\n",
+ "s3=t4**4*3**-1-t4**2+C1*t4-2\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Position of particle when t=4 s is\",round(s3,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Position of particle when t=4 s is 28.67 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.23,Page No.460"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#v=2*t**3-t**2-2*t**2-2*t+4\n",
+ "t=2 #s\n",
+ "s=10 #m\n",
+ "t2=6 #s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#acceleration\n",
+ "a=6*t2**2-2*t2-2 #m/s**2\n",
+ "\n",
+ "#Displacement when t=6s \n",
+ "#After integrating and further simplifying the equation of velocity we get equation of displacement as\n",
+ "#s=2*t**4*4**-1-t**3*3**-1-t**2+4*t+C ...............1\n",
+ "#After sub values we get \n",
+ "C=s-(2*t**4*4**-1-t**3*3**-1-t**2+4*t)\n",
+ "\n",
+ "#Sub value of C in equation \n",
+ "s2=2*t2**4*4**-1-t2**3*3**-1-t2**2+4*t2+C #m \n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Displacement of particle when t=6 s is\",round(s2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 202.0 m/s**2\n",
+ "Displacement of particle when t=6 s is 564.67 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.24,Page No.461"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#a=2-3*t\n",
+ "t=5 #s \n",
+ "t2=10 #s\n",
+ "v=20 #m/s #velocity\n",
+ "s=85 #m #displacement\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Acceleration at start when t=0 \n",
+ "a=2-3*t \n",
+ "\n",
+ "#Equation of acceleration after integrating and further simplifying we get\n",
+ "C1=v-(2*t-3*t**2*2**-1)\n",
+ "\n",
+ "#After substituting in equation and further simplifying we get\n",
+ "#At t3=0\n",
+ "t3=0\n",
+ "v=2*t3-3*t3**2*2**-1+C1\n",
+ "\n",
+ "#After differentiating equation of velocity and integrating it we get equation of displacement as\n",
+ "#s=t**2-3*t**3*6**-1+47.5*t+C2 \n",
+ "C2=s-(t2**2-3*t2**3*6**-1+47.5*t2)\n",
+ "#sub value of C2 in above equation we get\n",
+ "s2=t3**2-3*t3**3*6**-1+47.5*t3+C2 \n",
+ "\n",
+ "#Sub v=0 in equation 3 we get an duaqratic equation as\n",
+ "#3*t**2-4*t-95=0\n",
+ "a=3\n",
+ "b=-4\n",
+ "c=-95\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "t4=(-b+(X**0.5))*(2*a)**-1 #s\n",
+ "#Sub value of t4 in equation of displacement and we get\n",
+ "s3=t4**2-3*t4**3*6**-1+47.5*t4+C2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration from origin at start of observation is\",round(a,2),\"m/s**2\"\n",
+ "print\"Velocity from origin at start of observation is\",round(v,2),\"m/s**2\"\n",
+ "print\"distance from origin at start of observationis\",round(s2,2),\"m\"\n",
+ "print\"Time after start of observation is\",round(t4,2),\"s\"\n",
+ "print\"Distance from origin is\",round(s3,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration from origin at start of observation is 3.0 m/s**2\n",
+ "Velocity from origin at start of observation is 47.5 m/s**2\n",
+ "distance from origin at start of observationis 10.0 m\n",
+ "Time after start of observation is 6.33 s\n",
+ "Distance from origin is 223.93 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_13.ipynb b/Engineering_Mechanics/chapter_13.ipynb
new file mode 100644
index 00000000..3500af86
--- /dev/null
+++ b/Engineering_Mechanics/chapter_13.ipynb
@@ -0,0 +1,717 @@
+{
+ "metadata": {
+ "name": "chapter_13.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13:Kinematics of Curvilinear Motion,Circular Motion,,Rotation And Translation"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1,Page No.471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "w_o=5 #Rad/s #Initial Angular Velocity\n",
+ "w=13 #rad/s #IFinal angular Velocity\n",
+ "t=4 #s #time\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Angular Acceleration of the body\n",
+ "alpha=(w-w_o)*t**-1 #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Acceleration of the body is\",round(alpha,2),\"Rad/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Acceleration of the body is 2.0 Rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2,Page No.471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "N_o=20 #Initial r.p.m of wheel\n",
+ "n=50 #No. of revolution\n",
+ "n2=100 \n",
+ "t=70 #s #time\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Angular Dispalcement\n",
+ "theta=2*pi*n\n",
+ "\n",
+ "#Initial Angular Velocity\n",
+ "w_o=2*pi*N_o*60**-1\n",
+ "\n",
+ "#Angular Velocity at the end of 70 s\n",
+ "alpha=(theta-w_o*t)*((t**2)*2**-1)**-1 #rad/s**2\n",
+ "w=w_o+alpha*t #rad/s\n",
+ "\n",
+ "#Time Required for the speed to reach 100 r.p.m\n",
+ "\n",
+ "#Final Angular Velocity\n",
+ "w2=2*pi*n2*60**-1 #rad/s\n",
+ "\n",
+ "#Time required for speed to reach 100 revolutions\n",
+ "t=(w2-w_o)*alpha**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Velocity at the end of 70 s is\",round(w,2),\"rad/s**2\"\n",
+ "print\"Time required for speed to reach 100 revolutions is\",round(t,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Velocity at the end of 70 s is 6.88 rad/s**2\n",
+ "Time required for speed to reach 100 revolutions is 122.5 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3,Page No.472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "alpha=1 #rad/s**2 #Angular Acceleration\n",
+ "w_o=5.25 #rad/s**2 #Initial Angular velocity\n",
+ "w=10.50 #rad/s**2 #Final angular velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total angle turned\n",
+ "theta=(w**2-w_o**2)*2**-1 #rad\n",
+ "\n",
+ "#Result\n",
+ "print\"Total angle turned is\",round(theta,2),\"rad\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total angle turned is 41.34 rad\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4,Page No.472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Part-1\n",
+ "w_o=0 #Initial angular velocity\n",
+ "alpha=1 #rad/s**2 #Angular accleration\n",
+ "t=90 #s #time\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "w_o2=90 #rad/s #Initial Angular velocity\n",
+ "w2=0 #final angular velocity\n",
+ "alpha2=-0.5 #rad/s**2 #Angular retardation\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#Angular Velocity\n",
+ "w=w_o+alpha*t #rad/s\n",
+ "\n",
+ "#Speed in r.p.m\n",
+ "N=60*w*(2*pi)**-1 #r.p.m\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Time taken by flywheel in seconds to come to rest \n",
+ "t1=-w_o2*alpha2**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Speed in r.p.m is\",round(N,2)\n",
+ "print\"Time taken by flywheel in seconds to come to rest is\",round(t1,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Speed in r.p.m is 859.44\n",
+ "Time taken by flywheel in seconds to come to rest is 180.0 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5,Page No.473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "N=200 #r.p.m #initial speed\n",
+ "f1=20.94 #rad/s #Frequency\n",
+ "N2=160 #r.p.m\n",
+ "t=10 #s #time\n",
+ "f2=16.75 #rad/s\n",
+ "f3=0 #Final angular velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Uniform retardation\n",
+ "alpha=(f2-f1)*t**-1 #rad/s**2\n",
+ "\n",
+ "#total angular displacement\n",
+ "theta=(f3**2-f1**2)*(2*alpha)**-1 #rad\n",
+ "n=theta*(2*pi)**-1 #revolutions\n",
+ "\n",
+ "#Time taken by wheel before it comes to rest\n",
+ "t=-f1*alpha**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Number of revolutions is\",round(n,2),\"revolution\"\n",
+ "print\"Time taken by wheel before it comes to rest is\",round(t,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of revolutions is 83.28 revolution\n",
+ "Time taken by wheel before it comes to rest is 49.98 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6,Page No.474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Angle of rotation\n",
+ "#theta=2*t**3-5*t**2+8*t+6\n",
+ "t=0 #s\n",
+ "t2=4 #s\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#After deriving above equation we get\n",
+ "f1=6*t**2-10*t+8 #rad/s\n",
+ "\n",
+ "#Again differentiating above equation we get\n",
+ "alpha1=12*t-10 #rad/s**2\n",
+ "\n",
+ "#for t2=4\n",
+ "f2=6*t2**2-10*t2+8 #rad/s\n",
+ "alpha2=12*t2-10 #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Velocity at t=0 is\",round(f1,2),\"rad/s\"\n",
+ "print\"Angular acceleration at t=4 is\",round(alpha1,2),\"rad/s**2\"\n",
+ "print\"Angular Velocity at t=0 is\",round(f2,2),\"rad/s\"\n",
+ "print\"Angular acceleration at t=4 is\",round(alpha2,2),\"rad/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Velocity at t=0 is 8.0 rad/s\n",
+ "Angular acceleration at t=4 is -10.0 rad/s**2\n",
+ "Angular Velocity at t=0 is 64.0 rad/s\n",
+ "Angular acceleration at t=4 is 38.0 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6(A),Page No.474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#angular rotation\n",
+ "#theta=9*32**-1*t**3\n",
+ "t=1.6 #s\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#after differentiating above equation twice we get\n",
+ "alpha=27*16**-1*t #rad/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular accelerations is\",round(alpha,2),\"rad/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular accelerations is 2.7 rad/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7,Page No.475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "f1=2 #rad/s #initiaal angular velocity\n",
+ "alpha1=0 #Initial angular acceleration\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Integrating law of rotation we get\n",
+ "#f2=t**3-3*t+C .......1\n",
+ "#put t=0 weg et\n",
+ "C=2\n",
+ "\n",
+ "#now at t=5 #s\n",
+ "t=5 #s\n",
+ "f2=t**3-3*t+C\n",
+ "\n",
+ "#Integrting equation 1 we get\n",
+ "#theta=t**4*4**-1-3*t**2*2**-1+2*t\n",
+ "#Sub values and further simplifying we get\n",
+ "theta=t**4*4**-1-3*t**2*2**-1+2*t\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular velocity when t=5s is\",round(f2,2),\"rad/s\"\n",
+ "print\"Angular displacement when t=5s is\",round(theta,2),\"radians\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular velocity when t=5s is 112.0 rad/s\n",
+ "Angular displacement when t=5s is 128.75 radians\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8,Page No.476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Angle of rotation of body \n",
+ "#theta=theta1+a*t+b*t**2\n",
+ "f=3*pi\n",
+ "f2=8*pi\n",
+ "t=0 #s\n",
+ "t2=2 #s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#differentiating above equation and further sub values and simplifuing we getweget\n",
+ "a=f\n",
+ "b=(f2-a)*4**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Constants a is\",round(a,2)\n",
+ "print\"Constants b is\",round(b,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Constants a is 9.42\n",
+ "Constants b is 3.93\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9,Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Velocity\n",
+ "V_A=4 #m/s\n",
+ "theta=30 #Degrees\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity\n",
+ "V_B=V_A*(tan(theta*pi*180**-1))**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of point B is\",round(V_B,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of point B is 6.93 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9(A),Page No.480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "r=1 #m #radius\n",
+ "V_C=20 #m/s #Velocity\n",
+ "f=20 #rad/s #Angular velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Length\n",
+ "L_DE=(r**2+r**2)**0.5 #m\n",
+ "L_DF=2 #m #Diameter\n",
+ "\n",
+ "#Velocity \n",
+ "V_E=L_DE*f #m/s\n",
+ "V_F=f*L_DF #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of point E:V_E\",round(V_E,2),\"m/s\"\n",
+ "print\"Velocity of point E:V_F\",round(V_F,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of point E:V_E 28.28 m/s\n",
+ "Velocity of point E:V_F 40.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9(B),Page No.481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=50 #cm\n",
+ "r=0.25 #m #radius\n",
+ "V_A=L_AL=5 #m/s\n",
+ "V_B=L_BM=3 #m/s\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#V_A=f*L_AO\n",
+ "#V_B=f*L_BO \n",
+ "\n",
+ "#After further simplifying and resolving we get\n",
+ "f=2*0.5**-1 #rad/s\n",
+ "x=L_BO=3*f**-1 \n",
+ "\n",
+ "#Linear Velocity\n",
+ "V_C=f*(r+x) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Linear Velocity of roller is\",round(V_C,2),\"m/s\"\n",
+ "print\"Angular velocity is\",round(f,2),\"rad/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Linear Velocity of roller is 4.0 m/s\n",
+ "Angular velocity is 4.0 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9(C),Page No.482"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "r=1 #m\n",
+ "u=20 #m/s\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity component of point E\n",
+ "#u_E=u+u*sin(u*t)\n",
+ "#at t=0\n",
+ "t=0\n",
+ "u_E=u+u*sin(u*t*pi*180**-1)\n",
+ "v_E=u*cos(u*t)\n",
+ "V_E=(u_E**2+v_E**2)**0.5 #m/s\n",
+ "u_F=u+u*cos(u*t*pi*180**-1) #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of point E is\",round(V_E,2),\"m/s\"\n",
+ "print\"Velocity of point F is\",round(u_F,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of point E is 28.28 m/s\n",
+ "Velocity of point F is 40.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9(D),Page No.485"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "W1=W2=80*1000*g\n",
+ "D1=0.75*10**3 #mm\n",
+ "R1=0.75*500 #mm\n",
+ "a1=0.025 #m/s**2\n",
+ "D2=1.2*10**3 #mm\n",
+ "R2=1.2*500 #mm\n",
+ "a2=0.0625 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Horizontal Forces\n",
+ "P1=W1*a1*R1**-1 #N\n",
+ "P2=W2*a2*R2**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Horizontal Force required to maintain uniform speed is\",round(P1,2),\"N\"\n",
+ "print\"Horizontal Force for truck and trailer is\",round(P2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Horizontal Force required to maintain uniform speed is 52.32 N\n",
+ "Horizontal Force for truck and trailer is 81.75 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_14.ipynb b/Engineering_Mechanics/chapter_14.ipynb
new file mode 100644
index 00000000..6cceab74
--- /dev/null
+++ b/Engineering_Mechanics/chapter_14.ipynb
@@ -0,0 +1,1114 @@
+{
+ "metadata": {
+ "name": "chapter_14.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14:Projectiles"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1,Page No.507 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "alpha=60 #Degrees\n",
+ "R=5000 #m #Horizontal Range\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#By equation of Horizontal Range,we get\n",
+ "u=((R*g)*(sin(2*alpha*pi*180**-1))**-1)**0.5 #m/s\n",
+ "\n",
+ "#Max Height attained by projectile\n",
+ "h_max=u**2*(sin(alpha*pi*180**-1))**2*(2*g)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of projection is\",round(u,2),\"m/s\"\n",
+ "print\"Max Height attained by projectile is\",round(h_max,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of projection is 237.99 m/s\n",
+ "Max Height attained by projectile is 2165.06 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2,Page No.507"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "u=100 #m/s #Velocity\n",
+ "alpha=30 #Degrees #Angle made by projectile with horizontal\n",
+ "g=9.81 #m/s #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Horizontal Range\n",
+ "R=u**2*sin(2*alpha*pi*180**-1)*g**-1 #m\n",
+ "\n",
+ "#MAx height attained\n",
+ "h_max=u**2*sin(alpha*pi*180**-1)*g**-1 #m\n",
+ "\n",
+ "#Time of flight\n",
+ "T=2*u*sin(alpha*pi*180**-1)*g**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Horizontal Range is\",round(R,2),\"m\"\n",
+ "print\"MAx Height attained is\",round(h_max,2),\"m\"\n",
+ "print\"Time of Flight is\",round(T,2),\"s\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Horizontal Range is 882.8 m\n",
+ "MAx Height attained is 509.68 m\n",
+ "Time of Flight is 10.19 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3,Page No.508"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "#R=4*h_max\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Equation ofhorizontal Range is\n",
+ "#R=u**2*sin(2*alpha)*g**-1 .........1\n",
+ "\n",
+ "#Equation of MAx height \n",
+ "#h_max=u**2*sin(alpha)**2*(2*g)**-1 .........2\n",
+ "\n",
+ "#After simplifying both equations,we get\n",
+ "alpha=np.arctan(1)*(pi**-1*180)\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle of projections is\",round(alpha,2),\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of projections is 45.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4,Page No.508"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "u=20 #m/s #Velocity\n",
+ "x=20 #m #X cordinate of trajectory\n",
+ "y=8 #m #Y cordinate of trajectory\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#equation of trajectory\n",
+ "#y=x*tan(alpha)-g*x**2*(2*u**2*cos(alpha)**2)**-1\n",
+ "#After substituting values and further simplifying we get quadratic equation\n",
+ "#4.905*(tan(alpha))**2-20*tan(alpha)+12.905=0\n",
+ "a=4.905\n",
+ "b=-20\n",
+ "c=12.905\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "y1=(-b+X**0.5)*(2*a)**-1\n",
+ "y2=(-b-X**0.5)*(2*a)**-1\n",
+ "\n",
+ "alpha1=np.arctan(y1)*(pi**-1*180) #Degrees\n",
+ "alpha2=np.arctan(y2)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle of projection of particle is:alpha1\",round(alpha1,2),\"Degrees\"\n",
+ "print\" :alpha2\",round(alpha2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of projection of particle is:alpha1 73.01 Degrees\n",
+ " :alpha2 38.79 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5,Page No.509"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "x=4.8 #m #X-cord of projectile\n",
+ "y=3.6 #m #y-cord of projectile\n",
+ "alpha=60 #Degrees #Inclination of jet\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Equation of trajectory\n",
+ "#y=x*tan(alpha)-g*x**2*(2*u**2*cos(alpha)**2)**-1\n",
+ "#After further simplifying we get\n",
+ "u=((g*x**2)*(2*(cos(alpha*pi*180**-1))**2*((x*tan(alpha*pi*180**-1))-y))**-1)**0.5 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"required velocity of jet at nozzle exit is\",round(u,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "required velocity of jet at nozzle exit is 9.79 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6,Page No.510"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=250 #m/s #Velocity\n",
+ "x=4000 #m #x-cord\n",
+ "y=700 #m #y-cord\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#equation of trajectory\n",
+ "#y=x*tan(alpha)-g*x**2*(2*u**2*cos(alpha)**2)**-1\n",
+ "#After substituting values and further simplifying we get quadratic equation\n",
+ "#1255.68*tan(alpha)**2-4000*tan(alpha)+1955.68=0\n",
+ "a=1255.68\n",
+ "b=-4000\n",
+ "c=1955.68\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "y1=(-b+X**0.5)*(2*a)**-1\n",
+ "y2=(-b-X**0.5)*(2*a)**-1\n",
+ "\n",
+ "alpha1=np.arctan(y1)*(pi**-1*180) #Degrees\n",
+ "alpha2=np.arctan(y2)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Firing angle to hit the target is:alpha1\",round(alpha1,2),\"Degrees\"\n",
+ "print\" :alpha2\",round(alpha2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Firing angle to hit the target is:alpha1 68.83 Degrees\n",
+ " :alpha2 31.09 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7,Page No.511"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "alpha1=15 #Degrees #Angle of projectile 1\n",
+ "alpha2=45 #Degrees #Angle of projectile2\n",
+ "g=9.81 #m/s**2\n",
+ "#R1=R-12\n",
+ "#R2=R+24\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#form Equation of horizontal Range we get,\n",
+ "#R-12=u**2*sin(2*alpha1)*g**-1 ..................1\n",
+ "\n",
+ "#R+24=u**2*sin(2*alpha2)*g**-1 ....................2\n",
+ "\n",
+ "#Dividing equation 1 by 2 and further simplifying we get\n",
+ "R=24+24 #m\n",
+ "\n",
+ "#Sub value of R in equation 2 we get\n",
+ "#u**2=g*72\n",
+ "\n",
+ "#Sub values of R and u**2 in equation of horizontal range we get\n",
+ "#sin(2*alpha)=R*g*(g*72)**-1\n",
+ "#LEt sin(2*alpha)=X\n",
+ "X=R*g*(g*72)**-1\n",
+ "alpha=(np.arcsin(X)*(180*pi**-1))*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle of projection to hit the mark is\",round(alpha,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of projection to hit the mark is 20.91\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.8,Page No.512"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=100 #m/s #initial Velocity\n",
+ "alpha=30 #DEgrees #Angle of projection\n",
+ "g=9.81 #m/s**2\n",
+ "h=80 #m #Height below B\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Max Height \n",
+ "H=u**2*(sin(alpha*pi*180**-1))**2*(2*g)**-1 #m\n",
+ "\n",
+ "#Vertical Distance\n",
+ "S=H+h #m\n",
+ "\n",
+ "#Vertical Component of velocity striking the target\n",
+ "v2=(2*g*S)**0.5 #m/s\n",
+ "\n",
+ "#Horizontal component of velocity\n",
+ "v=u*cos(alpha*pi*180**-1)\n",
+ "\n",
+ "#Actual Velocity with which bullet strikes the target\n",
+ "V=(v2**2+v**2)**0.5\n",
+ "\n",
+ "#Angle made by actual velocity striking velocity\n",
+ "theta=np.arctan(v2*v**-1)*(pi**-1*180)\n",
+ "\n",
+ "#Result\n",
+ "print\"Max height attained by bullet\",round(H,2),\"m\"\n",
+ "print\"Actual Velocity with which it will strike the target\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max height attained by bullet 127.42 m\n",
+ "Actual Velocity with which it will strike the target 36.38 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9,Page No.514"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "h=150 #m #Height of cliff\n",
+ "u=180 #m/s #Initial Velocity\n",
+ "alpha=30 #ANgle of projection\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#From equation of vertical Distance\n",
+ "#y=u*sin(Alpha)*t-0.5*g*t**2\n",
+ "#Sub values and further simplifying we get\n",
+ "#4.905t**2-90*t-150=0\n",
+ "a=4.905 \n",
+ "b=-90\n",
+ "c=-150\n",
+ "\n",
+ "X=(b**2-4*a*c)**0.5\n",
+ "\n",
+ "#Total time of flight\n",
+ "t=(-b+(X))*(2*a)**-1\n",
+ "\n",
+ "#Horizontal Distance \n",
+ "h1=u*cos(alpha*pi*180**-1)*t\n",
+ "\n",
+ "#MAx Height \n",
+ "H=u**2*sin(alpha*pi*180**-1)**2*(2*g)**-1 #m\n",
+ "\n",
+ "#ELEvation above the ground\n",
+ "H2=h+H #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Horizontal Distance from gun is\",round(h1,2),\"m\"\n",
+ "print\"Elevation above the ground\",round(H2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Horizontal Distance from gun is 3099.98 m\n",
+ "Elevation above the ground 562.84 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.10,Page No.515"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=6 #m #Height of tunnel\n",
+ "u=50 #m/s #Initial Velocity\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha=np.arcsin(((h*2*g)*((u**2)**-1))**0.5)*(pi**-1*180)\n",
+ "\n",
+ "#Horizontal Range \n",
+ "R=u**2*sin(2*alpha*pi*180**-1)*g**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle of projection is\",round(alpha,2),\"DEgrees\"\n",
+ "print\"Horizontal Range is\",round(R,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle of projection is 12.53 DEgrees\n",
+ "Horizontal Range is 107.96 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11,Page No.516"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "alpha1=30 #Degrees #Angle of projection1\n",
+ "alpha2=30 #Degrees #Angle of projection2\n",
+ "u1=350 #m/s #Velocity of projection at A\n",
+ "u2=300 #m/s #Velocity of projection at B\n",
+ "L_AB=30 #m #distance between A nd B\n",
+ "g=9.81 #m/s**2 \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Length AD\n",
+ "L_AD=L_AB*cos(alpha1*pi*180**-1)\n",
+ "\n",
+ "#Horizontal component of velocity at A\n",
+ "V_A=u1*cos(alpha1*pi*180) #m/s\n",
+ "\n",
+ "#Horizontal component of velocity at B\n",
+ "V_B=u2*cos(alpha2*pi*180) #m/s\n",
+ "\n",
+ "#Horizontal Distance covered by shot A\n",
+ "#x=(u1*cos(alpha1)*t ..........................1\n",
+ "\n",
+ "#Horizontal Distance covered by shot B\n",
+ "#15*(3)**0.5-x=(u2*cos(alpha2))*t ................2\n",
+ "\n",
+ "#Adding Equations 1 and 2 we get\n",
+ "t=15*(3)**0.5*((u1+u2)*cos(alpha1*pi*180**-1))**-1\n",
+ "\n",
+ "#sub values in equation 1 we get\n",
+ "x=(u1*cos(alpha1*pi*180**-1))*t\n",
+ "\n",
+ "#Intial velocity shot in vertical direction\n",
+ "V2=u1*sin(alpha1*pi*180**-1) #m/s\n",
+ "\n",
+ "#Distance in vertical direction\n",
+ "y=V2*t-g*t**2*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Time when these two shots meet\",round(t,2),\"s\"\n",
+ "print\"Vertical Distance at which they meet\",round(y,3),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time when these two shots meet 0.05 s\n",
+ "Vertical Distance at which they meet 8.066 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.12,Page No.518"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "v=720*10**3*3600**-1 #m/s #Speed of air craft\n",
+ "u=200 #m/s #Velocity of bomb\n",
+ "H=1000 #m #Height\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Time requaired by bomb\n",
+ "t=(H*2*g**-1)**0.5 #s\n",
+ "\n",
+ "#Horizontal distance of air craft\n",
+ "h=u*round(t,3) #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Time requaired by bomb to reach the ground\",round(t,2),\"s\"\n",
+ "print\"Horizontal distance of air craft\",round(h,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time requaired by bomb to reach the ground 14.28 s\n",
+ "Horizontal distance of air craft 2855.6 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.13,Page No.519"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "v=108*10**3*3600**-1 #m/s #Spedd of air craft\n",
+ "u=30 #m/s #Horizontal Velocity\n",
+ "H=1000 #m #Height\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Time taken by bomb\n",
+ "t=(H*2*g**-1)**0.5 #s\n",
+ "\n",
+ "#Horizontal Distance OB\n",
+ "h=u*t #m\n",
+ "\n",
+ "#Velocity of bomb hitting the ground\n",
+ "V=g*t #m/s**2\n",
+ "\n",
+ "#Resultant Velocity\n",
+ "V2=(u**2+V**2)**0.5 #m/s\n",
+ "\n",
+ "#Direction in which the bomb hits the ground\n",
+ "theta=np.arctan(V*u**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"HOrizontal Distance of air craft from target\",round(h,2),\"m\"\n",
+ "print\"Velocity of bomb\",round(V2,2),\"m/s\"\n",
+ "print\"Direction of bomb\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "HOrizontal Distance of air craft from target 428.35 m\n",
+ "Velocity of bomb 143.25 m/s\n",
+ "Direction of bomb 77.91 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.14,Page No.520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "H=2000 #m #Height of aeroplane\n",
+ "u=10**6*3600**-1 #Velocity of plane #m/s\n",
+ "g=9.8 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Time required by bomb\n",
+ "t=(2*H*g**-1)**0.5 #s\n",
+ "\n",
+ "#Horizontal Distance travelled by bomb\n",
+ "h=u*t #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Time required by bomb to reach the ground\",round(t,2),\"s\"\n",
+ "print\"Horizontal Distance travelled by bomb\",round(h,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time required by bomb to reach the ground 20.2 s\n",
+ "Horizontal Distance travelled by bomb 5611.96 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.16,Page No.521"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "L_AB1=4 #m #LEngth of AB in Horizontal Distance\n",
+ "L_AB2=2 #m #LEngth of AB in Vertical Distance\n",
+ "g=9.81 #m/s**2 \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#time\n",
+ "t=((L_AB2*2)*(9.81)**-1)**0.5\n",
+ "\n",
+ "#Minimum veloacity of motorcyclye at A in Horizontal Direction\n",
+ "u=L_AB1*t**-1 #m/s\n",
+ "\n",
+ "#Vertical Component of velocity\n",
+ "v=g*t #m/s\n",
+ "\n",
+ "#Resultant velocity at B\n",
+ "V=(u**2+v**2)**0.5*3600*(10**3)**-1 #km/hr\n",
+ "\n",
+ "#Inclination\n",
+ "theta=np.arctan(v*u**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Inclination of motorcycle clearing the ditch\",round(theta,2),\"Degrees\"\n",
+ "print\"MAgnitude of velocity of motorcycleafter clearing ditch\",round(V,2),\"km/hr\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inclination of motorcycle clearing the ditch 45.0 Degrees\n",
+ "MAgnitude of velocity of motorcycleafter clearing ditch 31.89 km/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.17,Page No.522"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "alpha=25 #Degrees #Angle of ramp\n",
+ "L_BC1=4 #m #Horizontal Distance between B and C\n",
+ "L_BC2=2 #m #vertical Distance between B and C\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "##From equation of path \n",
+ "X=(L_BC2+L_BC1*tan(alpha*pi*180**-1))\n",
+ "Y=(g*L_BC1**2)*(2*(cos(alpha*pi*180**-1))**2)**-1\n",
+ "u=(X**-1*Y)**0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum speed of motorcycle is\",round(u,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum speed of motorcycle is 4.97 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.18,Page No.526"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "u=40 #m/s #Velocity of projection\n",
+ "alpha=50 #Degrees #Angle of projection\n",
+ "beta=20 #degrees #Ang;e if incline plane\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Time of flight\n",
+ "T=2*u*sin((alpha-beta)*pi*180**-1)*(g*cos(beta*pi*180**-1))**-1\n",
+ "\n",
+ "#Range \n",
+ "R=2*u**2*cos(alpha*pi*180**-1)*sin((alpha-beta)*pi*180**-1)*(g*(cos(beta*pi*180**-1))**2)**-1\n",
+ "\n",
+ "#Let alpha2 be the angle of projection for max range\n",
+ "alpha2=(90+beta)*2**-1\n",
+ "\n",
+ "#MAx range up the plane\n",
+ "R2=u**2*(g*(1+sin(beta*pi*180**-1)))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Time of flight is\",round(T,2),\"s\"\n",
+ "print\"range up the plane is\",round(R,2),\"m\"\n",
+ "print\"Max range up the plane\",round(R2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time of flight is 4.34 s\n",
+ "range up the plane is 118.73 m\n",
+ "Max range up the plane 121.53 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.19,Page No.527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=30 #m/s #velocity\n",
+ "alpha=55 #angle of projection\n",
+ "beta=20 #angle of plane\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "#Maximum Range\n",
+ "R=u**2*(g*(1+sin(beta*pi*180**-1)))**-1 #m\n",
+ "\n",
+ "#Time of Flight\n",
+ "T=2*u*sin((alpha-beta)*pi*180**-1)*(g*cos(beta*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Time of Fliight is\",round(T,2),\"s\"\n",
+ "print\"Maximum Range is \",round(R,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time of Fliight is 3.73 s\n",
+ "Maximum Range is 68.36 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.20,Page No.527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=3 #m/s #Velocity of projection\n",
+ "alpha=25 #Degrees #Angle of projection\n",
+ "beta=25 #degrees #Angle of plane with horizontal\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Range\n",
+ "R=2*u**2*cos(alpha*pi*180**-1)*sin((alpha+beta)*pi*180**-1)*(g*(cos(beta*pi*180**-1))**2)**-1\n",
+ "\n",
+ "#L_BC=y\n",
+ "#L_AC=x\n",
+ "\n",
+ "#From tan(beta) we get\n",
+ "#y=0.466*x .................(1)\n",
+ "\n",
+ "#From Equation (L_AB)**2=(L_BC**2+L_AC)**2\n",
+ "#After sub values and further simplifying we get\n",
+ "x=(2.4*(1.217)**-1)**0.5 #m\n",
+ "\n",
+ "#Sub in equation 1 we get\n",
+ "y=0.466*x\n",
+ "\n",
+ "#Result\n",
+ "print\"Co-ordinates of point B are:x\",round(x,2),\"m\"\n",
+ "print\" :y\",round(y,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Co-ordinates of point B are:x 1.4 m\n",
+ " :y 0.65 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.21,Page No.528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AB=75 #m #LEngth of AB\n",
+ "h=19.6 #m #Height of point of release\n",
+ "beta=26.564 #Degrees #angle of plane \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Length AC\n",
+ "L_AC=L_AB*cos(beta*pi*180**-1) #m\n",
+ "\n",
+ "#From horizontal Distance \n",
+ "#u*cos(alpha)=L_AC*t**-1 .............1\n",
+ "\n",
+ "#Vertical motion motion from point of release\n",
+ "#u*sin(alpha)=19.6 ....................2\n",
+ "\n",
+ "#vertical Distance\n",
+ "y=L_AB*sin(beta*pi*180**-1) #m\n",
+ "\n",
+ "#Vertical distance from point of release travelled by ball\n",
+ "#y=u*sin(alpha)*t-0.5*g*t**2\n",
+ "\n",
+ "#sub value of y in above equation and further simplifyin we get\n",
+ "#t**2-4t-6.84=0\n",
+ "a=1\n",
+ "b=-4\n",
+ "c=-6.84\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "t=(-b+X**0.5)*(2*a)**-1\n",
+ "\n",
+ "#sub value in equation 1 we get\n",
+ "#Let ucos(alpha)=X\n",
+ "X=67.08*t**-1 #..........................3\n",
+ "\n",
+ "#Dividing equation 1 by 3 we get\n",
+ "alpha=np.arctan(19.6*12.68**-1)*(180*pi**-1)\n",
+ "\n",
+ "#sub in equation 1 we get\n",
+ "u=12.68*cos(alpha*pi*180**-1)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Initial Velocity\",round(u,2),\"m/s\"\n",
+ "print\"Inclination is\",round(alpha,4),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Initial Velocity 23.34 m/s\n",
+ "Inclination is 57.0996 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_15.ipynb b/Engineering_Mechanics/chapter_15.ipynb
new file mode 100644
index 00000000..e66c8bb8
--- /dev/null
+++ b/Engineering_Mechanics/chapter_15.ipynb
@@ -0,0 +1,2687 @@
+{
+ "metadata": {
+ "name": "chapter_15.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 15:Kinetics of Rigid Bodies And Laws of Motion"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1,Page No.536"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=150 #kg #Mass of the Body\n",
+ "a=3 #m/s**2 #Acceleration \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Force \n",
+ "F=M*a #N\n",
+ "\n",
+ "#Result\n",
+ "print\"FOrce is\",round(F,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "FOrce is 450.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.2,Page No.537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=100 #N #Force\n",
+ "m=4 #kg #mass\n",
+ "t=10 #seconds #time\n",
+ "u=5 #m/s #Initial Velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=F*m**-1 #m/s**2\n",
+ "\n",
+ "#Distance\n",
+ "s=u*t+a*t**2*2**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Distance moved is\",round(s,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 25.0 m/s**2\n",
+ "Distance moved is 1300.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.3,Page No.537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=980 #N #Weight of body on the earth\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "g2=1.6 #m/s**2 #Acceleration due to gravity on moon\n",
+ "g3=270 #m/s**2 #Acceleration due to gravity on sun\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Mass\n",
+ "m=W*g**-1 #Kg\n",
+ "\n",
+ "#Weight of body on moon\n",
+ "W1=m*g2 #N\n",
+ "\n",
+ "#Weight of body on sun\n",
+ "W2=m*g3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight of body on moon\",round(W1,2),\"N\"\n",
+ "print\"Weight of body on sun\",round(W2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight of body on moon 160.0 N\n",
+ "Weight of body on sun 27000.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.4,Page No.537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=200 #N #Force \n",
+ "m=300 #kg #mass\n",
+ "t=90 #sec #time\n",
+ "u=20 #m/s #Initial velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=F*m**-1 #m/s**2 \n",
+ "\n",
+ "#Final Velocity in Direction of motion \n",
+ "v=u+a*t #m/s\n",
+ "\n",
+ "#Final Velocity in opposite direction of motion\n",
+ "v2=u-a*t #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Final Velocity in Direction of motion\",round(v,2),\"m/s\"\n",
+ "print\"Final Velocity in opposite direction of motion\",round(v2,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Final Velocity in Direction of motion 80.0 m/s\n",
+ "Final Velocity in opposite direction of motion -40.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.5,Page No.538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=15 #kg #Mass \n",
+ "h=19.6 #m #Height of body from ground\n",
+ "F=4900 #N #Force of resistance\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Final Velocity of body\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Weight of body\n",
+ "W=m*g #N\n",
+ "\n",
+ "#Net Force acting in the upward direction\n",
+ "F2=F-W #N\n",
+ "\n",
+ "#Acceleration\n",
+ "a=F2*m**-1 #m/s**2 \n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "v2=0 #Final Velocity after penetration into the ground\n",
+ "u=v #Initial Velocity on the ground\n",
+ "\n",
+ "#Distance penetrated into the ground\n",
+ "s=-(v2**2-u**2)*(2*a)**-1 #m \n",
+ "\n",
+ "#Result\n",
+ "print\"Distance penetrated into the ground\",round(s,3),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance penetrated into the ground 0.606 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.6,Page No.539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=637 #N #Weight of man\n",
+ "h=19.6 #m #Height of Tower\n",
+ "u=0 #m/s #Initial Velocity of man when he reaches the water surface\n",
+ "g=9.8 #m/s**2 #acceleration due to gravity\n",
+ "s=2 #m #Distance travelled\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Final Velocity of man when he reaches the water surface\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#acceleration\n",
+ "a=v**2*(2*s)**-1 #m/s**2 #m/s**2\n",
+ "\n",
+ "#Mass of man\n",
+ "m=W*g**-1 #Kg \n",
+ "\n",
+ "#Average resistance of water\n",
+ "F=m*a+W #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Average Resistance of water\",round(F,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Resistance of water 6879.6 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.7,Page No.540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.081 #kg\n",
+ "v=300 #m/s #velocity\n",
+ "s=0.1 #m #Depth\n",
+ "s2=0.05 #m #Distance travelled\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration \n",
+ "a=v**2*(2*s)**-1 #m/s**2 \n",
+ "\n",
+ "#Force offered by wood to the bullet\n",
+ "F=m*a #N\n",
+ "\n",
+ "#Velocity\n",
+ "v=-(u**2-(2*a*s2)) #m/s\n",
+ "v2=v**0.5 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Force of resistance\",round(v2,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force of resistance 212.13 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.8,Page No.541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "v=0 #Final Velocity\n",
+ "s=60 #m #Distance travelled\n",
+ "mu=0.4 #coefficient of friction\n",
+ "g=9.80\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#acceleration\n",
+ "a=mu*g #m/s**2\n",
+ "\n",
+ "#speed of car\n",
+ "u=(2*a*s)**0.5*1000**-1*3600 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Speed of car is\",round(u,2),\"Km/hr\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Speed of car is 78.08 Km/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.9,Page No.542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F1=2000 #N #Tractive of force exerted by railway car\n",
+ "W=50 #KN #Weight of car\n",
+ "g=9.81 #m/s**2 #acceleration due to gravity \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#mass of car\n",
+ "m=W*1000*g**-1 #N\n",
+ "\n",
+ "#Frictional resistance\n",
+ "F2=5*W\n",
+ "\n",
+ "#Net Force in Direction of motion\n",
+ "F=F1-F2 #N\n",
+ "\n",
+ "#Acceleration\n",
+ "a=F*m**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"acceleration when the car is moving\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "acceleration when the car is moving 0.34 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.10,Page No.542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=1960*1000 #N #Weight of train\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#mass of train \n",
+ "m=W*g**-1 #kg\n",
+ "\n",
+ "#final Velocity\n",
+ "v=100*3**-1 #m/s\n",
+ "t=5*60 #sec\n",
+ "\n",
+ "#Acceleration\n",
+ "a=v*t**-1 #m/s**2 \n",
+ "\n",
+ "#Average pull required\n",
+ "F2=m*a+19600\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Average pull required\",round(F2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average pull required 41822.22 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.11,Page No.544"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=200 #N #Weight of Body\n",
+ "g=9.81 #m/s**2 #aceleration due to gravity\n",
+ "theta=45 #Degrees #Angle of plane\n",
+ "u=0 #m/s #Initial Velocity\n",
+ "v=2 #m/s #Final velocity\n",
+ "mu=0.1 #coefficient of friction\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration of body\n",
+ "a=g*(sin(theta*pi*180**-1)-mu*cos(theta*pi*180**-1)) #m/s**2\n",
+ "\n",
+ "#Distance\n",
+ "s=(v**2-u**2)*(2*a)**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance along inclined plane is\",round(s,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance along inclined plane is 0.32 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.12,Page No.544"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=0 #m/s #Initial Velocity\n",
+ "theta=20 #degree #Angle of inclination\n",
+ "mu1=0.08 #Coefficient of friction between the plane and lower body\n",
+ "mu2=0.08 #Coefficient of friction between the plane and upper body\n",
+ "d=10 #m #distance beween two body\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration of lower body down the plane\n",
+ "a1=g*(sin(theta*pi*180**-1)-mu1*cos(theta*pi*180**-1)) #m/s**2\n",
+ "\n",
+ "#Acceleration of upper body \n",
+ "a2=g*(sin(theta*pi*180**-1)-mu2*cos(theta*pi*180**-1)) #m/s**2\n",
+ "\n",
+ "#Distance travelled by lower body\n",
+ "#s1=u*t+a1*t**2*2**-1\n",
+ "#After sub values and further simplifying we get\n",
+ "#s1=1.3805*t**2 ...................1\n",
+ "\n",
+ "#Distance travelled by upper body\n",
+ "#s1=u*t+a1*t**2*2**-1\n",
+ "#After sub values and further simplifying we get\n",
+ "#s1=1.447*t**2 .......................2\n",
+ "\n",
+ "#Further simplfying we get\n",
+ "t=(10*0.1385**-1)**0.5 #s\n",
+ "\n",
+ "#sub value of t in equation 1 and 2\n",
+ "s1=1.3805*round(t,2)**2 #m\n",
+ "s2=1.447*round(t,2)**2 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"distance through which each body travels before they meet:s1\",round(s1,2),\"m\"\n",
+ "print\" :s2\",round(s2,2),\"m\"\n",
+ "\n",
+ "#Answer of s1 is incorrect in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "distance through which each body travels before they meet:s1 99.74 m\n",
+ " :s2 104.55 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.13,Page No.546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=6000 #N #Weight of truck\n",
+ "u=10 #m/s #speed of truck\n",
+ "#sin(theta)=1*40**-1\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Road Resistance\n",
+ "F1=W*1*40**-1 #N\n",
+ "\n",
+ "#Frictional Force\n",
+ "F2=F1*(W*10**-3)**-1\n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#Speed of truck\n",
+ "u2=2*u #m/s\n",
+ "\n",
+ "#Force exerted by engine up theplane\n",
+ "P=W*1*40**-1+F1 #N\n",
+ "\n",
+ "#Power Exerted by engine\n",
+ "P2=P*u2*1000**-1 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Frictional Force of truck is\",round(F2,2),\"N\"\n",
+ "print\"Power Exerted by engine is\",round(P2,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frictional Force of truck is 25.0 N\n",
+ "Power Exerted by engine is 6.0 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.14,Page No.547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=200*10**3 #N #Weight of train\n",
+ "#sin(theta)=1*150**-1 #Slope of track\n",
+ "u=5 #m/s #speed of train\n",
+ "p=3.5 #KW #Power developed by engine\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case-1\n",
+ "\n",
+ "#power developed by engine\n",
+ "P=p*1000*u**-1 #N\n",
+ "\n",
+ "#Net Force \n",
+ "F=W*1*150**-1+P #N\n",
+ "\n",
+ "#Case-2\n",
+ "\n",
+ "#Force exerted by engine while moving up\n",
+ "P2=W*1*150**-1+F #N\n",
+ "\n",
+ "#Power developed by engine\n",
+ "P3=P2*u*1000**-1 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power Developed by Engine to pull up the train is\",round(P3,2),\"KW\"\n",
+ "\n",
+ "#Answer of Power developed by engine is incorrect i.e P so answer of Power Developed by Engine to pull up the train is also incorrect i.e P3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Developed by Engine to pull up the train is 16.83 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.15,Page No.549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_BC=100 #m #Distance\n",
+ "V=20*3**-1 #m/s #Velocity\n",
+ "W=20000 #N #Weight\n",
+ "g=9.81 #m/s**2 #acceleration due to gravity\n",
+ "m=W*g**-1 #Mass of car\n",
+ "#sin(theta)=5*100**-1\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Frictional resistance due to track\n",
+ "F=8*20 #N\n",
+ "\n",
+ "#Final Velocity of car at D\n",
+ "v=0 \n",
+ "\n",
+ "#Component of weight of train\n",
+ "W2=W*5*100**-1 #N\n",
+ "\n",
+ "#Total Retarding Force against motion\n",
+ "F2=F+W2 #N\n",
+ "\n",
+ "#acceleration\n",
+ "a=F2*g*W**-1 #m/s**2\n",
+ "\n",
+ "#Distance\n",
+ "s=V**2*(2*round(a,3))**-1 #m\n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#Dstance travelled by car From B to E\n",
+ "\n",
+ "#Distance BD\n",
+ "s_BD=s+L_BC #m\n",
+ "\n",
+ "F3=840 #N #Net Force down the grade\n",
+ "\n",
+ "#Acceleration \n",
+ "a2=F3*g*W**-1 #m/s**2\n",
+ "\n",
+ "#Velocity\n",
+ "v2=(2*a2*s_BD)**0.5 #m/s\n",
+ "\n",
+ "#PArt 3\n",
+ "\n",
+ "#Motion From B to E\n",
+ "\n",
+ "#acceleration\n",
+ "a3=F*g*W**-1 #m/s**2\n",
+ "\n",
+ "#Initial velocity at B\n",
+ "u_B=10.70 #m/s\n",
+ "\n",
+ "#Distance\n",
+ "s2=u_B**2*(2*round(a3,3))**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Distance travelled by car before stopping is\",round(s,2),\"m\"\n",
+ "print\"Distance travelled by car beyond Bon level track before stopping at E\",round(s2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distance travelled by car before stopping is 39.05 m\n",
+ "Distance travelled by car beyond Bon level track before stopping at E 733.91 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.16,Page No.552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=100 #N #Weight carried by lift\n",
+ "a=2.45 #m/s**2 #Acceleration\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Tension in the cables supporting the lift\n",
+ "\n",
+ "#Lift moving upwards\n",
+ "T=W*(1+a*g**-1) #N\n",
+ "\n",
+ "#Lift moving downwards\n",
+ "T2=W*(1-a*g**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Tension in the cables supporting the lift:when moving upwards\",round(T,2),\"N\"\n",
+ "print\"Tension in the cables supporting the lift:when moving downward\",round(T2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tension in the cables supporting the lift:when moving upwards 125.0 N\n",
+ "Tension in the cables supporting the lift:when moving downward 75.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.16(A),Page No.553"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "a=1 #m/s**2 #upward acceleration\n",
+ "W=600 #N #weight of man\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#NEt Force in upward direction\n",
+ "F=W*g**-1 #N\n",
+ "\n",
+ "#But net Force in upward direction\n",
+ "T=F+W #N\n",
+ "\n",
+ "#Result\n",
+ "print\"net Force in upward direction\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "net Force in upward direction 661.16 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.17,Page No.553"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "a=1.225 #m/s**2 #upward acceleration\n",
+ "W=500 #N #Weight of man\n",
+ "g=9.8 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Tension in the cables supporting the lift\n",
+ "\n",
+ "#Lift moving upwards\n",
+ "T=W*(1+a*g**-1) #N\n",
+ "\n",
+ "#lift moving downwards\n",
+ "T2=W*(1-a*g**-1) #N\n",
+ "\n",
+ "#Lift moving upwards with unknown acceleration\n",
+ "T3=600 #N #Pressure exerted by man\n",
+ "a=(T3-W)*g*W**-1 #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration upwards is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration upwards is 1.96 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.18,Page No.554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2500 #N #Weight of an elevator\n",
+ "u=0 #m/s #Initial Velocity\n",
+ "s=35 #m #Distance travelled\n",
+ "t=10 #sec #time\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Tension in the cables\n",
+ "\n",
+ "#When acceleration is zero i.e a=0\n",
+ "a=0 #m/s**2\n",
+ "T=W*(1-a*g**-1) #N\n",
+ "\n",
+ "#When acceleration is zero i.e a=0\n",
+ "a2=9.81 #m/s**2\n",
+ "T2=W*(1-a2*g**-1) #N\n",
+ "\n",
+ "#Using equation of distance\n",
+ "a3=(s-u*t)*2*(t**2)**-1 #m/s**2\n",
+ "\n",
+ "#Tension in the cable at time t=10 sec\n",
+ "T3=W*(1-a3*g**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Limits of table Tension is:when a=0\",round(T,2),\"N\"\n",
+ "print\" :when a=9.81 m/s**2\",round(T2,2),\"N\"\n",
+ "print\"Cable Tension at time t=10 sec\",round(T3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Limits of table Tension is:when a=0 2500.0 N\n",
+ " :when a=9.81 m/s**2 0.0 N\n",
+ "Cable Tension at time t=10 sec 2321.61 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.19,Page No.555"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "W=5000 #N #Weight of 10 men on the cage\n",
+ "u=0 #m/s #Initial Velocity of cage\n",
+ "v=12 #m/s #Final Velocity\n",
+ "s=20 #m #Distance travelled\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#acceleration\n",
+ "a=(v**2-u**2)*(2*s)**-1 #m/s**2\n",
+ "\n",
+ "#Tension in cable while moving downwards\n",
+ "T=W*(1-a*g**-1) #N\n",
+ "\n",
+ "#Tension produced by one men\n",
+ "T2=T*10**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Pressure Exerted by each man on the cage\",round(T2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pressure Exerted by each man on the cage 316.33 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.20,Page No.556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=5000 #N #Weight of elevator\n",
+ "a=3 #m/s**2 #Acceleration\n",
+ "W2=700 #N #weight of perator \n",
+ "g=9.80\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Reaction offered by floor on operator\n",
+ "R=W*g**-1*a+W2 #N\n",
+ "\n",
+ "#Total Weight \n",
+ "W3=W+W2 #N\n",
+ "\n",
+ "#Total Tension in the cable\n",
+ "T=W3*g**-1*a+W3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Total tension in the cable\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total tension in the cable 7444.9 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.21,Page No.558"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=50 #N #Heavier Weight\n",
+ "W2=30 #N #lighter Weight\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration of the system\n",
+ "a=g*(W1-W2)*(W1+W2)**-1 #m/s**2 \n",
+ "\n",
+ "#Tension in the string\n",
+ "T=2*W1*W2*(W1+W2)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the system\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the system 2.45 m/s**2\n",
+ "Tension in the string 37.5 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.22,Page No.558"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "W1=60 #N #bigger weight\n",
+ "a=3 #m/s**2 #Acceleration of the system\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#smaller Weight\n",
+ "W2=-(a*W1*g**-1-W1)*(a*g**-1+1)**-1 #N\n",
+ "\n",
+ "#Tension in the string\n",
+ "T=2*W1*W2*(W1+W2)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Smaller Weight is\",round(W2,2),\"N\"\n",
+ "print\"Tension in the string\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Smaller Weight is 31.88 N\n",
+ "Tension in the string 41.63 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.23,Page No.559"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=700 #N #Bigger Load\n",
+ "W2=500 #N #Smaller Load\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Weight of block A when acceleration is g/3\n",
+ "W1_1=((3*W2)+W2)*2**-1 #N\n",
+ "\n",
+ "#Weight added \n",
+ "W=W1_1-W1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight added is\",round(W,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight added is 300.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.24,Page No.560"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W_A=150 #N #Weight of block A\n",
+ "W_B=50 #N #Weight of block B\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=(W_A-W_B*2)*((W_B*2+(W_A*2**-1))*g**-1)**-1 #m/s**2\n",
+ "\n",
+ "#Acceleration of block B\n",
+ "a_B=a #m/s**2\n",
+ "\n",
+ "#Acceleration of block A\n",
+ "a_A=a*2**-1 #m/s**2 \n",
+ "\n",
+ "#Tensions in the string\n",
+ "T=W_B+W_B*g**-1*a #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Tensions in the string is\",round(T,2),\"N\"\n",
+ "print\"Acceleration of block B is\",round(a_B,2),\"m/s**2\"\n",
+ "print\"Acceleration of block A is\",round(a_A,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tensions in the string is 64.29 N\n",
+ "Acceleration of block B is 2.8 m/s**2\n",
+ "Acceleration of block A is 1.4 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.25,Page No.561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=15 #N #weight over pulley A\n",
+ "W2=10 #N #total weight over pulley B\n",
+ "w1=6 #N #weight over pulley B\n",
+ "w2=4 #N #weight over pulley B\n",
+ "g=9.80 #m/s**2 #acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Consider motion of weight 15 N\n",
+ "#(W1-T1)=W1*g**-1*a ..........................(1)\n",
+ "\n",
+ "#Consider motion of weight 4 N\n",
+ "#(T2-w2)=w2*g**-1*(a1+a) ...................(2)\n",
+ "\n",
+ "#Consider motion of weight 6 N\n",
+ "#(w1-w2)=w1*g**-1*(a1-a) .........................(3)\n",
+ "\n",
+ "#Consider motion of pulley B\n",
+ "#T1=2*T2 ...............................(4)\n",
+ "\n",
+ "#Adding equations 2 and 3 we get\n",
+ "#g=5*a1-a .......................................(5)\n",
+ "\n",
+ "#Multiplying equation (2) by 2\n",
+ "#2*T2-8=8*g**-1*(a1+a)\n",
+ "\n",
+ "#But sub value 2*T2=T1 in equation above\n",
+ "#T1-8=8*g**-1*(a1+a) .......................................(6)\n",
+ "\n",
+ "#Adding equation 1 and 6\n",
+ "#7*g=23*a+8*a1 .......................................(7)\n",
+ "\n",
+ "#Multiplying equation (5) by 23\n",
+ "#23*g=-23*a+5*23*a1 .......................................(8)\n",
+ "\n",
+ "#Adding equation 7 and 8 we get\n",
+ "a1=30*g*123**-1 #m/s**2\n",
+ "\n",
+ "#sub value of equation 5 we get\n",
+ "a=5*a1-g #m/s**2\n",
+ "\n",
+ "#Acceleration of weight 15 N\n",
+ "a_15=a #m/s**2\n",
+ "\n",
+ "#Acceleration of weight 6 N\n",
+ "a_6=a1-a #m/s**2\n",
+ "\n",
+ "#Acceleration of weight 4 N\n",
+ "a_4=a1+a #m/s**2 \n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of weight 15 N\",round(a_15,2),\"m/s**2\"\n",
+ "print\"Acceleration of weight 6 N\",round(a_6,2),\"m/s**2\"\n",
+ "print\"Acceleration of weight 4 N\",round(a_4,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of weight 15 N 2.15 m/s**2\n",
+ "Acceleration of weight 6 N 0.24 m/s**2\n",
+ "Acceleration of weight 4 N 4.54 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.26,Page No.565"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Weight of bodies\n",
+ "W1=10 #N #Weight placed on Horizontal surface \n",
+ "W2=20 #N #Weight hanging free in air\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration of the system\n",
+ "a=g*W1*(W1+W2)**-1 #m/s**2\n",
+ "\n",
+ "#tension in the string\n",
+ "T=W1*W2*(W1+W2)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the system\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the system 3.27 m/s**2\n",
+ "Tension in the string 6.67 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.27,Page No.565"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=10 #N #Weight on horizontal surface\n",
+ "mu=0.3 #coefficient of friction\n",
+ "W2=20 #N #Weight hanging free in air\n",
+ "g=9.80\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration of the system\n",
+ "a=g*(W1-mu*W2)*(W1+W2)**-1 #m/s**2\n",
+ "\n",
+ "#tension in the string\n",
+ "T=W1*W2*(1+mu)*(W1+W2)**-1 #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the system\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the system 1.31 m/s**2\n",
+ "Tension in the string 8.67 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.28,Page No.566"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=10 #N #Weight of block A\n",
+ "W2=20 #N #weight of block B\n",
+ "mu=0.25 #coefficient of friction\n",
+ "s=2 #m #Distance moved by block\n",
+ "u=0 #Initial velocity of block B\n",
+ "g=9.80\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=g*(W1-mu*W2)*(W1+W2)**-1 #m/s**2\n",
+ "\n",
+ "#velocity of block B\n",
+ "v=u**2+2*a*s #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"velocity of block B\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "velocity of block B 6.53 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.29,Page No.566"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W2=10 #Weight placed on rough horizontal surface\n",
+ "W1_1=1.5 #N #Weight hanging free in air\n",
+ "W1=0.5 #N #additional weight added \n",
+ "T=1.5 #N #Tension in the string\n",
+ "R=10 #N #Normal Reaction\n",
+ "g=9.80\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total Weight hanging in air\n",
+ "W=W1_1+W1\n",
+ "\n",
+ "#Max Frictional Force \n",
+ "F=T=1.5 #N\n",
+ "\n",
+ "#Coefficient of friction \n",
+ "mu=F*R**-1\n",
+ "\n",
+ "#Acceleration of two weights\n",
+ "a=g*(W-mu*W2)*(W+W2)**-1 #m/s**2 \n",
+ "\n",
+ "#Tension in the string\n",
+ "T1=W*W2*(1+mu)*(W+W2)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of two weights is\",round(a,3),\"m/s**2\"\n",
+ "print\"Tension in the string\",round(T1,3),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of two weights is 0.408 m/s**2\n",
+ "Tension in the string 1.917 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.30,Page No.568"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W2=1500 #N #weight of body A\n",
+ "W1=1000 #N #Weight of body B\n",
+ "g=9.80\n",
+ "\n",
+ "#Coefficient of friction\n",
+ "mu=mu1=mu2=0.2\n",
+ "\n",
+ "#T1=1.3691*T2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=(W1-1.3691*mu*W2)*((W1*g**-1)+1.3691*W2*g**-1)**-1 #m/s**2\n",
+ "\n",
+ "#Tension in the string to which weight 1500 N is attached\n",
+ "T2=W2*g**-1*round(a,2)+mu*W2 #N\n",
+ "\n",
+ "#Tension in the string to which weight 1000 N is attached\n",
+ "T1=1.3691*round(T2,3)\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the systems is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string:T1\",round(T1,2),\"N\"\n",
+ "print\" :T2\",round(T2,2),\"N\"\n",
+ "\n",
+ "#Answer for T2 is incorrect in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the systems is 1.89 m/s**2\n",
+ "Tension in the string:T1 806.79 N\n",
+ " :T2 589.29 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.31,Page No.573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=15 #N #Weight of hanging free in air\n",
+ "W2=40 #N #weight placed on inclined plane\n",
+ "theta=15 #degree #Inclination\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=g*(W1-W2*sin(theta*pi*180**-1))*(W1+W2)**-1 #m/s**2\n",
+ " \n",
+ "#Tension in string\n",
+ "T=W1*W2*(1+sin(theta*pi*180**-1))*(W1+W2)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string is\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 0.83 m/s**2\n",
+ "Tension in the string is 13.73 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.32,Page No.573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=25 #N #Weight of hanging free in air\n",
+ "W2=40 #N #weight placed on inclined plane\n",
+ "theta=15 #degree #Inclination\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "mu=0.2 #coefficient of friction\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=g*(W1-W2*sin(theta*pi*180**-1)-mu*W2*cos(theta*pi*180**-1))*(W1+W2)**-1 #m/s**2\n",
+ "\n",
+ "#Tension\n",
+ "T=W1*W2*(1+sin(theta*pi*180**-1)+mu*cos(theta*pi*180**-1))*(W1+W2)**-1\n",
+ "\n",
+ "#Distance\n",
+ "u=0 #m/s\n",
+ "t=3 #sec\n",
+ "s=u*t+a*t**2*2**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension is\",round(T,2),\"N\"\n",
+ "print\"Distance moved by 25 N is\",round(s,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 1.04 m/s**2\n",
+ "Tension is 22.34 N\n",
+ "Distance moved by 25 N is 4.69 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.33,Page No.578"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#For Circular Lamina\n",
+ "D=60 #cm\n",
+ "m=0.001 #kg/cm**2 #mass per unit area\n",
+ "\n",
+ "#For circular cyclinder\n",
+ "D2=80 #cm\n",
+ "h=15 #cm #height\n",
+ "m2=0.002 #kg/cm**3\n",
+ "\n",
+ "#For solid sphere\n",
+ "D3=40 #cm\n",
+ "m3=0.0015 #kg/cm**3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#For Circular Lamina\n",
+ "\n",
+ "#Radius\n",
+ "R=D*2**-1 #cm\n",
+ "\n",
+ "#Total Mass\n",
+ "M=m*pi*R**2 #kg\n",
+ "\n",
+ "#Moment of Inertia of circular section\n",
+ "I_zz=M*R**2*2**-1 #Kg/cm**2\n",
+ "\n",
+ "#Radius of Gyration For circular section\n",
+ "k=R*((2)**0.5)**-1 #cm\n",
+ "\n",
+ "#For circular cyclinder\n",
+ "\n",
+ "#Radius\n",
+ "R2=D2*2**-1 #cm\n",
+ "\n",
+ "#Total Mass\n",
+ "M2=m2*pi*R2**2*h #kg\n",
+ "\n",
+ "#Moment of Inertia of circular section\n",
+ "I_zz2=M2*R2**2*2**-1 #Kg/cm**2\n",
+ "\n",
+ "#Radius of Gyration For circular section\n",
+ "k2=R2*((2)**0.5)**-1 #cm\n",
+ "\n",
+ "#For solid sphere\n",
+ "\n",
+ "#Radius\n",
+ "R3=D3*2**-1 #cm\n",
+ "\n",
+ "#Total Mass\n",
+ "M3=m3*4*pi*R3**3*3**-1 #kg\n",
+ "\n",
+ "#Moment of Inertia of circular section\n",
+ "I_zz3=2*5**-1*M3*R3**2 #Kg/cm**2\n",
+ "\n",
+ "#Radius of Gyration For circular section\n",
+ "k3=R3*0.6324 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"M.I of Circular Lamina is\",round(I_zz,2),\"Kg/cm**2\"\n",
+ "print\"Radius of gyration of Circular Lamina is\",round(k,2),\"cm\"\n",
+ "\n",
+ "print\"M.I of circular cyclinder is\",round(I_zz2,2),\"Kg/cm**2\"\n",
+ "print\"Radius of gyration of circular cyclinder is\",round(k2,2),\"cm\"\n",
+ "\n",
+ "\n",
+ "print\"M.I of solid sphere is\",round(I_zz3,2),\"Kg/cm**2\"\n",
+ "print\"Radius of gyration of solid sphere is\",round(k3,2),\"cm\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M.I of Circular Lamina is 1272.35 Kg/cm**2\n",
+ "Radius of gyration of Circular Lamina is 21.21 cm\n",
+ "M.I of circular cyclinder is 120637.16 Kg/cm**2\n",
+ "Radius of gyration of circular cyclinder is 28.28 cm\n",
+ "M.I of solid sphere is 8042.48 Kg/cm**2\n",
+ "Radius of gyration of solid sphere is 12.65 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.34,Page No.579"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=90 #cm #Diameter of grindstone\n",
+ "t=10 #cm #Thickness\n",
+ "m=0.0026 #kg/cm**3 #Mass per unit volume\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Radius\n",
+ "R=D*2**-1 #cm\n",
+ "\n",
+ "#Total Mass\n",
+ "M=m*pi*R**2*t #kg\n",
+ "\n",
+ "#M.I of of grindstone\n",
+ "I_zz=M*R**2*2**-1 #Kg/cm**2\n",
+ "\n",
+ "#Radius of gyration\n",
+ "k=R*((2)**0.5)**-1 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"M.I of Grindstone is\",round(I_zz,2),\"Kg/cm**2\"\n",
+ "print\"Radius of gyration is\",round(k,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M.I of Grindstone is 167472.41 Kg/cm**2\n",
+ "Radius of gyration is 31.82 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.35,Page No.581"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=1000 #N #Weight of flying wheel\n",
+ "k=0.5 #m\n",
+ "T=1200 #N*m #Torque\n",
+ "g=9.80 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#MAss of flywheel\n",
+ "M=W*g**-1 #Kg\n",
+ "\n",
+ "#Moment of Inertia\n",
+ "I=M*k**2 #Kg/m**2\n",
+ "\n",
+ "#Angular Acceleration\n",
+ "alpha=T*I**-1 #radians/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Acceleration of flywheel is\",round(alpha,2),\"radians/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Acceleration of flywheel is 47.04 radians/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.35(A),Page No.582"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "I=12 #Kg*m**2 #M.I of circular disc\n",
+ "t=3 #s #Time\n",
+ "T=800 #N*m #Torque\n",
+ "w_o=0 #m/s #Angular velocity initially\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha=T*I**-1 #radians/s**2\n",
+ "\n",
+ "#Angular velocity after 3 seconds\n",
+ "w=w_o+alpha*t #rad/s\n",
+ "\n",
+ "#Result\n",
+ "print\"angular Velocity after 3 seconds\",round(w,2),\"rad/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "angular Velocity after 3 seconds 200.0 rad/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.36,Page No.582"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=5000 #kg #Mass of flywheel\n",
+ "k=1 #m #radius of gyration \n",
+ "N_o=400 #r.p.m #Initial Velocity\n",
+ "N=280 #r.p.m #Final speed\n",
+ "t=120 #seconds #Time\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Initial Angular velocity\n",
+ "w_o=2*pi*N_o*60**-1 #rad/s\n",
+ "\n",
+ "#Final Angular velocity\n",
+ "w=2*pi*N*60**-1 #rad/s \n",
+ "\n",
+ "#M.I\n",
+ "I=M*k**2 #kg/m**2\n",
+ "\n",
+ "#Angular acceleration\n",
+ "alpha=(w-w_o)*t**-1 #rad/s**2\n",
+ "\n",
+ "#Torque\n",
+ "T=-M*alpha #N*m\n",
+ "\n",
+ "#Final K.E\n",
+ "E2=round(w,2)**2*I*2**-1 #N*m\n",
+ "\n",
+ "#Initial K.E\n",
+ "E1=41.88**2*I*2**-1 #N*m\n",
+ "\n",
+ "#Change in K.E\n",
+ "E=E2-E1 #N*m\n",
+ "\n",
+ "#Initial Momentum\n",
+ "p1=I*round(w,2) #N*m/s\n",
+ "\n",
+ "#Final Momentum\n",
+ "p2=I*41.88 #N*m/s\n",
+ "\n",
+ "#Change in angular Momentum\n",
+ "p=p2-p1 #N*m/s\n",
+ "\n",
+ "#Result\n",
+ "print p1\n",
+ "print\"Retading Torque acting is\",round(T,2),\"N*m\"\n",
+ "print\"Change in K.E is\",round(E,2),\"N*m\"\n",
+ "print\"Change in Angular Momentum is\",round(p,2),\"N*m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "146600.0\n",
+ "Retading Torque acting is 523.6 N*m\n",
+ "Change in K.E is -2235680.0 N*m\n",
+ "Change in Angular Momentum is 62800.0 N*m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.37,Page No.583"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "V=0.2 #m/s #Linear Velocity\n",
+ "W=0.1 #N #Weight of cyclinder\n",
+ "R=0.1 #m #Radius\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Mass \n",
+ "M=W*g**-1 #Mass\n",
+ "\n",
+ "#M.I\n",
+ "I=M*R**2*2**-1 \n",
+ "\n",
+ "#Angular Velocity\n",
+ "w=V*R**-1 #rad/s\n",
+ "\n",
+ "#Total K.E\n",
+ "E=(I*w**2+M*V**2)*2**-1 #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Total Kinetic Energy is\",round(E,6),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total Kinetic Energy is 0.000306 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.38,Page No.584"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "k=0.5 #m #Radius of Gyration\n",
+ "W=6000 #N #Weight of flywheel\n",
+ "N_o=0 #Initial r.p.m\n",
+ "N=200 #Final r.p.m \n",
+ "t=120 #seconds\n",
+ "g=9.80 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#MAss\n",
+ "M=W*g**-1 #Kg\n",
+ "\n",
+ "#Initial Angular Velocity\n",
+ "w_o=2*pi*N_o*60**-1 \n",
+ "\n",
+ "#Final Angular Velocity\n",
+ "w=2*pi*N*60**-1 #rad/s\n",
+ "\n",
+ "#M.I\n",
+ "I=M*k**2 \n",
+ "\n",
+ "#Angular acceleration\n",
+ "alpha=(w-w_o)*t**-1 #rad/s**2\n",
+ "\n",
+ "#Torque Exerted\n",
+ "T=I*alpha #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Average Torque exerted is\",round(T,2),\"N*m\"\n",
+ "\n",
+ "#Answer for M.I is incorrect so value of Torque in book is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Torque exerted is 26.71 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.38(A),Page No.585"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#weights\n",
+ "W_A=100 #N\n",
+ "W_B=180 #N\n",
+ "\n",
+ "#Radii\n",
+ "r_A=0.1 #m \n",
+ "r_B=0.15 #m\n",
+ "\n",
+ "#RAdius of gyration\n",
+ "k_A=0.08 #m \n",
+ "k_B=0.13 #m\n",
+ "\n",
+ "theta=30 #degree #Inclination of plane\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Wheel A\n",
+ "\n",
+ "#Angular acceleration \n",
+ "alpha_A=(W_A*sin(theta*pi*180**-1)*r_A)*(W_A*g**-1*(k_A**2+r_A**2))**-1 #rad/s\n",
+ "\n",
+ "#Linear acc. of wheel \n",
+ "alpha_A_a=alpha_A*r_A #m/s**2\n",
+ "\n",
+ "#Wheel B\n",
+ "\n",
+ "#Angular acceleration\n",
+ "alpha_B=W_B*sin(theta*pi*180**-1)*r_B*((W_B*g**-1*(k_B**2+r_B**2)))**-1\n",
+ "\n",
+ "#Linear acc. of wheel \n",
+ "alpha_B_b=alpha_B*r_B #m/s**2\n",
+ "\n",
+ "#Acceleration of A with respect to B\n",
+ "a_A_B=-(round(alpha_B_b,2)-round(alpha_A_a,2))\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of A with respect to B\",a_A_B,\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of A with respect to B 0.19 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.39,Page No.589"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=5 #N #Weight suspended by arope\n",
+ "W_o=50 #N #Weight of pulley\n",
+ "R=0.3 #m #Radius of pulley\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration\n",
+ "a=g*W*(W+W_o*2**-1)**-1 #m/s**2\n",
+ "\n",
+ "#Tension in the string\n",
+ "T=W*W_o*(2*W+W_o)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string is\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration is 1.64 m/s**2\n",
+ "Tension in the string is 4.17 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.40,Page No.590"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=100 #N #bigger Weight\n",
+ "W2=40 #N #Smaller Weight\n",
+ "W_o=50 #N #Weight of pulley\n",
+ "g=9.80\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Acceleration \n",
+ "a=g*(W1-W2)*(W1+W2+W_o*2**-1)**-1 #m/s**2\n",
+ "\n",
+ "#TEnsion T1\n",
+ "T1=W1*(2*W2+W_o*2**-1)*(W1+W2+W_o*2**-1)**-1 #N\n",
+ "\n",
+ "#Tension T2\n",
+ "T2=W2*(2*W1+W_o*2**-1)*(W1+W2+W_o*2**-1)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of block is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension T1\",round(T1,2),\"N\"\n",
+ "print\"Tension T2\",round(T2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of block is 3.56 m/s**2\n",
+ "Tension T1 63.64 N\n",
+ "Tension T2 54.55 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.41,Page No.591"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2940 #N #Weight of cage\n",
+ "D=1.20 #m #Diameter of drum\n",
+ "R=0.6 #m #Radius of drum\n",
+ "W_o=735 #N #Weight of drum\n",
+ "k=0.55 #m #Radius of gyration\n",
+ "T1=4000 #N*m #Constant Torque Exerted by motor\n",
+ "g=9.8 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "\n",
+ "#Mass of the cage\n",
+ "M=W*g**-1 #Kg\n",
+ "\n",
+ "#Net Force\n",
+ "#(P-W)=M*a ........................1\n",
+ "\n",
+ "#M.I of Drum\n",
+ "I=W_o*g**-1*k**2 \n",
+ "\n",
+ "#Torque on Drum\n",
+ "#(T1-R*P)=I*alpha ..................(2)\n",
+ "\n",
+ "#Angular Acceleration\n",
+ "#alpha=(a*R**-1)\n",
+ "\n",
+ "#Sub value of I and alpha in equation 2 we get\n",
+ "#(4000-0.6*P)=37.8125*a ...................3\n",
+ "\n",
+ "#After multipliying equation 1 by R we get\n",
+ "#(R*P-R*W)=R*M*a .............................4\n",
+ "\n",
+ "#Adding equations 3 and 4 we get equation as\n",
+ "#(4000-0.6*2940)=37.8125*a+0.6*300*a\n",
+ "#AFter further simplifying we get\n",
+ "a=2236*(217.8125)**-1 #m/s**2 #Acceleration\n",
+ "\n",
+ "#Sub value of a in equation 1 \n",
+ "P=M*a+W #N\n",
+ "\n",
+ "#PArt-2\n",
+ "#Time Required to raise the cage 20 m from ground\n",
+ "\n",
+ "u=0 #m/s #Initial Velocity\n",
+ "a=10.265 #m/s**2 #acceleraation\n",
+ "s=20 #m #Height from ground\n",
+ "\n",
+ "#time required\n",
+ "t=((2*s)*a**-1)**0.5 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of the cage is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the cage is\",round(P,2),\"N\"\n",
+ "print\"Time required to raise the cage 20 m from ground\",round(t,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of the cage is 10.27 m/s**2\n",
+ "Tension in the cage is 6019.71 N\n",
+ "Time required to raise the cage 20 m from ground 1.97 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.42,Page No.593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W_o=100 #N #Weight of cyclinder\n",
+ "W=10 #N #Weight of block\n",
+ "D=1 #m #diameter of cyclinder\n",
+ "R=0.5 #m #Radius of cyclinder\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Mass of block\n",
+ "M=W*g**-1 #Kg\n",
+ "\n",
+ "#Net Force\n",
+ "#(W-P)=W1*g**-1*alpha .........................1\n",
+ "\n",
+ "#M.I\n",
+ "I=M*R**2*2**-1 #kgm**2\n",
+ "\n",
+ "#Torque equation\n",
+ "#T=I*alpha \n",
+ "\n",
+ "#Multiplying equation of net force with 2 we get\n",
+ "#P=25*g**-1*alpha ..............................2\n",
+ "\n",
+ "#Adding equations 1 and 2 we get\n",
+ "alpha=W*3.06**-1 #rad/s**2\n",
+ "\n",
+ "#Initial velocity\n",
+ "u=0 #m/s\n",
+ "t=2 #sec #time\n",
+ "\n",
+ "#Angular acceleration \n",
+ "alpha=3.268 #rad/s**2\n",
+ "\n",
+ "#Angular Velocity\n",
+ "u_o=u+alpha*t\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Velocity after 2 seconds is\",round(u_o,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Velocity after 2 seconds is 6.54 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.43,Page No.595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W1=100 #N #Weight of Block\n",
+ "W2=300 #N #weight of pulley\n",
+ "k=0.25 #m #Radius of gyration\n",
+ "r_A=0.2 #m #Radius of pulley A\n",
+ "r_B=0.3 #m #Radius of pulley B\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Motion of block B\n",
+ "#(W1-T_B)=W1*g**-1*r_B*alpha ..................1\n",
+ "\n",
+ "#Motion of block A\n",
+ "#(T_A-W1)=W1*g**-1*r_A*alpha ..................2\n",
+ "\n",
+ "#M.I of pulley\n",
+ "I=W2*g**-1*k**2\n",
+ "\n",
+ "#Rotation of pulley\n",
+ "#T_B*r_B-T_A*r_A=I*alpha .....................3\n",
+ "\n",
+ "#After multiplying equation 1 by r_B we get\n",
+ "#30-r_B*T_B=W1*g**-1*r_B*alpha ..................4 \n",
+ "\n",
+ "#After multiplying equation 2 by r_A we get\n",
+ "#0.2*T_A-20=W1*g**-1*r_A*alpha ..................5\n",
+ "\n",
+ "#Adding equations 3,4,5 and further simplifying we get\n",
+ "alpha=10*g*31.75**-1 #Rad/s**2\n",
+ "\n",
+ "#Linear acceleration of pulley\n",
+ "alpha_B=0.3*alpha #m/s**2\n",
+ "alpha_A=0.2*alpha #m/s**2 \n",
+ "\n",
+ "#Tension in strings\n",
+ "T_A=W1+W1*g**-1*alpha_A #N\n",
+ "T_B=W1-W1*g**-1*alpha_B #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Angular Acceleration of pulley\",round(alpha,2),\"rad/s**2\"\n",
+ "print\"Linear acceleration of blocks A and B:alpha_A\",round(alpha_A,2),\"rad/s**2\"\n",
+ "print\" :alpha_B\",round(alpha_B,2),\"rad/s**2\"\n",
+ "print\"Tension in the strings\",round(T_A,2),\"N\"\n",
+ "print\" \",round(T_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular Acceleration of pulley 3.09 rad/s**2\n",
+ "Linear acceleration of blocks A and B:alpha_A 0.62 rad/s**2\n",
+ " :alpha_B 0.93 rad/s**2\n",
+ "Tension in the strings 106.3 N\n",
+ " 90.55 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.44,Page No.598"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Weights\n",
+ "W1=200 #N\n",
+ "W2=800 #N\n",
+ "\n",
+ "F=400 #N #Force applied\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "g=9.80 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total Weights\n",
+ "W=W1+W2 #N\n",
+ "\n",
+ "#Total Mass \n",
+ "M=W*g**-1 #Kg\n",
+ "\n",
+ "#Force of friction\n",
+ "F2=mu*W #N\n",
+ "\n",
+ "#acceleration\n",
+ "a=-((-F+F2)*g)*W**-1 #m/s**2 \n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#Force of Friction\n",
+ "F3=mu*W1 #N\n",
+ "\n",
+ "#Reverse Effective Force on it\n",
+ "F4=W1*g**-1*a #N\n",
+ "\n",
+ "#Tension in thread\n",
+ "T=F3+F4 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"acceleration of the weights is\",round(a,2),\"m/s**2\"\n",
+ "print\"Tension in the string is\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "acceleration of the weights is 0.98 m/s**2\n",
+ "Tension in the string is 80.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_16.ipynb b/Engineering_Mechanics/chapter_16.ipynb
new file mode 100644
index 00000000..0dce522c
--- /dev/null
+++ b/Engineering_Mechanics/chapter_16.ipynb
@@ -0,0 +1,1312 @@
+{
+ "metadata": {
+ "name": "chapter_16.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 16:Simple Harmonic Motion And Mechanical Vibrations"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.1,Page No.615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "t=0.3 #s #Time\n",
+ "r=0.8 #m #Amplitude\n",
+ "T=1.6 #s #Period of oscillations\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#frequency\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#Velocity\n",
+ "v=round(f,3)*r*sin(round(f,3)*t) #m/s\n",
+ "\n",
+ "#Accleration\n",
+ "a=f**2*r*cos(f*t) #m/s**2\n",
+ "\n",
+ "#Value for acceleration in textbook is incorrect\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity is\",round(v,2),\"m/s\"\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity is 2.9 m/s\n",
+ "Acceleration is 4.72 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.2,Page No.615"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "r=1 #m #Amplitude\n",
+ "T=2 #s #Period of oscillations\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Time taken by body from mid pos\n",
+ "t=T*5**-1 #s\n",
+ "\n",
+ "#Time taken by body from extreme position to mid position\n",
+ "t2=T*4**-1 #s\n",
+ "\n",
+ "#time taken by body fom extreme position\n",
+ "t3=t2-t #s\n",
+ "\n",
+ "#Angular velocity\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#Velocity\n",
+ "v=-f*r*sin(f*t3) #m/s\n",
+ "\n",
+ "#Value of velocity in book is incorrect in textbook i.e 0.09831\n",
+ "\n",
+ "#Acceleration\n",
+ "a=-f**2*r*cos(pi*t3) #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity is\",round(v,2),\"m/s\"\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity is -0.97 m/s\n",
+ "Acceleration is -9.39 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.3,Page No.616"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "t=0.4 #s #Time\n",
+ "r=1 #m #Amplitude\n",
+ "T=2 #s #Period of oscillations\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#frequency\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#Velocity\n",
+ "v=round(f,3)*r*sin(round(f,3)*t) #m/s\n",
+ "\n",
+ "#Accleration\n",
+ "a=f**2*r*cos(f*t) #m/s**2\n",
+ "\n",
+ "#Value for acceleration in textbook is incorrect\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity is\",round(v,2),\"m/s\"\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity is 2.99 m/s\n",
+ "Acceleration is 3.05 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4,Page No.617"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "N=100 #r.p.m #Speed of crank\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Angular velocity\n",
+ "f=2*pi*N*60**-1 #rad/s \n",
+ "\n",
+ "#Stroke of piston\n",
+ "n=1.8 #cm\n",
+ "\n",
+ "#Ampiltude\n",
+ "r=n*2**-1 #m\n",
+ "\n",
+ "#Displacement of piston from centre\n",
+ "x=0.6 #m\n",
+ "\n",
+ "\n",
+ "#Let f*t=y\n",
+ "#Displacement\n",
+ "y=arccos(x*r**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Velocity of piston\n",
+ "v=-f*r*sin(y*180**-1*pi)\n",
+ "\n",
+ "#Acceleration of piston\n",
+ "a=-f**2*r*cos(y*180**-1*pi) #m/s**2\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity is\",round(v,2),\"m/s\"\n",
+ "print\"Acceleration is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity is -7.02 m/s\n",
+ "Acceleration is -65.8 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.5,Page No.617"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Velocities of Body\n",
+ "v1=8 #m/s\n",
+ "v2=3 #m/s\n",
+ "\n",
+ "#Distance of Body\n",
+ "x1=1.5 #m #When v1=8 #m/s\n",
+ "x2=2.5 #m #When v2=3 #m/s\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For 1st velocity\n",
+ "#v1=-f*((r**2-x1**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#8=-f*((r**2-1.5**2))**2 ..........................................1\n",
+ "\n",
+ "#For 2nd velocity\n",
+ "#v2=-f*((r**2-x2**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#3=-f*((r**2-2.5**2))**2 ..........................................2\n",
+ "\n",
+ "#Dividing equations 1 and 2 and further simplifying we get\n",
+ "#Amplitude\n",
+ "r=(42.19*6.111**-1)**0.5 #m \n",
+ "\n",
+ "#Sub value of r in equation 2 we get\n",
+ "f=v2*(((r**2-x2**2))**0.5)**-1 #rad/s\n",
+ "\n",
+ "#Period\n",
+ "T=2*pi*f**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Amplitude of Body is\",round(r,2),\"m\"\n",
+ "print\"Period of Body is\",round(T,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplitude of Body is 2.63 m\n",
+ "Period of Body is 1.69 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.6,Page No.618"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Velocities of Body\n",
+ "v1=12 #m/s\n",
+ "v2=3 #m/s\n",
+ "\n",
+ "#Distance of Body\n",
+ "x1=0.05 #m #When v1=8 #m/s\n",
+ "x2=0.1 #m #When v2=3 #m/s\n",
+ "x=0.075 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For 1st velocity\n",
+ "#v1=-f*((r**2-x1**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#12=-f*((r**2-0.05**2))**2 ..........................................1\n",
+ "\n",
+ "#For 2nd velocity\n",
+ "#v2=-f*((r**2-x2**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#3=-f*((r**2-0.1**2))**2 ..........................................2\n",
+ "\n",
+ "#Dividing equations 1 and 2 and further simplifying we get\n",
+ "#Amplitude\n",
+ "r=(0.1575*15**-1)**0.5 #m \n",
+ "\n",
+ "#Sub value of r in equation 2 we get\n",
+ "f=v2*(((r**2-x2**2))**0.5)**-1 #rad/s\n",
+ "\n",
+ "#Frequency\n",
+ "n=f*(2*pi)**-1 #cycles/s\n",
+ "\n",
+ "#Acceleration\n",
+ "a=f**2*x\n",
+ "\n",
+ "#Result\n",
+ "print\"Frequency of motion is\",round(f,2),\"rad/s\"\n",
+ "print\"Amplitude of motion is\",round(r,4),\"m\"\n",
+ "print\"Acceleration when the displacement is 75 mm is\",round(a,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of motion is 134.16 rad/s\n",
+ "Amplitude of motion is 0.1025 m\n",
+ "Acceleration when the displacement is 75 mm is 1350.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.7,Page No.619"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "r=4.5 #m #amplitude\n",
+ "T=3.5 #s #Period\n",
+ "x1=3.5 #m #Distance of 1st point from centre\n",
+ "x2=1.5 #m #Distsnce of 2nd point from centre\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Angular velocity\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#For 1st point\n",
+ "#x1=r*cos(f*t1)\n",
+ "#After substituting and further simplifying \n",
+ "t1=0.6796*1.795**-1\n",
+ "\n",
+ "#For second point\n",
+ "#x2=r*cos(f*t2)\n",
+ "#After substituting and further simplifying \n",
+ "t2=1.231*1.795**-1\n",
+ "\n",
+ "#Time required by body in passing between two points\n",
+ "t=t2-t1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Time required by body in passing between two points is\",round(t,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time required by body in passing between two points is 0.31 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.8,Page No.620"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Velocities of Body\n",
+ "v1=6 #m/s\n",
+ "v2=3 #m/s\n",
+ "\n",
+ "#Distance of Body\n",
+ "x1=0.125 #m #When v1=6 #m/s\n",
+ "x2=0.200 #m #When v2=3 #m/s\n",
+ "\n",
+ "W=0.2 #kg #Weight of cross head\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For 1st velocity\n",
+ "#v1=-f*((r**2-x1**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#6=-f*((r**2-0.125**2))**2 ..........................................1\n",
+ "\n",
+ "#For 2nd velocity\n",
+ "#v2=-f*((r**2-x2**2))**2\n",
+ "#After Substituting values and further simplifying we get\n",
+ "#3=-f*((r**2-0.200**2))**2 ..........................................2\n",
+ "\n",
+ "#Dividing equations 1 and 2 and further simplifying we get\n",
+ "#Amplitude\n",
+ "r=(0.1444*3**-1)**0.5 #m \n",
+ "\n",
+ "#Sub value of r in equation 2 we get\n",
+ "f=v2*(((round(r,4)**2-x2**2))**0.5)**-1 #rad/s\n",
+ "\n",
+ "#Period\n",
+ "T=2*pi*f**-1 #s\n",
+ "\n",
+ "#Max Velocity\n",
+ "V_max=f*r #m/s\n",
+ "\n",
+ "#mass of cross head\n",
+ "m=W*g**-1 #N\n",
+ "\n",
+ "#Max acceleration\n",
+ "a_max=round(f,2)**2*round(r,4) #m/s**2\n",
+ "\n",
+ "#Max Force\n",
+ "F_max=m*a_max\n",
+ "\n",
+ "#Result\n",
+ "print\"Amplitude of vibration is\",round(r,2),\"m\"\n",
+ "print\"Max Velocity is\",round(V_max,2),\"m/s\"\n",
+ "print\"period of Vibration is\",round(T,2),\"s\"\n",
+ "print\"MAx Force in direction of motion\",round(F_max,2),\"Kg*f\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplitude of vibration is 0.22 m\n",
+ "Max Velocity is 7.3 m/s\n",
+ "period of Vibration is 0.19 s\n",
+ "MAx Force in direction of motion 4.95 Kg*f\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.9,Page No.621"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Distance of Body\n",
+ "x1=0.07 #m #When v1=0.6*V_max #m/s\n",
+ "x2=0.05 #m #When v2 #m/s\n",
+ "T=7.5 #s #Time to perform oscillation\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Equation of velocity\n",
+ "#v=-f*((r**2-x**2)**0.5) ..................1\n",
+ "\n",
+ "#Velocity\n",
+ "#v=0.6*V_max ........2\n",
+ "#x=x1 ................3\n",
+ "\n",
+ "#Frequency\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#MAx Velocity\n",
+ "#V_max=-f*r ............4\n",
+ "\n",
+ "#Sub all values in equation 1 and further simplifying we get\n",
+ "r=(0.0049*0.64**-1)**0.5\n",
+ "\n",
+ "#Velocity \n",
+ "v=f*((r**2-x2**2)**0.5)\n",
+ "\n",
+ "#Max Acceleration\n",
+ "a_max=f**2*r\n",
+ "\n",
+ "#Result\n",
+ "print\"Amplitude of motion is\",round(r,4),\"m\"\n",
+ "print\"Velocity of particle is\",round(v,2),\"m/s\"\n",
+ "print\"MAx Acceleration is\",round(a_max,4),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplitude of motion is 0.0875 m\n",
+ "Velocity of particle is 0.06 m/s\n",
+ "MAx Acceleration is 0.0614 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.10,Page No.625"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=50 #N #Weight attached\n",
+ "n=4 #No. of oscillation\n",
+ "T=0.25 #s #Period of oscillation\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Static Extension\n",
+ "P=(T*(2*pi)**-1)**2*9.81*100 #cm\n",
+ "\n",
+ "#Stiffness of spring\n",
+ "k=W*round(P,2)**-1 #N/cm\n",
+ "\n",
+ "#Result\n",
+ "print\"Stiffness of spring is\",round(k,2),\"N/cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stiffness of spring is 32.26 N/cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.11,Page No.625"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "C=150 #N/m #Stiffness\n",
+ "T=1.5 #s #PEriod time\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Static Extension\n",
+ "P=(T*(2*pi)**-1)**2*9.81\n",
+ "\n",
+ "#Weight Attached\n",
+ "W=C*P #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight attached to spring\",round(W,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight attached to spring 83.87 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.12,Page No.626"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Frequency\n",
+ "n1=12 #cycles/s #when Weight W1=W\n",
+ "n2=10 #cycles/s #when Weight W2=(W+20)\n",
+ "g=9.81 #m/s**2 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#frequency equation\n",
+ "#f=1*(2*pi)**-1*((k*g)*W**-1)**0.5\n",
+ "\n",
+ "#For First case f=12 \n",
+ "#12=1*(2*pi)**-1*((k*g)*W**-1)**0.5 ...............1\n",
+ "\n",
+ "#For Second case f=10\n",
+ "#10=1*(2*pi)**-1*((k*g)*W**-1)**0.5 .............2\n",
+ "\n",
+ "#Dividing equation 1 by 2 we get\n",
+ "#12*10**-1=((W+20)*W**-1)**0.5 \n",
+ "\n",
+ "#Squaring above equation and further simplifying we get \n",
+ "W=2000*44**-1\n",
+ "\n",
+ "#Sub value of W in equation 1 we get\n",
+ "k=(n1*2*pi)**2*W*g**-1*10**-3 #KN/m\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight of spring is\",round(W,2),\"N\"\n",
+ "print\"Stiffness of the spring is\",round(k,2),\"KN/m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight of spring is 45.45 N\n",
+ "Stiffness of the spring is 26.34 KN/m\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.15,Page No.629"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "M=50 #kg #Mass of block\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "C1=4000 #N/m #Stiffness of 1st spring\n",
+ "C2=6000 #N/m #Stiffness of 2nd spring\n",
+ "r=0.04 #m #MAx amplitude\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Static Extension of 1st spring\n",
+ "x1=M*g*C1**-1 #m\n",
+ "\n",
+ "\n",
+ "#Static Extension of 2nd spring\n",
+ "x2=M*g*C2**-1 #m\n",
+ "\n",
+ "#Total Extension \n",
+ "x=x1+x2 #m\n",
+ "\n",
+ "#Period of vibration \n",
+ "T=2*pi*(x*g**-1)**0.5 #s\n",
+ "\n",
+ "#Angular velocity\n",
+ "f=2*pi*T**-1 #rad/s\n",
+ "\n",
+ "#MAx velocity\n",
+ "V_max=f*r #m/s\n",
+ "\n",
+ "#Max Acceleration\n",
+ "A_max=f**2*r #m/s**2\n",
+ "\n",
+ "#2nd case\n",
+ "\n",
+ "#Let\n",
+ "#W1=Weight supported by first spring\n",
+ "#W2=Weight suppoerted by second spring\n",
+ "\n",
+ "#W=W1+W2 #Total Weight ......................1\n",
+ "\n",
+ "#Extension of first spring\n",
+ "#X1=W1*C1**-1 ...........................2\n",
+ "\n",
+ "#Extension of second spring\n",
+ "#X2=W2*C2**-1 .........................3\n",
+ "\n",
+ "#As Extension of 1st spring is equal to 2nd spring\n",
+ "#W1*C1**-1=W2*C2**-1 \n",
+ "\n",
+ "#sub value in equation 1 and further simplifying we get\n",
+ "W2=50*g*3*5**-1 #N\n",
+ "\n",
+ "#Static extension of block\n",
+ "X3=W2*C2**-1 #m\n",
+ "\n",
+ "#Period of vibration \n",
+ "T2=2*pi*(X3*g**-1)**0.5 #s\n",
+ "\n",
+ "#Angular velocity\n",
+ "f2=2*pi*T2**-1 #rad/s\n",
+ "\n",
+ "#MAx velocity\n",
+ "V_max2=f2*r #m/s\n",
+ "\n",
+ "#Acceleration\n",
+ "A_max2=f2**2*r #m/s**2\n",
+ "\n",
+ "\n",
+ "#result\n",
+ "print\"Period of vibrations\",round(T,4),\"s\"\n",
+ "print\"MAx velocity\",round(V_max,2),\"m/s\"\n",
+ "print\"Max Acceleration\" ,round(A_max,2),\"m/s**2\"\n",
+ "\n",
+ "#When Block is suppoetred with spring\n",
+ "print\"Period of vibrations\",round(T2,2),\"s\"\n",
+ "print\"MAx velocity\",round(V_max2,2),\"m/s\"\n",
+ "print\"Max Acceleration\" ,round(A_max2,2),\"m/s**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Period of vibrations 0.9069 s\n",
+ "MAx velocity 0.28 m/s\n",
+ "Max Acceleration 1.92 m/s**2\n",
+ "Period of vibrations 0.44 s\n",
+ "MAx velocity 0.57 m/s\n",
+ "Max Acceleration 8.0 m/s**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16,Page No.631"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "x=0.3 #mm #Extension of spring\n",
+ "W1=20 #N #Weight \n",
+ "W2=700 #N #Weight supported\n",
+ "e=1.05 #cm #Static Extension\n",
+ "r=0.90 #cm #Amplitude\n",
+ "g=980 #m/s**2 #Acceleration due to gravity\n",
+ "x3=0.4 #cm #Displacement of weight from equilibrium position\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Stiffness of spring\n",
+ "C=W1*x**-1 #N/mm\n",
+ "\n",
+ "#Extension of spring\n",
+ "x2=W2*C**-1 #cm\n",
+ "\n",
+ "#Period of vibration\n",
+ "T=2*pi*((e*g**-1)**0.5) #s\n",
+ "\n",
+ "#Frequency\n",
+ "n=1*T**-1 #vib/s\n",
+ "\n",
+ "#Angular velocioty\n",
+ "f=(g*e**-1)**0.5 #rad/s\n",
+ "\n",
+ "#Velocity\n",
+ "v=-f*((r**2-x3**2)**0.5)\n",
+ "\n",
+ "#Result\n",
+ "print\"Frequency of vibration is\",round(n,2),\"vib/s\"\n",
+ "print\"Period of vibration is\",round(T,2),\"s\"\n",
+ "print\"Velocity of weight is\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of vibration is 4.86 vib/s\n",
+ "Period of vibration is 0.21 s\n",
+ "Velocity of weight is -24.63 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.17,Page No.632"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W_o=24 #tf #Weight of empty wagon\n",
+ "W1=32 #tf #Weight of goods\n",
+ "W=W_o+W1 #Total Weight\n",
+ "e1=8 #cm #Total Compression of spring\n",
+ "g=981 #Acceleration due to gravity\n",
+ "r=10 #cm #Amplitude\n",
+ "x=4 #cm #displacement\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Stiffness of spring\n",
+ "c=W*e1**-1 #tf/cm\n",
+ "\n",
+ "#Compression of spring due to weight of wagon\n",
+ "e_o=W_o*c**-1 #cm\n",
+ "\n",
+ "#When Wagon is empty \n",
+ "T_o=2*pi*((e_o*g**-1)**0.5)\n",
+ "\n",
+ "#When Wagon is Loaded \n",
+ "T1=2*pi*((e1*g**-1)**0.5)\n",
+ "\n",
+ "#Angular velocity\n",
+ "f=2*pi*T_o**-1 #rad/s\n",
+ "\n",
+ "#Velocity \n",
+ "v=f*((r**2-x**2)**0.5)*10**-2\n",
+ "\n",
+ "#Result\n",
+ "print\"Natural period of Vibrations is:When wagon is empty\",round(T_o,2),\"s\"\n",
+ "print\" :When wagon is loaded\",round(T1,2),\"s\"\n",
+ "print\"Velocity when displacement is\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Natural period of Vibrations is:When wagon is empty 0.37 s\n",
+ " :When wagon is loaded 0.57 s\n",
+ "Velocity when displacement is 1.55 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.18,Page No.634"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "T=2 #s #time\n",
+ "g2=981 #Acceleration due to gravity\n",
+ "g=980 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Length of seconds pendulum with g=980\n",
+ "L1=(T*(2*pi)**-1)**2*g\n",
+ "\n",
+ "#Length of seconds pendulum with g=981\n",
+ "L2=(T*(2*pi)**-1)**2*g2\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of seconds pendulum with g=980 is\",round(L1,2),\"cm\"\n",
+ "print\"Length of seconds pendulum with g=981 is\",round(L2,3),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of seconds pendulum with g=980 is 99.29 cm\n",
+ "Length of seconds pendulum with g=981 is 99.396 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.19,Page No.634"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "l=0.6 #m #Length of string\n",
+ "W=80 #g\n",
+ "g=9.81 \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Time\n",
+ "T=2*pi*((l*g**-1)**0.5) #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Time period of pendulum is\",round(T,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period of pendulum is 1.55 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.20,Page No.635"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "l=99.93 #cm #LEngth of pendulum\n",
+ "dn=-5 #s #Number of beats clock loses\n",
+ "n=39.155\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Number of seconds in days \n",
+ "dl=-dn*2*l*n**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of pendulum for correct time is\",round(dl,5),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of pendulum for correct time is 25.52164 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.21,Page No.635"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "T=2 #s #Time\n",
+ "g=981 #cm/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Length of pendulum\n",
+ "L=(T*(2*pi)**-1)**2*g #cm\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Decrease in gravity\n",
+ "dg=g-981 #cm/s**2\n",
+ "\n",
+ "#Number of beats in day\n",
+ "n=24*60*60\n",
+ "\n",
+ "# number of beats clock will lose\n",
+ "dn=n*(2*g)**-1 #s\n",
+ "\n",
+ "#Result\n",
+ "print\"Length of Pendulum\",round(L,2),\"cm\"\n",
+ "print\"Number of beats clock will lose is\",round(dn,2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of Pendulum 99.4 cm\n",
+ "Number of beats clock will lose is 44.04 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.24,Page No.640"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "d=100 #mm #Diameter of shaft\n",
+ "L=1000 #mm #Length of shaft\n",
+ "W=5000 #N #Weight attached\n",
+ "C=8.16*10**4 #N/mm**2 #Modulus of rigidity\n",
+ "g=9.81 #m/s**2\n",
+ "E=2*10**5 #N/mm**2 #Modulus of Elasticity\n",
+ "k=250 #mm #Radius of gyration\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Stress\n",
+ "F=W*(pi*4**-1*d**2)**-1 #N/mm**2\n",
+ "\n",
+ "#static deflection\n",
+ "dell=F*L*E**-1*10**-3 #m\n",
+ "\n",
+ "#Frequency of longitudinal vibrations\n",
+ "f=1*(2*pi)**-1*((g*dell**-1))**0.5\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Torsional stiffness\n",
+ "q=C*pi*32**-1*d**4*L**-1\n",
+ "\n",
+ "#M.I\n",
+ "I=W*(g*1000)**-1*k**2\n",
+ "\n",
+ "#Frequency of torsional vibrations\n",
+ "f2=1*(2*pi)**-1*((q*I**-1))**0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"Frequencies for free longitudinal vibrations is\",round(f,2),\"m\"\n",
+ "print\"Frequencies for free torsional vibrations is\",round(f2,2),\"cycles/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequencies for free longitudinal vibrations is 279.4 m\n",
+ "Frequencies for free torsional vibrations is 25.24 cycles/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.25,Page No.641"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "d=5 #mm #Diameter of shaft\n",
+ "L=1000 #mm #Length of shaft\n",
+ "W=20 #N #Weight of rotor\n",
+ "D=200 #mm #Diameter of rotor\n",
+ "C=0.85*10**5 #N/mm**2 #Modulus of rigidity\n",
+ "g=9.81*1000 #mm/s**2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Radius of rotor\n",
+ "R=D*2**-1 #mm\n",
+ "\n",
+ "#Polar Modulus \n",
+ "J=pi*32**-1*d**4 #mm**4\n",
+ "\n",
+ "#Torsional Stiffness\n",
+ "q=C*J*L**-1 #N*mm\n",
+ "\n",
+ "#M.I\n",
+ "I=W*g**-1*R**2*2**-1 #N*mm-s**2\n",
+ "\n",
+ "#Frequency of torsional vibrations\n",
+ "f=1*(2*pi)**-1*((q*I**-1))**0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"Torsional Vibrations of the system is\",round(f,2),\"cycles/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torsional Vibrations of the system is 3.6 cycles/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_17.ipynb b/Engineering_Mechanics/chapter_17.ipynb
new file mode 100644
index 00000000..9ec115f2
--- /dev/null
+++ b/Engineering_Mechanics/chapter_17.ipynb
@@ -0,0 +1,879 @@
+{
+ "metadata": {
+ "name": "chapter_17.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 17:Collision of Elastic Bodies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.1,Page No.650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=1 #Kg #MAss of ball A\n",
+ "u1=2 #m/s #Initial velocity of ball A\n",
+ "v1=0 #Final velocity of ball A\n",
+ "\n",
+ "#Ball-2\n",
+ "m2=2 #kg #mass\n",
+ "u2=0 #m/s #Initial velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total Initial momentum\n",
+ "V1=m1*u1+m2*u2 #kg*m/s\n",
+ "\n",
+ "#Total Initial momentum\n",
+ "#V2=m1*v1+m2*u2 #kg*m/s\n",
+ "\n",
+ "#Final velocity of ball B\n",
+ "v2=V1*2**-1 #m/s\n",
+ "\n",
+ "#Coefficient of restitution\n",
+ "e=(v2-v1)*(u1-u2)**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Final velocity of ball B is\",round(v2,2),\"m/s\"\n",
+ "print\"Coefficient of restitution is\",round(e,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Final velocity of ball B is 1.0 m/s\n",
+ "Coefficient of restitution is 0.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.2,Page No.650"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#first body\n",
+ "m1=50 #kg #mass\n",
+ "u1=6 #m/s #Initial velocity\n",
+ "\n",
+ "#second body\n",
+ "m2=30 #kg #mass\n",
+ "u2=0 #m/s #Initial velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#MAss of two bodies\n",
+ "M=m1+m2 #kg\n",
+ "\n",
+ "#Total momentum before impact\n",
+ "M2=m1*u1+m2*u2 #kg*m/s\n",
+ "\n",
+ "#Total momentum after impact\n",
+ "#M3=(m1+m2)*V #kg*m/s\n",
+ "\n",
+ "#Velocitites of two bodies\n",
+ "V=M2*80**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Common Velocity is\",round(V,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common Velocity is 3.75 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.3,Page No.651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Bullet\n",
+ "m1=0.05 #Kg #mass\n",
+ "\n",
+ "#Target\n",
+ "m2=5 #kg #mass\n",
+ "u2=0 #m/s #Initital Velocity\n",
+ "v=7 #m/s #Final Velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "m=m1+m2 #kg #total mass\n",
+ "\n",
+ "#total Initial momentum\n",
+ "#v1=m1*u1+m2*u2\n",
+ "#After sub values and further simplifying we get\n",
+ "#v1=0.05*u1\n",
+ "\n",
+ "#Total Final momentum\n",
+ "v2=m*v #kg*m/s\n",
+ "\n",
+ "#Velocity of bullet\n",
+ "u1=v2*0.05**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of bullet is\",round(u1,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of bullet is 707.0 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.4,Page No.651"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=20 #kg #MAss of first ball\n",
+ "u1=5 #m/s #Initital velocity of first ball\n",
+ "\n",
+ "#second ball\n",
+ "m2=10 #kg #mass \n",
+ "u2=-10 #m/s #Velocity\n",
+ "e=5*6**-1 #coefficient of restitution\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total momentum before impact\n",
+ "v1=m1*u1+m2*u2 #m/s\n",
+ "\n",
+ "\n",
+ "#Total momentum after impact\n",
+ "#v2=m1*v1+m2*v2\n",
+ "\n",
+ "#Velocity of second ball after impact\n",
+ "V2=25*3**-1 #m/s \n",
+ "\n",
+ "#Velocity of first ball after impact\n",
+ "V1=-V2*2**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of first ball after impact is\",round(V1,2),\"m/s\"\n",
+ "print\"Velocity of second ball after impact is\",round(V2,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of first ball after impact is -4.17 m/s\n",
+ "Velocity of second ball after impact is 8.33 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.6,Page No.654"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=1 #kg #mass of first ball\n",
+ "m2=2 #kg #mass of second ball\n",
+ "u1=6 #m/s #Initial velocity of first ball\n",
+ "u2=2 #m/s #Initial velocity of second ball\n",
+ "theta1=30 #degrees #angle made by first ball\n",
+ "theta2=30 #degrees #angle made by second ball\n",
+ "e=0.5 #coefficient of restitutiion\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for ball A\n",
+ "#v1*sin(phi1)=3 .............1\n",
+ "\n",
+ "#for ball B\n",
+ "#v2*sin(phi)=1 .............2\n",
+ "\n",
+ "#according to lwa of conservation of momentum\n",
+ "#v1*cos(ph11)+2*v2*cos(phi2)=8.66 ..............3\n",
+ "\n",
+ "#coefficient of restitution for this case\n",
+ "#v2*cos(ph12)-v1*cos(phi1)=1.732 .........4\n",
+ "\n",
+ "#Adding equation 3 and 4 we get\n",
+ "#v2*cos(ph2)=3.464 ....................5\n",
+ " \n",
+ "#sub values in equation 3 we get\n",
+ "#v1*cos(ph1)=1.732 .................6\n",
+ "\n",
+ "#dividing equation 1 by equation6\n",
+ "phi1=np.arctan(3*1.732**-1)*(180*pi**-1)\n",
+ "\n",
+ "#dividing equation 2 by 5 we get\n",
+ "phi2=np.arctan(1*3.464**-1)*(pi**-1*180)\n",
+ "\n",
+ "#sub value of phi2 in equation 5\n",
+ "v2=3.464*(cos(phi2*pi*180**-1))**-1\n",
+ "\n",
+ "#sub value in equation 1\n",
+ "v1=1.732*(cos(phi1*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"velocity of 1Kg ball is\",round(v1,2),\"m/s\"\n",
+ "print\"velocity of 2nd ball is\",round(v2,2),\"m/s\"\n",
+ "print\"Direction of 1Kg ball is\",round(phi1,2),\"degrees\"\n",
+ "print\"Direction of 2nd ball is\",round(phi2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "velocity of 1Kg ball is 3.46 m/s\n",
+ "velocity of 2nd ball is 3.61 m/s\n",
+ "Direction of 1Kg ball is 60.0 degrees\n",
+ "Direction of 2nd ball is 16.1 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.7,Page No.656"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=2 #kg #mass of first ball\n",
+ "m2=2 #kg #mass of second ball\n",
+ "u1=20 #m/s #Initial velocity of first ball\n",
+ "u2=30 #m/s #Initial velocity of second ball\n",
+ "theta1=30 #degrees #angle made by first ball\n",
+ "theta2=60 #degrees #angle made by second ball\n",
+ "e=0.9 #coefficient of restitutiion\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for ball A\n",
+ "#v1*sin(phi1)=10 .............1\n",
+ "\n",
+ "#for ball B\n",
+ "#v2*sin(phi)=25.98 .............2\n",
+ "\n",
+ "#according to lwa of conservation of momentum\n",
+ "#v1*cos(ph11)+2*v2*cos(phi2)=2.32 ..............3\n",
+ "\n",
+ "#coefficient of restitution for this case\n",
+ "#v2*cos(ph12)-v1*cos(phi1)=29.08 .........4\n",
+ "\n",
+ "#Adding equation 3 and 4 we get\n",
+ "#v2*cos(ph2)=15.7 ....................5\n",
+ " \n",
+ "#sub values in equation 3 we get\n",
+ "#v1*cos(ph1)=13.38 .................6\n",
+ "\n",
+ "#dividing equation 1 by equation6\n",
+ "phi1=np.arctan(10*13.38**-1)*(180*pi**-1)\n",
+ "\n",
+ "#dividing equation 2 by 5 we get\n",
+ "phi2=np.arctan(25.98*15.7**-1)*(pi**-1*180)\n",
+ "\n",
+ "#sub value of phi2 in equation 5\n",
+ "v2=25.98*(sin(phi2*pi*180**-1))**-1\n",
+ "\n",
+ "#sub value in equation 1\n",
+ "v1=13.38*(cos(phi1*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"velocity of 1Kg ball is\",round(v1,2),\"m/s\"\n",
+ "print\"velocity of 2nd ball is\",round(v2,2),\"m/s\"\n",
+ "print\"Direction of 1Kg ball is\",round(phi1,2),\"degrees\"\n",
+ "print\"Direction of 2nd ball is\",round(phi2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "velocity of 1Kg ball is 16.7 m/s\n",
+ "velocity of 2nd ball is 30.36 m/s\n",
+ "Direction of 1Kg ball is 36.77 degrees\n",
+ "Direction of 2nd ball is 58.85 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.8,Page No.658"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#First vechile\n",
+ "m1=600 #kg #mass\n",
+ "u1=12 #m/s #Initial velocity\n",
+ "\n",
+ "#Second vechile\n",
+ "m2=400 #kg #mass\n",
+ "u2=9 #m/s #initial velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total mass\n",
+ "M=m1+m2 #kg\n",
+ "\n",
+ "#Total Momentum before impact\n",
+ "v1=m1*u1+m2*u2\n",
+ "\n",
+ "#Total momentum\n",
+ "#v=M*V\n",
+ "\n",
+ "#By law of conservation of momentum\n",
+ "V=v1*1000**-1 #m/s\n",
+ "\n",
+ "#Kinetic Energy before impact\n",
+ "KE1=(m1*u1**2+m2*u2**2)*2**-1 #N*m\n",
+ "\n",
+ "#Total KE after impact\n",
+ "KE2=M*V**2*2**-1 #N*m\n",
+ "\n",
+ "#Loss of KE\n",
+ "KE3=KE1-KE2 #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Loss of Kinetic Energy due to impact is\",round(KE3,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss of Kinetic Energy due to impact is 1080.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.9,Page No.659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=0.1 #kg #MAss of bullet\n",
+ "m2=10 #kg #mass of target\n",
+ "u2=0 #Initial velocity of target\n",
+ "v=7 #m/s #common velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total momentum before impact\n",
+ "#v1=0.1*u1\n",
+ "\n",
+ "#Total momentum after impact\n",
+ "v2=(m1+m2)*v\n",
+ "\n",
+ "#Initial velocity of bullet\n",
+ "u1=v2*0.1**-1 #m/s\n",
+ "\n",
+ "#Total KE before impact\n",
+ "KE=(m1*u1**2+m2*u2**2)*2**-1\n",
+ "\n",
+ "#Total KE after impact\n",
+ "KE2=(m1+m2)*v**2*2**-1 #m/s\n",
+ "\n",
+ "#Loss of KE\n",
+ "KE3=KE-KE2 #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Loss of Kinetic Energy is\",round(KE3,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss of Kinetic Energy is 24745.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.12,Page No.662"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "e=0.75 #coefficient of restitution\n",
+ "m1=1 #kg #MAss of first sphere\n",
+ "m2=5 #kg #mass of second sphere\n",
+ "u1=3 #m/s #Initial velocity of 1st sphere\n",
+ "u2=0.6 #m/s #Initial velocity of 2nd sphere\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#From law of conservation of momentum equation we get\n",
+ "#v1+5*v2=6 ..................1\n",
+ "\n",
+ "#Form coefficient of restitution formula we get\n",
+ "#v2-v1=1.8 ........................2\n",
+ "\n",
+ "#Adding equations 1 and 2 we get\n",
+ "v2=7.8*6**-1 #m/s\n",
+ "\n",
+ "#sub in equation 2 we get\n",
+ "v1=1.8-v2 #m/s\n",
+ "\n",
+ "#Loss of KE during impact\n",
+ "KE=((m1*u1**2+m2*u2**2)-(m1*v1**2+m2*v2**2))*2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Loss of Kinetic Energy during impact is\",round(KE,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Loss of Kinetic Energy during impact is 1.05 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.13,Page No.664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.5 #kg #mass of ball\n",
+ "H=18 #m #Height from which the ball is dropped\n",
+ "h=8 # #Height to which ball rebounds\n",
+ "g=9.81 #m/s**2 \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity with which ball strikes the floor\n",
+ "u=(2*g*H)**0.5 #m/s\n",
+ "\n",
+ "#Velocty of ball after impact\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Coefficient of restitution\n",
+ "e=v*u**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"coefficient of restitution between floor and ball\",round(e,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coefficient of restitution between floor and ball 0.67\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.13(A),Page No.664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "H1=1.6 #m #Initial Height\n",
+ "H2=0.9 #m #Height after rebound\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Consider motion of ball from height H1, wwe get\n",
+ "v1=(2*g*H1)**0.5 #m/s ................................1\n",
+ "\n",
+ "#Consider motion of ball from floor to a height H2\n",
+ "u2=(2*g*H2)**0.5 #m/s .........................2\n",
+ "\n",
+ "#Dividing equation 2 by 1 we get\n",
+ "e=u2*v1**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient of restitution is\",round(e,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of restitution is 0.75\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.14,Page No.665"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "h=16 #m #Height after impact\n",
+ "e=0.8 #coeficient of restitution\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity with which ball strikes the floor\n",
+ "u=(2*g*h)**0.5 #m/s \n",
+ "\n",
+ "#Height from which ball is dropped\n",
+ "H=2*g*h*(e**2*2*g)**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Height from which the ball is dropped is\",round(H,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height from which the ball is dropped is 25.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.15,Page No.665"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "H=13.5 #Height from which ball is dropped\n",
+ "h=9 #m #Height to which ball rebounds\n",
+ "g=9.81 #m/s**2\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#velocity with which ball stirkes the floor\n",
+ "u=(2*g*H)**0.5 #m/s\n",
+ "\n",
+ "#velocity of ball after impact\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Coefficient of restitution \n",
+ "e=(v*u**-1)\n",
+ "\n",
+ "#Height of second rebound\n",
+ "\n",
+ "#velocity with which ball stirkes the floor second time\n",
+ "u1=(2*g*h) #m/s ..............1\n",
+ "\n",
+ "#velocity of ball after impact rebounds second time\n",
+ "#v1=(2*g*h2) ....................2\n",
+ " \n",
+ "#After simplifying equation 1 and 2 we get\n",
+ "h2=e**2*u1*(2*g)**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Height of second rebound is\",round(h2,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height of second rebound is 6.0 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.16,Page No.667"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=10 #m/s #Initial velocity of ball\n",
+ "alpha=30 #degrees #angle made by intial velocity\n",
+ "theta=60 #degrees\n",
+ "e=0.5 #coefficient of restitution\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#As components of intial velocity and final velocity with line of impact is same at right angles\n",
+ "#v*sin(phi)=8.66 ........1\n",
+ "\n",
+ "#v*cos(phi)=2.5 ................2\n",
+ "\n",
+ "#Dividing equation 1 by 2\n",
+ "phi=np.arctan(8.66*2.5**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Sub value in equation 1 we get\n",
+ "v=8.66*(sin(phi*pi*180**-1))**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Direction of ball after impact is\",round(phi,2),\"Degrees\"\n",
+ "print\"Velocity of ball after impact\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Direction of ball after impact is 73.9 Degrees\n",
+ "Velocity of ball after impact 9.01 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17,Page No.667"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "u=5 #m/s #Initial velocity of body\n",
+ "alpha=30 #Degrees #Angle made by initial velocity with fixed plane\n",
+ "theta=60 #degrees\n",
+ "phi=45 #degrees #angle made by final velocity\n",
+ "beta=45 #degrees #Angle made by final velocity with line of impact\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Components of final velocity and initial velocity at right angles to line of impact\n",
+ "v=u*sin(alpha*pi*180**-1)*(sin(phi*pi*180**-1))**-1 #m/s\n",
+ "\n",
+ "#For indirect impacton a fixed plane\n",
+ "e=v*cos(phi*pi*180**-1)*(u*cos(theta*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"coefficient of restitution between ball and fixed plane is\",round(e,2)\n",
+ "print\"velocity of body after impact is\",round(v,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coefficient of restitution between ball and fixed plane is 1.0\n",
+ "velocity of body after impact is 3.54 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_18.ipynb b/Engineering_Mechanics/chapter_18.ipynb
new file mode 100644
index 00000000..a56de6ea
--- /dev/null
+++ b/Engineering_Mechanics/chapter_18.ipynb
@@ -0,0 +1,1586 @@
+{
+ "metadata": {
+ "name": "chapter_18.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 18:Work,Power And Energy "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1,Page No.673"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=500 #N #Weight of Body\n",
+ "S=5 #m #Distance\n",
+ "P=250 #N #Force\n",
+ "P2=200 #N #Force 2\n",
+ "theta=30 #Degrees #Angle made by Force with Horizontal\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#Work Done\n",
+ "w=P*S #N*m\n",
+ "\n",
+ "#Work Done\n",
+ "w2=P2*cos(theta*pi*180**-1)*S #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done when Force 250 N is applied\",round(w,2),\"N*m\"\n",
+ "print\"Work Done when Force 200 N is applied\",round(w2,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done when Force 250 N is applied 1250.0 N*m\n",
+ "Work Done when Force 200 N is applied 866.03 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.2,Page No.673"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=1500 #N #Weight of Body\n",
+ "S=500 #m #Distance\n",
+ "P=15 #N #Force\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Work Done by Resistance \n",
+ "w=P*S #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done on body by Resistance is\",round(w,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done on body by Resistance is 7500.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.3,Page No.673"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=800 #N #Weight of Body\n",
+ "theta=30 #Degrees #angle made by Force\n",
+ "S=5 #Distance\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Force apllied on Block\n",
+ "P=W*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Work done on body\n",
+ "w=P*S #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done in Pulling up the Body is\",round(w,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done in Pulling up the Body is 2000.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.4,Page No.674"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "mu=0.3 #coefficient of Friction\n",
+ "S=5 #m #Distance\n",
+ "W=800 #N #weight of Body\n",
+ "theta=30 #Degrees #Angle made by Weight\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#reaction Force \n",
+ "R=W*cos(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Force of friction\n",
+ "F=mu*R\n",
+ "\n",
+ "#Forces along plane\n",
+ "P=W*sin(theta*pi*180**-1)+F #N*m\n",
+ "\n",
+ "#Work done\n",
+ "w=P*S #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work done in pullint the Body\",round(w,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done in pullint the Body 3039.23 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.5,Page No.674"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=50.5 #m #Total Length of chain\n",
+ "R=0.16 #m #Radius of pulley\n",
+ "L_AC=40 #m #Length of chain between A and C\n",
+ "W=505 #N #Weight of chain\n",
+ "w=10 #N #weight of chain per metre length\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Length of BD\n",
+ "L_BD=L-2*pi*R*2**-1-L_AC #m\n",
+ "\n",
+ "#Weight of chain \n",
+ "W_AC=w*L_AC #N\n",
+ "\n",
+ "#Weight of chain BD\n",
+ "W_BD=w*L_BD #N\n",
+ "\n",
+ "#Force applied at D\n",
+ "P=W_AC-W_BD #N\n",
+ "\n",
+ "#Length of chain\n",
+ "l=(L_AC-w)*2**-1\n",
+ "\n",
+ "#Work Done\n",
+ "W=P*l*2**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done by the man\",round(W,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done by the man 2250.2 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.6,Page No.675"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2000 #N #Weight of Body\n",
+ "P_o=750 #N #Initial Force\n",
+ "x_o=0 #Initial Force,distance moved is zero\n",
+ "S=25 #m #Distance Moved\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Force after a distance of 25 m\n",
+ "P=P_o+10*S #N\n",
+ "\n",
+ "#Work Done\n",
+ "w=(P_o+P)*2**-1*S #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done by applied Force\",round(w,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done by applied Force 21875.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.7,Page No.676"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from scipy.integrate import * \n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L=10 #m #Length of free cable\n",
+ "W=50 #N #weight of cable per m length\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Weight of element \n",
+ "#X=50*dx\n",
+ "\n",
+ "#work done on the elemnt\n",
+ "#dw=500-50*x*dx\n",
+ "\n",
+ "def f(x) :\n",
+ " return 500-50*x\n",
+ "\n",
+ "I,err = quad(f,0,10)\n",
+ "\n",
+ "#Result\n",
+ "print\"Work done by Electric Motor is\",round(I,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work done by Electric Motor is 2500.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.8,Page No.677"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2000 #KN #Weight of train\n",
+ "v=10 #m/s #speed of train\n",
+ "F=20000 #N #Resistance due to friction\n",
+ "p=F #Net Force in Direction of motion\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Power\n",
+ "P=p*v*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power of the Engine\",P,\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power of the Engine 200.0 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.9,Page No.677"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2000 #KN #Weight of train\n",
+ "F=20000 #N #Resistance Force\n",
+ "v=10 #m/s #Velocity\n",
+ "a=0.5 #m/s**2 #Acceleration\n",
+ "g=9.81 #m/s**2 #acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Mass of train\n",
+ "m=W*10**3*g**-1 #Kg\n",
+ "\n",
+ "#Net Force\n",
+ "F=m*a+F #N\n",
+ "\n",
+ "#Power of the engine \n",
+ "P=F*v*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power of the Engine is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power of the Engine is 1219.37 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.10,Page No.678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=1500*1000 #N #Weight of train \n",
+ "v=10 #m/s #speed\n",
+ "F=7500 #N #Force exerted by engine\n",
+ "#sin(theta)=1*100**-1 \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#from equation of Net Force\n",
+ "#p=W*sin(theta*pi*180**-1)+F\n",
+ "#After sub values and further simplifying we get\n",
+ "p=15000+7500 #N\n",
+ "\n",
+ "#Power Exerted by Engine\n",
+ "P=p*v*10**-3 #KW\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Power Exerted by the Engine is\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Exerted by the Engine is 225.0 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.11,Page No.678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2*10**6 #N\n",
+ "v=5 #m/s velocity\n",
+ "P=35*10**3 #W\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#After simplifying Net Force acting on engine in direction of motion, we get\n",
+ "#F=13333.3-F+P ................1\n",
+ "\n",
+ "#Power\n",
+ "P2=P*v**-1\n",
+ "\n",
+ "#Sub value in equation 1 we get\n",
+ "F=13333.3+P2 #N\n",
+ "\n",
+ "#case-2\n",
+ "\n",
+ "#frpm Net force in direction of motion after simplifying we get,value of \n",
+ "F2=W*150**-1+F #N\n",
+ "\n",
+ "#Power developed by engine \n",
+ "P3=F2*v*10**-3 #KW\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Power required to pull the train is\",round(P3,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power required to pull the train is 168.33 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.12,Page No.680"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=1800 #N #Force\n",
+ "D=0.01 #m #Diameter\n",
+ "R=0.005 #m #Radius\n",
+ "theta=2*pi #Radians\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Torque\n",
+ "T=P*R #N*m\n",
+ "\n",
+ "#Work done\n",
+ "W=T*theta #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Work Done is\",round(W,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work Done is 56.55 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.13,Page No.681"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F=1800 #N #Force\n",
+ "R=0.005 #m #Radius\n",
+ "T=9 #N*m #Torque\n",
+ "N=200 #r.p.m\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Power of the shaft\n",
+ "P=2*pi*N*T*60**-1 #W\n",
+ "\n",
+ "#Result\n",
+ "print\"Power of the shaft is\",round(P,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power of the shaft is 188.5 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.14,Page No.683"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=2 #Kg #Mass\n",
+ "v=50 #m/s**2 #Velocity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Let K.E be E\n",
+ "E=1*2**-1*M*v**2 #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Kinetic Energy is\",round(E,2),\"N*m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Kinetic Energy is 2500.0 N*m\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.15,Page No.683"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.081 #Kg\n",
+ "u=300 #m/s #Initial Velocity of bullet\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "S=0.1 #m #Penetration of bullet\n",
+ "v=0 #Final Velocity of bullet\n",
+ "\n",
+ "#Kinetic Energy of bullet\n",
+ "KE=(m*v**2-m*u**2)*2**-1 #N*m\n",
+ "\n",
+ "#Force of Resistance\n",
+ "P=-KE*S**-1 #N\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Depth of penetration\n",
+ "S2=0.05 #m\n",
+ "\n",
+ "#work Done by force of Resistance\n",
+ "W2=-P*S2 #N*m\n",
+ "\n",
+ "#velocity of bullet after 5cm penetration\n",
+ "v1=((W2+(m*u**2*2**-1))*2*m**-1)**0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"Force of Resistance is\",round(P,2),\"N\"\n",
+ "print\"Velocity with which bullet will emerge is\",round(v1,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force of Resistance is 36450.0 N\n",
+ "Velocity with which bullet will emerge is 212.13 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.15(A),Page No.684"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.01 #Kg \n",
+ "u=1000 #m/s #Velocity\n",
+ "t=0.002 #s #time taken b bullet to travel\n",
+ "v=0 #Final Velocity\n",
+ "g=9.81 #acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Kinetic energy of bullet\n",
+ "KE=m*u**2*2**-1 #N*m\n",
+ "\n",
+ "#acceleration\n",
+ "a=-(v-u)*t**-1 #m/s**2\n",
+ "\n",
+ "#Frictional Force\n",
+ "F=m*a #N\n",
+ "\n",
+ "#Distance travelled by bullet\n",
+ "S=F*KE**-1 #m\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Probable speed of the car just before brakes are applied \n",
+ "V=(30*2*g)**0.5*1000**-1*3600 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Average Force acted on the bullet is\",round(F,2),\"N\"\n",
+ "print\"Distance penetrated by it\",round(S,2),\"m\" \n",
+ "print\"Probable speed of the car just before brakes are applied\",round(V,2),\"km/hr\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Force acted on the bullet is 5000.0 N\n",
+ "Distance penetrated by it 1.0 m\n",
+ "Probable speed of the car just before brakes are applied 87.34 km/hr\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.16,Page No.686"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=20*10**3 #N #Weight of Truck\n",
+ "u=45*10**3*(3600)**-1 #speed of truck #m/s\n",
+ "v=0 #Final Velocity of truck\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "m=W*g**-1 #mass of truck\n",
+ "S=20 #m #DIstance\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Kinetic energy of Truck\n",
+ "KE=-m*(v**2-u**2)*2**-1 #N*m\n",
+ "\n",
+ "#Average Force of Resisting acting on the truck\n",
+ "P=KE*S**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Average Force of Resisting acting on the truck\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Force of Resisting acting on the truck 7963.81 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.17,Page No.687"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=9810 #N #Weight of train\n",
+ "m=1000 #Kg #Mass of car\n",
+ "u=0 #m/s #Intial Velocity\n",
+ "v=12.5 #m/s #Final by car\n",
+ "S=50 #m #Distance\n",
+ "P=100 #N #Resistance\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Change in Kinetic Energy\n",
+ "KE=m*(v**2-u**2)*2**-1 #N*m\n",
+ "\n",
+ "#Average driving Force exerted by engine\n",
+ "P2=KE*S**-1+P #N\n",
+ "\n",
+ "#Power Developed by Engine\n",
+ "P3=P2*v*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Average driving Force exerted by engine\",round(P2,2),\"N\"\n",
+ "print\"Power Developed by Engine\",round(P3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average driving Force exerted by engine 1662.5 N\n",
+ "Power Developed by Engine 20.78 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.18,Page No.688"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import cos, pi,sin, radians\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=196.2 #N #Weight of train\n",
+ "m=20 #Kg #Mass\n",
+ "P=300 #N #force\n",
+ "theta=30 #Degrees #Angle of inclination\n",
+ "mu=0.2 #Coefficient of friction\n",
+ "u=0 #initial Velocity\n",
+ "t=4 #seconds\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R=W*cos(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Net Force in Direction of motion\n",
+ "F=P-W*sin(theta*pi*180**-1)-mu*R #N\n",
+ "\n",
+ "#Acceleration\n",
+ "a=F*m**-1 #m/s**2\n",
+ "\n",
+ "#Distance travelled in four seconds\n",
+ "s=u*t+a*t**2*2**-1\n",
+ "\n",
+ "#Velocity after 4 seconds\n",
+ "v=u+a*t #m/s\n",
+ "\n",
+ "#Kinetic Energy after 4 seconds\n",
+ "KE=m*v**2*2**-1 #N*m\n",
+ "\n",
+ "#Work Done on Body\n",
+ "W2=F*s #N*m\n",
+ "\n",
+ "#Momentum of the body after four seconds\n",
+ "e=m*v #Kg*m/s\n",
+ "\n",
+ "#Impulse applied in four seconds\n",
+ "I=F*t #N*s\n",
+ "\n",
+ "#Result\n",
+ "print\"Acceleration of Body\",round(a,2),\"m/s**2\"\n",
+ "print\"Distance travelled in four seconds\",round(s,2),\"m\"\n",
+ "print\"Velocity after 4 seconds\",round(v,2),\"m/s\"\n",
+ "print\"Kinetic Energy after 4 seconds\",round(KE,2),\"N*m\"\n",
+ "print\"Work Done on Body\",round(W2,2),\"N*m\"\n",
+ "print\"Momentum of the body after four seconds\",round(e,2),\"Kg*m/s\"\n",
+ "print\"Impulse applied in four seconds\",round(I,2),\"N*s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Acceleration of Body 8.4 m/s**2\n",
+ "Distance travelled in four seconds 67.17 m\n",
+ "Velocity after 4 seconds 33.58 m/s\n",
+ "Kinetic Energy after 4 seconds 11278.47 N*m\n",
+ "Work Done on Body 11278.47 N*m\n",
+ "Momentum of the body after four seconds 671.67 Kg*m/s\n",
+ "Impulse applied in four seconds 671.67 N*s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.19,Page No.689"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import cos, pi,sin, radians\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=20 #N #Weight \n",
+ "theta=20 #Degrees #Angle\n",
+ "u=12 #m/s #Initial Velocity\n",
+ "mu=0.15 #Coefficient of friction\n",
+ "g=9.81 #acceleration due to gravity\n",
+ "m=W*g**-1 #Kg\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#PArt-1\n",
+ "\n",
+ "v=0 #Final Velocity\n",
+ "R=W*cos(theta*pi*180**-1)\n",
+ "F=mu*R\n",
+ "\n",
+ "#Net Force\n",
+ "F2=W*sin(theta*pi*180**-1)+mu*R #N\n",
+ "\n",
+ "#Change in Kinetic Energy\n",
+ "KE=m*(v**2-u**2)*2**-1 #N*m\n",
+ "\n",
+ "S=KE*F2**-1 #Max Distance\n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#Net Force in direction of motion is\n",
+ "F3=W*sin(theta*pi*180**-1)-mu*R #N\n",
+ "\n",
+ "#Work Done on the body \n",
+ "W2=F3*S #N*m\n",
+ "\n",
+ "#Velocity of the body\n",
+ "V1=(-W2*2*g*W**-1)**0.5\n",
+ "\n",
+ "#Result\n",
+ "print\"MAx Distance that the bodt will move up the inclined plane\",round(S,2),\"m\"\n",
+ "print\"Velocity of the body\",round(V1,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "MAx Distance that the bodt will move up the inclined plane -15.2 m\n",
+ "Velocity of the body 7.74 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.20,Page No.691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=0.025 #Kg #Mass of bullet\n",
+ "u1=600 #m/s #Initial Veloctiy of Bullet\n",
+ "m2=5 #Kg #Mass of Wooden Block\n",
+ "u2=0 #m/s #Final Velocity of bullet\n",
+ "S=0.9 #m #Distance travelled by block and bullet\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Total mass of bullet\n",
+ "M=m1+m2 #Kg\n",
+ "\n",
+ "#common Velocityof bullet and block after impact\n",
+ "V=(m1*u1+m2*u2)*M**-1 #m/s\n",
+ "\n",
+ "#Average resistance between block and horizontal surface\n",
+ "\n",
+ "#Initial Velocity of Block And Bullet\n",
+ "Vi=V #m/s\n",
+ "\n",
+ "#Final Velocity\n",
+ "Vf=0 #m/s\n",
+ "\n",
+ "#Change of KE of bullet and Block\n",
+ "KE=M*(Vf**2-Vi**2)*2**-1 #N*m\n",
+ "\n",
+ "#Frictional resistance \n",
+ "P=-KE*S**-1 #N\n",
+ "\n",
+ "#Coefficient of Friction \n",
+ "\n",
+ "W=M*g #N\n",
+ "R=W #N \n",
+ "\n",
+ "mu=P*R**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Average Resistance between Block and horizontal surface\",round(P,2),\"N\"\n",
+ "print\"Coefficient of friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average Resistance between Block and horizontal surface 24.88 N\n",
+ "Coefficient of friction is 0.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.21,Page No.692"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m1=0.01 #Kg #mass of bullet\n",
+ "m2=1 #Kg #Mass of Block\n",
+ "S=1 #m #Distance travelled by block and bullet\n",
+ "mu=0.2 #coefficient of friction\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#total mass of buulet and wooden block\n",
+ "M=m1+m2 #Kg\n",
+ "\n",
+ "#Friction Force\n",
+ "F=mu*M*g #N\n",
+ "\n",
+ "#Work Done by force of friction\n",
+ "W=F*S #N\n",
+ "\n",
+ "#Velocity of bullet\n",
+ "u1=(W*2*M**-1)**0.5*M*m1**-1 #m/s\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of bullet is\",round(u1,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of bullet is 200.07 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.22,Page No.694"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=1500 #Kg #Mass of Hammer\n",
+ "h=0.6 #m #Height from which hammer drops\n",
+ "m=750 #kg #Mass of pile\n",
+ "S=0.05 #m #Depth of penetration\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity of hammer after falling through height of 0.6 m from rest\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Total momentum of hammer and pile just before impact\n",
+ "p=M*v #Kg*m/s\n",
+ "\n",
+ "#Common Velocity\n",
+ "V=p*(M+m)**-1 #m/s\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#K.E of system\n",
+ "KE=(M+m)*round(V,2)**2*2**-1 #N*m\n",
+ "\n",
+ "#Loss of P.E of system\n",
+ "PE=(M+m)*g*S #N*m\n",
+ "\n",
+ "#Total Energy loss\n",
+ "E=KE+PE #N*m\n",
+ "\n",
+ "#Resistance of ground\n",
+ "R=E*S**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Common Velocity after impact\",round(V,2),\"m/s\"\n",
+ "print\"Average Resistance of the ground\",round(R,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common Velocity after impact 2.29 m/s\n",
+ "Average Resistance of the ground 140064.75 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.23,Page No.695"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=750 #Kg #MAss of hammer\n",
+ "h=1.2 #m #Height through which hammer drops\n",
+ "m=200 #kg #mass of pile\n",
+ "R=79*10**3 #N #Average resistance of ground\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity of hammer after falling through height of 0.6 m from rest\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Total momentum of hammer and pile just before impact\n",
+ "p=M*v #Kg*m/s\n",
+ "\n",
+ "#Common Velocity\n",
+ "V=p*(M+m)**-1 #m/s\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#K.E of system\n",
+ "KE=(M+m)*round(V,2)**2*2**-1 #N*m\n",
+ "\n",
+ "#Depth of penetration into the ground\n",
+ "S=KE*(R-(M+m)*g)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Depth of penetration into the ground\",round(S,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Depth of penetration into the ground 0.1 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.24,Page No.696"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=400 #Kg #Mass of Hammer\n",
+ "h=3 #m #Height from which hammer drops\n",
+ "m=0 #kg #Mass of pile\n",
+ "S=1 #m #Depth of penetration\n",
+ "g=9.81 #Acceleration due to gravity\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity of hammer after falling through height of 0.6 m from rest\n",
+ "v=(2*g*h)**0.5 #m/s\n",
+ "\n",
+ "#Total momentum of hammer and pile just before impact\n",
+ "p=M*v #Kg*m/s\n",
+ "\n",
+ "#Common Velocity\n",
+ "V=p*(M+m)**-1 #m/s\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#K.E of system\n",
+ "KE=(M+m)*V**2*2**-1 #N*m\n",
+ "\n",
+ "#Loss of P.E of system\n",
+ "PE=(M+m)*g*S #N*m\n",
+ "\n",
+ "#Total Energy loss\n",
+ "E=KE+PE #N*m\n",
+ "\n",
+ "#Resistance of ground\n",
+ "R=E*S**-1 #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Resistance of ground for penetration is\",round(R,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of ground for penetration is 15696.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.25,Page No.697"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "M=10 #Kg #Mass of Body\n",
+ "k=100 #N/cm #stiffnes\n",
+ "h=2 #cm #Height through which mass 10 kg is dropped \n",
+ " \n",
+ "#Calculation\n",
+ "\n",
+ "#For Position 1\n",
+ "#PE+KE=M*g*(x+h) ............1\n",
+ "\n",
+ "#For Position 2\n",
+ "#PE of spring=50*x**2 .............2\n",
+ "\n",
+ "#Equating equations 1 and 2 we get\n",
+ "#5x**2-9.81*x-19.62=0\n",
+ "\n",
+ "a=5\n",
+ "b=-9.81\n",
+ "c=-19.62\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "#Max Displacement of spring\n",
+ "x1=(-b+X**0.5)*(2*a)**-1\n",
+ "x2=(-b-X**0.5)*(2*a)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Max Displacement of spring\",round(x1,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Max Displacement of spring 3.19 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.26,Page No.698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.01 #kg #Mass of bullet\n",
+ "M=1 #kg #Mass of body\n",
+ "L=1 #m #Length of string\n",
+ "theta=18.2 #degrees\n",
+ "g=9.81 #acceleration due to gravity\n",
+ "L_OA=1 #m #Length of OA\n",
+ "L_OB=1 #m #Length of OB\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#From Geometry of figure\n",
+ "h=L_OA-L_OB*cos(theta*pi*180**-1) #m\n",
+ "\n",
+ "#Potential Energy of body and bullet at B\n",
+ "PE=(M+m)*g*h\n",
+ "\n",
+ "#from Kinetic Energy of body and bullet after impact\n",
+ "V=(PE*2*(M+m)**-1)**0.5 #m/s #Velocity of body and bullet\n",
+ "\n",
+ "#Velocity of bullet\n",
+ "u=(M+m)*V*m**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity of Bullet is\",round(u,2),\"m/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity of Bullet is 100.06 m/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.27,Page No.700"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.03 #kg #Mass of bullet\n",
+ "u=483 #m/s #Velocity of bullet\n",
+ "M=10 #kg #MAss of body\n",
+ "L=0.8 #m #Length of string\n",
+ "g=9.81\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Momentum of bullet and body before impact\n",
+ "p=m*u #Kg*m/s\n",
+ "\n",
+ "#from Momentum of bullet and body after impact\n",
+ "V=p*(M+m)**-1 #m/s\n",
+ "\n",
+ "#K.E of the bullet and body after impact\n",
+ "KE=(M+m)*V**2*2**-1 #N*m\n",
+ "\n",
+ "#Angle through which body swings\n",
+ "theta=np.arccos(-((KE*((M+m)*g)**-1)-L)*L**-1)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle through which body swings is\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle through which body swings is 29.88 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.28,Page No.701"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "m=0.03 #kg #mass of bullet\n",
+ "u=483 #m/s #velocity of bullet\n",
+ "M=10 #Kg #Mass of body\n",
+ "L=0.8 #m #Length of string\n",
+ "v=96.5 #m/s #Velocity of body\n",
+ "g=9.81 #acceleration due to gravity\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Velocity of Body after impact\n",
+ "V=(m*u-m*v)*M**-1 #m/s\n",
+ "\n",
+ "#Height \n",
+ "h=V**2*(2*g)**-1 #m\n",
+ "\n",
+ "#from geometry\n",
+ "theta=np.arccos((L-h)*L**-1)*(pi**-1*180)\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle through which the body will swing\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle through which the body will swing 23.89 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_2.ipynb b/Engineering_Mechanics/chapter_2.ipynb
new file mode 100644
index 00000000..6dcfae81
--- /dev/null
+++ b/Engineering_Mechanics/chapter_2.ipynb
@@ -0,0 +1,648 @@
+{
+ "metadata": {
+ "name": "chapter_2.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 2:Coplanar Collinear And Concurrent Forces"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1,Page No.30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Horizontal Forces\n",
+ "F1=200 #N\n",
+ "F2=100 #N\n",
+ "F3=300 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Analytical Method\n",
+ "\n",
+ "#When all forces are acting in same Direction,resultant is\n",
+ "R=F1+F2+F3 #N\n",
+ "\n",
+ "#When Force 100 N is acting in opposite direction\n",
+ "R2=F1-F2+F3 #N\n",
+ "\n",
+ "#Graphical Method\n",
+ "\n",
+ "#Let P1,P2,P3 be the forces\n",
+ "#Suppose 100 N=1 cm\n",
+ "P1=F1*F2**-1 #cm\n",
+ "P2=F2*F2**-1 #cm\n",
+ "P3=F3*F2**-1 #cm\n",
+ "\n",
+ "#When All Forces act in same direction \n",
+ "ab=2 #cm to represent F1\n",
+ "bc=1 #cm to represent F2\n",
+ "cd=3 #cm to represent F3\n",
+ "\n",
+ "#by Measurement \n",
+ "ad=6 #cm\n",
+ "R3=6*F2 #N\n",
+ "\n",
+ "#When F2 acts in opposite direction \n",
+ "#draw bc in opposite Direction \n",
+ "#By Measurement,Length\n",
+ "ad=4 #cm\n",
+ "\n",
+ "R4=4*F2 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant of forces analytically:When all forces are acting in same Direction\",round(R,2),\"N\"\n",
+ "print\" :When Force 100 N is acting in opposite direction\",round(R2,2),\"N\"\n",
+ "print\"Resultant of forces Graphically:When All Forces act in same direction\",round(R3,2),\"N\"\n",
+ "print\" :When Force 100 N is acting in opposite direction\",round(R4,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant of forces analytically:When all forces are acting in same Direction 600.0 N\n",
+ " :When Force 100 N is acting in opposite direction 400.0 N\n",
+ "Resultant of forces Graphically:When All Forces act in same direction 600.0 N\n",
+ " :When Force 100 N is acting in opposite direction 400.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2,Page No.34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "P=240 #N\n",
+ "Q=200 #N\n",
+ "alpha=60 #Degrees #Angle Between forces\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Magnitude of Resultant Force is \n",
+ "R=(P**2+Q**2+2*P*Q*cos(alpha*pi*180**-1))**0.5 #N\n",
+ "\n",
+ "#Using sine formula\n",
+ "#P*(sin(beta))**-1=Q*(sin(rho))**-1=R*(sin(180-alpha))**-1\n",
+ "\n",
+ "X=(P*sin((180-alpha)*180**-1*pi)*R**-1)\n",
+ "beta=np.arcsin(X)*(180*pi**-1) #degrees\n",
+ "\n",
+ "Y=(Q*sin((180-alpha)*180**-1*pi)*R**-1)\n",
+ "rho=np.arcsin(Y)*(180*pi**-1) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant is\",round(R,2),\"N\"\n",
+ "print\"angle beta is\",round(beta,2),\"Degrees\"\n",
+ "print\"Angle rho is\",round(rho,3),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant is 381.58 N\n",
+ "angle beta is 33.0 Degrees\n",
+ "Angle rho is 26.996 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.3,Page No.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "R=400 #N #resultant\n",
+ "beta=35 #Degrees\n",
+ "rho=25 #Derees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Angle Between two forces\n",
+ "alpha=beta+rho #Degrees\n",
+ "\n",
+ "#Using sine formula\n",
+ "#P*(sin(beta))**-1=Q*(sin(rho))**-1=R*(sin(180-alpha))**-1\n",
+ "#After further simplifying we get\n",
+ "\n",
+ "P=R*sin(beta*180**-1*pi)*(sin((180-alpha)*180**-1*pi))**-1 #N\n",
+ "Q=R*sin(rho*180**-1*pi)*(sin((180-alpha)*180**-1*pi))**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Two forces Are:P\",round(P,2),\"P\"\n",
+ "print\" :Q\",round(Q,3),\"Q\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Two forces Are:P 264.92 P\n",
+ " :Q 195.199 Q\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.4,Page No.35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "P=240 #N\n",
+ "Q=200 #N\n",
+ "R=400 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Using Equation of Resultant,we get\n",
+ "#R=(P**2+Q**2+2*P*Q*cos(alpha))**0.5\n",
+ "#After Further simplifying we get\n",
+ "#Let cos(alpha)=X\n",
+ "X=(R**2-P**2-Q**2)*(2*P*Q)**-1 \n",
+ "alpha=np.arccos(X)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Using sine formula\n",
+ "#P*(sin(beta))**-1=Q*(sin(rho))**-1=R*(sin(180-alpha))**-1\n",
+ "#After further simplifying we get\n",
+ "X=(P*sin((180-alpha)*180**-1*pi)*R**-1)\n",
+ "beta=np.arcsin(X)*(180*pi**-1) #degrees\n",
+ "\n",
+ "Y=(Q*sin((180-alpha)*180**-1*pi)*R**-1)\n",
+ "rho=np.arcsin(Y)*(180*pi**-1) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Values of:alpha\",round(alpha,2),\"Degrees\"\n",
+ "print\" :beta\",round(beta,2),\"Degrees\"\n",
+ "print\" :rho\",round(rho,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Values of:alpha 49.46 Degrees\n",
+ " :beta 27.13 Degrees\n",
+ " :rho 22.33 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.5,Page No.36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "F=100 #N\n",
+ "theta=30 #Degrees #Angle made by Force with axis\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Force acting in X-direction \n",
+ "F_x=F*cos(theta*180**-1*pi) #N\n",
+ "\n",
+ "#Force acting in Y-direction \n",
+ "F_y=F*sin(theta*180**-1*pi) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Components of Force along X directions\",round(F_x,2),\"N\"\n",
+ "print\"Components Of force along Y direction\",round(F_y,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Components of Force along X directions 86.6 N\n",
+ "Components Of force along Y direction 50.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.6,Page No.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=100 #N #Weight\n",
+ "theta=30 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Component of weight perpendicular to plane\n",
+ "W1=W*cos(theta*180**-1*pi) #N\n",
+ "\n",
+ "#Component of weight parallel to plane\n",
+ "W2=W*sin(theta*180**-1*pi) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Component of weight:perpendicular to plane\",round(W1,2),\"N\"\n",
+ "print\" :parallel to plane\",round(W2,2),\"N\"\n",
+ "\n",
+ "#Answer for Component of weight:perpendicular to plane is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Component of weight:perpendicular to plane 86.6 N\n",
+ " :parallel to plane 50.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.7,Page No.37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_BA=50 #cm\n",
+ "L_AO=25 #cm\n",
+ "\n",
+ "theta=45 #Degrees #angle made by crank bith L_BO\n",
+ "\n",
+ "F1=2500 #N Force ererted on connecting rod\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let alpha be the angle made by connecting rod with hte perpendicular drawn to L_BO\n",
+ "\n",
+ "L_AC=L_AO*sin(theta*pi*180**-1)\n",
+ "\n",
+ "alpha=np.arcsin(L_AC*L_BA**-1)*(180*pi**-1) #degrees\n",
+ "\n",
+ "#Horizontal force of connecting rod\n",
+ "H_A=F1*cos(round(alpha,2)*pi*180**-1)\n",
+ "\n",
+ "#Vertical force of connecting rod\n",
+ "V_A=F1*sin(round(alpha,2)*pi*180**-1)\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#LEt angle OAD be beta\n",
+ "beta=theta+alpha #Degrees\n",
+ "\n",
+ "#Component of force AD along AO\n",
+ "F_AO1=F1*cos(round(beta,2)*pi*180**-1) #degrees\n",
+ "\n",
+ "#Component of force AD along AE\n",
+ "F_AO2=F1*sin(round(beta,2)*pi*180**-1) #degrees\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Resolving Forces of connecting rod:H_A\",round(H_A,2),\"KN\"\n",
+ "print\" :V_A\",round(V_A,2),\"KN\"\n",
+ "print\"Resolving forces of crank:F_AO2\",round(F_AO2,2),\"KN\"\n",
+ "print\" :F_AO1\",round(F_AO1,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resolving Forces of connecting rod:H_A 2338.61 KN\n",
+ " :V_A 883.69 KN\n",
+ "Resolving forces of crank:F_AO2 2278.51 KN\n",
+ " :F_AO1 1028.79 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.8,Page No.38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "F1=104 #N\n",
+ "F2=156 #N\n",
+ "F3=252 #N\n",
+ "F4=228 #N\n",
+ "\n",
+ "#Angles\n",
+ "alpha1=10 #Degrees\n",
+ "alpha2=24 #Degrees\n",
+ "alpha3=3 #Degrees\n",
+ "alpha4=9 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resolving force F1\n",
+ "F1_V=F1*sin(alpha1*pi*180**-1) #N\n",
+ "F1_H=F1*cos(alpha1*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Force F2\n",
+ "F2_V=F2*cos(alpha2*pi*180**-1) #N\n",
+ "F2_H=-F2*sin(alpha2*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Force F3\n",
+ "F3_H=-F3*cos(alpha3*pi*180**-1) #N\n",
+ "F3_V=F3*sin(alpha3*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Force F4\n",
+ "F4_H=-F4*sin(alpha4*pi*180**-1) #N\n",
+ "F4_V=F4*cos(alpha4*pi*180**-1) #N\n",
+ "\n",
+ "#Sum of Horizontal Forces\n",
+ "H=F1_H+F2_H+F3_H+F4_H #N\n",
+ "\n",
+ "#Sum of vertical Forces\n",
+ "V=F1_V+F2_V-F3_V-F4_V #N\n",
+ "\n",
+ "#Resultant\n",
+ "R=(H**2+V**2)**0.5\n",
+ "\n",
+ "#Direction\n",
+ "theta=np.arctan(V*H**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant\",round(R,2),\"N\"\n",
+ "print\"Direction of Resultant\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant 260.26 N\n",
+ "Direction of Resultant 17.4 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.9,Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "F1=10 #KN \n",
+ "F3=20 #KN\n",
+ "F4=40 #KN\n",
+ "\n",
+ "#Inclination\n",
+ "theta1=30 #Degree\n",
+ "theta3=90 #degree\n",
+ "theta3=120 #degree\n",
+ "\n",
+ "R=72 #KN #Resultant\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Sum of horizontal Forces\n",
+ "#F2*cos(theta2)=11.34...................1\n",
+ "\n",
+ "#Sum of vertical Forces\n",
+ "#F2*sin(theta2)=12.36.....................2\n",
+ "\n",
+ "#Dividing equation 2 by 1 and further simplifying we get\n",
+ "\n",
+ "theta2=np.arctan(1.0899)*(180*pi**-1)\n",
+ "\n",
+ "#Force\n",
+ "F2=12.36*(sin(theta2*180**-1*pi))**-1 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force is\",round(F2,2),\"KN\"\n",
+ "print\"Direction of force is\",round(theta2,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force is 16.77 KN\n",
+ "Direction of force is 47.46 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.10,Page No.41"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_OC=4 #m \n",
+ "L_BC=3 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_O=20 #N\n",
+ "F_C=35 #N\n",
+ "F_B=25 #N \n",
+ "F_A=50 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resultant Forces\n",
+ "R1=(F_A**2+F_O**2)**0.5 #N\n",
+ "R2=(F_B**2+F_C**2)**0.5 #N\n",
+ "\n",
+ "#Angle\n",
+ "theta1=np.arctan(F_O*F_A**-1)*(180*pi**-1) #Degrees\n",
+ "theta2=np.arctan(F_B*F_C**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Angle between these two Forces\n",
+ "theta3=theta1+theta2 #Degrees\n",
+ "\n",
+ "#Resultant of Forces R1 & R2\n",
+ "P=(R1**2+R2**2+2*R1*R2*cos(theta3*pi*180**-1))**0.5 #N\n",
+ "\n",
+ "#Angle made by Resultant P with R1\n",
+ "S1=(R2*sin(theta3*pi*180**-1))\n",
+ "S2=R1+R2*cos(theta3*pi*180**-1)\n",
+ "alpha=np.arctan(S1*S2**-1)*(180*pi**-1)\n",
+ "\n",
+ "#Angle made by resultant P with vertical in anticlock wise direction\n",
+ "theta4=alpha-theta1 #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force\",round(P,2),\"N\"\n",
+ "print\"Direction of force\",round(theta4,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force 85.15 N\n",
+ "Direction of force 3.37 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_20.ipynb b/Engineering_Mechanics/chapter_20.ipynb
new file mode 100644
index 00000000..7512cbbd
--- /dev/null
+++ b/Engineering_Mechanics/chapter_20.ipynb
@@ -0,0 +1,2599 @@
+{
+ "metadata": {
+ "name": "chapter_20.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 20:Beams (Shear Force And Bending Moment)"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.1,Page No.730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "\n",
+ "L=2 #m #Span of beam\n",
+ "L_AB=0.5 #m\n",
+ "L_BC=0.7 #m\n",
+ "L_CD=0.8 #m\n",
+ "\n",
+ "#Point Load\n",
+ "F_D=800 #N\n",
+ "F_C=500 #N\n",
+ "F_B=300 #n\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A be the reactions at A \n",
+ "R_A=F_B+F_C+F_D #N\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#Shear Force at pt D\n",
+ "V_D=F_D #N\n",
+ "\n",
+ "#Shear Force at pt C\n",
+ "V_C1=V_D #N\n",
+ "V_C2=V_D+F_C #N\n",
+ "\n",
+ "#Shear force at pt B\n",
+ "V_B1=V_C2 #N\n",
+ "V_B2=V_C2+F_B\n",
+ "\n",
+ "#Shear Force at pt A\n",
+ "V_A=V_B2 #N\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at D\n",
+ "M_D=F_D*0 #N.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=F_D*L_CD #N.m\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=F_D*(L_CD+L_BC)+F_C*L_BC #N.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_D*L+F_C*(L_BC+L_AB)+F_B*L_AB #N.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CD,L_CD,L_CD+L_BC,L_CD+L_BC,L_CD+L_BC+L_AB]\n",
+ "Y1=[V_D,V_C1,V_C2,V_B1,V_B2,V_A]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_D,M_C,M_B,M_A]\n",
+ "X2=[0,L_CD,L_CD+L_BC,L_CD+L_BC+L_AB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRn5+vpGbm2sYhmH4fD4jKSnJMAzD+I//+A8jKyvLMAzDaGxsNCZPnmwcOHDAMAzDcDgcxieffBJe\ntsViMX43983rAAACV0lEQVT2s58ZhmEY27ZtM5588slO6z937pyRmppqHDp0yLjllluMDz/8sNM0\nu3fvNh5++OEe67pabW2tERsba7z77rvGpUuXjPnz5xsbNmwwDMMwysvLjZycnF63lYgZI+reViID\ndfbsWd58803uu+++cFtraytw+RbUV+44mpKSEn4Yzuuvv05ubi4AVquVJUuWdLv8MWPGcM899wAw\nf/58XnnllU7T3Hjjjfzbv/0bixcvZufOncyYMaPHmrur61ozZswgNTUVgNTUVJYuXQrA7Nmzqaur\n63EdImYpPOS6cunSJSZNmtTtM5rHjBkTfm38+XSgxWLp8KwDo4fThHFxceHXMTExtLW1dTndyZMn\nmTZtWqcHcHWnq7quNXbs2A7rvjJPT3WI9JfOech1JT4+nhkzZvCTn/wEuPxFfPLkyR7nufPOOzlw\n4ACGYdDU1MThw4fDn02cOJFPP/3UVA2///3v+eEPf8iJEyf4xS9+wdGjRztN01NAiQwHCg8Z1c6d\nO0diYmL456mnnuLFF1+ktLSUOXPmMHv2bCoqKsLTX/30tCuvV61ahd1ux+Vycf/99zNv3jxuuukm\nAB588EGWL18ePmF+7fzXPo3NMAw2btzID37wAxISEigtLWXjxo3hQ2fdzdvd62vn6e69nloog02X\n6or0wWeffcb48eP55JNPWLhwIW+88QbTp08f6rJEhozOeYj0wV/8xV/Q0tJCa2sr3/rWtxQcct1T\nz0NEREzTOQ8RETFN4SEiIqYpPERExDSFh4iImKbwEBER0xQeIiJi2v8BTFyv+JQ1JdcAAAAASUVO\nRK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c44d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c45d0>"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.2,Page No.733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#lengths\n",
+ "L_CB=1.5 #m \n",
+ "L_AC=0.5 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=1 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "R_A=w*L_CB #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at B\n",
+ "V_B=0\n",
+ "\n",
+ "#S.F at C\n",
+ "V_C=w*L_CB #KN\n",
+ "\n",
+ "#S.F at A\n",
+ "V_A=V_C #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at B\n",
+ "M_B=0\n",
+ "\n",
+ "#B.M at C\n",
+ "M_C=w*L_CB*L_CB*2**-1\n",
+ "\n",
+ "#B.M at A\n",
+ "M_A=w*L_CB*(L_CB*2**-1+L_AC) #KN\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CB,L_CB+L_AC]\n",
+ "Y1=[V_B,V_C,V_A]\n",
+ "Z1=[0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_C,M_A]\n",
+ "X2=[0,L_CB,L_AC+L_CB]\n",
+ "Z2=[0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nkmdmAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55b4f50>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x567d030>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.3,Page No.734"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=2 #m\n",
+ "\n",
+ "#Load\n",
+ "w=2 #KN/m \n",
+ "F_B=3 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A be the reaction at pt A\n",
+ "R_A=F_B+w*L_AB\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at B\n",
+ "V_B=F_B #KN\n",
+ "\n",
+ "#S.F at A\n",
+ "V_A=V_B+w*L_AB #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at A\n",
+ "M_A=F_B*L_AB+w*L_AB*L_AB*2**-1 #KN.m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_AB]\n",
+ "Y1=[V_B,V_A]\n",
+ "Z1=[0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_A]\n",
+ "X2=[0,L_AB]\n",
+ "Z2=[0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c4ef0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x583f090>"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.4,Page No.736"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_CB=0.5 #m\n",
+ "L_AC=1.5 #m\n",
+ "L=2 #m \n",
+ "\n",
+ "#Loads\n",
+ "F_C=2 #KN\n",
+ "w=1.5 #KN/m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A be the reaction at pt A\n",
+ "R_A=F_C+w*L #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B=0 #KN\n",
+ "\n",
+ "#S.F At pt C\n",
+ "V_C1=w*L_CB #KN\n",
+ "V_C2=V_C1+F_C #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A=F_C+w*L #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=w*L_CB*L_CB*2**-1\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_C*L_AC+w*L*L*2**-1 #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CB,L_CB,L_AC+L_AC]\n",
+ "Y1=[V_B,V_C1,V_C2,V_A]\n",
+ "Z1=[0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_C,M_A]\n",
+ "X2=[0,L_CB,L_AC+L_CB]\n",
+ "Z2=[0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c37d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nFixYQK9evSgsLOSJJ55Q2IuI2MjWG69ERMR3fLJ42pYtW2jWrBm//e1v+eMf/1jqe5577jl++9vf\n0qpVKw7eWBNKAAAGDElEQVQdOuSLsvyWq+PpdDqpVasW8fHxxMfHM3PmTBuq9A/jxo2jXr16tGzZ\nssz36Nx0n6vjqXPTfWfOnCExMZEWLVoQGxvLu+++W+r7PDo/y31V1k0FBQVGdHS08Y9//MPIy8sz\nWrVqZRw7dqzEezZu3Gj07t3bMAzDSE9PN9q3b291WX7LneO5c+dOIykpyaYK/cvf/vY34+DBg0Zs\nbGypr+vc9Iyr46lz033nzp0zDh06ZBiGYVy+fNlo2rRphbPT8h7+9TdghYaGFt+Adb3169fz2GOP\nAdC+fXsuXrxIZmam1aX5JXeOJ1Cpl6yoTLp27codd9xR5us6Nz3j6niCzk131a9fn7i4OADCw8OJ\niYnh7NmzJd7j6flpeeCXdgPWd9995/I93377rdWl+SV3jqfD4eDTTz+lVatW9OnTh2PHjvm6zICh\nc9O7dG6WT0ZGBocOHaJ9+/Ylfu/p+Wn5evju3oB149/67n4u2LhzXFq3bs2ZM2cICwtj8+bNDBgw\ngOPHj/ugusCkc9N7dG56Ljs7myFDhpCcnEx4ePhNr3tyflrew7/nnns4c+ZM8c9nzpwhMjLylu/5\n9ttvueeee6wuzS+5czwjIiIICwsDoHfv3uTn5/PPf/7Tp3UGCp2b3qVz0zP5+fkMHjyYRx99lAED\nBtz0uqfnp+WB37ZtW/7v//6PjIwM8vLyWL16NQ8//HCJ9zz88MOsWLECgPT0dGrXrk29evWsLs0v\nuXM8MzMzi//W37dvH4ZhUEeb25aLzk3v0rnpPsMweOKJJ2jevDkvvPBCqe/x9Py0fEinrBuw3n//\nfQCeeuop+vTpw6ZNm2jSpAk1a9Zk2bJlVpflt9w5nh9//DHvvfceISEhhIWFsWrVKpurrrxGjhzJ\nrl27yMrKolGjRsyYMYP8/HxA52Z5uDqeOjfdl5aWxn//939z//33Ex8fD8Cbb77J6dOngfKdn7rx\nSkQkSPjkxisREbGfAl9EJEgo8EVEgoQCX0QkSCjwRUSChAJfRCRIKPDFL5R2S7k3RUVFlXrH565d\nu9i7d2+pn0lNTS1zuW+RysjyG69EvMHq9WscDkepqzju3LmTiIgIOnbseNNrSUlJJCUlWVqXiDep\nhy9+68SJE/Tu3Zu2bdvSrVs3vvnmGwAef/xxnn/+eTp37kx0dDRr164FoKioiIkTJxITE0PPnj3p\n27dv8WsA8+fPp02bNtx///188803ZGRk8P777/POO+8QHx/Pnj17SrS/fPlynn322Vu2eb2MjAya\nNWvG2LFjue+++xg1ahRbt26lc+fONG3alP3791t1qEQABb74sQkTJjB//nw+//xz5syZw8SJE4tf\n+/7770lLS2PDhg1MmTIFgD//+c+cOnWKr776ig8//JC9e/eW+JdD3bp1OXDgAE8//TRvv/02UVFR\n/Ou//iuTJ0/m0KFDdOnSpUT7N/6ro7Q2b3TixAleeuklvv76a7755htWr15NWloab7/9Nm+++aa3\nDo1IqTSkI34pOzubvXv3MnTo0OLf5eXlAWYQX1tZMCYmpnhDiD179jBs2DAA6tWrR2JiYonvHDRo\nEGAu4fvnP/+5+PfurD5SVps3uvfee2nRogUALVq04KGHHgIgNjaWjIwMl+2IVIQCX/xSUVERtWvX\nLnMPz2rVqhU/vxbYN47T3xjk1atXB6Bq1aoUFBR4XFNpbd7oWhsAVapUKf5MlSpVytWmiCc0pCN+\n6fbbb+fee+/l448/BsyA/eKLL275mc6dO7N27VoMwyAzM5Ndu3a5bCciIoLLly+X+prWHRR/o8AX\nv5CTk0OjRo2KH//xH//BypUrWbJkCXFxccTGxrJ+/fri918/vn7t+eDBg4mMjKR58+aMHj2a1q1b\nU6tWrZvacjgcxZ9JSkpi3bp1xMfHk5aWVub7ymqztO8u62ftpCVW0/LIElSuXLlCzZo1+fHHH2nf\nvj2ffvopd999t91lifiExvAlqPTr14+LFy+Sl5fHa6+9prCXoKIevohIkNAYvohIkFDgi4gECQW+\niEiQUOCLiAQJBb6ISJBQ4IuIBIn/B6vzYmUHF4P4AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5686df0>"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.5,Page No.738"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_CB=0.25 #m\n",
+ "L_DC=1 #m \n",
+ "L_AD=0.25 #m\n",
+ "L_DB=1.25 #m\n",
+ "L=1.5 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_C=3 #KN #Point Load\n",
+ "w=2 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A be the reaction at A\n",
+ "R_A=F_C+w*(L_DC+L_CB)\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B=0\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=w*L_CB #KN\n",
+ "V_C2=V_C1+F_C #KN\n",
+ "\n",
+ "#S.F at D\n",
+ "V_D=w*(L_DC+L_CB)+F_C #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A=V_D #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=w*L_CB*L_CB*2**-1 #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=w*L_DB*L_DB*2**-1+F_C*L_DC #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=w*L_DB*(L_DB*2**-1+L_AD)+F_C*(L_DC+L_AD) #KN.m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CB,L_CB,L_CB+L_DB,L_CB+L_DB+L_AD]\n",
+ "Y1=[V_B,V_C1,V_C2,V_D,V_A]\n",
+ "Z1=[0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_C,M_D,M_A]\n",
+ "X2=[0,L_CB,L_DC+L_CB,L_DC+L_CB+L_AD]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nS3Z3QZIAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55b4770>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5686cb0>"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.6,Page No.739"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_CB=0.5 #m\n",
+ "L_DC=2 #m\n",
+ "L_ED=1.5 #m\n",
+ "L_AE=1 #m\n",
+ "L=5 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_B=2.5 #KN\n",
+ "F_E=3 #KN\n",
+ "w=1 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A be the reaction at A\n",
+ "R_A=F_B+F_E+w*L_DC #KN\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B=F_B\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=V_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D=V_C+w*L_DC #KN\n",
+ "\n",
+ "#S.F at pt E\n",
+ "V_E1=V_D #KN\n",
+ "V_E2=V_D+F_E #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A=V_E2 #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=F_B*L_CB #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=w*L_DC*L_DC*2**-1+F_B*(L_CB+L_DC) #KN.m\n",
+ "\n",
+ "#B.M at pt E\n",
+ "M_E=F_B*(L_ED+L_DC+L_CB)+w*L_DC*(L_DC*2**-1+L_ED) #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_B*L+w*L_DC*(L_DC*2**-1+L_ED+L_AE)+F_E*L_AE #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_CB,L_CB+L_DC,L_CB+L_DC+L_ED,L_CB+L_DC+L_ED,L_CB+L_DC+L_ED+L_AE]\n",
+ "Y1=[V_B,V_C,V_D,V_E1,V_E2,V_A]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_C,M_D,M_E,M_A]\n",
+ "X2=[0,L_CB,L_DC+L_CB,L_ED+L_DC+L_CB,L_ED+L_DC+L_CB+L_AE]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\neiE2NlZOp1OSFBUVpYSEBOXl5VnclXVatmwpSSopKZHP5wv6L7OdHT9+XB988IFmzJghRpIV0ndg\nSbizwAnBeDwe5ebmKi0tzepWLFNaWiqn06nOnTsrPT1diYmJVrdkmXvvvVdPPfWUIiLY69DhcGj4\n8OFKTU3V0qVLAx5nyTfFAidUpbCwUBkZGVq0aJGioqKsbscyERER+uKLL3T8+HF99tlnjXb5/dq1\na9WpUyclJydz1i5p69atys3N1bp16/T8889r8+bNlR5nSbh36dJFx44d878+duyYunbtakUrqGfO\nnz+viRMn6je/+Y1uvvlmq9upF9q0aaMbb7xRu3fvtroVS3z++edavXq14uPjlZmZqU2bNum2226z\nui3LXHbZZZKkmJgYjR8/Xjt37qz0OEvCPTU1VYcOHZLH41FJSYnefPNNjR071opWUI8YhqHbb79d\niYmJmjNnjtXtWOrUqVM6c+aMJKm4uFgfffSRkpOTLe7KGo899piOHTumo0ePauXKlRo2bJhee+01\nq9uyRFFRkX744QdJ0tmzZ7Vhw4aAV9pZEu7lFzglJibq17/+daO9IiIzM1ODBg3SwYMH1a1bNy1b\ntszqliyzdetWvf766/rkk0+UnJys5ORkrV+/3uq2LPHNN99o2LBhcjqdSktL05gxY3TddddZ3Va9\n0JiHdU+ePKkhQ4b4/1zcdNNNGjFiRKXHsogJAGyIqWcAsCHCHQBsiHAHABsi3AHAhgh3ALAhwh0A\nbIhwR71k9rYDCxcuVHFxcdjrrVmzplFvYY36g+vcUS+1bt3avxLPDPHx8dq9e7c6dOhQJ/WAusaZ\nOxqMI0eOaNSoUUpNTdW1116rAwcOSJJ++9vf6p577tE111yj7t27KycnR1LZroqzZs1SQkKCRowY\noRtvvFE5OTlasmSJ8vLylJ6eXmHV54MPPiin06mBAwfqX//618/qz5kzR/Pnz5ckffjhhxo6dOjP\njnnllVd01113VdlXeR6PR7169VJWVpZ69uypqVOnasOGDbrmmmv0q1/9Srt27ar9F4fGKegttAEL\nREVF/exnw4YNMw4dOmQYhmFs377dGDZsmGEYhjFt2jRj8uTJhmEYxv79+40ePXoYhmEYb7/9tjF6\n9GjDMAwjPz/faNeunZGTk2MYhmHExcUZ3333nf+zHQ6HsXbtWsMwDGPevHnGo48++rP6RUVFRlJS\nkrFp0yajZ8+exldfffWzY1555RVj9uzZVfZV3tGjR40mTZoYf//7343S0lIjJSXFmD59umEYhrFq\n1Srj5ptvDvpdAZUx7QbZQDgVFhZq27ZtmjRpkv9nJSUlksr2Grmwg2RCQoJOnjwpSdqyZYsmT54s\nSf490QNp1qyZbrzxRklSSkqKPvroo58d06JFCy1dulRDhgzRokWLFB8fX2XPgfq6VHx8vJKSkiRJ\nSUlJGj58uCSpd+/e8ng8VdYAAiHc0SCUlpaqbdu2ys3NrfT3zZo18z83fppGcjgcFfb/NqqYXmra\ntKn/eUREhLxeb6XH7du3TzExMSHfXKayvi7VvHnzCrUvvKeqPoBgGHNHgxAdHa34+Hi98847ksqC\nct++fVW+55prrlFOTo4Mw9DJkyf16aef+n/XunVrFRQUVKuHr7/+Ws8884z/RgmV7aNd1X9AgLpE\nuKNeKioqUrdu3fyPhQsXasWKFXrppZfkdDrVu3fvCjdJLr8N7IXnEydOVNeuXZWYmKhbb71V/fr1\nU5s2bSRJM2fO1A033OCfUL30/ZduK2sYhmbMmKGnn35asbGxeumllzRjxgz/0FCg9wZ6ful7Ar1u\nzNvbona4FBK2dvbsWbVq1Urfffed0tLS9Pnnn6tTp05WtwWYjjF32NpNN92kM2fOqKSkRA899BDB\njkaDM3cAsCHG3AHAhgh3ALAhwh0AbIhwBwAbItwBwIYIdwCwof8HTyHUnWh5XzsAAAAASUVORK5C\nYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x568fff0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\neXLLK2yqKIW+iC2pldMyATmQe+edd/LVV1/hdDpp1aqV93EjQ19E7EWtnODxGfq7du3i888/14VT\nRMQQmsoJLp9n5KakpHDkyJFg1CIiNlJcDJMnw8SJ8N//De+8o8APBp8r/WPHjpGUlESvXr1o27Yt\nUNs3WrduneHFiUj4USvHXD5D/+x2CHUPEKjVIyIXQq0c8/k1veN2u/nyyy8ZMGAAFRUVVFVV0b59\ne+OK0vSOSFjRVE5wBOTKWc899xxjx47lvvvuA+DQoUOMGjUqMBWKSFirqoKcHEhNhc6da1s548Yp\n8M3ks73z9NNPs2PHDm688UYArr32Wo4ePWp4YSIS2tTKsSafod+2bVvvAVyAqqoq9fRFpElq5Vib\nz/bOLbfcwh//+EcqKip45513GDt2bJN74IuIfamVExp8Hsitrq7m+eefZ+PGjQAMHjyYadOmGbra\n14FckdCivXKsIWB77wSbQl8kNKiVYy0Bmd5Zv349LpeLyy67jKioKKKiogwd1xQR61MrJ3T5XOkn\nJCSwevVqUlJSiIgIznXUtdIXsS61cqwrILtsxsbGkpycHLTAFxFrUisnPPgM/Xnz5jFkyBAyMjJo\n06YNUPtfkxkzZhhenIiYT3vlhBefof/4448TFRXFmTNnqKysDEZNImIROsEq/Pjs6aekpPDZZ58F\nqx5APX0Rs6mVE5oCMr0zdOhQNmzYELCiRMS6NJUT/nyu9CMjI6moqKBNmza0bt269kUOBydPnjSu\nKK30RYJOUzmhTydniYhPauWEj4CMbAKsXbuW9957D4fDwS233KK9d0TCgKZy7Mln6D/66KPs3LmT\nSZMm4fF4yMnJYdu2bTzxxBPBqE9EDKCpHPvy2d5JTU2lsLCQVq1aAbUbsDmdTj799FPjilJ7R8QQ\nauWEt4BM7zgcDkpLS733S0tLtZ++SIipqoLFizWVI360dx577DF69OhBeno6AJs3byY7O9voukQk\nQNTKkbr8mt755ptv2LlzJw6Hg169ehETE2NsUWrviLSYWjn206KRzY8++qje/bNPO9va6dGjRyBq\nbLwohb7IBauqgqefhv/939qpnMcf11SOXbQo9CMiIkhJSeGKK65o9IWbNm1qeYVNFaXQF7kgOsHK\n3lo0p79w4UL+/ve/065dO8aPH8+oUaOIiooKeJEi0nJq5Yi/mpzemT59Ovn5+eTk5HDo0CH69+/P\n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\nEhJ8ZnDQRzarqqq47rrrePfdd/nJT35Cr169WLFiBYmJicEsQ0TEloLe3rnooot46qmnGDx4MNXV\n1UydOlWBLyISJJY8OUtERIxhuYuoBOrErVA3ZcoUoqOjSU1NNbsU0xUVFZGRkUFycjIpKSnk5OSY\nXZJpzpw5Q+/evXE6nSQlJfHYY4+ZXZLpqqurcblcZGZmml2KqeLi4ujevTsul4tevXo1+TxLrfSr\nq6u57rrr+Oc//8nVV1/NDTfcYNt+/5YtW4iMjGTy5Ml8+umnZpdjquLiYoqLi3E6nZSXl5OWlsaa\nNWts+e8CoKKignbt2lFVVUXfvn2ZP38+ffv2Nbss0yxcuJBdu3ZRVlbGunXrzC7HNPHx8ezatYvL\nL7/8vM+z1Er/Qk7cClf9+vXjsssuM7sMS4iJicHpdAIQGRlJYmIi33zzjclVmaddu3YAVFZWUl1d\n7fP/5OHs0KFDvPXWW0ybNi2oF16yKn++A0uFfmMnbh0+fNjEisRq3G43BQUF9O7d2+xSTFNTU4PT\n6SQ6OpqMjAySkpLMLsk0Dz/8ME8++SQREZaKMlM4HA4GDBhAz549WbZsWZPPs9Q35e+JW2JP5eXl\n3H777SxevJjIyEizyzFNREQEhYWFHDp0iPfee8+22xC88cYbdOrUCZfLpVU+kJ+fT0FBAW+//TZP\nP/00W7ZsafR5lgr9q6++mqKiIu/9oqIiYmNjTaxIrOKHH35gzJgx3HnnnYwcOdLsciyhQ4cODBs2\njA8//NDsUkyxbds21q1bR3x8PBMmTOBf//oXkydPNrss03Tu3BmAq666ilGjRrFjx45Gn2ep0O/Z\nsydffPEFbrebyspKVq5cyW233WZ2WWIyj8fD1KlTSUpKYvr06WaXY6rjx49TWloKwOnTp3nnnXdw\nuVwmV2WOuXPnUlRUxIEDB3j11Ve59dZbeemll8wuyxQVFRWUlZUBcOrUKTZu3Njk5J+lQr/uiVtJ\nSUmMHz/ethMaEyZM4KabbmLfvn106dKF5cuXm12SafLz83n55ZfZtGkTLpcLl8tFbm6u2WWZ4siR\nI9x66604nU569+5NZmYm/fv3N7ssS7Bze7ikpIR+/fp5/10MHz6cQYMGNfpcS41sioiIsSy10hcR\nEWMp9EVEbEShLyJiIwp9EREbUeiLiNiIQl9ExEYU+hLSjN6OIS4ujhMnTpzz+ObNm9m+fXujr1m/\nfr2ttwUXawv6lbNEAsnoE3IcDkej+7ps2rSJqKgofvazn53zu8zMTNvv7S7WpZW+hJ39+/czZMgQ\nevbsyc0338zevXsBuOeee3jooYfo06cPCQkJvPbaa0DtrpUPPPAAiYmJDBo0iGHDhnl/B7BkyRLS\n0tLo3r07e/fuxe12s3TpUhYtWoTL5WLr1q31Pv8vf/kLv/71r8/7mXW53W66devGvffey3XXXcek\nSZPYuHEjffr04dprr2Xnzp1GfVViQwp9CTu//OUvWbJkCR9++CFPPvkkDzzwgPd3xcXF5Ofn88Yb\nb/Doo48C8Prrr3Pw4EF2797NX//6V7Zv317vL4irrrqKXbt2cf/99zN//nzi4uL41a9+xYwZMygo\nKDjnAiYN//po7DMb2r9/P7/97W/Zs2cPe/fuZeXKleTn5zN//nzmzp0bqK9GRO0dCS/l5eVs376d\nsWPHeh+rrKwEasP47A6diYmJlJSUALB161bGjRsH4N2jvq7Ro0cD0KNHD15//XXv4/7sYNLUZzYU\nHx9PcnIyAMnJyQwYMACAlJQU3G63z88R8ZdCX8JKTU0NHTt2pKCgoNHft2nTxvvz2dBu2LdvGOZt\n27YFoFWrVlRVVTW7psY+s6GznwG1++WffU1ERMQFfaZIU9TekbDSvn174uPj+cc//gHUhuwnn3xy\n3tf06dOH1157DY/HQ0lJCZs3b/b5OVFRUd6tbBvSHoZiZQp9CWkVFRV06dLFe/vTn/7EK6+8wvPP\nP4/T6SQlJaXexbLr9tvP/jxmzBhiY2NJSkrirrvuokePHnTo0OGcz3I4HN7XZGZmsnr1alwuF/n5\n+U0+r6nPbOy9m7pv5y2DJfC0tbIItReeuPTSS/n222/p3bs327Zto1OnTmaXJRJw6umLAMOHD6e0\ntJTKykpmz56twJewpZW+iIiNqKcvImIjCn0RERtR6IuI2IhCX0TERhT6IiI2otAXEbGR/wfOxavZ\n2e9ZygAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x583f810>"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.7,Page No.741"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=4 #m #Length of AC\n",
+ "w=2 #KN/m #u.v.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Shear force calculation\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B=0 #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A=w*L_AB*2**-1 #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=w*L_AB**2*6**-1 #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_AB]\n",
+ "Y1=[V_B,V_A]\n",
+ "Z1=[0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_A]\n",
+ "X2=[0,L_AB]\n",
+ "Z2=[0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x567d3b0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nEanE/wPMXV7pzFimMAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5815390>"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.8,Page No.745"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_DB=L_CD=L_AC=2 #m\n",
+ "L=6 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_C=3 #KN\n",
+ "F_D=6 #KN\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at pt A & B respectively\n",
+ "#R_A+R_B=F_C+F_D\n",
+ "\n",
+ "#Taking Moment at pt A,M_A\n",
+ "R_B=(F_D*(L_AC+L_CD)+F_C*L_AC)*L**-1 #KN\n",
+ "R_A=(F_C+F_D)-R_B\n",
+ "\n",
+ "#Shear force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B=R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=R_B #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F at C\n",
+ "V_C1=V_D2 #KN\n",
+ "V_C2=V_D2-F_C #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C2 #KN\n",
+ "V_A2=V_C2+R_A #KN\n",
+ "\n",
+ "#Bending Moment calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KNm\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=-R_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=F_D*L_CD-R_B*(L_DB+L_CD) #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+F_D*(L_CD+L_AC)+F_C*L_AC #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_DB,L_DB,L_DB+L_CD,L_DB+L_CD,L_DB+L_CD+L_AC,L_DB+L_CD+L_AC]\n",
+ "Y1=[V_B,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_CD+L_DB,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nOKJxjqPQogAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58bbf90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x56943f0>"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.9,Page No.748"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#LEngths\n",
+ "L_CB=3 #m\n",
+ "L_AC=6 #m\n",
+ "L= 9 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=10 #KN/m \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at pt A & B respectively\n",
+ "#R_A+R_B=w*L_AC\n",
+ "\n",
+ "#Taking Moment at pt A,M_A\n",
+ "R_B=w*L_AC*L_AC*2**-1*L**-1 #KN.m\n",
+ "R_A=w*L_AC-R_B #KN.m\n",
+ "\n",
+ "#Shear force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=V_B2 #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C-w*L_AC #KN\n",
+ "V_A2=V_C-w*L_AC+R_A #KN\n",
+ "\n",
+ "#Bending Moment calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*L_CB #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+w*L_AC*L_AC*2**-1 #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_CB,L_CB+L_AC,L_CB+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_C,M_A]\n",
+ "X2=[0,L_CB,L_CB+L_AC]\n",
+ "Z2=[0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58c5790>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nEBGR6P8A/lDdpaaxqhoAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x567d550>"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.10,Page No.749"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_DB=3 #m\n",
+ "L_CD=4 #m\n",
+ "L_AC=1 #m\n",
+ "L=8 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=10 #KN/m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_CD\n",
+ "\n",
+ "#Taking moment at pt A,M_A\n",
+ "R_B=(w*L_CD*(L_CD*2**-1+L_AC))*L**-1 #KN\n",
+ "R_A=w*L_CD-R_B #KN\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D=V_B2 #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=-w*L_CD+R_B #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C #KN\n",
+ "V_A2=V_C+R_A\n",
+ "\n",
+ "\n",
+ "#Bending Moment calculations\n",
+ "\n",
+ "#B.A at pt B\n",
+ "M_B=0\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=-R_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_DB+L_CD)+w*L_CD*L_CD*2**-1 #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+w*L_CD*(L_CD*2**-1+L_AC) #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB+L_CD,L_AC+L_DB+L_CD,L_AC+L_DB+L_CD]\n",
+ "Y1=[V_B1,V_B2,V_D,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nBTiz74A2AAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5807d10>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5694fd0>"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.11,Page No.751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_DB=2 #m \n",
+ "L_CD=2 #m\n",
+ "L_AC=3 #m\n",
+ "L=7 #m\n",
+ "\n",
+ "#Loads\n",
+ "w1=5 #KN/m\n",
+ "w2=10 #KN/m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_AC+w*L_DB\n",
+ "\n",
+ "#Taking moment at pt A,M_A\n",
+ "R_B=(w1*L_DB*(L_DB*2**-1+L_CD+L_AC)+w2*L_AC*L_AC*2**-1)*L**-1 #KN\n",
+ "R_A=(w1*L_DB+w2*L_AC)-R_B\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D=R_B-w1*L_DB #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=V_D #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C-w2*L_AC #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=w1*L_DB*L_DB*2**-1-R_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_CD+L_DB)+w1*L_DB*(L_DB*2**-1+L_CD) #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+w1*L_DB*(L_DB*2**-1+L_CD+L_AC)+w2*L_AC*L_AC*2**-1 #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB,L_AC+L_CD+L_DB]\n",
+ "Y1=[V_B1,V_B2,V_D,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_CD+L_DB,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\npeDJMfE6BXIovXv31l85aw1BQUH45ptvcNttt9lke0S2xj0Fcni//PILpk+fjpEjR2LixIkoKSkB\nACxZsgQyH74PAAADIklEQVR//vOfMX78eAQHByMrKwuAdiXVtLQ0hIeHIz4+HgkJCcjKysLmzZtR\nWVmJSZMmtboSes2aNRg+fDhiY2Nx7ty5Ntt/5JFH8OyzzwIA/vnPf+KOO+5o85odO3ZgxYoVHeZq\nSaPRICwsDCkpKRgyZAgWLFiAvLw8jB8/HoMHD8bXX39t/h8cOScbfa4DkU306tWrzWN33nmnVFpa\nKkmSJBUWFkp33nmnJEmStHjxYmnevHmSJEnSyZMnpZCQEEmSJGnv3r3SjBkzJEmSpOrqasnT01PK\nysqSJKntB8UoFArp448/liRJkp544gnpueeea7P969evS5GRkVJ+fr40ZMgQ6fTp021es2PHDumh\nhx7qMFdLZWVlkpubm/TDDz9Izc3NUkxMjJSamipJkiTl5ORIs2bNMvpnRdQeWa19RNRZV69exZEj\nR1otFdzQ0ABAu36QbqXX8PBw1NTUAAAOHTqEefPmAYD+cxcM8fDwQEJCAgAgJiYG+/fvb/OaHj16\n4K233sKECRPwyiuvICgoqMPMhnLdLCgoSL8oW2RkJKZMmQIAGDp0KDQaTYfbIDKEQ4EcWnNzM269\n9VYUFxe3+7yHh4f+tvSf02sKhaLVZxZIHZx2c3d31992cXFBY2Nju687fvw4vLy8TP5QqPZy3axb\nt26ttq17T0c5iIzhOQVyaH369EFQUBD+8Y9/AND+gD1+/HiH7xk/fjyysrIgSRJqampQUFCgf653\n7964fPlypzL8+uuveOmll/QfMNPe5wh0NHiIbIlDgRzK9evXERAQoP/atGkT3nvvPWzduhXDhw/H\n0KFDsW/fPv3rWy5Brbs9Z84c+Pv7IyIiAosWLcKIESP0n8f7wAMPYNq0afoTzTe//+YlrSVJwrJl\ny/Diiy/C19cXW7duxbJly/SHsAy919Dtm99j6L7cltYm+8FKKlE7rl27hp49e+LixYsYM2YMvvzy\nS3h7e4uORWR1PKdA1I4//elPqK2tRUNDA9auXcuBQE6DewpERKTHcwpERKTHoUBERHocCkREpMeh\nQEREehwKRESkx6FARER6/w+KE6mW6PFKAgAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569eb50>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c48f0>"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.12,Page No.752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_DB=4 #m\n",
+ "L_CD=4 #m\n",
+ "L_AC=2 #m\n",
+ "L=10 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_D=40 #KN\n",
+ "F_C=50 #KN\n",
+ "w=10 #KN/m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_CD+F_C+F_D\n",
+ "\n",
+ "#Taking moment at pt A,M_A\n",
+ "R_B=(F_C*L_AC+w*L_CD*(L_CD*2**-1+L_AC)+F_D*(L_CD+L_AC))*L**-1 #KN\n",
+ "R_A=(w*L_CD+F_C+F_D)-R_B #KN\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=V_B2 #KN\n",
+ "V_D2=V_B2-F_D #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=V_D2-w*L_CD #KN\n",
+ "V_C2=V_C1-F_C #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C2 #KN\n",
+ "V_A2=V_C2+R_A #KN\n",
+ "\n",
+ "#Bending Moment calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=-R_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_DB+L_CD)+F_D*L_CD+w*L_CD*L_CD*2**-1 #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+F_D*(L_CD+L_AC)+F_C*L_AC+w*L_CD*(L_CD*2**-1+L_AC)\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_DB,L_DB+L_CD,L_DB+L_CD,L_DB+L_CD+L_AC,L_DB+L_CD+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58b4310>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nchvDg4iI3Pb/RhPU7IsV5i8AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5837050>"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.13,Page No.758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=5 #m #Length of AB\n",
+ "F_1=800 #N u.d.l\n",
+ "F_2=1600 #N u.v.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Load on beam due to u.d.l of 800 N/m\n",
+ "w1=F_1*L_AB #N\n",
+ "\n",
+ "#Load on beam due to triangular Loading\n",
+ "w2=F_1*L_AB*2**-1 #N\n",
+ "\n",
+ "#Calculation of reactions R_A & R_B\n",
+ "#Taking moment about A,we get\n",
+ "#R_B=w1*L_AB*2**-1+w2**(2*5**-1of5)\n",
+ "#After further simplifying we get\n",
+ "R_B=2000+1333.33 #N\n",
+ "R_A=(w1+w2)-R_B #N\n",
+ "\n",
+ "#Consider any section X-X at a distance x from A.\n",
+ "#Rate of Loading at the section X-X\n",
+ "#w_x=800+160*x\n",
+ "\n",
+ "#Total Load on length AX\n",
+ "#W=800*x+80*x**2\n",
+ "\n",
+ "#Now the S.F at the section X-X is given by,\n",
+ "#F_x=R_A-Load on length AX\n",
+ "#After sub values and further simplifying we get\n",
+ "#F_x=2666.67-800*x-80*x**2 ............................(1)\n",
+ "\n",
+ "#Equation 1 shows that shear force between A & B \n",
+ "#At A\n",
+ "x=0\n",
+ "F_x1=F_x=2666.67-800*x-80*x**2 #N\n",
+ "\n",
+ "#At B\n",
+ "x=5\n",
+ "F_x2=F_x=2666.67-800*x-80*x**2 #N\n",
+ "\n",
+ "#Finding the position of zero shear.Equating S.F equal to zero in eqn(1)\n",
+ "#0=2666.67-800*x-80*x**2\n",
+ "#Further simplifying we get\n",
+ "#x**2+10*x-33.33=0\n",
+ "a=1\n",
+ "b=10\n",
+ "c=-33.33\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "\n",
+ "x1=(-b+X**0.5)*(2*a)**-1 #m\n",
+ "x2=(-b-X**0.5)*(2*a)**-1 #m\n",
+ "\n",
+ "#B.M Diagram\n",
+ "#B.M at the section X-X is given by\n",
+ "#M_x=R_A*x-800*x**2*2**-1-x**3*80*3**-1\n",
+ "#Further simplifyng we get\n",
+ "#M_x=2666.67*x-400*x**2-80*3**-1*x**3 ............2\n",
+ "\n",
+ "#Equation 2 shows that B.M between A & B varies \n",
+ "#At A\n",
+ "x=0\n",
+ "M_x1=2666.67*x-400*x**2-80*3**-1*x**3 #KN/m\n",
+ "\n",
+ "#At B\n",
+ "x=5\n",
+ "M_x2=2666.67*x-400*x**2-80*3**-1*x**3 #KN/m\n",
+ "\n",
+ "#value of M_X2 is very small .i.e equal to zero\n",
+ "#MAx B.M occurs where S.F is zero.\n",
+ "#But shear force is zero at distance of 2.637m from A.\n",
+ "#hence max B.M is Obtained by sub \n",
+ "x=2.637 #m\n",
+ "M_x=2666.67*x-400*x**2-80*3**-1*x**3\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_AB]\n",
+ "Y1=[F_x1,F_x2]\n",
+ "Z1=[0,0,]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_x1,M_x2]\n",
+ "X2=[0,L_AB]\n",
+ "Z2=[0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nDT7/vP/6r/8K6ssiSODQOBIJesOGDfOM4O0N48aN46233mLUqFF++TwRf9MeiUgnPvroI+bOncsN\nN9zALbfcwgcffADA8uXLWbduHTfffDNRUVHs3bsXaJ09d+3atcTGxjJ79mzmz5/P3r17eeaZZ6ip\nqWHmzJntRos//PDDJCYmcuONN/L3v/+9w+ffd999/Pu//zsA//M//8Ott97a4TXPP/8899xzz0Xr\naquyspKYmBhWrFjBhAkT+Pa3v01RURE333wz48eP58033/T+i5PgZESC3NChQzssmzVrlnG5XMYY\nYw4dOmRmzZpljDEmKyvLZGRkGGOMKS8vN9HR0cYYY1588UUzb948Y4wxdXV1ZsSIEWbv3r3GGGMc\nDoc5evSo571DQkLM73//e2OMMT/+8Y/No48+2uHzT58+beLj481rr71mJkyYYD7++OMOr3n++efN\nD37wg4vW1VZFRYUJDQ01f/3rX01LS4uZMmWKufvuu40xxuTn55uFCxd2+12JdCbU6kYmEmhOnTrF\nwYMHufPOOz3LGhsbgdb5l87PFBwbG0t9fT0Ab7zxBhkZGQCea3p0ZdCgQcyfPx+AKVOmsH///g6v\n+cpXvsIvfvELZsyYwdatWxk3btxFa+6qrguNGzeO+Ph4AOLj4/n6178OwMSJE6msrLzoZ4h0RY1E\n5AItLS1cddVVlJWVdfr8oEGDPPfNPyPGkJCQdtewMBeJHsPCwjz3BwwYQFNTU6eve/fddxk9enSP\nL8TWWV0XGjx4cLvPPr/OxeoQ6Y4yEpELhIeHM27cOPbs2QO0/ii/++67F13n5ptvZu/evRhjqK+v\n53//9389zw0bNozPP//8kmo4cuQITz31lOeiQp1dB+JizUrEn9RIJOidPn2asWPHem5PP/00v/71\nr8nJySExMZGJEydSUFDgeX3b6cXP31+0aBF2u524uDiWLl3K9ddfz/DhwwFYvXo1t912mydsv3D9\nC6crN8awatUqnnzySSIjI8nJyWHVqlWew2tdrdvV/QvX6epxsE+bLpdPp/+K+MgXX3zBlVdeydGj\nR5k2bRp//vOfGTNmjNVlifQ6ZSQiPvKNb3yD48eP09jYyCOPPKImIkFDeyQiIuIVZSQiIuIVNRIR\nEfGKGomIiHhFjURERLyiRiIiIl5RIxEREa/8f37S3KSpeHiTAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5694ed0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEPCAYAAABV6CMBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYlGX++PH3GFCeUrcUk8FQBgNEBwKlMhNLJbHILA3b\nisTKrycsd8uszdV2K1ktS6k8lJZbP3N33V1IkfWQaJmIKaWGl6FCDaNoIXgiGQ7374+nJlFgZpTh\n4fB5XZfXxQz3/cznmd2eD/fZoJRSCCGEEE5qpXcAQgghmhZJHEIIIVwiiUMIIYRLJHEIIYRwiSQO\nIYQQLpHEIYQQwiVuTRzp6ekEBgYSEBBAUlJSjWUSExMJCAjAbDaTnZ1tfz8hIQFvb2/69OlTrXxW\nVhb9+/cnLCyMfv36sWvXLnfeghBCiIspN6moqFD+/v4qLy9P2Ww2ZTabVU5OTrUy69atU8OHD1dK\nKZWZmakiIyPtv9u2bZvas2ePCgkJqVZn0KBBKj09XSmlVFpamoqKinLXLQghhKiB21ocWVlZmEwm\n/Pz88PT0JC4ujpSUlGplUlNTiY+PByAyMpKSkhIKCwsBGDhwIJ06dbrkujfccAOnTp0CoKSkBB8f\nH3fdghBCiBp4uOvCVqsVX19f+2uj0cjOnTsdlrFarXTt2rXW686dO5fbb7+dP/7xj1RVVbFjx476\nD14IIUSt3NbiMBgMTpVTF+144qje+PHjWbhwIT/88AMLFiwgISHhsmMUQgjhOre1OHx8fLBYLPbX\nFosFo9FYZ5mCggKHXU9ZWVls2rQJgAcffJAnnniixnImk4nDhw9fbvhCCNEi+fv7c+jQoTrLuK3F\nERERQW5uLvn5+dhsNlavXk1sbGy1MrGxsaxcuRKAzMxMOnbsiLe3d53XNZlMbN26FYDPPvuMXr16\n1Vju8OHDKKXkn1L8+c9/1j2GxvJPvgv5LuS7qPufM39wu63F4eHhQXJyMtHR0VRWVjJ+/HiCgoJY\nsmQJABMmTCAmJoa0tDRMJhNt27ZlxYoV9vpjx45l69atFBUV4evry8svv8y4ceNYunQpkydPpqys\njNatW7N06VJ33YIQQogauC1xAAwfPpzhw4dXe2/ChAnVXicnJ9dYd9WqVTW+HxERcckguxBCiIYj\nK8dbgKioKL1DaDTku/iNfBe/ke/CNQalVLM8yMlgMNBMb00IIdzGmWentDiEEEK4RBKHEEIIl0ji\nEEII4RJJHEIIIVwiiUMIIYRLJHEIIYRwiSQOIYQQLpHEIYQQwiWSOIQQQrjErXtVCSGEaBrKy+Gi\nQ1prJYlDCCFauO3b4f/+D7p1c668dFUJIUQLVVQETz4JY8bASy9Berpz9SRxCCFEC6MUfPgh9O4N\nrVtDTo6WPJw88Vu6qoQQoiU5cAAmToSzZ2HtWoiIcP0abm1xpKenExgYSEBAAElJSTWWSUxMJCAg\nALPZTHZ2tv39hIQEvL296dOnzyV1Fi1aRFBQECEhIcyYMcNt8QshRHNRWgovvgh33AEPPgg7d15e\n0gBAuUlFRYXy9/dXeXl5ymazKbPZrHJycqqVWbdunRo+fLhSSqnMzEwVGRlp/922bdvUnj17VEhI\nSLU6n332mRoyZIiy2WxKKaVOnDhR4+e78daEEKJJSUtTqkcPpcaMUcpqrbusM89Ot7U4srKyMJlM\n+Pn54enpSVxcHCkXzfVKTU0lPj4egMjISEpKSigsLARg4MCBdOrU6ZLrvvvuu8ycORNPT08AOnfu\n7K5bEEKIJs1qhdGjYepUePddWL3a+ZlTdXFb4rBarfj6+tpfG41GrFary2Uulpuby7Zt27jllluI\nioriq6++qt/AhRCiiauogLfeArMZgoJg3z6Ijq6/67ttcNzg5PC8uuiIQkf1KioqKC4uJjMzk127\ndjFmzBiOHDlSY9nZs2fbf46KipJzhYUQzd6uXdqajGuvhS++gMDAustnZGSQkZHh0me4LXH4+Phg\nsVjsry0WC0ajsc4yBQUF+Pj41Hldo9HIqFGjAOjXrx+tWrWiqKiI66677pKyFyYOIYRozkpKtMHv\nNWtg3jx45BHnptde/Ef1nDlzHNZxW1dVREQEubm55OfnY7PZWL16NbGxsdXKxMbGsnLlSgAyMzPp\n2LEj3t7edV535MiRfPbZZwB899132Gy2GpOGEEK0BErBJ59AcLDWRZWTA48+6vyajMvhthaHh4cH\nycnJREdHU1lZyfjx4wkKCmLJkiUATJgwgZiYGNLS0jCZTLRt25YVK1bY648dO5atW7dSVFSEr68v\nL7/8MuPGjSMhIYGEhAT69OmDl5eXPfEIIURLk5sLkydDYaHW0rj11ob5XIO6eJChmTAYDJeMnwgh\nRHNQVgZJSbBwIcycCYmJ8MtE0yvmzLNTVo4LIUQTsnkzTJqkdU3t2QPduzd8DJI4hBCiCTh+HKZP\n13ayXbgQLhoyblCyyaEQQjRiVVWweDGEhIDRCN9+q2/SAGlxCCFEo/X119qaDA8P+OwzqGHrPl1I\ni0MIIRqZM2e0bqnoaO28jG3bGk/SAEkcQgjRaCgF//63NvBdXAz798P48dCqkT2ppatKCCEagbw8\nbTPCI0fgo49g0CC9I6pdI8tjQgjRsthsMHcu9OsHAwZo4xqNOWmAtDiEEEI3n3+uDX7feCNkZUHP\nnnpH5BxJHEII0cB++gmeew42bNC2Px81yr17S9U36aoSQogGUlUFy5dD797QoYO2IeEDDzStpAHS\n4hBCiAaxfz9MnKjtM5WeDmFhekd0+aTFIYQQbnTuHDz/PAweDA8/DDt2NO2kAZI4hBDCbdau1bql\nLBbt+NaJE+Gqq/SO6spJV5UQQtQziwWmTdO6p957D4YM0Tui+iUtDiGEqCcVFfDGG1pXlNkMe/c2\nv6QBbk4c6enpBAYGEhAQQFJSUo1lEhMTCQgIwGw2k52dbX8/ISEBb29v+tSyQcvrr79Oq1atOHny\npFtiF0IIV2RmQkQEpKXBl1/Cn/8M11yjd1Tu4bbEUVlZyZQpU0hPTycnJ4dVq1Zx4MCBamXS0tI4\ndOgQubm5LF26lIkTJ9p/N27cONLT02u8tsViYePGjdx4443uCl8IIZxSXKwt4hs1SlubsXEj9Oql\nd1Tu5bbEkZWVhclkws/PD09PT+Li4khJSalWJjU1lfj4eAAiIyMpKSmhsLAQgIEDB9KpU6carz19\n+nT+9re/uSt0IYRwSCltT6ngYG3AOydHmzXV1NZkXA63DY5brVZ8fX3tr41GIzt37nRYxmq10rVr\n11qvm5KSgtFopG/fvvUftBBCOOHgQW2GVHExpKRA//56R9Sw3JY4DE6m3YsPRa+rXmlpKa+++iob\nN26stf6FZs+ebf85KiqKqKgop2ISQoianD8Pr70Gb78Nf/oTTJmiHbLUlGVkZJCRkeFSHYe3/Omn\nnzJr1izy8/OpqKgAtIf76dOn66zn4+ODxWKxv7ZYLBiNxjrLFBQU4OPjU+s1Dx8+TH5+Pmaz2V4+\nPDycrKwsunTpckn5CxOHEEJciQ0bYNIkCA3VdrC96HHWZF38R/WcOXMcV1IO9OzZU33zzTeqsrLS\nUdFqysvLVc+ePVVeXp4qKytTZrNZ5eTkVCuzbt06NXz4cKWUUjt27FCRkZHVfp+Xl6dCQkJq/Qw/\nPz9VVFRU4++cuDUhhHDo6FGlHnpIqR49lFq3Tu9o3M+ZZ6fDwXGj0Ujv3r1p5eIRVB4eHiQnJxMd\nHU1wcDAPPfQQQUFBLFmyhCVLlgAQExNDz549MZlMTJgwgXfeecdef+zYsdx222189913+Pr6smLF\niks+w9nuMCGEcFVlJSQnQ9++4O+vLeaLidE7qsbB8EuGqVVmZiazZs1i8ODBeHl5aZUMBqZPn94g\nAV4ug8FQ5/iHEELUZvdubYpt69aweLE2c6qlcObZ6XCM46WXXqJ9+/acP38em81Wb8EJIURjc+oU\nvPQSrF4NSUkQH98ypte6ymHiOHbsWLVZTEII0dwoBf/6FzzzDNx9t7Ym47rr9I6q8XKYOGJiYvjf\n//5HdHR0Q8QjhBAN6vBhbVqtxQKffAK33653RI2fwzGOdu3aUVpaipeXF56enlolJ6bj6k3GOIQQ\ndSkrg/nzYcECbauQZ56BXx5xLVq9jHGcPXu23gISQojGICNDW/ltMsFXX4Gfn94RNS1NfM2jEEI4\n78QJePZZ2LIFFi6E++6Twe/LcVmbHIY19XMPhRAtSlUVLFsGISHQubM2+D1ypCSNy+VwjKOpkjEO\nIQRohyn93/9pM6cWL9YOWBK1c+bZKScACiGapbNntW6pIUPg8cdh+3ZJGvWl1jGOHj161FrJYDBw\n5MgRtwQkhBBXKiUFEhNh0CBtq5Aa9kAVV6DWxLFr1y77zwaDgaqqKlavXs38+fO5+eabGyQ4IYRw\nxfffawnj4EFYsQLuvFPviJqnWruqrr/+eq6//np+97vf8emnnxIVFcWOHTtIS0tjzZo1DRmjEELU\nqbwc5s2D8HDo1w+++UaShjvV2uKw2WwsX76cBQsWcPvtt5OSkoLJZGrI2IQQwqHt27XB727dIDNT\nW5sh3KvWWVVGoxEPDw+mTZtG9+7d7VuYK6UwGAyMGjWqQQN1lcyqEqJ5KyqC55+HtDRt9ffo0TK9\ntj5c0crxIUOGALB371727t17ye8be+IQQjRPSsHKlTBjBowZo63J6NBB76haFofrOM6fP88111xT\n7b2ioiKua+RbR0qLQ4jm58ABbauQs2e1NRkREXpH1PzUyzqOUaNGUV5ebn997Ngxhg4d6nQQ6enp\nBAYGEhAQQFJSUo1lEhMTCQgIwGw2k52dbX8/ISEBb29v+vTpU638s88+S1BQEGazmVGjRnHq1Cmn\n4xFCND2lpfDii3DHHfDgg7BzpyQNPTlMHPfffz9jxoyhsrKS/Px8oqOjmTt3rlMXr6ysZMqUKaSn\np5OTk8OqVas4cOBAtTJpaWkcOnSI3Nxcli5dysSJE+2/GzduHOnp6Zdcd9iwYXz77bd888039OrV\ni9dee82peIQQTc/69dpWIYcPa7OlpkyBq67SO6qWzeEmh08++SRlZWXcd999fP/99yxevJgBAwY4\ndfGsrCxMJhN+v2w9GRcXR0pKCkFBQfYyqampxMfHAxAZGUlJSQmFhYV07dqVgQMHkp+ff8l1L2zx\nREZGyvRgIZohqxWefhqys+Hdd0GOBGo8ak0cr7/+OvBbf5fFYsFsNpOZmcnOnTudOnPcarXi6+tr\nf200Gtm5c6fDMlarla5duzp1A8uXL2fs2LFOlRVCNH4VFfD22/CXv8CkSdpAeOvWekclLlRr4jhz\n5ox9Ci5oXVYGg8Gl8zkMTs6Nu3ggxtl6r7zyCl5eXjz88MM1/n727Nn2n6OiooiKinLqukIIfeza\npa3JuPZa+OILCAzUO6LmLyMjg4yMDJfq1Jo4LnzoXi4fHx8sFov9tcViwWg01lmmoKAAHx8fh9f+\n4IMPSEtLY/PmzbWWqY97EEK4X0mJNvi9Zo22AvyRR2RNRkO5+I/qOXPmOKzj1t1xIyIiyM3NJT8/\nH5vNxurVq4mNja1WJjY2lpUrVwKQmZlJx44d8fb2rvO66enpzJs3j5SUlEumCgshmg6lYNUqCA7W\nuqhycuDRRyVpNHZuPQHQw8OD5ORkoqOjqaysZPz48QQFBbFkyRIAJkyYQExMDGlpaZhMJtq2bcuK\nFSvs9ceOHcvWrVspKirC19eXl19+mXHjxjF16lRsNpt9kPzWW2/lnXfeceetCCHqWW4uTJ4Mx49r\nLY1bb9U7IuEsOchJCNGgysogKUk7unXmTJg2DTzkEOtG44q2HPnViRMnWLZsGfn5+VRUVNgvvHz5\n8vqJUgjRYmzerM2UCg6GPXuge3e9IxKXw2HiuO+++7jjjjsYOnQorVppQyLOznoSQgjQuqOmT9d2\nsl24EC4a6hRNjMPE8fPPP9e6VYgQQtSlqgqWLoVZsyAhAb79Ftq21TsqcaUcJo577rmHdevWMWLE\niIaIRwjRTHz9tbYmw8ND66K6aMs50YQ5HBxv164dpaWleHl54enpqVUyGDh9+nSDBHi5ZHBcCH2c\nOQN//jN8/DG8+iqMGwet3DrxX9Snehkcd2WluBCi5VIK/vMfbZbUkCGwfz907qx3VMIdak0cBw4c\nICgoiD179tT4+5tvvtltQQkhmpa8PJg6FY4cgY8+gkGD9I5IuFOtXVVPPvkky5YtIyoqqsZZVFu2\nbHF7cFdCuqqEcD+bDd54A+bPhz/8Qfvn5aV3VOJKOPPslAWAQojL8vnn2uD3jTdCcjL07Kl3RKI+\n1MsYhxBCXOinn+C552DjRnjzTRg1SvaWamlkroMQwilVVbB8OfTuDR06aBsSPvCAJI2WSFocQgiH\n9u+HiRO1fabS0yEsTO+IhJ4ctjjuuusup94TQjQ/587B88/D4MHw8MOwY4ckDVFHi+Pnn3+mtLSU\nH3/8kZMnT9rfP336NFartUGCE0LoZ+1amDIFBgyAffvAydOcRQtQa+JYsmQJb731FkePHiU8PNz+\nfvv27ZkyZUqDBCeEaHgWi7aIb/9+eO89bTGfEBeqtavq6aefJi8vj3nz5pGXl2f/t3fvXqcTR3p6\nOoGBgQQEBNS6UWJiYiIBAQGYzWays7Pt7yckJODt7U2fiza4OXnyJEOHDqVXr14MGzaMkpISp2IR\nQtStokJbkxEWBmYz7N0rSUPUzKl1HF9++WW18zgAHnvssTrrVFZWctNNN7Fp0yZ8fHzo168fq1at\nIigoyF4mLS2N5ORk0tLS2LlzJ9OmTSMzMxOAzz//nHbt2vHYY4+xb98+e53nnnuO66+/nueee46k\npCSKi4uZO3fupTcm6ziEcFpmprYmo3NnePtt6NVL74iEXuplHccjjzzCkSNHCA0N5aqrrrK/7yhx\nZGVlYTKZ8PPzAyAuLo6UlJRqiSM1NZX4+HgAIiMjKSkpobCwkK5duzJw4EDy8/MvuW5qaipbt24F\nID4+nqioqBoThxDCseJi7RS+1FR4/XWIi5PptcIxh4lj9+7d5OTkuHx4k9VqxdfX1/7aaDSyc+dO\nh2WsVitd6xiFO378ON7e3gB4e3tz/Phxl+ISQmgbEn78MTz7rLaALycHOnbUOyrRVDhMHCEhIRw7\ndoxu3bq5dGFnE83FTSJXEpTBYJDTCIVw0cGD2pqM4mJISYH+/fWOSDQ1DhPHjz/+SHBwMP379+fq\nq68GtAd2ampqnfV8fHywWCz21xaLBaPRWGeZgoICfHx86ryut7e3vTvr2LFjdOnSpdays2fPtv8c\nFRVFVFRUndcWojk7fx5ee00bw3jpJZg8WTtkSbRsGRkZZGRkuFTH4eD4rxe8cMDEYDAwyMG+yRUV\nFdx0001s3ryZbt260b9//zoHxzMzM3n66aftg+MA+fn53HvvvZcMjl933XXMmDGDuXPnUlJSIoPj\nQjiwYQNMmgShofDWW+Dg7zPRgjn17FROyMvLUxs3blRKKXXu3Dl16tQpZ6qptLQ01atXL+Xv769e\nffVVpZRSixcvVosXL7aXmTx5svL391d9+/ZVu3fvtr8fFxenbrjhBuXl5aWMRqNavny5UkqpoqIi\nddddd6mAgAA1dOhQVVxcXONnO3lrQjRrR48q9dBDSvXoodS6dXpHI5oCZ56dDlscS5cuZdmyZZw8\neZLDhw/z3XffMXHiRDZv3lx/Kc4NpMUhWrLKSnj3XZgzB556Cl58Edq00Tsq0RTUy3Tct99+m6ys\nLG655RYAevXqxYkTJ+onQiFEvdu9W1uT0bo1bN0KwcF6RySaG4ebHF599dX2QXHQxi5kJpMQjc+p\nU5CYCDEx2sC3JA3hLg4Tx6BBg3jllVcoLS1l48aNjB49mnvvvbchYhNCOEEp+Oc/tXMySku1NRmP\nPy4L+YT7OBzjqKys5P3332fDhg0AREdH88QTTzT6VoeMcYiW4PBhbQfbggJYvFjbyVaIKyFnjjfP\nWxOCsjKYPx8WLNCOcX3mGfD01Dsq0Rw48+x02FX16aefEhYWRqdOnWjfvj3t27fn2muvrbcghRCu\nycjQ1mNkZsJXX2mJQ5KGaEgOWxz+/v785z//ISQkhFatms4R5dLiEM3NiRPa3lJbtsDChXDffTKO\nIepfvbQ4jEYjvXv3blJJQ4jmpKoKli2DkBBt2/OcHBg5UpKG0I/DdRxJSUkMHz6cwYMH4+XlBWgZ\nafr06W4PToiWbu9ebU2GUrBxo3bAkhB6c9iMeOmll2jXrh3nz5/n7NmznD17ljNnzjREbEK0WGfP\nat1SQ4ZoU2u3b5ekIRoPhy2OY8eOsXHjxoaIRQiBttV5YiIMGqSd+13HBtBC6MJhiyMmJob//e9/\nDRGLEC3a999rA94zZsAHH8DKlZI0ROPkcFZVu3btKC0txcvLC89f5vwZDAZOnz7dIAFeLplVJZqK\n8nJ4801ISoKnn9a6qC7Y5UeIBlUvmxyePXu23gISQlS3fbs2+N2tm7Yuw2TSOyIhHHPq/K+UlBS2\nbdtmP8BJ9qoS4soUFcHzz0Namrb6e/RomV4rmg6HYxzPP/88CxcupHfv3gQFBbFw4UJmzpzZELEJ\n0ewoBR9+qG1I2Lq1tiZjzBhJGqKJcXTSU0hIiKqoqLC/rqioUCEhIU6dJLV+/Xp10003KZPJpObO\nnVtjmalTpyqTyaT69u2r9uzZ47Duzp07Vb9+/VRoaKiKiIhQWVlZNV7XiVsTokHl5Cg1aJBS4eFK\n7dqldzRC1MyZZ6fDEn369FE//fST/fVPP/2k+vTp4/DCFRUVyt/fX+Xl5SmbzabMZrPKycmpVmbd\nunVq+PDhSimlMjMzVWRkpMO6gwYNUunp6Uop7WjaqKiomm9MEodoJM6dU+qFF5S6/nqlFi1S6oK/\nw4RodJx5djoc45g5cyY333wzUVFRAGzdupW5c+c6bMlkZWVhMpnw8/MDIC4ujpSUFIKCguxlUlNT\niY+PByAyMpKSkhIKCwvJy8urte4NN9zAqVOnACgpKcHHx8fZxpUQDW79eu1Qpf794ZtvtEFwIZo6\nh4lj7NixDBo0iF27dmEwGEhKSqJr164OL2y1WvH19bW/NhqN7Ny502EZq9XK0aNHa607d+5cbr/9\ndv74xz9SVVXFjh07HN+lEA3MatWm1mZna2d/R0frHZEQ9afWwfE9e/bY/xUWFmI0GvHx8eHo0aPs\n2bPH4YWdPehJubjWYvz48SxcuJAffviBBQsWkJCQ4FJ9IdypogLeekvbHiQoCPbtk6Qhmp9aWxwR\nERGEhIRw3XXX1fj7LVu21HlhHx8fLBaL/bXFYsFoNNZZpqCgAKPRSHl5ea11s7Ky2LRpEwAPPvgg\nTzzxRK0xzJ492/5zVFSUvbtNCHfYtUtbk9GhA3zxBQQG6h2REI5lZGSQkZHhWqXaBj8WLFigbrvt\nNhUTE6M+/PBDdfr0aZcGWMrLy1XPnj1VXl6eKisrczg4vmPHDvvgeF11w8LCVEZGhlJKqU2bNqmI\niIgaP7+OWxOiXhUXKzVpklJduyr1978rVVWld0RCXD5nnp0OSxw6dEi98sorql+/furBBx9U2dnZ\nTgeQlpamevXqpfz9/dWrr76qlFJq8eLFavHixfYykydPVv7+/qpv375q9+7dddZVSqldu3ap/v37\nK7PZrG655ZZqU3ir3ZgkDuFmVVVK/b//p9QNNyj11FNKFRXpHZEQV86ZZ6dTZ45/++23rFq1io8+\n+oikpCQeeuihy2gQNSzZq0q4U26uNlvq+HFYvBhuvVXviISoH848O2tNHIcPH+aTTz4hJSWF7t27\n89BDD3HPPffQunVrtwRb3yRxCHcoK9M2I1y4EF54Qdv+3MOpjXuEaBquKHG0atWKPn36MHLkSK69\n9tpqF2wKJwBK4hD1bfNmmDQJgoO1xHHBjHEhmo0r2h131qxZ9im1skOuaMkKC+EPf9B2sl24EGJj\n9Y5ICH05NcbRFEmLQ1ypqipYsgRmzYLx4+Gll6BtW72jEsK96uU8DiFaoq+/1tZkeHjAZ59Bnz56\nRyRE4+FwW3UhWpIzZ2D6dG2195NPwrZtkjSEuJgkDiHQzsn497+1ge/iYti/X+ueaiX/hQhxCYdd\nVa+//nq1Pi+DwUCHDh0IDw8nNDTU7QEK4W55eTB1Khw5Ah99BIMG6R2REI2bw7+ndu/ezeLFizl6\n9ChWq5UlS5awfv16nnzySZKSkhoiRiHcwmaDuXOhXz8YMEAb15CkIYRjDmdVDRw4kPXr19OuXTtA\nm5obExNDeno64eHhHDhwoEECdZXMqhJ12bYNJk6EG2+E5GTo2VPviIRoHOplVtWPP/6Il5eX/bWn\npyfHjx+nTZs2XHPNNVcepRAN6Kef4LnnYONGePNNGDVKzvsWwlUOE8fvf/97IiMjGTlyJEopPv30\nUx5++GHOnTtHcHBwQ8QoxBWrqoIPPoCZM+HhhyEnB9q31zsqIZompxYA7tq1i+3bt2MwGBgwYAAR\nERENEdsVka4q8av9+7VuqbIybUFfWJjeEQnReF3RXlUXqqyspLCwkIqKCvs2JN27d6+fKN1EEoc4\ndw7+8hd4/314+WV46im46iq9oxKicauXMY5FixYxZ84cunTpwlUX/Fe3b9++K49QCDdZuxamTNFm\nS+3bB1276h2REM2HwxaHv78/WVlZtR4h21hJi6Nlslhg2jSte+qdd2DIEL0jEqJpcebZ6XAdR/fu\n3e3bqrsqPT2dwMBAAgICal3zkZiYSEBAAGazmezsbKfqLlq0iKCgIEJCQpgxY8ZlxSaal4oKeOMN\nbfzCbIa9eyVpCOEuDruqevToweDBgxkxYoR9Wq4z53FUVlYyZcoUNm3ahI+PD/369SM2NpagoCB7\nmbS0NA4dOkRubi47d+5k4sSJZGZm1ll3y5YtpKamsnfvXjw9Pfnxxx+v8CsQTV1mprYhYefO8OWX\n0KuX3hEJ0bw5TBzdu3ene/fu2Gw2bDab/SAnR7KysjCZTPj5+QEQFxdHSkpKtcSRmppKfHw8AJGR\nkZSUlFAdq0qwAAAVsklEQVRYWEheXl6tdd99911mzpyJp6cnAJ07d3b1nkUzUVysTa9NTYXXX4e4\nOFmTIURDcJg4Zs+efVkXtlqt+F5wRJrRaGTnzp0Oy1itVo4ePVpr3dzcXLZt28YLL7zANddcw/z5\n85vE9GBRf5SCjz+GZ5/VFvDl5EDHjnpHJUTLUWvimDZtGm+99Rb33nvvJb8zGAykpqbWeWFnWiWA\nywPYFRUVFBcXk5mZya5duxgzZgxHjhypseyFSS8qKoqoqCiXPks0PgcPamsyioshJQX699c7IiGa\ntoyMDDIyMlyqU2viePTRRwH4wx/+cFnB+Pj4YLFY7K8tFgtGo7HOMgUFBRiNRsrLy2utazQaGTVq\nFAD9+vWjVatWFBUV1Tjr63JbS6LxOX8eXnsN3n5bO4lv8mTtkCUhxJW5+I/qOXPmOK6k3KS8vFz1\n7NlT5eXlqbKyMmU2m1VOTk61MuvWrVPDhw9XSim1Y8cOFRkZ6bDu4sWL1axZs5RSSh08eFD5+vrW\n+PluvDXRwP73P6X8/ZV64AGlCgr0jkaI5s2ZZ2etf7P1qePYM4PBwN69e+tMSB4eHiQnJxMdHU1l\nZSXjx48nKCiIJUuWADBhwgRiYmJIS0vDZDLRtm1bVqxYUWddgISEBBISEujTpw9eXl6sXLnScXYU\nTdKxY/DMM5CVpe1gGxOjd0RCCKhjAWB+fj4A77zzDqB1XSml+PjjjwEa/VkcsgCw6aqshHffhTlz\ntG1CXnwR2rTROyohWoZ62asqNDSUr7/+utp7YWFh1RbrNUaSOJqm3bu1NRlt2mjJQzZgFqJh1cvK\ncaUUX3zxhf319u3b5YEs6t2pU5CYCCNGaHtMZWRI0hCisXI4L2X58uWMGzeOU6dOAdCxY0f7WIQQ\nV0op+Oc/tbGM4cPh22+hiW2LJkSL49S26oA9cXTo0MGtAdUX6apq/A4f1loXBQWweLG2k60QQl/1\nsq36+fPnWbNmDfn5+VRUVNgvPGvWrPqJUrQ4ZWUwfz4sWKAd4/rMM/DLDjJCiCbAYeK477776Nix\nI+Hh4XLGuLhiGRnaym+TCb76Cn7ZjkwI0YQ47KoKCQlh//79DRVPvZGuqsblxAltb6ktW2DhQrjv\nPtmQUIjGqF5mVd12220OF/sJUZuqKli2DEJCtG3Pc3Jg5EhJGkI0ZQ5bHEFBQRw6dIgePXpw9dVX\na5WcWDmuN2lx6G/vXm1NhlLa4LfZrHdEQghH6mUB4K8ryC/m18g7pyVx6OfsWW3V94cfwl//Ck88\nAa0ctm2FEI1BvXRV+fn5YbFY2LJlC35+frRt21YeyKJWKSnQuzccP66d+/3UU5I0hGhuHLY4Zs+e\nze7duzl48CDfffcdVquVMWPGsH379oaK8bJIi6Nhff+9tvL74EFtq5DBg/WOSAhxOeqlxfGf//yH\nlJQU2rZtC2hnaJw5c6Z+IhRNXnk5zJsH4eHQrx98840kDSGaO4frOK6++mpaXdDXcO7cObcGJJqO\n7du1we9u3SAzU1ubIYRo/hy2OEaPHs2ECRMoKSlh6dKl3HXXXTzxxBMNEZtopIqK4MknYcwY7TS+\n9HRJGkK0JE7tVbVhwwY2bNgAQHR0NEOHDnV7YFdKxjjqn1KwciXMmKEljb/8BZrI1mVCCCfVyxgH\nwLBhw5g/fz4zZsxgyJAhTgeQnp5OYGAgAQEBtR78lJiYSEBAAGazudoZH47qvv7667Rq1YqTJ086\nHY+4fAcOaGMXixbB2rXa6m9JGkK0ULWdKfvll1+qQYMGqfvvv1/t2bNH9e7dW3l7e6vOnTurtLQ0\nh2fSVlRUKH9/f5WXl6dsNpvDM8czMzPtZ447qvvDDz+o6Oho5efnp4qKimr8/DpuTbjg3DmlXnhB\nqeuvV2rRIqUqKvSOSAjhTs48O2ttcUyZMoUXXniBsWPHMnjwYN577z0KCwvZtm0bM2fOdJiQsrKy\nMJlM+Pn54enpSVxcHCkpKdXKpKamEh8fD0BkZCQlJSUUFhY6rDt9+nT+9re/XV6mFE5bv17bKuTw\nYW221JQpcNVVekclhNBbrYmjsrKSYcOGMXr0aG644QZuueUWAAIDAzE4sdGQ1WrF19fX/tpoNGK1\nWp0qc/To0VrrpqSkYDQa6du3r5O3KFxltcLo0TB1qrYm45NPtJlTQggBdUzHvTA5XM526s4kF8Cl\nAeyff/6ZV199lY0bNzpVf/bs2fafo6KiiIqKcvqzWqKKCnj7bW3Qe9IkbSC8dWu9oxJCuFNGRgYZ\nGRku1ak1cezdu5f27dsD2gP7159/fe2Ij48PFovF/tpisWA0GussU1BQgNFopLy8vMa6hw8fJj8/\nH/Mvu+UVFBQQHh5OVlYWXbp0uSSGCxOHqFtWlrYmo2NH+OILCAzUOyIhREO4+I/qOXPmOK7krgGW\n8vJy1bNnT5WXl6fKysocDo7v2LHDPjjuTF2llAyO14PiYqUmTVKqa1el/v53paqq9I5ICKEnZ56d\nDleOXy4PDw+Sk5OJjo6msrKS8ePHExQUxJIlSwCYMGECMTExpKWlYTKZaNu2LStWrKiz7sWc7Q4T\nl1JKG7v4wx8gNlY7J6NTJ72jEkI0BU4tAGyKZAFg7XJzYfJkbQfbxYvh1lv1jkgI0VjU2wJA0TyU\nlcHLL2uJ4u67YfduSRpCCNe5ratKNC6bN2szpYKDITsbLpjtLIQQLpHE0cwVFmrjGNu3a9uExMbq\nHZEQoqmTrqpmqqpKW7zXp4/Wuvj2W0kaQoj6IS2OZujrr7U1GR4esGWLtm2IEELUF2lxNCNnzsD0\n6RAdrZ2XsW2bJA0hRP2TxNEMKAX//rc28F1cDPv3w/jx0Er+1xVCuIF0VTVxeXnaZoRHjsBHH8Gg\nQXpHJIRo7uRv0ibKZoO5c6FfPxgwQBvXkKQhhGgI0uJogrZtg4kT4cYbtc0Je/bUOyIhREsiiaMJ\n+ekneO452LgR3nwTRo0C2a5LCNHQpKuqCaiqguXLoXdv7ZzvnBx44AFJGkIIfUiLo5Hbv1/rlior\ng/R0CAvTOyIhREsnLY5G6tw5eP55GDwYHn4YduyQpCGEaBwkcTRCa9dq3VIWC+zbp7U4rrpK76iE\nEEIjXVWNiMUC06Zp3VPvvQdDhugdkRBCXMrtLY709HQCAwMJCAggKSmpxjKJiYkEBARgNpvJzs52\nWPfZZ58lKCgIs9nMqFGjOHXqlLtvw60qKuCNN7SuKLMZ9u6VpCGEaMTceXZtRUWF8vf3V3l5ecpm\nszk8dzwzM9N+7nhddTds2KAqKyuVUkrNmDFDzZgx45LPdvOt1ZsdO5Qym5UaMkSpgwf1jkYI0dI5\n8+x0a4sjKysLk8mEn58fnp6exMXFkZKSUq1Mamoq8fHxAERGRlJSUkJhYWGddYcOHUqrXzZiioyM\npKCgwJ234RbFxdoOtqNGwYwZsGED9Oqld1RCCOGYWxOH1WrF94Kj5oxGI1ar1akyR48edVgXYPny\n5cTExLghevdQSttTKjhYG/DOyYGxY2VNhhCi6XDr4LjByaehcnAwem1eeeUVvLy8ePjhh2v8/ezZ\ns+0/R0VFERUVdVmfU18OHtRmSBUXQ0oK9O+vazhCCEFGRgYZGRku1XFr4vDx8cFisdhfWywWjEZj\nnWUKCgowGo2Ul5fXWfeDDz4gLS2NzZs31/r5FyYOPf38M7z2GrzzDrz0EkyerB2yJIQQerv4j+o5\nc+Y4rOPWrqqIiAhyc3PJz8/HZrOxevVqYi86vzQ2NpaVK1cCkJmZSceOHfH29q6zbnp6OvPmzSMl\nJYVrrrnGnbdwxTZs0I5vPXAAvvlGm24rSUMI0ZS59RHm4eFBcnIy0dHRVFZWMn78eIKCgliyZAkA\nEyZMICYmhrS0NEwmE23btmXFihV11gWYOnUqNpuNoUOHAnDrrbfyzjvvuPNWXHbsGDzzjLZ7bXIy\nNKFhGCGEqJNBXe4AQyNnMBgue+zkSlRWwrvvwpw58NRT8OKL0KZNg4chhBCXxZlnp3Sa1KPdu7Up\ntm3awNat2swpIYRobmSvqnpw6hQkJsKIETBlCmRkSNIQQjRfkjiugFLwj39oSaK0FL79FuLjZU2G\nEKJ5k66qy3T4sNa6KCjQkseAAXpHJIQQDUNaHC4qK4NXXoHISLjzTtizR5KGEKJlkRaHCzIytJXf\nAQHaQPiNN+odkRBCNDxJHE44cQL++EctcSxcCPfdJ+MYQoiWS7qq6lBVBcuWQUgIdOmibUg4cqQk\nDSFEyyYtjlrs3autyQDYtAn69tU3HiGEaCykxXGRs2fh2We1E/gefxy++EKShhBCXEgSxwVSUqB3\nbzh+XDv3+6mnoJV8Q0IIUY10VQHff6+t/D54ED74AAYP1jsiIYRovFr039Pl5TBvHoSHQ79+2rbn\nkjSEEKJuLbbFsX27NvjdrRtkZoLJpHdEQgjRNLS4xFFUBM8/D2lpsGABjB4t02uFEMIVbu2qSk9P\nJzAwkICAAJKSkmosk5iYSEBAAGazmezsbId1T548ydChQ+nVqxfDhg2jpKTEqViUgg8/1Aa/W7fW\n1mSMGSNJQwghXKbcpKKiQvn7+6u8vDxls9mU2WxWOTk51cqsW7dODR8+XCmlVGZmpoqMjHRY99ln\nn1VJSUlKKaXmzp2rZsyYUePnX3hrOTlKDRqkVHi4Urt21fedNn5btmzRO4RGQ76L38h38Rv5Ln7j\nTFpwW4sjKysLk8mEn58fnp6exMXFkZKSUq1Mamoq8fHxAERGRlJSUkJhYWGddS+sEx8fz3//+99a\nYygt1U7gu+MOePBB2LkTIiLcdMONWEZGht4hNBryXfxGvovfyHfhGrclDqvViq+vr/210WjEarU6\nVebo0aO11j1+/Dje3t4AeHt7c/z48VpjCAnRtj//5httC/SrrqqXWxNCiBbNbYPjBicHD5QT54Ir\npWq8nsFgqPNz3n0XoqOdCkMIIYST3JY4fHx8sFgs9tcWiwWj0VhnmYKCAoxGI+Xl5Ze87+PjA2it\njMLCQrp27cqxY8fo0qVLjZ/v7+/P3XfLyPev5syZo3cIjYZ8F7+R7+I38l1o/P39HZZxW+KIiIgg\nNzeX/Px8unXrxurVq1m1alW1MrGxsSQnJxMXF0dmZiYdO3bE29ub6667rta6sbGxfPjhh8yYMYMP\nP/yQkSNH1vj5hw4dctetCSFEi+a2xOHh4UFycjLR0dFUVlYyfvx4goKCWLJkCQATJkwgJiaGtLQ0\nTCYTbdu2ZcWKFXXWBXj++ecZM2YM77//Pn5+fvzjH/9w1y0IIYSogUE5M8gghBBC/KLZ7VXlzKLD\nliIhIQFvb2/69Omjdyi6slgsDB48mN69exMSEsLChQv1Dkk358+fJzIyktDQUIKDg5k5c6beIemu\nsrKSsLAw7r33Xr1D0ZWfnx99+/YlLCyM/v3711m2WbU4Kisruemmm9i0aRM+Pj7069ePVatW2bu5\nWprPP/+cdu3a8dhjj7Fv3z69w9FNYWEhhYWFhIaGcvbsWcLDw/nvf//bYv9/UVpaSps2baioqOD2\n229n/vz53H777XqHpZs33niD3bt3c+bMGVJTU/UORzc9evRg9+7d/O53v3NYtlm1OJxZdNiSDBw4\nkE6dOukdhu66du1KaGgoAO3atSMoKIijR4/qHJV+2rRpA4DNZqOystKpB0VzVVBQQFpaGk888YRT\nSwOaO2e/g2aVOJxZdChatvz8fLKzs4mMjNQ7FN1UVVURGhqKt7c3gwcPJjg4WO+QdPPMM88wb948\nWsmJbRgMBoYMGUJERATLli2rs2yz+racXXQoWqazZ8/y4IMP8tZbb9GuXTu9w9FNq1at+Prrryko\nKGDbtm0tdruNtWvX0qVLF8LCwqS1AWzfvp3s7GzWr1/P22+/zeeff15r2WaVOJxZdChapvLych54\n4AEeeeSRWtf+tDQdOnRgxIgRfPXVV3qHoosvv/yS1NRUevTowdixY/nss8947LHH9A5LNzfccAMA\nnTt35v777ycrK6vWss0qcVy46NBms7F69WpiY2P1DkvoTCnF+PHjCQ4O5umnn9Y7HF399NNP9qMI\nfv75ZzZu3EhYWJjOUenj1VdfxWKxkJeXxyeffMKdd97JypUr9Q5LF6WlpZw5cwaAc+fOsWHDhjpn\nYzarxHHhwsHg4GAeeuihFjtzBmDs2LHcdtttfPfdd/j6+toXWLY027dv56OPPmLLli2EhYURFhZG\nenq63mHp4tixY9x5552EhoYSGRnJvffey1133aV3WI1CS+7qPn78OAMHDrT//+Kee+5h2LBhtZZv\nVtNxhRBCuF+zanEIIYRwP0kcQgghXCKJQwghhEskcQghhHCJJA4hhBAukcQhhBDCJZI4RIvn7u1H\n3nzzTX7++WeXPu/TTz9t8ccCiMZL1nGIFq99+/b2VbPu0KNHD7766iuuu+66Bvk8IdxNWhxC1ODw\n4cMMHz6ciIgI7rjjDg4ePAjA448/zrRp0xgwYAD+/v6sWbMG0HacnTRpEkFBQQwbNowRI0awZs0a\nFi1axNGjRxk8eHC1Fdp/+tOfCA0N5dZbb+XEiROXfP4HH3zA1KlT6/zMC+Xn5xMYGMi4ceO46aab\n+P3vf8+GDRsYMGAAvXr1YteuXe74mkRLpYRo4dq1a3fJe3feeafKzc1VSimVmZmp7rzzTqWUUvHx\n8WrMmDFKKaVycnKUyWRSSin1z3/+U8XExCillCosLFSdOnVSa9asUUop5efnp4qKiuzXNhgMau3a\ntUoppZ577jn117/+9ZLP/+CDD9SUKVPq/MwL5eXlKQ8PD7V//35VVVWlwsPDVUJCglJKqZSUFDVy\n5EhXvxYhauWhd+ISorE5e/YsO3bsYPTo0fb3bDYboO1n9OvuukFBQRw/fhyAL774gjFjxgDYz7mo\njZeXFyNGjAAgPDycjRs31hlPbZ95sR49etC7d28AevfuzZAhQwAICQkhPz+/zs8QwhWSOIS4SFVV\nFR07diQ7O7vG33t5edl/Vr8MERoMhmpnOqg6hg49PT3tP7dq1YqKigqHMdX0mRe7+uqrq1331zrO\nfoYQzpIxDiEucu2119KjRw/+9a9/AdqDeu/evXXWGTBgAGvWrEEpxfHjx9m6dav9d+3bt+f06dMu\nxVBX4hFCb5I4RItXWlqKr6+v/d+bb77Jxx9/zPvvv09oaCghISGkpqbay1+4/favPz/wwAMYjUaC\ng4N59NFHufnmm+nQoQMATz31FHfffbd9cPzi+jVt533x+7X9fHGd2l635C3DRf2T6bhC1JNz587R\ntm1bioqKiIyM5Msvv6RLly56hyVEvZMxDiHqyT333ENJSQk2m41Zs2ZJ0hDNlrQ4hBBCuETGOIQQ\nQrhEEocQQgiXSOIQQgjhEkkcQgghXCKJQwghhEskcQghhHDJ/wcRmkK256W7NwAAAABJRU5ErkJg\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569df30>"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.14,Page No.760"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=4 #m\n",
+ "L_BC=2 #m\n",
+ "L=6 #m\n",
+ "w=2 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L\n",
+ " \n",
+ "#Taking Moment at A,M_A\n",
+ "R_B=(w*L*L*2**-1)*L_AB**-1 #KN\n",
+ "R_A=w*L-R_B #KN\n",
+ "\n",
+ "#Shear Force calculations \n",
+ "\n",
+ "#S.f at pt C\n",
+ "V_C=0\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=-w*L_BC #KN\n",
+ "V_B2=V_B1+R_B #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_B2-w*L_AB #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=0 #KN.m\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=w*L_BC #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=w*L*L*2**-1-R_B*L_AB #KN.m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,L_BC,L_BC,L_BC+L_AB,L_BC+L_AB]\n",
+ "Y1=[V_C,V_B1,V_B2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_C,M_B,M_A]\n",
+ "X2=[0,L_BC,L_BC+L_AB]\n",
+ "Z2=[0,0,0]\n",
+ "plt.plot(X2,Y2)\n",
+ "plt.xlabel(\"Lenght in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5804eb0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569eed0>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.15,Page No.762"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=4 #m\n",
+ "L_BC=2 #m\n",
+ "L=6 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=2 #KN/m\n",
+ "F_C=2 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L+F_C\n",
+ " \n",
+ "#Taking Moment at A,M_A\n",
+ "R_B=(F_C*L+w*L*L*2**-1)*L_AB**-1 #KN\n",
+ "R_A=(w*L+F_C)-R_B #KN\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=0 #KN\n",
+ "V_C2=F_C #KN\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=-w*L_BC-F_C #KN\n",
+ "V_B2=V_B1+R_B #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_B2-w*L_AB #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=0 #KN.m\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=w*L_BC*L_BC*2**-1+F_C*L_BC #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_C*L+w*L*L*2**-1-R_B*L_AB #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print\"The Shear Force and Bending Moment are the Results\"\n",
+ "\n",
+ "#Plotting Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BC,L_BC,L_BC+L_AB,L_AB+L_BC]\n",
+ "Y1=[V_C1,V_C2,V_B1,V_B2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Shear Force in KN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#plotting the Bending Moment Diagram\n",
+ "\n",
+ "X2=[0,L_BC,L_BC+L_AB]\n",
+ "Y2=[M_C,M_B,M_A]\n",
+ "Z2=[0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in KN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment are the Results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\naVwAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55b4b90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nrkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569d830>"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.16,Page No.763"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_BD=L_CA=2 #m\n",
+ "L_AB=8 #m\n",
+ "L=12 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_D=F_C=1000 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_b be the reactions at A & B respectively\n",
+ "#As the Load on the beam is symmetrical,R_A and R_B will be equal\n",
+ "#Their magnitude will be half of the total Load\n",
+ "\n",
+ "R_A=R_B=(F_C+F_D)*2**-1 #N\n",
+ "\n",
+ "#Shear force calculations\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=0 #N\n",
+ "V_D2=-F_D #N\n",
+ "\n",
+ "#s.F at pt B\n",
+ "V_B1=V_D2 #N\n",
+ "V_B2=V_B1+R_B #N\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_B2 #N\n",
+ "V_A2=V_A1+R_A #N\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=V_A2 #N\n",
+ "V_C2=V_C1-F_C\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=0 #KN.m\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=F_D*L_BD #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_D*(L_BD+L_AB)-R_B*L_AB #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=F_D*L-R_B*(L_AB+L_CA)-R_A*L_CA #KN.m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"The Shear Force And Bending Moment diagrams are the Results\"\n",
+ "\n",
+ "#plotting Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_BD,L_BD,L_BD+L_AB,L_BD+L_AB,L_CA+L_BD+L_AB,L_CA+L_BD+L_AB]\n",
+ "Y1=[V_D1,V_D2,V_B1,V_B2,V_A1,V_A2,V_C1,V_C2]\n",
+ "Z1=[0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Shear force in N\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting Bending Moment diagram\n",
+ "\n",
+ "X2=[0,L_BD,L_BD+L_AB,L_CA+L_AB+L_BD]\n",
+ "Y2=[M_D,M_B,M_A,M_C]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in N.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force And Bending Moment diagrams are the Results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n65prrtHXX38tSVq6dKlWrVqlq6++WlOnTtWOHTskSSdPnlRubq5iY2OVlpamm266STt27NDmzZvV\n0NCgOXPmKDU11bv93/3ud5oxY4Z++ctf6p///GeX/W/dulX33ntvr/s8U01NjWJiYrRs2TJddtll\nuv3221VaWqqrr75a0dHR+vjjj/3x1wQMjdu0AH0xevToLm3XXXed5fF4LMuyrH379lnXXXedZVmW\nlZ2dbWVmZlqWZVkVFRVWVFSUZVmW9dprr1nz5s2zLMuyDh8+bI0dO9basWOHZVmWFRkZaf3www/e\nbdtsNmvXrl2WZVnWgw8+aD3++ONd9r9161Zr5cqVve7zTNXV1VZISIj197//3Tp58qSVlJRkLV++\n3LIsyyoqKrIWLFjQ178W4KyEBDrUgIHu6NGj+uijj/SrX/3K29ba2irp1K3OT99AMDY21vssjb/9\n7W/KzMyUdOoutnPmzOlx+yNGjNBNN90kSUpKStI777zTaz097bOzKVOmeG9QGRcX532WybRp01RT\nU9PrPoBzRagAPpw8eVJjxozRoUOHuv18xIgR3tfW/z9FabPZOjwDxurl1GVoaKj39bBhw9TW1uaz\npu722dnIkSM7bPf0Ome7D+BccE4F8CEsLExTpkzR66+/LunUl/jnn3/e6zpXX321duzYIcuy1NTU\npPfff9/72UUXXaT//Oc/faqht1ACBhJCBejk2LFjmjx5svfPpk2btG3bNuXn52vGjBmaNm2aiouL\nvcuf+aS/068XLlwoh8Mhl8ulO++8UzNnzvQ+f/6ee+7R3LlzvSfqO6/f3ZMDO7f39LrzOj29D9an\nEyLwuKQY8JOffvpJo0aN0g8//KArrrhCe/fuDcqnAgJn4pwK4Cfz589XS0uLWltb9eijjxIoGBIY\nqQAAjOGcCgDAGEIFAGAMoQIAMIZQAQAYQ6gAAIwhVAAAxvw/2KE4YPjud6gAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55c4fd0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nEBGR0/4fEsvDXVDtsKwAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x582cd70>"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.17,Page No.765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_BE=2 #m\n",
+ "L_DB=L_CA=3 #m\n",
+ "L_AD=5 #m\n",
+ "L_AB=8 #m\n",
+ "L=13 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_E=1000 #N\n",
+ "F_C=800 #N\n",
+ "F_D=2000 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at pt A and B respectively\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(-F_C*L_CA+F_D*L_AD+F_E*(L_AD+L_DB+L_BE))*L_AB**-1 #KN\n",
+ "R_A=(F_C+F_D+F_E)-R_B #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt E\n",
+ "V_E1=0 #KN\n",
+ "V_E2=-F_E #KN\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=V_E2 #KN\n",
+ "V_B2=V_B1+R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=V_B2 #KN\n",
+ "V_D2=V_D1-F_D #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_D2 #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=V_A2 #KN\n",
+ "V_C2=V_C1-F_C #KN\n",
+ " \n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt E\n",
+ "M_E=0 #KN.m \n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=F_E*L_BE #KN,m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=F_E*(L_BE+L_DB)-R_B*L_DB #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=F_D*L_AD+F_E*(L_AD+L_DB+L_BE)-R_B*(L_DB+L_AD) #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=F_E*L+F_D*(L_AD+L_CA)-R_A*L_CA-R_B*(L_CA+L_AD+L_DB) #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print\"The Shear Force and Bending Moment diagrams are the results\"\n",
+ "\n",
+ "#Plotting Shear force Diagrams\n",
+ "\n",
+ "X1=[0,0,L_BE,L_BE,L_BE+L_DB,L_BE+L_DB,L_AD+L_BE+L_DB,L_AD+L_BE+L_DB,L_AD+L_BE+L_DB+L_CA,L_AD+L_BE+L_DB+L_CA]\n",
+ "Y1=[V_E1,V_E2,V_B1,V_B2,V_D1,V_D2,V_A1,V_A2,V_C1,V_C2]\n",
+ "Z1=[0,0,0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Shear Force in KN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_E,M_B,M_D,M_A,M_C]\n",
+ "X2=[0,L_BE,L_BE+L_DB,L_BE+L_DB+L_AD,L_BE+L_DB+L_AD+L_CA]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n+/XrZ06dOtWsrq62O5JXkydPNnv06GEGBwebTqfTfPXVV82jR4+aI0aMMKOjo83ExETz22+/tTtm\ngy7Pn52dbUZFRZk33nij5+83LS3N7pgNupC/Xbt2nvG/WGRkpHn06FGvz8HBjwAAywT85i8AgO9Q\nKgAAy1AqAADLUCoAAMtQKgAAy1AqAADLUCrAZVr6NDjLli3T6dOnm/V677zzjt9dtgHXJo5TAS7T\nqVMnHT9+vMWePzIyUp9++qm6dOnik9cDfIk1FaAJDh06pHvuuUdDhgzRnXfeqf3790uSpk+frgUL\nFui2225Tr169tHbtWknSuXPnNHfuXPXp00dJSUkaM2aM1q5dq+XLl6usrEzDhw/XiBEjPM//u9/9\nTgMHDtStt95a73mVXnvtNc2fP9/ra16sqKhIMTExmjFjhm666Sbdf//92rRpk2677Tb17t1bn3zy\nSUsME3BtnKYFaI6OHTvWmXbXXXeZbrfbNE3T3LFjh3nXXXeZpmma06ZNM1NSUkzTNM2CggIzKirK\nNE3TfOutt8zRo0ebpmmahw8fNkNDQ821a9eapmmaERERl5zqwjAM89133zVN0zQfffRR849//GOd\n13/ttdfMefPmeX3NixUWFppBQUHmf//7X/PcuXPm4MGDzZkzZ5qmaZo5OTnmuHHjmjssQJME2V1q\nQGt34sQJbd++Xffdd59nWnV1taTzp2K/cILDPn36eK718dFHHyklJUXS+bPsDh8+vMHnb9euncaM\nGSNJGjx4sN5//32veRp6zctFRkZ6ToDZt29fz7VU+vXrp6KiIq+vAVwpSgVoxLlz53T99ddrz549\n9d7frl07z23z/3dRGoZxyXUnTC+7LoODgz2327Rpo5qamkYz1feal2vfvv0lz3thnqa+BnAl2KcC\nNCIkJESRkZF6++23JZ3/EN+3b5/XeW677TatXbtWpmmqoqJCW7Zs8dzXqVMnHTt2rFkZvJUS0JpQ\nKsBlTp06pZ49e3p+li1bplWrVik7O1sDBw5Uv379tGHDBs/jL74S4YXbEydOlNPplMvl0gMPPKBB\ngwZ5rm8/Z84cjRo1yrOj/vL567uy4eXTG7p9+TwN/e6vV09E68dXioEWcvLkSXXo0EFHjx7VLbfc\nom3btvnlVQuB5mCfCtBCfv7zn6uqqkrV1dV68sknKRRcE1hTAQBYhn0qAADLUCoAAMtQKgAAy1Aq\nAADLUCoAAMtQKgAAy/wfqt1398Nm6AsAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569de30>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5837c10>"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.18,Page No.766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables \n",
+ "L=10 #m #span\n",
+ "w=1 #KN/m #u.d.l\n",
+ "l=6 #m #Span betwen A & B\n",
+ "l_AC=2.23 #m #Length AC\n",
+ "l_BD=1.77 #m #LEngth BD\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at A & B respectively\n",
+ "#Taking moment at A\n",
+ "#x**2*x*2**-1+R_B*l=(10-x)**2*2**-1\n",
+ "#After simplifying we get,\n",
+ "#R_A=5*3**-1*(5-x)\n",
+ "#R_B=5*3**-1*(1+x)\n",
+ "\n",
+ "#Let y be the distance at which B.M is maximum at section ABfrom C\n",
+ "#S.F at section AB \n",
+ "#R_A=y\n",
+ "#Substituting value of R_A from above equation\n",
+ "#y=5*3**-1*(1+x)...................................1\n",
+ "\n",
+ "#B.M at A\n",
+ "#M_A=x**2*2**-1 \n",
+ "\n",
+ "#B.M at distance y from C\n",
+ "#M_C=y**2*2**-1+R_A*(y-x)....................2\n",
+ "#After further simplifying we get\n",
+ "#M_C=5*18**-1*(-x**2+4*x+5).............................3\n",
+ "\n",
+ "#EQuating equations 1 & 2,we get quadratic equation as\n",
+ "#14x**2-20x-25=0\n",
+ "a=14\n",
+ "b=-20\n",
+ "c=-25\n",
+ "\n",
+ "X=b**2-4*a*c\n",
+ "x=(-b+X**0.5)*(2*a)**-1\n",
+ "\n",
+ "#Substituing value of x in equation 1 we get\n",
+ "y=5*3**-1*(1+x)\n",
+ "\n",
+ "#Sub values of x & y we get values of R_A & R_B as follows\n",
+ "R_B=5*3**-1*(5-x)\n",
+ "R_A=5*3**-1*(1+x)\n",
+ "\n",
+ "#Shear Force calculations\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=0\n",
+ "\n",
+ "#S.F at A\n",
+ "V_A1=-w*l_AC #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=V_A2-1*l #KN\n",
+ "V_B2=V_B1+R_B #KN\n",
+ "\n",
+ "#S.F at D\n",
+ "V_D=V_B2-l_BD\n",
+ "\n",
+ "#BEnding Moment calculations\n",
+ "\n",
+ "#B.M at C\n",
+ "M_C=0\n",
+ "\n",
+ "#B.M at A\n",
+ "M_A=-w*l_AC**2*2**-1 #KNm\n",
+ "\n",
+ "#B.M at E i.e at y=5.38 m\n",
+ "M_E=-w*y**2*2**-1+R_A*(y-l_AC)\n",
+ "\n",
+ "#B.M at B\n",
+ "M_B=-w*(l_AC+l)**2*2**-1+R_A*l\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,l_AC,l_AC,l_AC+l,l_AC+l,l_AC+l+l_BD]\n",
+ "Y1=[V_C,V_A1,V_A2,V_B1,V_B2,V_D]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_C,M_A,M_E,M_B]\n",
+ "X2=[0,l_AC,l_AC+y,l_AC+l]\n",
+ "Z2=[0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\ng2MjICIyuP8H+JpvorKE/gUAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58c8610>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x569d0f0>"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.19,Page No.770"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "from math import sin, cos, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_EB=L_DE=L_CD=L_AC=1 #m\n",
+ "L=4 #m\n",
+ "\n",
+ "#Loads\n",
+ "#point Load\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=200*sin(45*pi*180**-1)\n",
+ "F_D2=200*cos(45*pi*180**-1)\n",
+ "\n",
+ "#At pt C\n",
+ "F_C1=100*sin(60*pi*180**-1)\n",
+ "F_C2=100*cos(60*pi*180**-1)\n",
+ "\n",
+ "#At pt E\n",
+ "F_E1=300*sin(30*pi*180**-1)\n",
+ "F_E2=300*cos(30*pi*180**-1)\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at pt A and B respectively\n",
+ "#R_A+R_B=F_D1+F_C1+F_E1 #KN\n",
+ "\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_E1*(L_AC+L_CD+L_DE)+F_D1*(L_AC+L_CD)+F_C1*L_AC)*L**-1 #KN\n",
+ "R_A=(F_D1+F_C1+F_E1)-R_B #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0 #N\n",
+ "V_B2=R_B #N\n",
+ "\n",
+ "#S.F at pt E\n",
+ "V_E1=V_B2 #N\n",
+ "V_E2=V_E1-F_E1 #N\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=V_E2 #N\n",
+ "V_D2=V_D1-F_D1 #N\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=V_D2 #N\n",
+ "V_C2=V_C1-F_C1 #N\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C2 #N\n",
+ "V_A2=V_A1+R_A\n",
+ "\n",
+ "#Bending Moment Diagrams\n",
+ "\n",
+ "#B.M At pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt E\n",
+ "M_E=-R_B*L_EB #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=-R_B*(L_DE+L_EB)+F_E1*L_DE #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_CD+L_DE+L_EB)+F_E1*(L_CD+L_DE)+F_D1*L_CD #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+F_E1*(L_CD+L_DE+L_AC)+F_D1*(L_AC+L_CD)+F_C1*L_AC #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_EB,L_EB,L_EB+L_DE,L_EB+L_DE,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD]\n",
+ "Y1=[V_B1,V_B2,V_E1,V_E2,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_E,M_D,M_C,M_A]\n",
+ "X2=[0,L_EB,L_DE+L_EB,L_DE+L_EB+L_CD,L_DE+L_EB+L_CD+L_AC]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nhmF0+bxt2zYTZQaeQiR4KURErBPQK9aDiUIkeClERKwTkCvWRURELkchIiIipilERETEtF6vWL/g\nzJkz7Nq1i9raWjo6OoDzbWdPPvlkwIsTEZGhrc8Q+da3vsW4ceOYMWMGX/va1wajJhERCRJ9js6a\nNm0af/jDHwarnium0VnBS6OzRKwTsNFZc+bM4d133zVVlIiIDG99nokkJCRw8uRJYmNjGTVq1PmV\nbLYhGyw6EwleOhMRsU7ALjasra3tcXpMTMyAv2wwKESCl0JExDpmfzt77Vj//PPPiYiIICIi4ooK\nExGR4avXM5HFixfz6quvEhMT0+2W6zabjQ8//HBQChwonYkEL52JiFhH9876ikIkeClERKxz1Zuz\nrBYTE0NERAQhISGEhYVRWVlJS0sL3/72t/noo4+IiYnh5ZdfZty4cVaXKiJyzRqytz2x2Wx4PB6q\nqqqorKwEYOPGjWRkZHDixAnuvPNONm7caHGVIiLXtiHbnBUbG8tbb73FDTfc4J8WHx/PgQMHiIqK\noqmpCbfbzX//9393WU/NWcFr/Hj47DOrqxCzIiOhpcXqKsSsgPaJvP7665w8eZJVq1bx8ccf09bW\nRmxsrKlC++sb3/gG119/PSEhITz00EN897vfJTIyks+++pUxDIPx48f7P1+gEBGxhvq0glvA+kQK\nCws5evQox48fZ9WqVbS3t3Pvvfdy8OBBU4X218GDB7nxxhv5+OOPycjIID4+vst8m83WbdSYiIgM\nrj5DZPfu3VRVVTFjxgwA7HY7p06dCnhhN954IwATJ07krrvuorKy0t+MFR0dTWNjI5MmTepx3cLC\nQv97t9uN2+0OeL0iIsHE4/Hg8XiueDt9NmelpaVRWVmJy+WiqqqKL774gtmzZwf0tidffvklnZ2d\njB07li+++IL58+fz4x//mN/85jfccMMNfP/732fjxo20trZ261xXc5aINdScFdwC1py1bNkyHnro\nIVpbW/nnf/5ntm7dSn5+vqki+6u5uZm77roLgI6ODu655x7mz5/PLbfcQm5uLqWlpf4hviIiYp1+\ndaxXVFRQUVEBwIIFC8jIyAh4YWbpTETEGjoTCW4BG51VU1NDdHQ01113HQCnT5+mublZN2AUkS4U\nIsEtYM8TWbp0KSEhIf+/wogRLF26dMBfJCIiw0+fIdLZ2cnIkSP9n0eNGsXZs2cDWpSIiASHPkNk\n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\n2v8Bj/w2ELkj9AoAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55cd530>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x55cd3f0>"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.20,Page No.772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=L_CD=L_DE=L_EB=2 #m\n",
+ "L=8 #m\n",
+ "\n",
+ "#Loads\n",
+ "#point Load\n",
+ "\n",
+ "#At pt E\n",
+ "F_E1=6*sin(pi*180**-1*45) #KN\n",
+ "F_E2=6*cos(pi*180**-1*45) #KN\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=8*sin(pi*180**-1*60) #KN\n",
+ "F_D2=8*cos(pi*180**-1*60) #KN\n",
+ "\n",
+ "#At pt C\n",
+ "F_C1=4*sin(pi*180**-1*30) #KN\n",
+ "F_C2=4*cos(pi*180**-1*30) #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at pt A and B respectively\n",
+ "#R_A+R_B=F_D1+F_C1+F_E1 #KN\n",
+ "\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_E1*(L_AC+L_CD+L_DE)+F_D1*(L_AC+L_CD)+F_C1*L_AC)*L**-1 #KN\n",
+ "R_A=(F_D1+F_C1+F_E1)-R_B #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0 #N\n",
+ "V_B2=R_B #N\n",
+ "\n",
+ "#S.F at pt E\n",
+ "V_E1=V_B2 #N\n",
+ "V_E2=V_E1-F_E1 #N\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D1=V_E2 #N\n",
+ "V_D2=V_D1-F_D1 #N\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C1=V_D2 #N\n",
+ "V_C2=V_C1-F_C1 #N\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C2 #N\n",
+ "V_A2=V_A1+R_A\n",
+ "\n",
+ "#Bending Moment Diagrams\n",
+ "\n",
+ "#B.M At pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt E\n",
+ "M_E=-R_B*L_EB #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D=-R_B*(L_DE+L_EB)+F_E1*L_DE #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_CD+L_DE+L_EB)+F_E1*(L_CD+L_DE)+F_D1*L_CD #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+F_E1*(L_CD+L_DE+L_AC)+F_D1*(L_AC+L_CD)+F_C1*L_AC #KN.m\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_EB,L_EB,L_EB+L_DE,L_EB+L_DE,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD,L_EB+L_DE+L_CD]\n",
+ "Y1=[V_B1,V_B2,V_E1,V_E2,V_D1,V_D2,V_C1,V_C2,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_E,M_D,M_C,M_A]\n",
+ "X2=[0,L_EB,L_DE+L_EB,L_DE+L_EB+L_CD,L_DE+L_EB+L_CD+L_AC]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nRPHx8crNzdXAgQN11113qaqqqtFt2+SfrsvlMh0BNqisrFROTo4WLlyo2NhY03FsExERoX/84x86\ndOiQNm/e3K6WClizZo169uwpt9vdbkfHW7duVXFxsf7617/q17/+tbZs2WI6km1qampUVFSkmTNn\nqqioSDExMXr66acb3bZNln9CQoJKS0v9z0tLS5WYmGgwEc7W6dOnNXnyZP3gBz/QjTfeaDpOUHTp\n0kXjxo3Trl27TEexzXvvvafVq1crOTlZt9xyizZu3Kjbb7/ddCxbXXTRRZKk+Ph4TZw4UTt27DCc\nyD6JiYlKTExUdna2JCknJ0dFRUWNbtsmy3/w4MHat2+ffD6fqqur9eqrr2rChAmmY6GFLMvSnXfe\nqfT0dM2aNct0HFv997//VUVFhSTp5MmTWr9+vdxut+FU9nnqqadUWlqqkpISvfLKK7rmmmu0YsUK\n07FsU1VVpS+++EKSdOLECa1bt65dnXXXq1cv9e7dW3v37pUkbdiwQRkZGY1ua+Qir0AiIyP1/PPP\na8yYMaqtrdWdd96ptLQ007Fsc8stt2jTpk06evSoevfurSeeeEK5ubmmY9lm69atWrlypf90Okma\nN2+err32WsPJWu+TTz7RtGnTVFdXp7q6Ot12220aMWKE6VhB096mYI8cOaKJEydKOjNFMnXqVI0e\nPdpwKnstXrxYU6dOVXV1tVJSUrRs2bJGt+MiLwBwoDY57QMACC7KHwAciPIHAAei/AHAgSh/AHAg\nyh8AHIjyR1gK9nIRCxYs0MmTJ23f31tvvdXulihHeOI8f4Slzp07+6/UDIbk5GTt2rVLPXr0CMn+\ngFBj5I9248CBA7ruuus0ePBgXXXVVfroo48kSXfccYfuv/9+XXHFFUpJSVFBQYGkM6tzzpw5U2lp\naRo9erTGjRungoICLV68WGVlZRo+fHi9q3cfe+wxZWVlaejQofrPf/7TYP+zZs3SnDlzJEl/+9vf\ndPXVVzfYZvny5brvvvuazfVNPp9P/fr1U25uri655BJNnTpV69at0xVXXKG+fftq586drf+NgzOF\n4uYCgN1iY2MbvHbNNddY+/btsyzLsgoLC61rrrnGsizLmjZtmjVlyhTLsizrww8/tFJTUy3LsqzX\nXnvNGjt2rGVZllVeXm5169bNKigosCyr4Q0/XC6XtWbNGsuyLGv27NnWk08+2WD/VVVVVkZGhrVx\n40brkksusQ4ePNhgm+XLl1v33ntvs7m+qaSkxIqMjLQ++OADq66uzho0aJA1ffp0y7Isa9WqVdaN\nN94Y8PcKaEybXNsHOFuVlZXatm2bbrrpJv9r1dXVks6sT/PVyqJpaWk6cuSIJOndd9/VlClTJMm/\nNn9ToqOjNW7cOEnSoEGDtH79+gbbnH/++VqyZImuvPJKLVy4UMnJyc1mbirXtyUnJ/sX58rIyNDI\nkSMlSZmZmfL5fM3uA2gK5Y92oa6uTl27dlVxcXGjP4+OjvY/tv53mMvlctVbs95q5vBXVFSU/3FE\nRIRqamoa3W7Pnj2Kj49v8c2HGsv1bR07dqy376/e01wOIBDm/NEuxMXFKTk5Wa+//rqkM0W6Z8+e\nZt9zxRVXqKCgQJZl6ciRI9q0aZP/Z507d9bx48fPKsPHH3+sX/7yl/4bhTS2Tnxz/8AAoUT5IyxV\nVVWpd+/e/l8LFizQyy+/rKVLlyorK0uZmZlavXq1f/tvLk381ePJkycrMTFR6enpuu222zRw4ED/\n/U5nzJiha6+91n/A99vv//ZSx5ZlKS8vT/Pnz1evXr20dOlS5eXl+aeemnpvU4+//Z6mnre3JZcR\nOpzqCUc7ceKEYmJidPToUQ0ZMkTvvfeeevbsaToWEHTM+cPRrr/+elVUVKi6ulqPP/44xQ/HYOQP\nAA7EnD8AOBDlDwAORPkDgANR/gDgQJQ/ADgQ5Q8ADvT/U0cqGCjaCgMAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58c0630>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5804cd0>"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.21,Page No.774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_CB=4 #m\n",
+ "L_AC=2 #m\n",
+ "L=6 #m\n",
+ "\n",
+ "#Loads\n",
+ "m=24 #KN.m #couple\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at pt A and B respectively\n",
+ "#R_A+R_B=0\n",
+ "#Taking Moment at pt A\n",
+ "R_B=m*L**-1 #KN\n",
+ "R_A=-R_B #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.f at pt B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=V_B2 #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C1=-R_B*L_CB #KN.m\n",
+ "M_C2=M_C1+m #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L+m #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print\"The Shear Force and Bending Moment are the results\"\n",
+ "\n",
+ "#Plotting Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_CB,L_CB+L_AC,L_CB+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Shear Force in KN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting Bending Moment Diagram\n",
+ "\n",
+ "X1=[0,L_CB,L_CB,L_CB+L_AC]\n",
+ "Y1=[M_B,M_C1,M_C2,M_A]\n",
+ "Z1=[0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in KN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x568bbb0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x5694910>"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.22,Page No.775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_DB=L_CD=2.5 #m\n",
+ "L_AC=5 #m\n",
+ "L=L=10 #m\n",
+ "\n",
+ "#Loads\n",
+ "m=15000 #Nm #couple\n",
+ "w=1000 #N/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at pt A and B respectively\n",
+ "#R_A+R_B=w*L_AC\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(w*L_AC*L_AC*2**-1-m)*L**-1 #KN\n",
+ "R_A=w*L_AC-R_B #KN\n",
+ "\n",
+ "#Shear Force Calculations\n",
+ "\n",
+ "#S.F at pt B\n",
+ "V_B1=0 #KN\n",
+ "V_B2=R_B #KN\n",
+ "\n",
+ "#S.F at pt D\n",
+ "V_D=V_B2 #KN\n",
+ "\n",
+ "#S.F at pt C\n",
+ "V_C=V_D #KN\n",
+ "\n",
+ "#S.F at pt A\n",
+ "V_A1=V_C-w*L_AC #KN\n",
+ "V_A2=V_A1+R_A #KN\n",
+ "\n",
+ "#Bending Moment Calculations\n",
+ "\n",
+ "#B.M at pt B\n",
+ "M_B=0 #KN.m\n",
+ "\n",
+ "#B.M at pt D\n",
+ "M_D1=-R_B*L_DB #KN.m\n",
+ "M_D2=M_D1-m #KN.m\n",
+ "\n",
+ "#B.M at pt C\n",
+ "M_C=-R_B*(L_CD+L_DB)-m #KN.m\n",
+ "\n",
+ "#B.M at pt A\n",
+ "M_A=-R_B*L-m+w*L_AC*L_AC*2**-1 #KN.m\n",
+ "\n",
+ "#Result\n",
+ "print\"The Shear Force and Bending Moment Diagrams are the results\"\n",
+ "\n",
+ "#Plotting the Shear Force Diagram\n",
+ "\n",
+ "X1=[0,0,L_DB,L_CD+L_DB,L_CD+L_DB+L_AC,L_CD+L_DB+L_AC]\n",
+ "Y1=[V_B1,V_B2,V_D,V_C,V_A1,V_A2]\n",
+ "Z1=[0,0,0,0,0,0]\n",
+ "plt.plot(X1,Y1,X1,Z1)\n",
+ "plt.xlabel(\"Length x in m\")\n",
+ "plt.ylabel(\"Shear Force in kN\")\n",
+ "plt.show()\n",
+ "\n",
+ "#Plotting the Bendimg Moment Diagram\n",
+ "\n",
+ "Y2=[M_B,M_D1,M_D2,M_C,M_A]\n",
+ "X2=[0,L_DB,L_DB,L_DB+L_CD,L_AC+L_CD+L_DB]\n",
+ "Z2=[0,0,0,0,0]\n",
+ "plt.plot(X2,Y2,X2,Z2)\n",
+ "plt.xlabel(\"Length in m\")\n",
+ "plt.ylabel(\"Bending Moment in kN.m\")\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Shear Force and Bending Moment Diagrams are the results\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMR\nERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvUVMRERGvsayprFixgsGDBzN0\n6FDmz5/vGc/KysLpdBIREcHGjRs94zt27CAqKgqn08ncuXM941VVVUyZMgWn00lcXBz79+/36XqI\niMgZljSVd999l/z8fHbv3s1nn33Gr371KwCKi4tZs2YNxcXFFBQUMHv2bIwxAGRmZpKTk4PL5cLl\nclFQUABATk4OISEhuFwu5s2bd06DkgsrLCy0ugS/oe/iDH0XZ+i7uHSWNJU//OEPPP744wQHBwPQ\np08fAPLy8khLSyM4OJiwsDDCw8MpKiqioqKC48ePExsbC8C0adNYv349APn5+UyfPh2AiRMnsnnz\nZgvWKLDoP8wZ+i7O0Hdxhr6LS2dJU3G5XGzdupW4uDji4+PZvn07AAcPHsThcHhe53A4cLvd543b\n7XbcbjcAbreb0NBQAIKCgujZsyeVlZU+XBsREWkQ1FYfnJiYyKFDh84bX7x4MTU1NXzzzTds27aN\njz/+mNTUVPbt29dWpYiIiK8YCyQlJZnCwkLP44EDB5qvv/7aZGVlmaysLM/4bbfdZrZt22YqKipM\nRESEZ/zll182999/v+c1H374oTHGmO+++8707t37gsscOHCgAXTTTTfddGvBbeDAgS36fW+zLZWL\nufPOO9myZQu33HILn3/+OdXV1fTu3ZuUlBTuueceHnnkEdxuNy6Xi9jYWGw2Gz169KCoqIjY2FhW\nr17NQw89BEBKSgqrVq0iLi6OtWvXkpCQcMFl/u1vf/PlKoqIdEiWNJVZs2Yxa9YsoqKi6NKlC3/6\n058AiIyMJDU1lcjISIKCgsjOzsZmswGQnZ3NjBkzOHXqFMnJySQlJQGQnp7O1KlTcTqdhISEkJub\na8UqiYgIYDPm+3N2RUREWqlDJOoLCgqIiIjA6XTy1FNPWV2OZcrKyhg9ejRDhgxh6NChPPPMM1aX\nZKna2lqGDRvG+PHjrS7FckeOHGHSpEkMHjyYyMhItm3bZnVJlsnKymLIkCFERUVxzz33UFVVZXVJ\nPjNr1iz69u1LVFSUZ6yyspLExEQGDRrE2LFjOXLkyEU/o903ldraWubMmUNBQQHFxcW88sor/PWv\nf7W6LEsEBwfz7//+7+zZs4dt27axcuXKDvtdADz99NNERkZ6drF2ZHPnziU5OZm//vWv7N69m8GD\nB1tdkiXynYx3AAAGzUlEQVRKS0v54x//yM6dO/nf//1famtrO9Qu9ZkzZ3qC5Q2WLl1KYmIin3/+\nOQkJCSxduvSin9Hum8pHH31EeHg4YWFhBAcHc/fdd5OXl2d1WZbo168fMTExAHTv3p3Bgwdz8OBB\ni6uyRnl5OW+99RYZGRl09D3AR48e5b333mPWrFnAmbxXR9SjRw+Cg4M5efIkNTU1nDx5ErvdbnVZ\nPjNq1CiuvPLKc8bODphPnz7dEzxvTLtvKmeHI+FMoLKjKy0tZdeuXdxwww1Wl2KJefPmsWzZMjp1\navf/BZpUUlJCnz59mDlzJsOHD+fee+/l5MmTVpdliV69evHoo4/yD//wD/Tv358rrriCW2+91eqy\nLPXll1/St29fAPr27cuXX3550de3+/9R2rVxvhMnTjBp0iSefvppunfvbnU5PvfGG29w1VVXMWzY\nsA6/lQJQU1PDzp07mT17Njt37qRbt25N7uJor7744guWL19OaWkpBw8e5MSJE7z00ktWl+U3bDZb\nk7+p7b6p2O12ysrKPI/LysrOueRLR/Pdd98xceJEfvnLX3LnnXdaXY4lPvjgA/Lz8xkwYABpaWls\n2bKFadOmWV2WZRwOBw6Hg5EjRwIwadIkdu7caXFV1ti+fTs33XQTISEhBAUFcdddd/HBBx9YXZal\n+vbt67k6SkVFBVddddVFX9/um8qIESNwuVyUlpZSXV3NmjVrSElJsbosSxhjSE9PJzIykocfftjq\nciyzZMkSysrKKCkpITc3lzFjxniyUh1Rv379CA0N5fPPPwfgnXfeYciQIRZXZY2IiAi2bdvGqVOn\nMMbwzjvvEBkZaXVZlmoImAOsWrWq6T9GW5S/D1BvvfWWGTRokBk4cKBZsmSJ1eVY5r333jM2m81E\nR0ebmJgYExMTYzZs2GB1WZYqLCw048ePt7oMy33yySdmxIgR5rrrrjM///nPzZEjR6wuyTJPPfWU\niYyMNEOHDjXTpk0z1dXVVpfkM3fffbe5+uqrTXBwsHE4HOb55583hw8fNgkJCcbpdJrExETzzTff\nXPQzFH4UERGvafe7v0RExHfUVERExGvUVERExGvUVERExGvUVERExGvUVERExGvUVKTDa+tL1Sxf\nvpxTp055fXmvv/56h57KQfyTcirS4V1++eUcP368zT5/wIABbN++nZCQEJ8sT8RK2lIRuYAvvviC\ncePGMWLECH72s5+xd+9eAGbMmMHcuXO5+eabGThwIOvWrQOgrq6O2bNnM3jwYMaOHcvtt9/OunXr\nWLFiBQcPHmT06NEkJCR4Pv+f/umfiImJ4cYbb+Srr746b/kPP/wwCxcuBODtt9/mlltuOe81L774\nIg8++OBF6zpbaWkpERERzJw5k2uvvZZf/OIXbNy4kZtvvplBgwbx8ccft/6LE/FB8l/Er3Xv3v28\nsTFjxhiXy2WMMWbbtm1mzJgxxhhjpk+fblJTU40xxhQXF5vw8HBjjDGvvvqqSU5ONsYYc+jQIXPl\nlVeadevWGWOMCQsLM4cPH/Z8ts1mM2+88YYxxpjf/OY3ZtGiRect/+TJk2bIkCFmy5Yt5tprrzX7\n9u077zUvvviimTNnzkXrOltJSYkJCgoyn332mamrqzPXX3+9mTVrljHGmLy8PHPnnXc2+V2JNCXI\n6qYm4m9OnDjBhx9+yOTJkz1j1dXVQP2lvxsuqDd48GDP3BLvv/8+qampQP1VXUePHt3o53fp0oXb\nb78dgOuvv55Nmzad95of//jH/PGPf2TUqFE8/fTTDBgw4KI1N1bXDw0YMMBzscghQ4Z45goZOnQo\npaWlF12GSHOoqYj8QF1dHVdccQW7du264PNdunTx3DffH5K02WznzM1iLnKoMjg42HO/U6dO1NTU\nXPB1u3fvpk+fPs2eVO5Cdf1Q165dz1l2w3suVodIS+iYisgP9OjRgwEDBrB27Vqg/gd69+7dF33P\nzTffzLp16zDG8OWXX/I///M/nucuv/xyjh071qIa9u/fz+9//3t27drFhg0b+Oijj857zcUal4hV\n1FSkwzt58iShoaGe2/Lly3nppZfIyckhJiaGoUOHkp+f73n92TPfNdyfOHEiDoeDyMhIpk6dyvDh\nwz3zvN93330kJSV5DtT/8P0/nEnPGENGRga/+93v6NevHzk5OWRkZHh2wTX23sbu//A9jT3WLKni\nDTqlWMRLvv32W7p168bhw4e54YYb+OCDD5qcJU+kvdExFREvueOOOzhy5AjV1dX89re/VUORDklb\nKiIi4jU6piIiIl6jpiIiIl6jpiIiIl6jpiIiIl6jpiIiIl6jpiIiIl7z/wEE5FfrKXFmswAAAABJ\nRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x567dc90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nY2Px9PTE09OTtWvXOubDCSGEuDqlg4MHD6rvv/9eBQUFqfT0dGv7hQsXVI8ePdT+/fuVUkoVFRWp\nixcvKqWU6tevn0pLS1NKKTV06FC1detWpZRSq1atUlOnTlVKKRUXF6eioqKUUkqdOHFCde3aVZ08\neVKdPHnS+vxqdPoa6qWdO3fqXUK9Id+FRr6HX8l38ava/G7qcoTj5eWFp6fnFe3Jycn06NEDPz8/\nAG677TaaNWtGQUEBJSUlBAQEADBhwgQ2b94MQGJiIhMnTgQgIiKCHTt2ALBt2zZCQkJo164d7dq1\nIzg4mKSkJEd8vAYtNTVV7xLqDfkuNPI9/Eq+i5tTr67hZGVlYTAYCA0Nxd/fn2XLlgFgsVgwmUzW\n9xmNRiwWi3WZu7s7AE5OTrRt25YTJ06Qn59fbR2TyWRdRwghhOM52WvDwcHBFBYWXtG+aNEihg8f\nftV1Lly4wJdffsnevXv5zW9+w6BBg/D396dt27b2KlMIIYSD2C1wUlJSbngdd3d37rvvPtq3bw9A\nWFgYGRkZjBs3jry8POv78vLyrEcvRqORo0eP0qlTJyoqKiguLsbV1RWj0Vjt8Dc3N5eBAwdedb/d\nunXDYDDccL2N1fz58/Uuod6Q70Ij38Ov5LvQdOvW7YbX0f2UmqoyJ/aQIUP49ttvKS0tpaKigs8+\n+wwfHx/c3NxwcXEhLS0NpRTr1q1jxIgRAISHhxMbGwvAhg0bGDRoEAAhISEkJydz6tQpTp48SUpK\nCkOGDLlqDYcOHUIpJQ95yEMe8rjOx6FDh2r1g+9wH374oTKZTOqWW25RHTt2VKGhodZl77zzjvLx\n8VG+vr5qzpw51va9e/cqX19f1a1bN/X4449b28+fP6/GjBmjPDw8VP/+/VV2drZ12erVq5WHh4fy\n8PBQa9ascchnE0IIcXUGpZSyHUtCCCHEzdH9lJqekpKS8PLywmw2s3TpUr3L0U1ubi4DBgzAx8cH\nX19fVq5cqXdJurt48SK9e/eusYNLU3Hq1ClGjx5N9+7d8fb2Zvfu3XqXpJvFixfj4+ODn58fDz74\nIGVlZXqX5DCTJ0+mY8eO1ltWAIqKiggODsbT05OQkBBOnTplcztNNnAuXrzI9OnTSUpKIjMzk/ff\nf5+DBw/qXZYunJ2deeWVVzhw4AC7d+9m1apVTfa7uGTFihV4e3s3+c4kM2fOJCwsjIMHD7J//366\nd++ud0m6yMnJ4a233iIjI4Nvv/2WixcvEhcXp3dZDvPwww9fcR/jkiVLCA4O5ocffmDQoEEsWbLE\n5naabOB8/fXXeHh40LlzZ5ydnfnTn/5EQkKC3mXpws3NjV69egHQunVrunfvTn5+vs5V6ScvL49P\nPvmERx55hKZ8xrm4uJgvvviCyZMnA7/e59YUubi44OzszLlz56ioqODcuXMYjUa9y3KYP/zhD9x2\n223V2qredD9x4kTrzfjX0mQDp+oNoyA3hl6Sk5PDvn376N+/v96l6GbWrFksW7aMZs2a7P89AMjO\nzuaOO+7g4Ycfpk+fPvz5z3/m3Llzepeli/bt2/Pkk09y55130qlTJ9q1a8fgwYP1LktXx44do2PH\njgB07NiRY8eO2Vynyf4/qqmfKrmaM2fOMHr0aFasWEHr1q31LkcXH330ER06dKB3795N+ugGoKKi\ngoyMDKZNm0ZGRgatWrW6rtMmjdHhw4d59dVXycnJIT8/nzNnzvDuu+/qXVa9YTAYrus3tckGjtFo\nJDc31/o6Nze32lA4Tc2FCxeIiIhg3LhxjBw5Uu9ydLNr1y4SExPp0qULY8eO5dNPP2XChAl6l6UL\nk8mEyWSiX79+AIwePfqK0d2bir1793LPPffg6uqKk5MTo0aNYteuXXqXpauOHTtaR5MpKCigQ4cO\nNtdpsoHTt29fsrKyyMnJoby8nPj4eMLDw/UuSxdKKaZMmYK3tzdPPPGE3uXoatGiReTm5pKdnU1c\nXBwDBw5sslNbuLm54e7uzg8//ADA9u3b8fHx0bkqfXh5ebF7925KS0tRSrF9+3a8vb31LktXVW+6\nj42Nva4/VO02tE195+TkxD//+U+GDBnCxYsXmTJlSpPtgfPVV1/xzjvv0KNHD3r37g1oXUBDQ0N1\nrkx/Tf3U62uvvcZDDz1EeXk53bp14+2339a7JF307NmTCRMm0LdvX5o1a0afPn149NFH9S7LYcaO\nHctnn33Gzz//jLu7OwsWLODpp58mMjKSmJgYOnfuzAcffGBzO3LjpxBCCIdosqfUhBBCOJYEjhBC\nCIeQwBFCCOEQEjhCCCEcQgJHCCGEQ0jgCCGEcAgJHCFugL2H/Hn11VcpLS29of1t2bKlSU+vIRoO\nuQ9HiBvQpk0bSkpK7Lb9Ll26sHfvXlxdXR2yPyEcSY5whLhJhw8fZujQofTt25f77ruP77//HoBJ\nkyYxc+ZM7r33Xrp168bGjRsBqKysZNq0aXTv3p2QkBCGDRvGxo0bee2118jPz2fAgAEMGjTIuv1/\n/OMf9OrVi7vvvpuffvrpiv2vWbOGxx9//Jr7rConJwcvLy8efvhhfve73/HQQw+RnJzMvffei6en\nJ3v27LHH1ySEBI4QN+vRRx/ltddeY+/evSxbtoxp06ZZlxUWFvLVV1/x0Ucf8fTTTwPw4YcfcuTI\nEQ4ePMi6dev4z3/+g8Fg4PHHH6dTp06kpqayY8cOAM6ePcvdd9/NN998w3333cdbb711xf4vH37n\navu83OHDh/nb3/7G//73P77//nvi4+P56quvePnll1m0aFFdfTVCVNNkx1IToi6cOXOG//znP4wZ\nM8baVl5eDmhBcGlAw+7du1vnC/nyyy+JjIwEtBF3BwwYUOP2W7RowbBhwwDw9/cnJSXlmvXUtM/L\ndenSxToQp4+Pj3VuF19fX3Jycq65DyFqSwJHiJtQWVlJu3bt2Ldv31WXt2jRwvr80uVSg8FQba6d\na11GdXZ2tj5v1qwZFRUVNmu62j4v17Jly2rbvbTO9e5DiNqQU2pC3AQXFxe6dOnChg0bAO0Hfv/+\n/ddc595772Xjxo0opTh27BifffaZdVmbNm04ffr0DdUg/X5EQyGBI8QNOHfuHO7u7tbHq6++yrvv\nvktMTAy9evXC19eXxMRE6/urXl+59DwiIgKTyYS3tzfjx4+nT58+tG3bFtCuB4WGhlo7DVy+/tWm\nS7i8vabnl69T0+umPiWDsB/pFi2EDs6ePUurVq04ceIE/fv3Z9euXdc1Y6IQDZlcwxFCB3/84x85\ndeoU5eXlzJ07V8JGNAlyhCOEEMIh5BqOEEIIh5DAEUII4RASOEIIIRxCAkcIIYRDSOAIIYRwCAkc\nIYQQDvH/Aft+XWP0flPgAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x58d5f90>"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_3.ipynb b/Engineering_Mechanics/chapter_3.ipynb
new file mode 100644
index 00000000..f584173d
--- /dev/null
+++ b/Engineering_Mechanics/chapter_3.ipynb
@@ -0,0 +1,591 @@
+{
+ "metadata": {
+ "name": "chapter_3.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 3:Coplanar Parallel forces"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1,Page No.48"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=L_BC=L_CD=L_DA=2 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_B=10 #N\n",
+ "F_C=20 #N\n",
+ "F_D=30 #N\n",
+ "F_A=40 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Taking Moment at point A\n",
+ "#As the Forces F_A & F_B pass through point A,these Forces will be zero\n",
+ "#Resultant Moment of all Forces\n",
+ "M_A=-(-F_D*L_DA-F_C*L_CD) #N.m\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant Moment about point A is\",round(M_A,2),\"N.m (Anticlockwise)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant Moment about point A is 100.0 N.m (Anticlockwise)\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2,Page No.50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "F_A=100 #N\n",
+ "OCB=60 #Degrees\n",
+ "L_OC=3 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Triangle OBC is a right Angled triangle\n",
+ "L_OB=L_OC*sin(60*pi*180**-1)\n",
+ "\n",
+ "#Moment of force 100 #N about o\n",
+ "M_O=F_A*L_OB #Nm\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of Force about O is\",round(M_O,2),\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of Force about O is 259.81 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3,Page No.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=30 #cm\n",
+ "L_BC=40 #cm\n",
+ "\n",
+ "#Loads\n",
+ "F_A=100 #N\n",
+ "F_B=200 #N\n",
+ "F_C=300 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#resultant of all forces\n",
+ "R=F_A+F_B+F_C #N\n",
+ "\n",
+ "#Let resultant be acting at distance x from point A\n",
+ "\n",
+ "#Now taking moments at point A\n",
+ "M_A=-(-F_C*(L_AB+L_BC)-F_B*L_AB) #N.m\n",
+ "\n",
+ "#Moment of resultant R about A\n",
+ "#M_R=R*x\n",
+ "\n",
+ "#But algebraic sum of moments of all forces about A = Moment of resultant about A\n",
+ "x=M_A*R**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant is\",round(R,2),\"N\"\n",
+ "print\"Distance of resultant from point A\",round(x,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant is 600.0 N\n",
+ "Distance of resultant from point A 45.0 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4,Page No.54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=4 #m\n",
+ "L_CD=3 #m\n",
+ "L_AD=7 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_A=50 #N\n",
+ "F_D=100 #N\n",
+ "F_B=200 #N\n",
+ "R=250 #N #Resultant \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Part-1\n",
+ "#Magnitude of Force F_B\n",
+ "F=R-F_A-F_D #N\n",
+ "\n",
+ "#Part-2\n",
+ "#Distance from pt A\n",
+ "#Taking Moment of all forces at pt A\n",
+ "#M_A=0\n",
+ "#Now moments of all forces = Moment of Resultant\n",
+ "#After simplifying further we get\n",
+ "x=(R*L_AC-F_D*L_AD)*F_B**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force F is\",round(F,2),\"N\"\n",
+ "print\"Distance of force f from A is\",round(x,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force F is 100.0 N\n",
+ "Distance of force f from A is 1.5 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5,Page No.55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=0.9 #m\n",
+ "L_BC=1.2 #m\n",
+ "L_CD=0.75 #m\n",
+ "L=L_AB+L_BC+L_CD #m\n",
+ "\n",
+ "#Forces\n",
+ "F_A=100 #N\n",
+ "F_B=150 #N\n",
+ "F_C=25 #N\n",
+ "F_D=200 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Part-1\n",
+ "#Magnitude of Resultant\n",
+ "R=F_A-F_B-F_C+F_D #N\n",
+ "\n",
+ "#Part-2\n",
+ "#Let x be the distance of Resultant from A\n",
+ "x=-(F_B*L_AB+F_C*(L_AB+L_BC)-F_D*L)*R**-1 #m\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant\",round(R,2),\"N\"\n",
+ "print\"Distance of Resultant from x is\",round(x,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant 125.0 N\n",
+ "Distance of Resultant from x is 3.06 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6,Page No.57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=L_CD=1 #m\n",
+ "L_DB=1.5 #m\n",
+ "L=3.5 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_A=32.5 #N\n",
+ "F_C=150 #N\n",
+ "F_D=67.5 #N\n",
+ "F_B=10 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#Single Force ststem\n",
+ "R=-(F_A-F_C+F_D-F_B) #N\n",
+ "\n",
+ "#Let x be the distance of Resultant from A\n",
+ "x=-(F_C*L_AC-F_D*(L_AC+L_CD)+F_B*L)*R**-1 #m\n",
+ "\n",
+ "#Part-2\n",
+ "\n",
+ "#Single Force is given By R\n",
+ "\n",
+ "#Now moment of couple at pt A\n",
+ "M_A=-R*round(x,2) #N.m\n",
+ "\n",
+ "#Part-3\n",
+ "\n",
+ "#Now couple at B\n",
+ "L_BE=L+x\n",
+ "M_B=R*round(L_BE,3) #N.m\n",
+ "\n",
+ "#Result\n",
+ "print\"Single Force is\",round(R,2),\"N\"\n",
+ "print\"Couple at A\",round(M_A,2),\"N.m\"\n",
+ "print\"Couple at B\",round(M_B,2),\"N.m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Single Force is 60.0 N\n",
+ "Couple at A 49.8 N.m\n",
+ "Couple at B 160.02 N.m\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7,Page No.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=L_DE=0.6 #m\n",
+ "L_BC=0.9 #m\n",
+ "L_CD=1.2 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_A=4 #N\n",
+ "F_B=8 #N\n",
+ "F_C=8 #N\n",
+ "F_D=16 #N\n",
+ "F_E=12 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resultant Of All Forces\n",
+ "R=-F_A+F_B-F_C+F_D-F_E #N\n",
+ "\n",
+ "#As the Resultatn Force is zero,tere will be two possibilities.The system will have a resultant coup\n",
+ "#Algebraic sum of moments of all forces about A\n",
+ "M_A=-F_B*L_AB+F_C*(L_AB+L_BC)-F_D*(L_AB+L_BC+L_CD)+F_E*(L_AB+L_BC+L_CD+L_DE) #N.m\n",
+ "\n",
+ "#As the algebraic sum of moments of all forces is not zero,the ststem will have couple of magnitude 3.6 #N.m\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant of Parallel Forces is\",round(R,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant of Parallel Forces is 0.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8,Page No.59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=L_DE=2 #m\n",
+ "L_BC=0.5 #m\n",
+ "L_CD=0.5 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_A=20 #N\n",
+ "F_B=20 #N\n",
+ "F_C=40 #N\n",
+ "F_D=30 #N\n",
+ "F_E=10 #N\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resultant Of All Forces\n",
+ "R=-F_A+F_B+F_C-F_D-F_E #N\n",
+ "\n",
+ "#As the Resultant is zero and also the resultant force on the body is zero,the body will be in equilibrium\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant of Parallel Forces is\",round(R,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant of Parallel Forces is 0.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9,Page No.60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Distances\n",
+ "L_OA=200 #mm\n",
+ "L_OB=100 #mm\n",
+ "L_BC=200 #mm\n",
+ "\n",
+ "COA=90 #Degrees\n",
+ "\n",
+ "#Forces\n",
+ "F_A=2000 #N\n",
+ "F_B=1500 #N\n",
+ "F_C=1000 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resolving FOrce A in two components\n",
+ "F_A1=F_A*cos(30*pi*180**-1) #Component along x-axis\n",
+ "F_A2=F_A*sin(30*pi*180**-1) #Component along y-axis\n",
+ "\n",
+ "#Resolving all forces along X-axis\n",
+ "F_x=F_A1-F_B-F_C\n",
+ "F_y=F_A2\n",
+ "\n",
+ "#Resultant \n",
+ "R=(F_x**2+F_y**2)**0.5 #N\n",
+ "\n",
+ "#Taking Moments of all forces about pt O\n",
+ "M_o=-(F_y*L_OA-F_B*L_OB-F_C*(L_BC+L_OB)) #N.mm\n",
+ "\n",
+ "#Result\n",
+ "print\"Equivalent system through point O is:Resultant\",round(R,2),\"N\"\n",
+ "print\" :Moment\",round(M_o,2),\"N.mm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent system through point O is:Resultant 1260.85 N\n",
+ " :Moment 250000.0 N.mm\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10,Page No.61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=1 #m\n",
+ "L_CB=1.5 #m\n",
+ "L_CD=0.8 #m\n",
+ "L_DB=0.7 #m\n",
+ "L=2.5 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_C=4000 #N\n",
+ "F_B=2500 #N\n",
+ "M_D=2000 #N*m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resultant of all forces\n",
+ "R=-F_C+F_B #N\n",
+ "\n",
+ "#As the Force is acting in downward direction,so negative sign\n",
+ "R2=-R\n",
+ "\n",
+ "#Sum of Moments of all Forces\n",
+ "M=(F_C*L_AC+M_D-F_B*L)\n",
+ "M2=-M #Anticlockwise\n",
+ "\n",
+ "#Now distance of resultant from x is\n",
+ "x=(F_C*L_AC+M_D-F_B*L)*R2**-1\n",
+ "\n",
+ "#Negative sign indicates that it acts left of A\n",
+ "x2=-x\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant of the system\",round(R2,2),\"N\"\n",
+ "print\"Equivalent system through A\",round(M2,2),\"N.m (Anticlockwise)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant of the system 1500.0 N\n",
+ "Equivalent system through A 250.0 N.m (Anticlockwise)\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_4.ipynb b/Engineering_Mechanics/chapter_4.ipynb
new file mode 100644
index 00000000..023a8e04
--- /dev/null
+++ b/Engineering_Mechanics/chapter_4.ipynb
@@ -0,0 +1,1051 @@
+{
+ "metadata": {
+ "name": "chapter_4.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4:Conditions Of Equilibrium"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1,Page No.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "F1=100 #N #Force acting on body\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#As the Force F1 & F2 are acting on the same body and at same point but in opposite directions\n",
+ "#These two forces will be equal\n",
+ "F2=F1\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force F2 is\",round(F2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force F2 is 100.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2,Page No.68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Force\n",
+ "F3=400 #N\n",
+ "theta1=30 #Degree #Angle made by forces F2 & F3\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#By Lami's Theorem\n",
+ "#F1*sin(120)**-1=F2*sin(120)**-1=F3*sin(120)**-1\n",
+ "F2=F3*sin(120*pi*180**-1)**-1*sin(120*pi*180**-1)\n",
+ "F1=F2*sin(120*pi*180**-1)**-1*sin(120*pi*180**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Forces:F1\",round(F1,2),\"N\"\n",
+ "print\" :F2\",round(F2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Forces:F1 400.0 N\n",
+ " :F2 400.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3,Page No.69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#FOrces\n",
+ "F1=250 #N\n",
+ "F3=1000 #N\n",
+ "L_AB=1 #m #Length of AB\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Sum of forces in y direction\n",
+ "F2=F1+F3 #N\n",
+ "\n",
+ "#Moment at pt A\n",
+ "#-F2*L_AB+F3*(L_AB+x)=0\n",
+ "#After further simplifying we get\n",
+ "x=F2*L_AB*F3**-1-L_AB\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Force F2 is\",round(F2,2),\"N\"\n",
+ "print\"Distance of F2 From F3 is\",round(x,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Force F2 is 1250.0 N\n",
+ "Distance of F2 From F3 is 0.25 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4,Page No.69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "F1=18 #N\n",
+ "F2=22.5 #N\n",
+ "F3=15 #N\n",
+ "F4=30 #N\n",
+ "\n",
+ "#Angles\n",
+ "theta2=45 #Degree\n",
+ "theta3=90 #Degree\n",
+ "theta4=30 #Degree\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Sum of Forces in x-direction\n",
+ "#F1+F2*cos(45)-F4*cos(30)-F5*cos(theta5)=0\n",
+ "#After further simplifying we get\n",
+ "#F5*cos(theta5)=F1+F2*cos(45)-F4*cos(30)....................1\n",
+ "\n",
+ "#Sum of Forces in y-direction\n",
+ "#F3+F2*sin(45)-F4*sin(30)-F5*sin(theta5)=0\n",
+ "#After further simplifying we get\n",
+ "#F5*sin(theta5)=F3+F2*sin(45)-F4*sin(30)....................2\n",
+ "\n",
+ "#Dividing equation 2 and 1 we get\n",
+ "X=F3+F2*sin(45*pi*180**-1)-F4*sin(30*pi*180**-1)\n",
+ "Y=F1+F2*cos(45*pi*180**-1)-F4*cos(30*pi*180**-1)\n",
+ "theta=np.arctan((X)*(Y)**-1)*(pi**-1*180)\n",
+ "\n",
+ "F5=(F1+F2*cos(45*pi*180**-1)-F4*cos(30*pi*180**-1))*(cos(theta*pi*180**-1))**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of force F5 is\",round(F5,2),\"N\"\n",
+ "print\"Direction of F5 is\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of force F5 is 17.78 N\n",
+ "Direction of F5 is 63.51 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5,Page No.71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables \n",
+ "\n",
+ "#Forces\n",
+ "F_C=1500 #N\n",
+ "theta_C=60 #degrees\n",
+ "\n",
+ "F_B=1805 #N\n",
+ "theta_B=33.67 #Degrees\n",
+ "\n",
+ "F_A=2240 #N\n",
+ "theta_A=63.43 #Degrees\n",
+ "\n",
+ "#Distances of forces from D\n",
+ "L_DC=2 #m\n",
+ "L_DB=3 #m\n",
+ "L_DE=4 #m\n",
+ "L_DO=3 #m\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#NEt forces along Y-axis\n",
+ "R_y=-F_C*cos(theta_C*pi*180**-1)-F_B*cos(theta_B*pi*180**-1)+F_A*cos(theta_A*pi*180**-1)\n",
+ "\n",
+ "#Net Forces along x-axis\n",
+ "R_x=F_C*sin(theta_C*pi*180**-1)-F_B*sin(theta_B*pi*180**-1)-F_A*sin(theta_A*pi*180**-1)\n",
+ "\n",
+ "#Resultant Forces\n",
+ "R=(R_x**2+R_y**2)**0.5 #N\n",
+ "\n",
+ "#Angle made by resultant\n",
+ "theta=np.arctan(R_y*R_x**-1)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Net Moment about point O\n",
+ "M_O=-F_C*cos(theta_C*pi*180**-1)*L_DO-F_B*cos(theta_B*pi*180**-1)*L_DO-F_C*sin(theta_C*pi*180**-1)*L_DC+F_B*sin(theta_B*pi*180**-1)*L_DB+F_A*sin(theta_A*pi*180**-1)*L_DE\n",
+ "\n",
+ "\n",
+ "#Moment of R about O\n",
+ "\n",
+ "#X-intercept\n",
+ "x=M_O*-R_x**-1\n",
+ "\n",
+ "#Y-intercept\n",
+ "y=M_O*-R_y**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Resultant is\",round(R,2),\"N\"\n",
+ "print\"X intercept is\",round(x,2),\"m\"\n",
+ "print\"Y intercept is\",round(y,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resultant is 2114.37 N\n",
+ "X intercept is 0.97 m\n",
+ "Y intercept is 1.33 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6,Page No.73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "theta=60 #Degrees #Angle made by chain with ceiling\n",
+ "W=5 #N #Weight of lamp\n",
+ "theta2=120 #Degree #Angle made by chain with cord\n",
+ "theta3=150 #Degree #Angle made by chain with wire holding lamp\n",
+ "theta4=90 #Degree #Angle made by cord with wire holding lamp\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt T1=tension in cord\n",
+ "#T2=tension in chain\n",
+ "\n",
+ "#By lami's theorem\n",
+ "#T1*sin(theta3)**-1=T2*sin(theta4)**-1=W*sin(theta2)**-1\n",
+ "\n",
+ "T1=W*sin(theta2*pi*180**-1)**-1*sin(theta3*pi*180**-1) #N\n",
+ "T2=W*sin(theta2*pi*180**-1)**-1*sin(theta4*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Tension in chain is\",round(T2,2),\"N\"\n",
+ "print\"Tension in cord is\",round(T1,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tension in chain is 5.77 N\n",
+ "Tension in cord is 2.89 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7,Page No.74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Forces\n",
+ "F_P=1000 #N\n",
+ "F_Q=1500 #N\n",
+ "F_R=1000 #N\n",
+ "F_S=500 #N\n",
+ "\n",
+ "theta=90 #Degree #Angle made by F_P with PS\n",
+ "theta2=60 #Degree #Angle made by F_Q with QS\n",
+ "theta3=45 #Degree #Angle made by F_R with RS\n",
+ "theta4=30 #Degree #Angle made by F_S with PS\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resultant of forces along x-axis\n",
+ "R_x=-F_Q*cos(theta2*pi*180**-1)-F_R*cos(theta3*pi*180**-1)-F_S*cos(theta4*pi*180**-1)\n",
+ "\n",
+ "#Resultant of forces along y-axis\n",
+ "R_y=-F_P*sin(theta*pi*180**-1)-F_Q*sin(theta2*pi*180**-1)-F_R*sin(theta3*pi*180**-1)-F_S*sin(theta4*pi*180**-1)\n",
+ "\n",
+ "#Resultant\n",
+ "R=(R_x**2+R_y**2)**0.5 #N\n",
+ "\n",
+ "#Direction of resultant\n",
+ "theta=np.arctan(R_y*R_x**-1)*(180*pi**-1) #Degree\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Resultant is\",round(R,2),\"N\"\n",
+ "print\"Direction of Resultant is\",round(theta,2),\"degree\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Resultant is 3764.97 N\n",
+ "Direction of Resultant is 59.87 degree\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9,Page No.78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=100 #N #Weight of roller\n",
+ "L_BC=10 #cm #Radius of roller\n",
+ "L_AB=20 #cm #Length of tie rod\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=np.arcsin(L_BC*L_AB**-1)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "F=W*cos(theta*pi*180**-1)**-1 #N #Force in tie rod\n",
+ "R_C=F*sin(theta*pi*180**-1)\n",
+ "\n",
+ "#Result \n",
+ "print\"Force in tie rod is\",round(F,2),\"N\"\n",
+ "print\"Reaction at C is\",round(R_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force in tie rod is 115.47 N\n",
+ "Reaction at C is 57.74 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11,Page No.79"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=120 #N #Weight of ball\n",
+ "theta=30 #Degrees #angle made by groove\n",
+ "theta2=60 #Degrees #Angle made by groove\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A and B respectively\n",
+ "#by LAmi's theorem\n",
+ "#R_B*sin(120)**-1=R_A*sin(150)**-1=W*sin(90)**-1\n",
+ "\n",
+ "R_C=W*sin(90*pi*180**-1)**-1*sin(120*pi*180**-1) #N\n",
+ "R_A=W*sin(90*pi*180**-1)**-1*sin(150*pi*180**-1) #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"N\"\n",
+ "print\"Reaction at c is\",round(R_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 60.0 N\n",
+ "Reaction at c is 103.92 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11(A),Page No.81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=100 #N #weight of roller\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A and B respectively\n",
+ "theta=45 #Degrees #Angle made by R_B with horizontal\n",
+ "theta2=30 #Degrees #Angle made by R_A with horizontal\n",
+ "\n",
+ "#by LAmi's theorem\n",
+ "#R_B*sin(120)**-1=R_A*sin(135)**-1=W*sin(105)**-1\n",
+ "\n",
+ "R_B=W*sin(105*pi*180**-1)**-1*sin(120*pi*180**-1) #N\n",
+ "R_A=W*sin(105*pi*180**-1)**-1*sin(135*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"N\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 73.21 N\n",
+ "Reaction at B is 89.66 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12,Page No.81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=100 #N #Weight of roller\n",
+ "F=200 #N #Horizontal Force\n",
+ "L_AB=10 #cm #LEngth of bar AB\n",
+ "L_BC=5 #cm #radius of roller\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=np.arcsin(L_BC*L_AB**-1)*(pi**-1*180)\n",
+ "\n",
+ "#LEt R_C be the reaction at c\n",
+ "\n",
+ "#sum of Forces along x-axis\n",
+ "F_AB=F*cos(theta*pi*180**-1)**-1 #N\n",
+ "\n",
+ "#sum of forces along y-axis\n",
+ "R_C=W+F_AB*sin(theta*pi*180**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Force in bar AB is\",round(F_AB,2),\"N\"\n",
+ "print\"Reaction at C is\",round(R_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force in bar AB is 230.94 N\n",
+ "Reaction at C is 215.47 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14,Page No.84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=1000 #N #Weight of rollers\n",
+ "theta=30 #Degree #Angle made by groove\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A,R_B,R_C,R_D be the reactions at A,B,C,D respectively\n",
+ "\n",
+ "#Roller-2\n",
+ "R_D=W*sin(90*pi*180**-1)*sin(150*pi*180**-1) #N\n",
+ "R_A=W*sin(90*pi*180**-1)*sin(120*pi*180**-1) #N\n",
+ "\n",
+ "#ROller-1\n",
+ "R_B=(W+R_D*sin(theta*pi*180**-1))*sin(60*pi*180**-1)**-1 #N\n",
+ "R_C=R_B*cos(60*pi*180**-1)+R_D*cos(theta*pi*180**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Reactions at A:R_A\",round(R_A,2),\"N\"\n",
+ "print\" B:R_B\",round(R_B,2),\"N\"\n",
+ "print\" C:R_C\",round(R_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reactions at A:R_A 866.03 N\n",
+ " B:R_B 1443.38 N\n",
+ " C:R_C 1154.7 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15,Page No.85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=1000 #N #Weight of each sphere\n",
+ "L_AF=L_BF=L_FD=L_DE=L_CE=25 #cm\n",
+ "L=90 #Width of channel\n",
+ "L_FG=40 #cm\n",
+ "L_EF=L_FD+L_DE #cm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=np.arcsin(L_FG*L_EF**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#LEt R_A,R_B,R_C,R_D be the reactions at A,B,C,D respectively\n",
+ "\n",
+ "#Roller-2\n",
+ "R_D=W*(cos(theta*pi*180**-1))**-1 #N\n",
+ "R_C=R_D*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Roller-1\n",
+ "R_A=R_D*sin(theta*pi*180**-1) #N\n",
+ "R_B=R_D*cos(theta*pi*180**-1)+W #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reactions at A:R_A\",round(R_A,2),\"N\"\n",
+ "print\" B:R_B\",round(R_B,2),\"N\"\n",
+ "print\" C:R_C\",round(R_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reactions at A:R_A 1333.33 N\n",
+ " B:R_B 2000.0 N\n",
+ " C:R_C 1333.33 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.16,Page No.87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=1000 #N #Weight of 2 circular cyclinders\n",
+ "L_AF=L_FC=L_CG=L_GB=15 #cm\n",
+ "W2=2000 #N #Weight of 3rd cyclinder\n",
+ "r2=15 #cm\n",
+ "L_AB=40 #cm\n",
+ "L_AH=L_HB=20 #cm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=np.arcsin(L_AH*(L_AF+L_FC)**-1)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Let R_G,R_F,R_D,R_E be the reactions at G,F,D,E \n",
+ "\n",
+ "R_F=W2*(2*cos(theta*pi*180**-1))**-1 #N\n",
+ "R_G=R_F #N\n",
+ "\n",
+ "#Roller-1\n",
+ "\n",
+ "R_D=W+R_F*cos(theta*pi*180**-1) #N\n",
+ "S=R_F*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Roller-2\n",
+ "\n",
+ "R_E=W+R_G*cos(41.81*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at E is \",round(R_E,2),\"N\"\n",
+ "print\"Reactions at D is\",round(R_D,2),\"N\"\n",
+ "print\"Force S in the string is \",round(S,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at E is 2000.0 N\n",
+ "Reactions at D is 2000.0 N\n",
+ "Force S in the string is 894.43 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.17,Page No.88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "L_OB=L_OC=L_OA=40 #cm #Radius of roller\n",
+ "h=20 #cm #Height of block\n",
+ "L_OD=L_OA-h #cm #Length \n",
+ "W=3000 #N #Weight of roller\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_B be the reaction at B\n",
+ "L_BD=((L_OB**2-L_OD**2)**0.5) #cm\n",
+ "theta=np.arctan(L_BD*(L_OC+L_OD)**-1)*(180*pi**-1) #degree\n",
+ "\n",
+ "#Sum of all vertical Forces\n",
+ "R_B=W*(cos(theta*pi*180**-1))**-1 #N\n",
+ "\n",
+ "#Sum of all horizontal Forces\n",
+ "P=R_B*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at B is\",round(R_B,2),\"N\"\n",
+ "print\"Horizontal Reaction at C is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at B is 3464.1 N\n",
+ "Horizontal Reaction at C is 1732.05 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.18,Page No.89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "#Declaration Of Variables\n",
+ "L_OB=L_OC=L_OA=40 #cm #Radius of roller\n",
+ "h=20 #cm #Height of block\n",
+ "L_OD=L_OA-h #cm #Length \n",
+ "W=3000 #N #Weight of roller\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "theta=np.arccos(L_OD*L_OB**-1)*(pi**-1*180) #N\n",
+ "\n",
+ "R_B=W*(cos(theta*pi*180**-1))**-1 #N\n",
+ "P=R_B*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#LEt P_min be the least Force applied\n",
+ "#let alpha be the angle made by least force\n",
+ "#P_min=W*L_BD*L_BC**-1\n",
+ "\n",
+ "L_BD=((L_OB**2-L_OD**2)**0.5) #cm\n",
+ "\n",
+ "#But L_BC=L_BO*sin(alpha) \n",
+ "\n",
+ "#Force P will be min when sin(Alpha) is max.\n",
+ "#thus sin(alpha)=90 or sin(alpha)=0. therefore sub value in above equation,we get min Force\n",
+ "#LEt P_min be the Least Force to be applied\n",
+ "P_min=W*L_BD*(L_OB*1)**-1 #N\n",
+ "\n",
+ "#Direction of least force is right angle to L_BO\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum least force is\",round(P_min,2),\"N\"\n",
+ "print\"Magnitude of force applied horizontally at centre of roller\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum least force is 2598.08 N\n",
+ "Magnitude of force applied horizontally at centre of roller 5196.15 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.19,Page No.91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "L_BC=25 #cm \n",
+ "L_AB=40 #cm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let alpha be the angle made by force F so that body will be in equilibrium\n",
+ "#Theta is angle made by R_A with horizontal,so Force F has to make same angle with horizontal\n",
+ "alpha=np.arctan(L_AB*L_BC**-1)*(pi**-1*180) #degrees\n",
+ "theta=alpha\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle theta is\",round(theta,2),\"Degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle theta is 57.99 Degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.20,Page No.91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "L_AB=1.6 #m\n",
+ "L_BD=1.2 #m\n",
+ "L_BC=0.8 #m\n",
+ "L_CD=0.4 #m\n",
+ "F_C=200 #N #Force t C\n",
+ "theta=60 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Sum of all forces in x-direction\n",
+ "R_Bx=F_C #N\n",
+ "\n",
+ "L_BD2=L_BD*sin(theta*pi*180**-1) #m\n",
+ "L_DD=L_BD*cos(theta*pi*180**-1) #m\n",
+ "L_BC2=sin(theta*pi*180**-1)*L_BC #m\n",
+ "\n",
+ "R_D=F_C*L_BC2*L_DD**-1 #N\n",
+ "R_By=R_D\n",
+ "\n",
+ "#Resultant reaction at B\n",
+ "R_B=(R_Bx**2+R_By**2)**0.5 #N\n",
+ "\n",
+ "#Sum of moments at A\n",
+ "M_A=R_By*L_AB\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Couple to be apllied to hold the system is\",round(M_A,2),\"N\"\n",
+ "print\"Magnitude of pin reaction at B\",round(R_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Couple to be apllied to hold the system is 369.5 N\n",
+ "Magnitude of pin reaction at B 305.51 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.21,Page No.93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "W=2000 #N #Weight of chain\n",
+ "L_AB=2 #m\n",
+ "F_B=320 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#By LAmi's theorem\n",
+ "#F_A*sin(90)=W*sin(180-theta)**-1=F_B*sin(90+theta)**-1\n",
+ "#But sin(180-theta)=sin(theta),sin(90+theta)=cos(theta)\n",
+ "#Tan(theta)=W*F_B**-1\n",
+ "theta=np.arctan(W*F_B**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "F_A=W*(sin(theta*pi*180**-1))**-1 #N\n",
+ "#Let x be the lateral distance\n",
+ "x=cos(theta*pi*180**-1)*2\n",
+ "\n",
+ "#Result\n",
+ "print\"Force in the chain is\",round(F_A,2),\"N\"\n",
+ "print\"Horizontal displacement is\",round(x,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force in the chain is 2025.44 N\n",
+ "Horizontal displacement is 0.32 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_5.ipynb b/Engineering_Mechanics/chapter_5.ipynb
new file mode 100644
index 00000000..1b989f4f
--- /dev/null
+++ b/Engineering_Mechanics/chapter_5.ipynb
@@ -0,0 +1,851 @@
+{
+ "metadata": {
+ "name": "chapter_5.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5:Support Reactions"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1,Page No.101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L=6 #m\n",
+ "L_AC=2 #m\n",
+ "L_AD=4 #m\n",
+ "L_CD=L_DB=2 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_C=3 #KN\n",
+ "F_D=6 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=F_C+F_D\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_D*(L_AC+L_CD)+F_C*L_AC)*L**-1 #KN\n",
+ "R_A=(F_C+F_D)-R_B #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 4.0 KN\n",
+ "Reaction at B is 5.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2,Page No102 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=6 #m\n",
+ "L_AB=9 #m\n",
+ "\n",
+ "#Load\n",
+ "w=10 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_AC\n",
+ "#Taking Moment at pt A\n",
+ "R_B=w*L_AC*L_AC*2**-1*L_AB**-1 #KN\n",
+ "R_A=w*L_AC-R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 40.0 KN\n",
+ "Reaction at B is 20.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3,Page No.103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=2 #m\n",
+ "L_CD=L_DB=4 #m\n",
+ "L=10 #m #span\n",
+ "\n",
+ "#Forces & Loads\n",
+ "F_C=50 #KN\n",
+ "F_D=40 #KN\n",
+ "w=10 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_CD-F_C-F_D\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_C*L_AC+F_D*(L_AC+L_CD)+w*L_CD*(L_CD*2**-1+L_AC))*L**-1 #KN\n",
+ "R_A=w*L_CD+F_C+F_D-R_B #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 80.0 KN\n",
+ "Reaction at B is 50.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4,Page No.103 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Length\n",
+ "L_AB=9 #m\n",
+ "\n",
+ "#Load\n",
+ "w=900 #N/m #u.v.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_AB*2**-1\n",
+ "#Taking Moment at pt A\n",
+ "R_B=w*L_AB*2**-1*2*3**-1*L_AB*L_AB**-1 #KN\n",
+ "R_A=w*L_AB*2**-1-R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 1350.0 KN\n",
+ "Reaction at B is 2700.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5,Page No.104 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Length\n",
+ "L_AB=5 #m\n",
+ "\n",
+ "#Loads\n",
+ "w1=800 #N/m #At A\n",
+ "w2=1600 #N/m #At B\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w2*2**-1*L_AB*2**-1+w1*L_AB\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(w1*L_AB*L_AB*2**-1+w2*2**-1*L_AB*2**-1*2*3**-1*L_AB)*L_AB**-1 #KN\n",
+ "R_A=w2*2**-1*L_AB*2**-1+w1*L_AB-R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 2666.67 KN\n",
+ "Reaction at B is 3333.33 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6,Page No.105 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#LEt the ends of beams be C and D respectively\n",
+ "#Lengths\n",
+ "L_CA=3 #m\n",
+ "L_AB=8 #m\n",
+ "L_BD=2 #m\n",
+ "\n",
+ "#Let the Force 2000 acting be E\n",
+ "L_AE=5 #m\n",
+ "L_EB=3 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_C=800 #N\n",
+ "F_E=2000 #N\n",
+ "F_D=1000 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=(F_C+F_E+F_D)\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_E*L_AE+F_D*(L_BD+L_AB)-F_C*L_CA)*L_AB**-1 #KN\n",
+ "R_A=(F_C+F_E+F_D)-R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 1600.0 KN\n",
+ "Reaction at B is 2200.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7,Page No.106 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AB=4 #m\n",
+ "L_BC=2 #m\n",
+ "L_AC=6 #m\n",
+ "\n",
+ "#Loads\n",
+ "F_C=2 #KN\n",
+ "w=2 #KN/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=w*L_AC\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_C*L_AC+w*L_AC*L_AC*2**-1)*L_AB**-1 #KN\n",
+ "R_A=w*L_AC-R_B+F_C #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 2.0 KN\n",
+ "Reaction at B is 12.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8,Page No.106 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#lengths\n",
+ "L_AC=20 #cm\n",
+ "L_CD=L_EB=40 #cm\n",
+ "L_DE=70 #cm\n",
+ "L_AB=L_AC+L_CD+L_EB+L_DE #cm\n",
+ "\n",
+ "#Forces\n",
+ "F_C=50 #N\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=20*sin(pi*180**-1*60) #N\n",
+ "F_D2=20*cos(pi*180**-1*60) #N\n",
+ "\n",
+ "#At pt E\n",
+ "F_E1=30*sin(pi*180**-1*45) #N\n",
+ "F_E2=30*cos(pi*180**-1*45) #N\n",
+ "\n",
+ "#At pt B\n",
+ "F_B1=15*sin(pi*180**-1*80) #N\n",
+ "F_B2=15*cos(pi*180**-1*80) #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=F_C+F_D1+F_E1+F_B1\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_C*L_AC+F_D1*(L_AC+L_CD)+F_E1*(L_AC+L_CD+L_DE)+F_B1*(L_AC+L_CD+L_DE+L_EB))*L_AB**-1\n",
+ "\n",
+ "#Vertical component of A\n",
+ "R_AY=F_C+F_D1+F_E1+F_B1-R_B #N\n",
+ "\n",
+ "#Now horizontal component of A\n",
+ "R_AX=-(F_D2-F_E2+F_B2) #N\n",
+ "#the direction of R_AX will be towards left of A\n",
+ "\n",
+ "#Reaction At A\n",
+ "R=(R_AY**2+R_AX**2)**0.5 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is:R\",round(R,2),\"N\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is:R 60.93 N\n",
+ "Reaction at B is 42.99 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9,Page No.108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=2 #m\n",
+ "L_CD=2 #m\n",
+ "L_DB=2 #m\n",
+ "L=6 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=1.5 #KN/m\n",
+ "F_C=5 #KN\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=4*sin(pi*180**-1*(180-135))\n",
+ "F_D2=4*sin(pi*180**-1*(180-135))\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R and R_B be the reactions at A & B respectively\n",
+ "#R_A+R_B=F_C+F_D1+F_E1+F_B1\n",
+ "#Taking Moment at pt A\n",
+ "R_B=((F_C*L_AC)+w*L_CD*(L_CD*2**-1+L_AC)+F_D1*(L_AC+L_CD))*L**-1\n",
+ "\n",
+ "#Vertical component of A\n",
+ "R_AY=F_C+F_D1+w*L_AC-R_B #KN\n",
+ "\n",
+ "#Now horizontal component of A\n",
+ "R_AX=(F_D2) #KN\n",
+ "#the direction of R_AX will be towards left of A\n",
+ "\n",
+ "#Reaction At A\n",
+ "R=(R_AY**2+R_AX**2)**0.5 #KN\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is:R\",round(R,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is:R 6.43 KN\n",
+ "Reaction at B is 5.05 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10,Page No.110 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L=10 #m\n",
+ "L_AC=2.5 #m\n",
+ "L_CD=2.5 #m\n",
+ "L_DE=3 #m\n",
+ "L_EB=2 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_C=4 #KN\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=5*sin(pi*180**-1*45)\n",
+ "F_D2=5*cos(pi*180**-1*45)\n",
+ "\n",
+ "F_E=5 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R and R_B be the reactions at A & B respectively\n",
+ "\n",
+ "#Resolving R_B into R_B1 & R_B2\n",
+ "#R_B1*sin(30*pi*180**-1)\n",
+ "#R_B2*cos(30*pi*180**-1)\n",
+ "\n",
+ "#R_A+R_B=F_C+F_D1+F_E\n",
+ "#Taking Moment at pt A\n",
+ "R_B1=(F_C*L_AC+F_D1*(L_AC+L_CD)+F_E*(L_AC+L_CD+L_DE))*(L*cos(pi*180**-1*30))**-1 #KN\n",
+ "R_B2=R_B1*sin(30*pi*180**-1) #KN\n",
+ "\n",
+ "#Vertical component of A\n",
+ "R_AY=(F_C+F_D1+F_E-R_B1*cos(30*pi*180**-1)) #KN\n",
+ "\n",
+ "#Now horizontal component of A\n",
+ "R_AX=(-F_D2+R_B2) #KN\n",
+ "#the direction of R_AX will be towards left of A\n",
+ "\n",
+ "#Reaction At A\n",
+ "R=(R_AY**2+R_AX**2)**0.5 #KN\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is:R\",round(R,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B1,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is:R 5.78 KN\n",
+ "Reaction at B is 7.81 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.11,Page No.111"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=L_CD=5 #m\n",
+ "L_AD=10 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_C=F_D=500 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A & R_B be the reactions at pt A & B respectively\n",
+ "\n",
+ "#Now resolving Forces at pt C & D \n",
+ "F_C1=F_D1=F_C*sin(30*pi*180**-1) #N\n",
+ "F_C2=F_D2=F_D*cos(30*pi*180**-1) #N\n",
+ "\n",
+ "#Now taking Moment at pt A\n",
+ "#But In triangle BDA,\n",
+ "#cos(30*pi*180**-1)=L_AD*L_AB**-1\n",
+ "#After Further simplifying we get\n",
+ "L_AB=L_AD*(cos(30*pi*180**-1))**-1 #m\n",
+ "\n",
+ "R_B=(F_C*L_AC+F_D*L_AD)*L_AB**-1 #N\n",
+ "\n",
+ "#Now sum of components parallel to inclined surface AB\n",
+ "R_AH=F_C1+F_D1 #N\n",
+ "\n",
+ "#Now sum of forces perpendicular to inclined surface AB\n",
+ "R_AV=F_C2+F_D2-R_B #N\n",
+ "\n",
+ "#Reaction At A\n",
+ "R=(R_AV**2+R_AH**2)**0.5 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 544.86 KN\n",
+ "Reaction at B is 649.52 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12,Page No.113 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AD=80*10**-2 #m\n",
+ "L_AE=L_EF=L_FB=60*10**-2 #m\n",
+ "L_AC=L_CD=40*10**-2 #cm\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "#At pt D\n",
+ "F_D1=100*sin(pi*180**-1*30) #N\n",
+ "F_D2=100*cos(pi*180**-1*30) #N\n",
+ "\n",
+ "#At pt C\n",
+ "F_C1=70*sin(pi*180**-1*45) #N\n",
+ "F_C2=70*cos(pi*180**-1*45) #N\n",
+ "\n",
+ "w=250 #N/m #u.d.l\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at A & B respectively\n",
+ "#Resolving R_B into R_B1 & R_B2\n",
+ "#Taking Moment at pt A\n",
+ "R_B=-(-F_D2*L_AD+F_C2*L_AC-w*L_EF*(L_EF*2**-1+L_AE))*(cos(20*pi*180**-1)*(L_AE+L_EF+L_FB))**-1 #N\n",
+ "\n",
+ "#Vertical component of A\n",
+ "R_AX=(-F_D2+F_C1+R_B*sin(20*pi*180**-1)) #N\n",
+ "\n",
+ "#Now horizontal component of A\n",
+ "R_AY=(-F_D1-F_C2-R_B*cos(20*pi*180**-1)+w*L_EF) #KN\n",
+ "\n",
+ "##Reaction At A\n",
+ "R=(R_AY**2+R_AX**2)**0.5 #KN\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"The Reaction at supports of an L-bent is\",round(R,3),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Reaction at supports of an L-bent is 51.988 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13,Page No.115 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#lengths\n",
+ "L_AC=2 #m\n",
+ "L_CD=3 #m\n",
+ "L_DB=2 #m\n",
+ "L=7 #m\n",
+ "\n",
+ "#Loads\n",
+ "w=4 #KN/m\n",
+ "m1=4 #KN/m #moment at pt C\n",
+ "m2=8 #KN/m #moment at pt D\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A & R_B be the reactions at pt a nd B respectively\n",
+ "#R_A+R_B=w*L_CD*2**-1\n",
+ "#Taking moment at pt A\n",
+ "R_B=(w*L_CD*2**-1*(2*3**-1*L_CD+L_AC)+m1-m2)*L**-1\n",
+ "R_A=w*L_CD*2**-1-R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is\",round(R_A,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is 3.14 KN\n",
+ "Reaction at B is 2.86 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.14,Page No.116 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AC=L_CD=L_DE=L_EB=2 #m\n",
+ "L=8 #M\n",
+ "\n",
+ "#Forces\n",
+ "#At pt C\n",
+ "F_C1=40*sin(pi*180**-1*60) #KN\n",
+ "F_C2=40*cos(pi*180**-1*60) #KN\n",
+ "\n",
+ "#At pt E\n",
+ "F_E1=50*sin(pi*180**-1*60) #KN\n",
+ "F_E2=50*cos(pi*180**-1*60) #KN\n",
+ "\n",
+ "F_D=80 #KN\n",
+ "w=20 #KN/m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A & B respectively\n",
+ "#Taking Moment at pt A\n",
+ "R_B=(F_C1*L_AC+w*L_CD*(L_CD*2**-1+L_AC)+F_D*(L_AC+L_CD)+F_E1*(L_AC+L_CD+L_DE))*(L*cos(30*pi*180**-1))**-1\n",
+ "R_B2=R_B*sin(30*pi*180**-1)\n",
+ "\n",
+ "#Vertical component of A\n",
+ "R_AY=(F_C1+w*L_CD+F_D+F_E1-R_B*cos(30*pi*180**-1)) #KN\n",
+ "\n",
+ "#Now horizontal component of A\n",
+ "R_AX=(-F_C2+F_E2+R_B2) #KN\n",
+ "#the direction of R_AX will be towards left of A\n",
+ "\n",
+ "#Reaction At A\n",
+ "R=(R_AY**2+R_AX**2)**0.5 #KN\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Reaction at A is:R\",round(R,2),\"KN\"\n",
+ "print\"Reaction at B is\",round(R_B,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reaction at A is:R 118.43 KN\n",
+ "Reaction at B is 111.01 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_6.ipynb b/Engineering_Mechanics/chapter_6.ipynb
new file mode 100644
index 00000000..5cd8e15f
--- /dev/null
+++ b/Engineering_Mechanics/chapter_6.ipynb
@@ -0,0 +1,1118 @@
+{
+ "metadata": {
+ "name": "chapter_6.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6:Analysis Of Perfect Frames"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1,Page No.124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_A=20 #KN #Force at A\n",
+ "theta=60 #Degrees\n",
+ "alpha=30 #Degrees\n",
+ "L_BC=5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Length AB\n",
+ "L_AB=L_BC*cos(theta*pi*180**-1) #m\n",
+ " \n",
+ "#Distance of line of action \n",
+ "x=1.25 #m\n",
+ "\n",
+ "#Reactions\n",
+ "R_C=F_A*x*L_BC**-1 #KN\n",
+ "R_B=F_A-R_C #KN\n",
+ "\n",
+ "#Force in AB & BC\n",
+ "F_AB=R_B*(sin(theta*pi*180**-1))**-1 #KN\n",
+ "F_BC=F_AB*cos(theta*pi*180**-1) #KN\n",
+ "\n",
+ "#Force in AC & BC\n",
+ "F_AC=R_C*(sin(alpha*pi*180**-1))**-1 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"FOrces in members are:F_AB\",round(F_AB,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\"\n",
+ "print\" :F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "FOrces in members are:F_AB 17.32 KN\n",
+ " :F_BC 8.66 KN\n",
+ " :F_AC 10.0 KN\n",
+ " :F_BC 8.66 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2,Page No.125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_D=1 #KN\n",
+ "L_AD=5 #m #Length AD\n",
+ "L_AB=7.5 #m #Length AB\n",
+ "theta=60 #degrees\n",
+ "alpha=30 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#REactions\n",
+ "R_B=L_AD*L_AB**-1 #KN\n",
+ "R_A=F_D-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AC=R_A*(sin(alpha*pi*180**-1))**-1 #KN\n",
+ "F_AD=F_AC*cos(alpha*pi*180**-1) #KN\n",
+ "F_BC=R_B*(sin(alpha*pi*180**-1))**-1 #KN\n",
+ "F_BD=F_BC*(cos(alpha*pi*180**-1)) #KN\n",
+ "F_CD=1*(sin(theta*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"forces in members are:F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\"\n",
+ "print\" :F_BD\",round(F_BD,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "forces in members are:F_AC 0.67 KN\n",
+ " :F_AD 0.58 KN\n",
+ " :F_BC 1.33 KN\n",
+ " :F_BD 1.15 KN\n",
+ " :F_CD 1.15 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3,Page No.127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AB=5 #m #Length AB\n",
+ "theta=60 #Degrees\n",
+ "alpha=30 #Degrees\n",
+ "F_D=10 #KN\n",
+ "F_E=12 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Length\n",
+ "L_AC=L_AD=L_AB*(cos(theta*pi*180**-1)) #m\n",
+ "\n",
+ "#Distance of line of action\n",
+ "x=1.25 #m\n",
+ "\n",
+ "L_BC=L_AB-L_AD #m\n",
+ "L_BE=L_BC*cos(alpha*pi*180**-1) #m\n",
+ "\n",
+ "#line of action \n",
+ "x2=1.875 #m\n",
+ "x3=3.125\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_D*x+F_E*x3)*L_AB**-1 #KN\n",
+ "R_A=(F_D+F_E)-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AD=F_E*(sin(theta*pi*180**-1))**-1 #KN\n",
+ "F_AC=F_AD*cos(theta*pi*180**-1) #KN\n",
+ "F_BE=F_D*(sin(alpha*pi*180**-1))**-1 #KN\n",
+ "F_BC=F_BE*cos(alpha*pi*180**-1) #KN\n",
+ "\n",
+ "#After simplifying joint C we get\n",
+ "#F_CD=-F_CE\n",
+ "#after further simplifying\n",
+ "F_CE=20.784*2**-1 #KN\n",
+ "F_CD=F_CE #KN\n",
+ "F_ED=F_BE-(F_E*cos(theta*pi*180**-1)) #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"forces in members are:F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\"\n",
+ "print\" :F_BE\",round(F_BE,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\"\n",
+ "print\" :F_CE\",round(F_CE,2),\"KN\"\n",
+ "print\" :F_ED\",round(F_ED,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "forces in members are:F_AC 6.93 KN\n",
+ " :F_AD 13.86 KN\n",
+ " :F_BC 17.32 KN\n",
+ " :F_BE 20.0 KN\n",
+ " :F_CD 10.39 KN\n",
+ " :F_CE 10.39 KN\n",
+ " :F_ED 14.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4,Page No.129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_GH=L_AG=L_HB=3 #m\n",
+ "L_FB=L_EH=L_DG=L_AC=4 #m\n",
+ "L_AB=9 #m \n",
+ "F_G=9 #KN\n",
+ "F_H=12 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_G*L_AG+F_H*(L_AG+L_GH))*L_AB**-1 #KN\n",
+ "R_A=(F_G+F_H)-R_B #KN\n",
+ "\n",
+ "#Joint C\n",
+ "#After resolving and simplifying we get\n",
+ "#cos(theta)=4*5**-1\n",
+ "#sin(theta)=3*4**-1\n",
+ "#Let cos(theta)=X\n",
+ "X=4*5**-1\n",
+ "Y=3*5**-1\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AC=R_A #KN\n",
+ "F_CG=R_A*X**-1 #KN\n",
+ "F_CD=F_CG*Y #KN\n",
+ "F_GD=-(F_G-F_CG*X)\n",
+ "F_GH=F_CG*Y \n",
+ "F_DH=1*X**-1 #KN\n",
+ "F_DE=F_GH+F_DH*Y\n",
+ "F_EF=F_DE #KN\n",
+ "F_HF=(F_H-F_GD)*X**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in members are:F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_CG\",round(F_CG,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\"\n",
+ "print\" :F_GD\",round(F_GD,2),\"KN\"\n",
+ "print\" :F_GH\",round(F_GH,2),\"KN\"\n",
+ "print\" :F_DH\",round(F_DH,2),\"KN\"\n",
+ "print\" :F_DE\",round(F_DE,2),\"KN\"\n",
+ "print\" :F_EF\",round(F_EF,2),\"KN\"\n",
+ "print\" :F_HF\",round(F_HF,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in members are:F_AC 10.0 KN\n",
+ " :F_CG 12.5 KN\n",
+ " :F_CD 7.5 KN\n",
+ " :F_GD 1.0 KN\n",
+ " :F_GH 7.5 KN\n",
+ " :F_DH 1.25 KN\n",
+ " :F_DE 8.25 KN\n",
+ " :F_EF 8.25 KN\n",
+ " :F_HF 13.75 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5,Page No.133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_D=1000 #N \n",
+ "L_AE=L_EF=L_FH=L_BH=1 #m\n",
+ "L_CH=2.25 #m\n",
+ "L=4 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "\n",
+ "#Let sin(theta)=0.6\n",
+ "#cos(theta)=0.8\n",
+ "#tan(theta)=0.75 \n",
+ "#sin(theta)=X\n",
+ "#Cos(theta)=Y\n",
+ "#tan(theta)=Z\n",
+ "X=0.6\n",
+ "Y=0.8\n",
+ "Z=0.75 \n",
+ "\n",
+ "R_B=F_D*L**-1 #KN\n",
+ "R_A=F_D-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AD=R_A*X**-1 #KN\n",
+ "F_AE=F_AD*Y #KN\n",
+ "F_EF=F_AE #KN\n",
+ "\n",
+ "#After dimplifying And further resolving we get\n",
+ "F_DG=833.34*2**-1 #KN\n",
+ "F_DF=416.66+416.67 \n",
+ "F_FG=F_DF*X #KN\n",
+ "F_FH=F_D-F_DF*Y\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in the members are:F_DG\",round(F_DG,2),\"KN\"\n",
+ "print\" :F_DF\",round(F_DF,2),\"KN\"\n",
+ "print\" :F_FG\",round(F_FG,2),\"KN\"\n",
+ "print\" :F_FH\",round(F_FH,2),\"KN\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"KN\"\n",
+ "print\" :F_AE\",round(F_AE,2),\"KN\"\n",
+ "print\" :F_EF\",round(F_EF,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in the members are:F_DG 416.67 KN\n",
+ " :F_DF 833.33 KN\n",
+ " :F_FG 500.0 KN\n",
+ " :F_FH 333.34 KN\n",
+ " :F_AD 1250.0 KN\n",
+ " :F_AE 1000.0 KN\n",
+ " :F_EF 1000.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6,Page No.135"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "theta=60\n",
+ "alpha=30\n",
+ "F_C=1000 #N \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Force CD\n",
+ "F_CD=F_C*(sin(theta*pi*180**-1))**-1 #N\n",
+ " \n",
+ "#Force CA\n",
+ "F_CA=F_CD*cos(theta*pi*180**-1) #N\n",
+ "\n",
+ "#FOrce AD\n",
+ "F_AD=F_CD*cos(alpha*pi*180**-1)*(cos(alpha*pi*180**-1))**-1 #N\n",
+ "\n",
+ "#Force BD\n",
+ "F_BD=F_AD*sin(alpha*pi*180**-1)+F_CD*sin(alpha*pi*180**-1) #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in members are:F_CD\",round(F_CD,2),\"N\"\n",
+ "print\" :F_CA\",round(F_CA,2),\"N\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"N\"\n",
+ "print\" :F_BD\",round(F_BD,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in members are:F_CD 1154.7 N\n",
+ " :F_CA 577.35 N\n",
+ " :F_AD 1154.7 N\n",
+ " :F_BD 1154.7 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7,Page No.136"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#LEt tan(theta)=X\n",
+ "#cos(theta)=Y\n",
+ "#sin(theta)=Z\n",
+ "L_EC=5\n",
+ "F_B=F_C=1000 #N\n",
+ "X=3*4**-1 \n",
+ "Y=0.8\n",
+ "Z=0.6\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Force CD\n",
+ "F_CD=F_B*Z**-1 #N\n",
+ "\n",
+ "#Force CB\n",
+ "F_CB=F_CD*Y\n",
+ "\n",
+ "#Force BD\n",
+ "F_BD=F_B #N\n",
+ "\n",
+ "#Force BA\n",
+ "F_BA=F_CB #N\n",
+ "\n",
+ "#in joint D,resolving forces we get\n",
+ "#F_AD+F_ED=3333.32 .........1\n",
+ "#After further simplifying we get\n",
+ "#F_ED-F_AD=1666.66 .............2\n",
+ "\n",
+ "#Froce ED\n",
+ "F_ED=4999.98*2**-1 #N\n",
+ "\n",
+ "#Force AD\n",
+ "F_AD=3333.32-F_ED #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in the members are:F_CD\",round(F_CD,2),\"N\"\n",
+ "print\" :F_CB\",round(F_CB,2),\"N\"\n",
+ "print\" :F_BD\",round(F_BD,2),\"N\"\n",
+ "print\" :F_BA\",round(F_BA,2),\"N\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in the members are:F_CD 1666.67 N\n",
+ " :F_CB 1333.33 N\n",
+ " :F_BD 1000.0 N\n",
+ " :F_BA 1333.33 N\n",
+ " :F_AD 833.33 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8,Page No.138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_D=12 #KN #Force at D\n",
+ "F_C=18 #KN\n",
+ "L_AC=2 #m \n",
+ "L_CB=2 #m\n",
+ "L_DC=1.5 #m\n",
+ "L_AB=4 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "\n",
+ "R_B=(F_C*L_AC+F_D*L_DC)*L_AB**-1 #KN\n",
+ "R_A=(F_C)-R_B #KN\n",
+ "\n",
+ "#Let cos(theta)=X\n",
+ "#sin(theta)=Y\n",
+ "\n",
+ "X=0.8 \n",
+ "Y=0.6 \n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AD=R_A*Y**-1 #KN\n",
+ "F_AC=F_D+F_AD*X #KN\n",
+ "F_CD=F_AC\n",
+ "F_BC=F_AC #KN\n",
+ "F_BD=R_B*(Y)**-1 #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"forces in members are:F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_AD\",round(F_AD,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\"\n",
+ "print\" :F_BD\",round(F_BD,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "forces in members are:F_AC 18.0 KN\n",
+ " :F_AD 7.5 KN\n",
+ " :F_BC 18.0 KN\n",
+ " :F_BD 22.5 KN\n",
+ " :F_CD 18.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9,Page No.139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AF=L_FG=L_BG=4 #m\n",
+ "L_AB=12 #m\n",
+ "F_F=3 #KN\n",
+ "F_G=6 #KN\n",
+ "F_E=8 #KN\n",
+ "V=1.5 #m #Vertical Distance\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_E*V+F_F*L_AF+F_G*(L_AF+L_FG))*L_AB**-1\n",
+ "R_A=(F_F+F_G)-R_B\n",
+ "\n",
+ "#Let cos(theta)=X\n",
+ "#Sin(theta)=Y\n",
+ "X=0.8\n",
+ "Y=0.6 \n",
+ "\n",
+ "#Forces\n",
+ "F_CA=F_F*Y**-1 #KN\n",
+ "F_FA=F_CA*X+F_E #KN\n",
+ "F_CF=F_CA #KN\n",
+ "F_CD=(F_CA+F_CF)*X #KN\n",
+ "F_DF=(-F_CF*Y+F_F)*Y**-1 #KN\n",
+ "F_GF=F_FA+F_CF*X #KN\n",
+ "F_DE=F_CD #KN\n",
+ "F_GE=F_G*Y**-1 #KN\n",
+ "F_GB=F_GF-F_GE*X #KN\n",
+ "F_BE=F_GE #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in the members are:F_CA\",round(F_CA,2),\"KN\"\n",
+ "print\" :F_FA\",round(F_FA,2),\"KN\"\n",
+ "print\" :F_CF\",round(F_CF,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\"\n",
+ "print\" :F_DF\",round(F_DF,2),\"KN\"\n",
+ "print\" :F_GF\",round(F_GF,2),\"KN\"\n",
+ "print\" :F_DE\",round(F_DE,2),\"KN\"\n",
+ "print\" :F_GE\",round(F_GE,2),\"KN\"\n",
+ "print\" :F_GB\",round(F_GB,2),\"KN\"\n",
+ "print\" :F_BE\",round(F_BE,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in the members are:F_CA 5.0 KN\n",
+ " :F_FA 12.0 KN\n",
+ " :F_CF 5.0 KN\n",
+ " :F_CD 8.0 KN\n",
+ " :F_DF 0.0 KN\n",
+ " :F_GF 16.0 KN\n",
+ " :F_DE 8.0 KN\n",
+ " :F_GE 10.0 KN\n",
+ " :F_GB 8.0 KN\n",
+ " :F_BE 10.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10,Page No.142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "theta=60 #DEgrees\n",
+ "alpha=30 #Degrees\n",
+ "L_AE=L_EF=L_FB=4 #m\n",
+ "L_AB=12 #m\n",
+ "F_A=1 #KN\n",
+ "F_C=2 #KN\n",
+ "F_D=1 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L_AC=L_AE*cos(alpha*pi*180**-1) #m\n",
+ "L_AD=F_C*L_AC #m\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_C*L_AC+F_A*L_AD+F_D*L_AE)*L_AB**-1\n",
+ "V=(F_A+F_C+F_D)*sin(theta*pi*180**-1)+1 #KN\n",
+ "H=(F_A+F_C+F_D)*cos(theta*pi*180**-1) #KN\n",
+ "R_A=V-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "F_AC=(R_A-(F_A*sin(theta*pi*180**-1)))*(sin(alpha*pi*180**-1))**-1\n",
+ "F_AE=F_C+F_AC*cos(alpha*pi*180**-1)-F_A*cos(theta*pi*180**-1) #KN\n",
+ "F_CD=F_AC\n",
+ "F_CE=F_C #KN\n",
+ "F_ED=F_C+(sin(theta*pi*180**-1))**-1 #KN\n",
+ "F_EF=F_AE-F_C*cos(theta*pi*180**-1)-F_ED*cos(theta*pi*180**-1)\n",
+ "F_FB=F_EF #KN\n",
+ "F_BG=R_B*(sin(alpha*pi*180**-1))**-1 #KN\n",
+ "F_GD=F_BG #KN\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in the members are:F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_AE\",round(F_AE,2),\"KN\"\n",
+ "print\" :F_CD\",round(F_CD,2),\"KN\"\n",
+ "print\" :F_CE\",round(F_CE,2),\"KN\"\n",
+ "print\" :F_ED\",round(F_ED,2),\"KN\"\n",
+ "print\" :F_EF\",round(F_EF,2),\"KN\"\n",
+ "print\" :F_FB\",round(F_FB,2),\"KN\"\n",
+ "print\" :F_BG\",round(F_BG,2),\"KN\"\n",
+ "print\" :F_GD\",round(F_GD,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in the members are:F_AC 4.22 KN\n",
+ " :F_AE 5.15 KN\n",
+ " :F_CD 4.22 KN\n",
+ " :F_CE 2.0 KN\n",
+ " :F_ED 3.15 KN\n",
+ " :F_EF 2.58 KN\n",
+ " :F_FB 2.58 KN\n",
+ " :F_BG 2.98 KN\n",
+ " :F_GD 2.98 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11,Page No.145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "theta=60 #degrees\n",
+ "alpha=30 #degrees\n",
+ "beta=90 #degrees\n",
+ "L_AB=2.5 #m\n",
+ "L_BC=5 #m\n",
+ "F_A=20 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "R_C=(F_A*L_AB*cos(theta*pi*180**-1))*L_BC**-1 #kn\n",
+ "R_B=F_A-R_C\n",
+ "\n",
+ "#Forces\n",
+ "\n",
+ "F_AB=(R_B*L_BC)*(R_C*cos(alpha*pi*180**-1))**-1 #KN\n",
+ "F_BC=(L_AB*sin(theta*pi*180**-1))**-1*(R_B*L_AB*cos(theta*pi*180**-1))\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Force in Members are:F_BA\",round(F_AB,2),\"KN\"\n",
+ "print\" :F_BC\",round(F_BC,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force in Members are:F_BA 17.32 KN\n",
+ " :F_BC 8.66 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12,Page No.146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_AC=L_AD=2.5 #m\n",
+ "L_BC=2.5 #m\n",
+ "L_AB=5 #m\n",
+ "theta=30 #Degrees\n",
+ "alpha=60 #degrees\n",
+ "F_D=10 #KN\n",
+ "F_E=12 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L_BE=L_BC*cos(theta*pi*180**-1) #m\n",
+ "L_AD=L_AB*cos(alpha*pi*180**-1) #m\n",
+ "\n",
+ "#Distance of Line of action of load 12 KN\n",
+ "x=L_AB-1.875 #m\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_D*L_AC*2**-1+F_E*x)*L_AB**-1 #KN\n",
+ "R_A=(F_D+F_E)-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "F_BC=(R_B*L_BE*cos(theta*pi*180**-1))*(L_BE*sin(theta*pi*180**-1))**-1\n",
+ "F_EC=F_E*cos(theta*pi*180**-1) #KN\n",
+ "F_DE=-((F_E*(L_AC-L_BE*cos(theta*pi*180**-1)))-R_B*L_BC)*(L_AC*sin(theta*pi*180**-1))**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Reactions are:R_A\",round(R_A,2),\"KN\"\n",
+ "print\" :R_B\",round(R_B,2),\"KN\"\n",
+ "print\"Forces in the members are:F_BC\",round(F_BC,2),\"KN\"\n",
+ "print\" :F_EC\",round(F_EC,2),\"KN\"\n",
+ "print\" :F_DE\",round(F_DE,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reactions are:R_A 12.0 KN\n",
+ " :R_B 10.0 KN\n",
+ "Forces in the members are:F_BC 17.32 KN\n",
+ " :F_EC 10.39 KN\n",
+ " :F_DE 14.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13,Page No.148"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Lengths\n",
+ "L_AG=L_GH=L_HB=3\n",
+ "L_AB=9 #m\n",
+ "L_FB=L_EH=L_DG=L_AC=4 #m\n",
+ "\n",
+ "#Forces\n",
+ "F_G=9 #KN\n",
+ "F_H=12 #KN\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_G*L_AG+F_H*(L_AG+L_GH))*L_AB**-1\n",
+ "R_A=(F_G+F_H)-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "F_3=(R_A*L_AG)*L_AC**-1 #KN\n",
+ "F_1=(R_A*L_AG)*L_AC**-1 #KN\n",
+ "F_2=(F_3*L_AC-F_G*L_AG)*L_AG**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Reactions are:R_A\",round(R_A,2),\"KN\"\n",
+ "print\" :R_B\",round(R_B,2),\"KN\"\n",
+ "print\"Forces in Members are:F_1\",round(F_1,2),\"KN\"\n",
+ "print\" :F_2\",round(F_2,2),\"KN\"\n",
+ "print\" :F_3\",round(F_3,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reactions are:R_A 10.0 KN\n",
+ " :R_B 11.0 KN\n",
+ "Forces in Members are:F_1 7.5 KN\n",
+ " :F_2 1.0 KN\n",
+ " :F_3 7.5 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.14,Page No.149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_CH=5 #m\n",
+ "L_DE=4.5 #m\n",
+ "L_AE=L_EC=L_FB=4 #m\n",
+ "L_AB=16 #m\n",
+ "F=80 #KN\n",
+ "v=0.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=F*(L_AE+L_EC+L_FB)*L_AB**-1 #m\n",
+ "R_A=F-R_B #KN\n",
+ "\n",
+ "#Forces\n",
+ "F1=R_A*L_AE*L_DE**-1 #KN\n",
+ "\n",
+ "theta=np.arctan(L_DE*L_EC**-1)*(180*pi**-1)\n",
+ "alpha=np.arctan(v*L_AE**-1)*(180*pi**-1) #Degrees\n",
+ "beta=alpha+theta #Degrees\n",
+ "\n",
+ "L_CD=(L_DE**2+L_EC**2)**0.5 #m\n",
+ "L_CL=L_CD*sin(beta*pi*180**-1) #m\n",
+ "\n",
+ "F3=R_A*(L_AE+L_EC)*L_CL**-1 #KN\n",
+ "F2=-(F3*sin(alpha*pi*180**-1)-R_A)*(sin(theta*pi*180**-1))**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in Members are:F1\",round(F1,2),\"KN\"\n",
+ "print\" :F2\",round(F2,2),\"KN\"\n",
+ "print\" :F3\",round(F3,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in Members are:F1 17.78 KN\n",
+ " :F2 21.41 KN\n",
+ " :F3 32.25 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15,Page No.151"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "L_EC=L_FD=L_BD=L_AC=L_OH=2 #m\n",
+ "L_AB=L_CD=L_EF=4 #m\n",
+ "F=20 #KN\n",
+ "H=20 #KN\n",
+ "theta=90\n",
+ "alpha=45\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Reactios\n",
+ "R_B=(H*L_EC+F*(L_FD+L_BD)+F*(L_AC+L_EC+L_OH))*L_AB**-1\n",
+ "R_A=0-R_B #KN\n",
+ "H_A=3*F #All horizontal Forces\n",
+ "\n",
+ "#Forces\n",
+ "F_BD=(F*L_FD+F*(L_FD+L_BD))*L_AB**-1 #KN\n",
+ "F_AC=(F*L_FD+H*(L_OH+L_EC))*L_AB**-1\n",
+ "F_BG=(R_B-F_BD)*(cos(alpha*pi*180**-1))**-1 #KN\n",
+ "F_BA=F_BG*sin(alpha*pi*180**-1)\n",
+ "F_AG=(H_A-F_BA)*(cos(alpha*pi*180**-1))**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Forces in the Members are:F_BD\",round(F_BD,2),\"KN\"\n",
+ "print\" :F_AC\",round(F_AC,2),\"KN\"\n",
+ "print\" :F_BG\",round(F_BG,2),\"KN\"\n",
+ "print\" :F_BA\",round(F_BA,2),\"KN\"\n",
+ "print\" :F_AG\",round(F_AG,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forces in the Members are:F_BD 30.0 KN\n",
+ " :F_AC 30.0 KN\n",
+ " :F_BG 42.43 KN\n",
+ " :F_BA 30.0 KN\n",
+ " :F_AG 42.43 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16,Page No.153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "F_E=F_A=F_D=1 #KN\n",
+ "F_C=2 #KN\n",
+ "L_AE=L_EF=L_FB=4 #m\n",
+ "L_AB=12 #m\n",
+ "theta=60 \n",
+ "alpha=30 #degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L_AC=L_AE*cos(alpha*pi*180**-1)\n",
+ "L_AD=F_C*L_AC #m\n",
+ "\n",
+ "#Reactions\n",
+ "R_B=(F_C*L_AC+F_A*L_AD+F_D*L_AE)*L_AB**-1\n",
+ "\n",
+ "#Forces\n",
+ "F_DG=(R_B*L_AE)*(L_FB*sin(alpha*pi*180**-1))**-1\n",
+ "F_FE=R_B*cos(alpha*pi*180**-1)*(sin(alpha*pi*180**-1))**-1\n",
+ "F_DF=0 #KN \n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Force in members:DG\",round(F_DG,2),\"KN\"\n",
+ "print\" :FE\",round(F_FE,2),\"KN\"\n",
+ "print\" :DF\",round(F_DF,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force in members:DG 2.98 KN\n",
+ " :FE 2.58 KN\n",
+ " :DF 0.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_7.ipynb b/Engineering_Mechanics/chapter_7.ipynb
new file mode 100644
index 00000000..4fdfee2a
--- /dev/null
+++ b/Engineering_Mechanics/chapter_7.ipynb
@@ -0,0 +1,788 @@
+{
+ "metadata": {
+ "name": "chapter_7.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7:Centre Of Gravity And Moment Of Inertia"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1,Page No.165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b1=12 #cm #width of flange\n",
+ "d1=3 #cm #depth\n",
+ "\n",
+ "#web\n",
+ "b2=3 #cm\n",
+ "d2=10 #cm \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#area of flange\n",
+ "a1=b1*d1 #cm**2\n",
+ "\n",
+ "#area of web\n",
+ "a2=b2*d2 #cm**2\n",
+ "\n",
+ "#C.G of flange\n",
+ "y1=d1*2**-1+d2 #cm\n",
+ "\n",
+ "#C.G of web\n",
+ "y2=d2*2**-1 #cm\n",
+ "\n",
+ "#C.G of section\n",
+ "Y=(a1*y1+a2*y2)*(a1+a2)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"C.G of section is\",round(Y,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C.G of section is 8.55 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2,Page No.166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b1=10 #cm #width of top flange\n",
+ "d1=2 #cm #depth\n",
+ "\n",
+ "#web\n",
+ "b2=2 #cm\n",
+ "d2=15 #cm \n",
+ "\n",
+ "#bottom flange\n",
+ "b3=20 #cm \n",
+ "d3=2 #cm\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#area of top flange\n",
+ "a1=b1*d1 #cm**2\n",
+ "\n",
+ "#area of web\n",
+ "a2=b2*d2 #cm**2\n",
+ "\n",
+ "#area of bottom flange\n",
+ "a3=b3*d3 #cm**2\n",
+ "\n",
+ "#C.G of flange\n",
+ "y1=d1*2**-1+d2+d3 #cm\n",
+ "\n",
+ "#C.G of web\n",
+ "y2=d2*2**-1+d3 #cm\n",
+ "\n",
+ "#C.G of bottom flange\n",
+ "y3=d3*2**-1 #cm\n",
+ "\n",
+ "#C.G of section\n",
+ "Y=(a1*y1+a2*y2+a2*y3)*(a1+a2+a3)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"C.G of section is\",round(Y,3),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C.G of section is 7.5 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3,Page No.167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b2=8 #cm #width of flange\n",
+ "d2=2 #cm #depth\n",
+ "\n",
+ "#web\n",
+ "b1=2 #cm\n",
+ "d1=10 #cm \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#area of flange\n",
+ "a1=b1*d1 #cm**2\n",
+ "\n",
+ "#area of web\n",
+ "a2=b2*d2 #cm**2\n",
+ "\n",
+ "#distance of C.G of flange(y-axis)\n",
+ "y1=d1*2**-1+d2 #cm\n",
+ "\n",
+ "#distance of C.G of web(y-axis)\n",
+ "y2=d2*2**-1 #cm\n",
+ "\n",
+ "#C.G of section(y-axis)\n",
+ "Y=(a1*y1+a2*y2)*(a1+a2)**-1 #cm\n",
+ "\n",
+ "#distance of C.G of flange(y-axis)\n",
+ "x1=b1*2**-1 #cm\n",
+ "\n",
+ "#distance of C.G of web(y-axis)\n",
+ "x2=b2*2**-1 #cm\n",
+ "\n",
+ "#C.G of section(y-axis)\n",
+ "X=(a1*x1+a2*x2)*(a1+a2)**-1 #cm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"C.G of section(X-axis) is\",round(X,2),\"cm\"\n",
+ "print\"C.G of section(Y-axis) is\",round(Y,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C.G of section(X-axis) is 2.33 cm\n",
+ "C.G of section(Y-axis) is 4.33 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4,Page No.168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b=2.5 #cm #width of triangle\n",
+ "h=5 #cm #height of triangle\n",
+ "b2=10 #cm #width of rectangle\n",
+ "h2=5 #cm #height of rectangle\n",
+ "r=2.5 #cm #radius of semicircle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area of semicircle\n",
+ "a1=pi*2**-1*r**2 #cm**2\n",
+ "\n",
+ "#C.G of semicircle\n",
+ "y1=h2*2**-1 #cm\n",
+ "x1=r-(4*r*(3*pi)**-1)\n",
+ "\n",
+ "#area of rectangle\n",
+ "a2=b2*h2 #cm**2\n",
+ "\n",
+ "#C.G of rectangle\n",
+ "y2=h*2**-1 #cm\n",
+ "x2=r+b2*2**-1 #cm\n",
+ "\n",
+ "#Area of triangle\n",
+ "a3=2*b*h*2**-1 #cm**2\n",
+ "\n",
+ "#c.G of triangle\n",
+ "y3=h2+h2*3**-1 #cm\n",
+ "x3=r+b2*2**-1+b #cm\n",
+ "\n",
+ "#C.G of section (y-axis)\n",
+ "Y=(a1*y1+a2*y2+a3*y3)*(a1+a2+a3)**-1 #cm\n",
+ "\n",
+ "#C.G of section (x-axis)\n",
+ "\n",
+ "X=(a1*x1+a2*x2+a3*x3)*(a1+a2+a3)**-1 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"C.G of uniform lamina is\",round(Y,2),\"cm\"\n",
+ "print\" \",round(X,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C.G of uniform lamina is 3.22 cm\n",
+ " 7.11 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4(A),Page No.169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "r=6 #cm #radius\n",
+ "b1=12 #cm #width of rectangle angle and triangle\n",
+ "h=6 #cm #height of triangle and rectangle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Semicircle\n",
+ "\n",
+ "#area\n",
+ "A1=pi*r**2*2**-1 #cm**2 \n",
+ "\n",
+ "#distance of C.G\n",
+ "x1=4*r*(3*pi)**-1 #cm\n",
+ "y1=r*2**-1*2 #cm\n",
+ "\n",
+ "#Triangle\n",
+ "\n",
+ "#Area\n",
+ "A2=h*b1*2**-1 #cm**2 \n",
+ "\n",
+ "#Distance of c.g\n",
+ "x2=-b1*3**-1 #cm\n",
+ "y2=h*3**-1+h #cm\n",
+ "\n",
+ "#rectangle\n",
+ "\n",
+ "#Area\n",
+ "A3=b1*h #cm**2\n",
+ "\n",
+ "#Distance of C.G\n",
+ "x3=-b1*2**-1 #cm\n",
+ "y3=h*2**-1 #cm \n",
+ "\n",
+ "#C.G of section\n",
+ "X=(A1*x1+A2*x2+A3*x3)*(A1+A2+A3)**-1\n",
+ "Y=(A1*y1+A2*y2+A3*y3)*(A1+A2+A3)**-1\n",
+ "\n",
+ "#Answer for Y is incorrect in textbook\n",
+ "\n",
+ "#Result\n",
+ "print\"Centroid of Area is\",round(X,2),\"cm\"\n",
+ "print\" \",round(Y,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Centroid of Area is -2.63 cm\n",
+ " 5.12 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5,Page No.170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b=10 #cm #width\n",
+ "h=12 #cm #Height\n",
+ "b1=3 #cm #Width of cut hole\n",
+ "h2=4 #cm #height\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Area of rectangle\n",
+ "A=b*h #cm**2 \n",
+ "\n",
+ "#Distance of C.G\n",
+ "y=h*2**-1 #cm\n",
+ "\n",
+ "#Area of hole cut\n",
+ "A2=h2*b1 #cm**2\n",
+ "\n",
+ "#Distance of C.G of cut hole\n",
+ "y2=2+h2*2**-1 #cm\n",
+ "\n",
+ "#Distance between C.G of section with a cut hole\n",
+ "y3=(A*y-A2*y2)*(A-A2)**-1 #cm\n",
+ "\n",
+ "#Distance of C.G with acut hole from left\n",
+ "x1=b*2**-1 #cm\n",
+ "\n",
+ "#Distance of C.G of cut hole from left lineAD\n",
+ "x2=b*2**-1+1+b1*2**-1\n",
+ "\n",
+ "#C.G of section\n",
+ "X=(A*x1-A2*x2)*(A-A2)**-1 #cm\n",
+ "\n",
+ "#Result\n",
+ "print\"C.G of section is\",round(X,2),\"cm\"\n",
+ "print\" \",round(y3,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C.G of section is 4.72 cm\n",
+ " 6.22 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.12(A),Page No.197"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b=100 #mm #Width of triangle\n",
+ "h=90 #mm #height of triangle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#M.I about BC\n",
+ "I_BC=b*h**3*12**-1 #cm**4 \n",
+ "\n",
+ "#Result\n",
+ "print\"M.I of section about an axispassing through base BC\",round(I_BC,2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M.I of section about an axispassing through base BC 6075000.0 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.12(B),Page No.199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Rectangle ABCD\n",
+ "L1=10 #cm #Length of rectangle\n",
+ "D1=2 #cm #Depth\n",
+ "\n",
+ "#Rectangle HGEF\n",
+ "L2=2 #cm\n",
+ "D2=10-2 #cm \n",
+ "\n",
+ "D=10 #cm #Total Depth\n",
+ "L=10 #cm #Total Length\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Areas\n",
+ "\n",
+ "a1=L1*D1 #cm**2 #Area of rectangle ABCD\n",
+ "a2=L2*D2 #cm**2 #Area of Rectangle HGEF\n",
+ "\n",
+ "#Centre of gravity of respective bodies From Bottom\n",
+ "\n",
+ "y1=D1*2**-1+D2 #cm #C.G of rectangle ABCD from bottom\n",
+ "y2=D2*2**-1 #cm #C.G of rectangle HGEF from bottom\n",
+ "\n",
+ "#Centre of gravity of whole section From bottom\n",
+ "\n",
+ "y_bar=(a1*y1+a2*y2)*(a1+a2)**-1 #cm\n",
+ "\n",
+ "#Centre of gravity of whole section From top\n",
+ "\n",
+ "y_bar2=D-y_bar #cm\n",
+ "\n",
+ "#M.I of respective bodies\n",
+ "\n",
+ "i1=L1*D1**3*12**-1 #cm**4 #M.I of ABCD about an axis passing through it's C.G\n",
+ "i2=L2*D2**3*12**-1 #cm**4 #M.I of HGEF about an axis passing through it's C.G\n",
+ " \n",
+ "h1=y_bar2-D1*2**-1 #cm #Distance of C.G of ABCD from C.G of whole section\n",
+ "h2=y_bar-D2*2**-1 #cm #Distance of C.G of HGEF from C.G of whole section\n",
+ "\n",
+ "I1=i1+a1*h1**2 #cm**4 #M.I of ABCD about an axis passing through C.G of section\n",
+ "I2=i2+a2*h2**2 #cm**4 #M.I of ABCD about an axis passing through C.G of section\n",
+ "\n",
+ "#Moment of Inertia of section about horizontal axis passing through C.G of given section\n",
+ "I_xx=I1+I2 #cm**4\n",
+ "\n",
+ "#Moment of Inertia of section about vertical axis passing through C.G of given section\n",
+ "I_yy=D1*L1**3*12**-1+D2*L2**3*12**-1 #cm**4\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of Inertia of section about horizontal axis passing through C.G of given section\",round(I_xx,2),\"cm**4\"\n",
+ "print\"Moment of Inertia of section about vertical axis passing through C.G of given section\",round(I_yy,2),\"cm**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of Inertia of section about horizontal axis passing through C.G of given section 314.22 cm**4\n",
+ "Moment of Inertia of section about vertical axis passing through C.G of given section 172.0 cm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.13,Page No.201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Rectangle ABCD\n",
+ "\n",
+ "L1=10 #cm #Length\n",
+ "d1=2 #cm #depth\n",
+ "\n",
+ "#Rectangle EHGF\n",
+ "\n",
+ "L2=2 #cm #Length\n",
+ "d2=10 #cm #depth\n",
+ "\n",
+ "#Rectangle JKLM\n",
+ "\n",
+ "L3=20 #cm #Length\n",
+ "d3=2 #cm #depth\n",
+ "\n",
+ "D=14 #cm #Overall Depth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "a1=L1*d1 #cm**2 #Area of rectangle 1\n",
+ "a2=L2*d2 #cm**2 #Area of Rectangle 2\n",
+ "a3=L3*d3 #cm**2 #Area of rectangle 3\n",
+ "\n",
+ "#Centre of gravity of respective bodies From Bottom\n",
+ "\n",
+ "y1=D-d1*2**-1 #cm #C.G of rectangle 1 from bottom\n",
+ "y2=d2*2**-1+d3 #cm #C.G of rectangle 2from bottom\n",
+ "y3=d3*2**-1 #cm #C.G of rectangle 3from bottom\n",
+ "\n",
+ "#Centre of gravity of whole section From bottom\n",
+ "\n",
+ "y_bar=(a1*y1+a2*y2+a3*y3)*(a1+a2+a3)**-1 #cm\n",
+ "\n",
+ "#Centre of gravity of whole section From top\n",
+ "\n",
+ "y_bar2=D-y_bar #cm\n",
+ "\n",
+ "\n",
+ "#M.I of respective bodies\n",
+ "\n",
+ "i1=L1*d1**3*12**-1 #cm**4 #M.I of ABCD about an axis passing through it's C.G\n",
+ "i2=L2*d2**3*12**-1 #cm**4 #M.I of HGEF about an axis passing through it's C.G\n",
+ "i3=L3*d3**3*12**-1 #cm**4 #M.I of JKLM about an axis passing through it's C.G\n",
+ "\n",
+ "h1=y_bar2-d1*2**-1 #cm #Distance of C.G of ABCD from C.G of whole section\n",
+ "h2=y_bar2-(d2*2**-1+d1) #cm #Distance of C.G of HGEF from C.G of whole section\n",
+ "h3=y_bar-d3*2**-1 #cm #Distance of C.G of JKLM from C.G of whole section\n",
+ "\n",
+ "I1=i1+a1*h1**2 #cm**4 #M.I of ABCD about an axis passing through C.G of section\n",
+ "I2=i2+a2*h2**2 #cm**4 #M.I of HGEF about an axis passing through C.G of section\n",
+ "I3=i3+a3*h3**2 #cm**4 #M.I of JKLM about an axis passing through C.G of section\n",
+ "\n",
+ "#Moment of Inertia of section about horizontal axis passing through C.G of given section\n",
+ "I_xx=I1+I2+I3 #cm**4\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Moment of Inertia of section about horizontal axis passing through C.G of given section\",round(I_xx,2),\"cm**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Moment of Inertia of section about horizontal axis passing through C.G of given section 2166.67 cm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.14,Page No.202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Rectangle 1\n",
+ "\n",
+ "L1=80 #cm #Length\n",
+ "d1=12 #cm #depth\n",
+ "\n",
+ "#Rectangle 2\n",
+ "\n",
+ "L2=12 #cm #Length\n",
+ "d2=128 #cm #depth\n",
+ "\n",
+ "#Rectangle 3\n",
+ "\n",
+ "L3=120 #cm #Length\n",
+ "d3=10 #cm #depth\n",
+ "\n",
+ "D=150 #cm #Overall Depth\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "a1=L1*d1 #cm**2 #Area of rectangle ABCD\n",
+ "a2=L2*d2 #cm**2 #Area of Rectangle EHGF\n",
+ "a3=L3*d3 #cm**2 #Area of rectangle JKLM\n",
+ "\n",
+ "#Centre of gravity of respective bodies From Bottom\n",
+ "\n",
+ "y1=D-d1*2**-1 #cm #C.G of rectangle ABCD from bottom\n",
+ "y2=d2*2**-1+d3 #cm #C.G of rectangle HGEF from bottom\n",
+ "y3=d3*2**-1 #cm #C.G of rectangle JKLM from bottom\n",
+ "\n",
+ "#Centre of gravity of whole section From bottom\n",
+ "\n",
+ "y_bar=(a1*y1+a2*y2+a3*y3)*(a1+a2+a3)**-1 #cm\n",
+ "\n",
+ "#Centre of gravity of whole section From top\n",
+ "\n",
+ "y_bar2=D-y_bar #cm\n",
+ "\n",
+ "#M.I of respective bodies\n",
+ "\n",
+ "i1=L1*d1**3*12**-1 #cm**4 #M.I of 1 about an axis passing through it's C.G\n",
+ "i2=L2*d2**3*12**-1 #cm**4 #M.I of 2 about an axis passing through it's C.G\n",
+ "i3=L3*d3**3*12**-1 #cm**4 #M.I of 3 about an axis passing through it's C.G\n",
+ "\n",
+ "h1=y_bar2-d1*2**-1 #cm #Distance of C.G of 1 from C.G of whole section\n",
+ "h2=y_bar2-(d2*2**-1+d1) #cm #Distance of C.G of 2 from C.G of whole section\n",
+ "h3=y_bar-d3*2**-1 #cm #Distance of C.G of 3 from C.G of whole section\n",
+ "\n",
+ "I1=i1+a1*h1**2 #cm**4 #M.I of 1 about an axis passing through C.G of section\n",
+ "I2=i2+a2*h2**2 #cm**4 #M.I of 2 about an axis passing through C.G of section\n",
+ "I3=i3+a3*h3**2 #cm**4 #M.I of 3 about an axis passing through C.G of section\n",
+ "\n",
+ "#Moment of Inertia of section about x-x axis\n",
+ "I_xx=(I1+I2+I3)*10**-6 #cm**4\n",
+ "\n",
+ "#Moment of Inertia of section about y-y axis\n",
+ "I_yy=(d1*L1**3*12**-1+d2*L2**3*12**-1+d3*L3**3*12**-1)*10**-6 #cm**4\n",
+ "\n",
+ "#Polar Moment of Inertia\n",
+ "I_zz=I_xx+I_yy #mm**4\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Polar Moment of Inertia is\",round(I_zz,2),\"mm**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Polar Moment of Inertia is 14.44 mm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.17,Page No.207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "b=12 #cm #width of culvert\n",
+ "d=6 #cm #Depth\n",
+ "x=1 #cm #distance between axis of rectangle and semicircle\n",
+ "\n",
+ "b1=3 #cm #width of triangles\n",
+ "h1=6 #cm #height\n",
+ "x1=0 #cm #distance between axis of rectangle and triangles\n",
+ "r=4 #cm #radius of semicircle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#area of rectangle\n",
+ "A=b*d #cm\n",
+ "\n",
+ "#M.I of rectangle about an axis A-A\n",
+ "M1=b*d**3*12**-1+A*x #cm**4 \n",
+ "\n",
+ "#Area of rectangle\n",
+ "A1=b1*h1*2**-1 #cm**4\n",
+ "\n",
+ "#M.I of triangles\n",
+ "M2=2*(b1*h1**3*36**-1+A1*x1) #cm**4\n",
+ "\n",
+ "#M.I of semicircle\n",
+ "M3=0.11*r**4+pi*r**2*2**-1*(r-4*r*(3*pi)**-1)**2 #cm**4\n",
+ "\n",
+ "#M.I of c/s of culvert\n",
+ "M4=M1-M2-M3 #cm**4\n",
+ "\n",
+ "#Result\n",
+ "print\"Cross-section of culvert is\",round(M4,2),\"cm**4\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cross-section of culvert is 90.62 cm**4\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_8.ipynb b/Engineering_Mechanics/chapter_8.ipynb
new file mode 100644
index 00000000..ca4a69c1
--- /dev/null
+++ b/Engineering_Mechanics/chapter_8.ipynb
@@ -0,0 +1,1699 @@
+{
+ "metadata": {
+ "name": "chapter_8.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 8:Friction"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1,Page No.235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=100 #N #Weight of Body\n",
+ "P=F=60 #N #Horizontal Force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Reaction Force \n",
+ "R=W=100 #N\n",
+ "\n",
+ "#Coefficient of Friction\n",
+ "mu=F*R**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient of Friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of Friction is 0.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2,Page No.236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=200 #N #Weight of Body\n",
+ "mu=0.3 #Coefficient of Friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Reaction\n",
+ "R=W=200 #N\n",
+ "\n",
+ "#Horizontal Force\n",
+ "F=mu*R #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Horizontal Force is\",round(F,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Horizontal Force is 60.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.3,Page No.236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=50 #N #WEight \n",
+ "F=15 #N #Force required to pull\n",
+ "theta=15 #Degree #Angle made by Force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Normal Reaction\n",
+ "R=W-F*sin(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Coefficient of friction\n",
+ "mu=F*cos(theta*pi*180**-1)*R**-1 #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient of Friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of Friction is 0.31\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4,Page No.236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=70 #N #Weight of Body\n",
+ "F=20 #N #force applied\n",
+ "theta=20 #degrees #Angle made by Force\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#resolving Forces Normal to plane\n",
+ "R=W+F*sin(20*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Forces along the plane\n",
+ "mu=F*cos(20*pi*180**-1)*R**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"coefficient of Friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "coefficient of Friction is 0.24\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5,Page No.237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "P1=20 #N #pull\n",
+ "P2=25 #N #Required push\n",
+ "theta2=25 #Inclination of push\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Case-1 (When body is pulled)\n",
+ "\n",
+ "#Resolving Forces along the plane\n",
+ "#mu*R1=P1*cos(theta*pi*180**-1) #N .........1\n",
+ "\n",
+ "#Resolving Force normal to plane\n",
+ "#R1=W-P1*sin(theta*pi*180**-1) #N \n",
+ "\n",
+ "#Sub value of mu*R1 in above Equation we get\n",
+ "#mu*(W-8.452)=18.126 ......................2\n",
+ "\n",
+ "#Case-2 (When body is pushed)\n",
+ "\n",
+ "#Resolving Forces along the plane\n",
+ "#mu*R2=P2*cos(theta2*pi*180**-1) #N .........3\n",
+ "\n",
+ "#Resolving Force normal to plane\n",
+ "#R2=W-P2*cos(theta*pi*180**-1) #N \n",
+ "\n",
+ "#Sub value of mu*R2 in above Equation we get\n",
+ "#mu*(W-10.565)=22.657 .................4\n",
+ "\n",
+ "\n",
+ "#dividing equation 2 by 4 and Further simplifying we get\n",
+ "\n",
+ "#Weight of body\n",
+ "W=383*4.53**-1\n",
+ "\n",
+ "#Sub value of W in Equation 2\n",
+ "mu=18.126*(W-8.452)**-1 \n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight of Body is\",round(W,2),\"N\"\n",
+ "print\"Coefficient of Friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight of Body is 84.55 N\n",
+ "Coefficient of Friction is 0.24\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7,Page No.239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=1000 #N #Weight of stone Block\n",
+ "mu=0.6 #Coefficient of Friction\n",
+ "theta=20 #Degrees #Angle with Horizontal\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#PArt-1\n",
+ "#resolving Horizontal Forces\n",
+ "#P*cos(theta)=mu*R ...........................1\n",
+ "\n",
+ "#Resolving Verticla Forces\n",
+ "#R+P*sin(theta)=W .............................2\n",
+ "\n",
+ "#Sub value of P from equation 2,we get\n",
+ "P=mu*W*(cos(theta*pi*180**-1)+mu*sin(theta*pi*180**-1))**-1 #N ........3\n",
+ "\n",
+ "#PArt-2\n",
+ "#Let phi=Angle of Friction\n",
+ "\n",
+ "#Form Equation 3 ,angle 20 is replaced by angle phi\n",
+ "#Force required to pull the body\n",
+ "#P2=mu*W*(cos(phi)+mu*sin(phi))**-1\n",
+ "\n",
+ "#The Force P will be min if Dericative of (cos(phi)+mu*sin(phi)) is equal to zero\n",
+ "phi=np.arctan(mu)*(180*pi**-1) #degrees\n",
+ "\n",
+ "#Force required to pull the body\n",
+ "P2=mu*W*(cos(phi*pi*180**-1)+mu*sin(phi*pi*180**-1))**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum Pull necessary is\",round(P,2),\"N\"\n",
+ "print\"Pull Required if inclination of rope is equal to angle of friction\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum Pull necessary is 524.06 N\n",
+ "Pull Required if inclination of rope is equal to angle of friction 524.06 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.11,Page No.241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=500 #N #weight of Body\n",
+ "P=350 #N #Force applied\n",
+ "alpha=30 #Degrees #Inclination\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resolving Weights\n",
+ "W1=W*sin(30*pi*180**-1) #N\n",
+ "W2=W*cos(30*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Forces Vertically\n",
+ "#R=W*cos(30)\n",
+ "\n",
+ "#Resolving Forces Horizontally\n",
+ "mu=(P-W*sin(alpha*pi*180**-1))*(W*cos(alpha*pi*180**-1))**-1 \n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient Of Friction\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient Of Friction 0.23\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.12,Page No.246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=450 #N #Weight of Body\n",
+ "alpha=30 #Degrees #Inclination of plane\n",
+ "mu=0.25 #coefficient of friction\n",
+ "d=10 #m #Distance travelled by body\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resolving Force normal to plane\n",
+ "R=W*cos(alpha*pi*180**-1)\n",
+ "\n",
+ "#Resolving Forces along the plane\n",
+ "P=W*sin(alpha*pi*180**-1)+mu*R #N\n",
+ "\n",
+ "#Work done on the body\n",
+ "W=P*d #J\n",
+ "\n",
+ "#Result\n",
+ "print\"Force required is\",round(P,2),\"N\"\n",
+ "print\"Work done is\",round(W,2),\"J\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force required is 322.43 N\n",
+ "Work done is 3224.28 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.13,Page No.246"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "#Case-1\n",
+ "P1=200 #N #Force applied\n",
+ "theta1=15 #Degrees #Inclination\n",
+ "\n",
+ "P2=230 #N #Force applied\n",
+ "theta2=20 #Degrees #Inclination\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#For Case-1,\n",
+ "\n",
+ "#W1=W*sin(theta1*pi*180**-1) #N\n",
+ "#W2=W*cos(theta1*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Forces Vertically\n",
+ "#R=W2\n",
+ "\n",
+ "#Resolving Foces Horizontally\n",
+ "#mu*W2+W1=P1 .......................1\n",
+ "\n",
+ "#For case-2\n",
+ "\n",
+ "#W3=W*sin(theta2*pi*180**-1) #N\n",
+ "#W4=W*cos(theta2*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Forces Vertically\n",
+ "#R=W3\n",
+ "\n",
+ "#Resolving Foces Horizontally\n",
+ "#mu*W3+W4=P2 .......................2\n",
+ "\n",
+ "#After sub values inequations 1 & 2 and dividing equations 2 by 1 we get\n",
+ "mu=mu=(P1*sin(20*pi*180**-1)-P2*sin(15*pi*180**-1))*(P2*cos(15*pi*180**-1)-P1*cos(20*pi*180**-1))**-1 \n",
+ "\n",
+ "#weight of Body\n",
+ "W=P2*(sin(theta2*pi*180**-1)+mu*cos(theta2*pi*180**-1))**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Weight of Body is\",round(W,2),\"N\"\n",
+ "print\"Coefficient of Friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight of Body is 392.68 N\n",
+ "Coefficient of Friction is 0.26\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.15,Page No.249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=15 #N #Weight of Block\n",
+ "T=5 #N #Tension in string\n",
+ "alpha=45 #Degrees #Inclination\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Frictional Foce on Block\n",
+ "F=-(T*cos(alpha*pi*180**-1)-W*sin(alpha*pi*180**-1)) #N\n",
+ "\n",
+ "#Normal Reaction of inclined plane\n",
+ "R=(W*cos(alpha*pi*180**-1)+T*sin(alpha*pi*180**-1)) #N\n",
+ "\n",
+ "#Coefficient of friction \n",
+ "mu=F*R**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Frictional Force on Block is\",round(F,2),\"N\"\n",
+ "print\"Normal Reaction of inclined plane\",round(R,2),\"N\"\n",
+ "print\"Coefficient of friction\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frictional Force on Block is 7.07 N\n",
+ "Normal Reaction of inclined plane 14.14 N\n",
+ "Coefficient of friction 0.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.16,Page No.250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "mu_s=0.4 #Coefficient of static Friction\n",
+ "mu_k=0.3 #Coefficient of Kinetic friction\n",
+ "M=40 #Kg #MAss of body\n",
+ "g=9.81 #acceleration due to gravity\n",
+ "W=M*g #N\n",
+ "theta=40 \n",
+ "alpha=30 #Inclination\n",
+ "P=800 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#normal Reaction \n",
+ "R=P*sin(theta*pi*180**-1)+M*g*cos(alpha*pi*180**-1) #N\n",
+ "\n",
+ "#Max Frictional Force\n",
+ "F=mu_s*R #N\n",
+ "\n",
+ "#Total Force along plane\n",
+ "F=P*cos(theta*pi*180**-1)-M*g*sin(alpha*pi*180**-1) #N\n",
+ "\n",
+ "#Magntude of Frictional Force\n",
+ "F2=mu_k*R #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Magnitude of Friction Force\",round(F2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of Friction Force 256.22 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.17,Page No.252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=30 #N #Weight acting vertically downward\n",
+ "P2=6 #N #Force at angle of 30 with inclined plane\n",
+ "theta=30 #Degrees #Inclination of force with the inclined plane\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Part-1\n",
+ "\n",
+ "#Reaction Force is given by\n",
+ "#R=W*cos(alpha)-P2*sin(theta)\n",
+ "\n",
+ "#Now resolving Force we get\n",
+ "alpha=np.arcsin(P2*cos(theta*pi*180**-1)*W**-1)\n",
+ "alpha2=180*pi**-1*alpha #degrees\n",
+ "\n",
+ "#PArt-2\n",
+ "\n",
+ "#resolving Forces normal to inclined plane\n",
+ "R=W*cos(round(alpha2,2)*pi*180**-1) #N\n",
+ "\n",
+ "#Resolving Forces normal to inclined plane\n",
+ "P1=W*sin(round(alpha2,2)*pi*180**-1)+mu*round(R,2)\n",
+ "\n",
+ "#Result\n",
+ "print\"Force required to move a load 30 N up a rough plane is\",round(P1,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force required to move a load 30 N up a rough plane is 14.06 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.18,Page No.253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W1=400 #N #Weight of first body\n",
+ "W2=800 #N #Weight of second body\n",
+ "mu1=0.15 #Coefficient of friction of first body\n",
+ "mu2=0.40 #Coefficient of friction of seconnd body\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Forces acting on the first body\n",
+ "\n",
+ "#Resolving force along plane\n",
+ "#W1*sin(alpha)=T+mu1*R1 ............................1\n",
+ "\n",
+ "#Resolving Forces normal to plane\n",
+ "#W1*cos(alpha)=R1\n",
+ "\n",
+ "#Sub value of R1 in equation1,we get\n",
+ "#T=400*sin(alpha)-60*cos(alpha) .......................2\n",
+ "\n",
+ "#Forces on second body\n",
+ "\n",
+ "#Resolving forces along the plane\n",
+ "#W2*sin(alpha)+T=mu2*R2 .........................3\n",
+ "\n",
+ "#Resolving forces normal to plane\n",
+ "#R2=W2*cos(alpha)\n",
+ "\n",
+ "#sub value of R2 in equation3\n",
+ "#T=320*cos(alpha)-W2*sin(alpha) ...............4\n",
+ "\n",
+ "#Equating values of T,given by equation 2 and 3\n",
+ "#W1*sin(alpha)-60*cos(alpha)=320*cos(alpha)-W2*sin(alpha)\n",
+ "#Further simplifying we get\n",
+ "alpha=arctan(380*1200**-1)*(180*pi**-1) #Degrees\n",
+ "\n",
+ "#Sub value of alpha in equation 2\n",
+ "T=W1*sin(round(alpha,2)*pi*180**-1)-60*cos(round(alpha,2)*pi*180**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Inclination of the plane to the horizontal is\",round(alpha,2),\"Degrees\"\n",
+ "print\"Tension in the cord is\",round(T,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inclination of the plane to the horizontal is 17.57 Degrees\n",
+ "Tension in the cord is 63.55 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.19,Page No.255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W_B=1500 #N #Weight of block B\n",
+ "mu_A=0.25 #Coefficint of friction of block A\n",
+ "mu_B=0.35 #Coefficient of Friction of block B\n",
+ "alpha=60 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#BLock A\n",
+ "#F_A=mu_A*W_A #Force of friction\n",
+ "\n",
+ "#Block B\n",
+ "#HOrizontal Force of friction of block A is transmitted through rod to block B\n",
+ "\n",
+ "#Force of friction of block B\n",
+ "#F_B=mu2*R_B\n",
+ "\n",
+ "#Resolving Horizontal Forces\n",
+ "#mu1*W_A+F_B*cos(alpha)=R_B*cos(30)\n",
+ "#After further simplifying we get\n",
+ "#mu_A*W_A=0.691*R_B ...........................1\n",
+ "\n",
+ "#Resolving Forces vertically\n",
+ "#R_B*sin(30)+F_B*sin(alpha)=W_B\n",
+ "#After further simplifying we get\n",
+ "R_B=W_B*0.803**-1 #N\n",
+ "\n",
+ "#Sub value of R_b in equation 1 we get\n",
+ "W_A=0.691*R_B*mu_A**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Smallest Weight of Block A is\",round(W_A,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Smallest Weight of Block A is 5163.14 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.20,Page No.257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables \n",
+ "\n",
+ "W_A=100 #N Weight of block A\n",
+ "W_B=300 #N #Weight of block B\n",
+ "alpha=45 #Degrees #Inclination of plane\n",
+ "phi=30 #Degrees #Inclination of rigid bar with horizontal \n",
+ "mu=tan(15*pi*180**-1) #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#LEt R_A and R_B be the reactions at A And B respectively and t be the thrust in rod\n",
+ "\n",
+ "#Equilibrium of bLoack A\n",
+ "#Resolving forces along plane\n",
+ "#W_A*sin(alpha)+F_A=T*cos(15)\n",
+ "#After further simplifying we get\n",
+ "#70.7+0.2679*R_A=0.969*T .................1\n",
+ "\n",
+ "#Resolving force snormal to plane\n",
+ "#R_A=W_A*cos(alpha)+T*sin(15)=R_A\n",
+ "\n",
+ "#Now sub value of R_A in equation 1 we get\n",
+ "#70.7+0.269*(100*0.707+T*0.2588)=0.9659*T\n",
+ "#After further simplifying we get\n",
+ "T=89.64*0.8966**-1 #N\n",
+ "\n",
+ "#Equilibrium of block B\n",
+ "#Resolving forces normal to plane\n",
+ "R_B=W_B+T*sin(phi*180**-1*pi)\n",
+ "#Resolving forces along plane\n",
+ "P=T*cos(phi*pi*180**-1)+mu*R_B\n",
+ "\n",
+ "#Result\n",
+ "print\"HOrizontal Force required to be apllied to block B to just move block A is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "HOrizontal Force required to be apllied to block B to just move block A is 180.36 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.21,Page No.258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "mu=0.2 #Coefficient of friction\n",
+ "W1=100 #N #weight of Block1\n",
+ "W2=150 #N #Weight of Block2\n",
+ "theta=60 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Case-1\n",
+ "\n",
+ "#Reaction Force \n",
+ "R=W2*cos(theta*pi*180**-1) #N\n",
+ "\n",
+ "#Tension in the string\n",
+ "T=W2*sin(theta*pi*180**-1)+mu*R #N\n",
+ "\n",
+ "#Case-2\n",
+ "\n",
+ "theta2=np.arctan(mu)*(pi**-1*180) #Angle made by Force with horizontal acting on block 1\n",
+ "\n",
+ "#Force on block with weight 100 N\n",
+ "P=164.9*((cos(theta2*pi*180**-1)+mu*sin(theta2*pi*180**-1))**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Least Value of Force P to cause motion to impend rightwards is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Least Value of Force P to cause motion to impend rightwards is 161.7 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.22,Page No.260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W1=90 #N #Weight of Block 1\n",
+ "W2=30 #N #Weight of Block2\n",
+ "mu=1*3**-1 #Coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Considering Equilibrium of weight W2\n",
+ "\n",
+ "#Tension in the string\n",
+ "#T=W2*sin(theta)+mu*R1 .....................................1\n",
+ "\n",
+ "#Normal reaction to the plane\n",
+ "#R1=W2*cos(theta) .......................................2\n",
+ "\n",
+ "#Sub value of R1 in equation 1 we get\n",
+ "#T=W2*sin(theta)+10*cos(theta) ........................3\n",
+ "\n",
+ "#Considering Equilibrium of weight W1\n",
+ "\n",
+ "#Resolving Forces along the plane\n",
+ "#W1*sin(theta)=10*cos(theta)+mu*R2 ..................4\n",
+ "\n",
+ "#Resolving Forces normal to plane\n",
+ "#R2=120*cos(theta) ...........5\n",
+ "\n",
+ "#Sub value of R2 in equation 4 we get\n",
+ "theta=np.arctan(0.5555)*(pi**-1*180) #Degrees\n",
+ "\n",
+ "#Result\n",
+ "print\"Value of angle theta should be\",round(theta,2),\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of angle theta should be 29.05 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.23,Page No.262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AC=10 #m #Length of AC\n",
+ "L_BC=8 #m #Length of BC\n",
+ "W=20 #N #weight \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "L_AB=(L_AC**2-L_BC**2)**0.5 #m #Length of AB\n",
+ "L_CD=L_BC*2**-1 #m\n",
+ "\n",
+ "#Now Resolving Forces\n",
+ "\n",
+ "#Vertically\n",
+ "#Reaction Force at C\n",
+ "R_C=W #N\n",
+ "\n",
+ "#Horizontally\n",
+ "#R_A=F_C=mu*R_C \n",
+ "\n",
+ "#Taking Moment at pt C\n",
+ "#Coefficient of friction \n",
+ "mu=W*L_CD*(R_C*L_AB)**-1 \n",
+ "\n",
+ "#Frictional Force acting at C\n",
+ "F_C=round(mu,2)*R_C #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient of Friction\",round(mu,2)\n",
+ "print\"Frictional Force acting at pt C\",round(F_C,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of Friction 0.67\n",
+ "Frictional Force acting at pt C 13.4 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.24,Page No.263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=13 #m #Length of AB\n",
+ "W=25 #N #weight of Ladder\n",
+ "L_AC=5 #m #Distance of lower ladder from wall\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Forces on the ladder \n",
+ "\n",
+ "#Vertical Forces\n",
+ "R_A=W #N\n",
+ "\n",
+ "#Horizontal Forces\n",
+ "R_B=F_A=mu*R_A #N\n",
+ "\n",
+ "#MAx amount of frictional Force availale at A\n",
+ "F_A #N\n",
+ "\n",
+ "L_AD=L_CD=2.5 #m #Length of AD and CD\n",
+ "L_BC=(L_AB**2-L_AC**2)**0.5 #m\n",
+ "\n",
+ "#Moment at pt A\n",
+ "R_B2=R_A*L_AD*L_BC**-1 #N\n",
+ "\n",
+ "#Horizontal Forces\n",
+ "F_A2=R_B2 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Frictional Force acting on ladder is\",round(F_A,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frictional Force acting on ladder is 7.5 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.25,Page No.264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L_AB=14 #m #Length of AB\n",
+ "W=600 #N #weight of Ladder\n",
+ "L_AD=8 #m #Distance of lower ladder from wall\n",
+ "L_BD=6 #m #LEngth of BD\n",
+ "mu=1*3**-1 #Coefficient of friction\n",
+ "CBA=60 #Degrees\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Resolving forces\n",
+ "\n",
+ "#Vertically\n",
+ "R_B=W #N\n",
+ "#Actual Force of friction at pt B\n",
+ "F_B=mu*R_B #N\n",
+ "\n",
+ "\n",
+ "#Horizontally\n",
+ "R_A=F_B #N\n",
+ "\n",
+ "\n",
+ "L_BE=L_BD*cos(CBA*pi*180**-1) #m\n",
+ "L_AC=L_AB*sin(CBA*pi*180**-1) #m\n",
+ "\n",
+ "R_A2=R_B*L_BE*L_AC**-1\n",
+ "F_B2=R_A2 #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Force available at B the force required force for equilibrium,the ladder will be stable:F_B is\",round(F_B,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force available at B the force required force for equilibrium,the ladder will be stable:F_B is 200.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.26,Page No.265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=850 #N #Weight of ladder\n",
+ "L=L_AB=6 #m #Length of AB\n",
+ "alpha=65 #Degrees #Angle made by ladder with ladder\n",
+ "W1=750 #N #Weight of man\n",
+ "L1=4 #m #Distance of man from top of ladder\n",
+ "L2=L-L1 #m #Distance of man form foot of ladder\n",
+ "L_BE=4 #m #Length of BE\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Forces acting on the ladder\n",
+ "\n",
+ "#Resolving Forces Vertically\n",
+ "R_A=W+W1 #N\n",
+ "\n",
+ "#Horizontally\n",
+ "#R_B=F_A=mu*R_A #N\n",
+ "\n",
+ "L_BC=L_AB*sin(alpha*pi*180**-1) #m #Length of BC\n",
+ "L_AC=L_AB*cos(alpha*pi*180**-1) #m #Length of AC\n",
+ "\n",
+ "L_AD=L_AC*2**-1 #m #Length of AD\n",
+ "L_AH=(L_AB-L_BE)*cos(alpha*pi*180**-1) #m\n",
+ "\n",
+ "#Coefficient of friction\n",
+ "mu=(W1*L_AD+W*L_AH)*(L_BC*R_A)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Coefficient of friction is\",round(mu,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of friction is 0.19\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.27,Page No.266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=200 #N #Weight of ladder\n",
+ "L=L_AB=4.5 #m\n",
+ "mu=0.4 #Coefficient of friction between ladder and floor\n",
+ "mu2=0.2 #coefficient of frictionbetween LAdder and wall\n",
+ "W1=900 #N #Weight on ladder \n",
+ "L_BE=1.2 #m #distance\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#FOrces acting on ladder\n",
+ "\n",
+ "#Resolving FOrces Vertically\n",
+ "#R_A+F_B=W1+W #N ................1\n",
+ "\n",
+ "#Horizontally\n",
+ "#R_B=mu*R_A .....................2\n",
+ "\n",
+ "#Resolving Force R_B in equation 1 we get\n",
+ "R_A=(W1+W)*1.08**-1 #N\n",
+ "\n",
+ "#Reaction at B\n",
+ "R_B=mu*R_A #N\n",
+ "\n",
+ "#Moment at pt A\n",
+ "#W*L_AD+W1*L_AH=R_B*L_BC+F_B*L_AC\n",
+ "#After further simplifying we get\n",
+ "alpha=np.arctan(1.665)*(180*pi**-1)\n",
+ "\n",
+ "#Result\n",
+ "print\"Angle made by ladder with Horizontal\",round(alpha,2),\"Degrees\"\n",
+ "print\"Reaction at the Foot of ladder\",round(R_A,2),\"N\"\n",
+ "print\"Reaction at the Foot top of ladder\",round(R_B,2),\"N\"\n",
+ "\n",
+ "#Value of alpha is incorrect in book i.e 59degree 65seconds"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angle made by ladder with Horizontal 59.01 Degrees\n",
+ "Reaction at the Foot of ladder 1018.52 N\n",
+ "Reaction at the Foot top of ladder 407.41 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.28,Page No.267"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "L=5 #m #Length of ladder\n",
+ "alpha=30 #Degrees #Angle made by ladder with horizontal\n",
+ "W1=250 #N #weight of ladder\n",
+ "W2=800 #N #weight of man\n",
+ "mu=0.2 #Coefficinet of friction \n",
+ "L_AG=5*2**-1 #m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let R_A and R_B be the reactions at A and b respectively\n",
+ "#F_B=mu*R_B\n",
+ "#F_A=mu*R_A\n",
+ "\n",
+ "#Resolving forces vertically\n",
+ "#R_A+F_B=W1+W2 .............1\n",
+ "\n",
+ "#Resolving forces horizontally\n",
+ "#R_B=0.2*R_A.....................2\n",
+ "\n",
+ "#After sub values and further simplifying we get\n",
+ "R_A=1050*1.04**-1 #N\n",
+ "\n",
+ "#Sub value of R_A in equation 2 we get\n",
+ "R_B=0.2*R_A\n",
+ "\n",
+ "#Triangle AGD\n",
+ "L_AD=L_AG*cos(60*pi*180**-1)\n",
+ "\n",
+ "#TRiangle AEH\n",
+ "#L_AH=x*cos(60) \n",
+ "\n",
+ "L_BC=L*cos(alpha*pi*180**-1)\n",
+ "L_AC=L*cos(60*pi*180**-1)\n",
+ "\n",
+ "F_B=mu*R_B\n",
+ "\n",
+ "#Taking moment at A\n",
+ "#W2*x*2**-1+W*L_AD=R_B*L_BC+F_B*L_AC\n",
+ "#After sub values and further simplifying we get\n",
+ "x=66.276*40**-1\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"The slipping will be induced at\",round(x,2),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The slipping will be induced at 1.66 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.29,Page No.271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "import numpy as np\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "alpha=10 #Degrees #Angle of Wedge\n",
+ "W=1500 #N #weight of Block\n",
+ "mu=0.3 #Coefficient of friction\n",
+ "phi=np.arctan(mu)*(180*pi**-1)\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Applying Lamis theorem to the point O\n",
+ "#W*(sin(2*phi+90+alpha))**-1=R3*(sin(180-(alpha+phi)))**-1=R2*(sin(90-phi))**-1\n",
+ "#After further simplifying we get\n",
+ "Y=180-(alpha+phi)\n",
+ "Z=sin(Y*pi*180**-1)\n",
+ "Y1=2*phi+90+alpha\n",
+ "Z1=sin(Y1*pi*180**-1)\n",
+ "R3=W*(Z)*(Z1)**-1 #N\n",
+ "\n",
+ "Y2=90-phi\n",
+ "Z2=sin(Y2*pi*180**-1)\n",
+ "R2=W*Z2*Z1**-1 #N\n",
+ "\n",
+ "#Applying Lamis theorem to the point L\n",
+ "#R1*sin(90+alpha+phi)**-1=R2*sin(90+phi)**-1=P*sin(180-2*phi-alpha)**-1\n",
+ "#After further simplifying we get\n",
+ "Y3=180-(2*phi+alpha)\n",
+ "Z3=sin(Y3*pi*180**-1)\n",
+ "P=Z3*R2*Z2**-1 #N\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Minimum Horizontal force be applied on wedge to raise the block is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum Horizontal force be applied on wedge to raise the block is 1418.4 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.30,Page No.277"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "D=0.1 #m #Diameter\n",
+ "R=0.05 #m #Radius\n",
+ "N=150 #r.p.m \n",
+ "mu=0.05 #Coefficient of friction\n",
+ "W=15*10**3 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Power Loast in friction assuming uniform pressure\n",
+ "T=2*3**-1*mu*W*R #N*m\n",
+ "\n",
+ "#Power Lost in Friction\n",
+ "P=2*pi*N*T*60**-1 #W\n",
+ "\n",
+ "#Power Lost in friction assuming wear\n",
+ "T2=0.5*mu*W*R #W\n",
+ "\n",
+ "#Power Lost in friction\n",
+ "P2=2*pi*N*T2*60**-1 #W\n",
+ "\n",
+ "#Result\n",
+ "print\"Power Loast in friction assuming uniform pressure is\",round(P,2),\"W\"\n",
+ "print\"Power Lost in friction assuming wear is\",round(P2,2),\"W\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Loast in friction assuming uniform pressure is 392.7 W\n",
+ "Power Lost in friction assuming wear is 294.52 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.31,Page No.282"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "alpha=60 #Degrees\n",
+ "mu=0.05 #m #coefficient of friction\n",
+ "R=0.15 #m #Radius of shaft\n",
+ "W=20*10**3 #N\n",
+ "N=210 #r.p.m\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Frictional Torque\n",
+ "T=2*3**-1*mu*W*R*(sin(alpha*pi*180**-1))**-1 #N*m\n",
+ "\n",
+ "#Power Lost in Friction for uniform pressure\n",
+ "P=2*pi*N*T*60**-1*10**-3 #KW\n",
+ "\n",
+ "#frictional torque\n",
+ "T2=1*2**-1*mu*W*R*(sin(alpha*pi*180**-1))**-1 #N*m\n",
+ "\n",
+ "#Power Loast in friction for uniform wear\n",
+ "P2=2*pi*N*T2*60**-1*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power Lost in Friction assuming:Uniforming pressure\",round(P,2),\"KW\"\n",
+ "print\" :Uniform wear\",round(P2,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Lost in Friction assuming:Uniforming pressure 2.54 KW\n",
+ " :Uniform wear 1.9 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.32,Page No.283"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "W=25*10**3 #N #load\n",
+ "alpha=60 #degrees \n",
+ "p=350*10**3 #N/m**2 #pressure\n",
+ "N=180 #r.p.m\n",
+ "mu=0.05 \n",
+ "#r1*2*r2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#From Equation of uniform pressure\n",
+ "r2=(W*(pi*p*3)**-1)**0.5 #m\n",
+ "r1=2*r2 #m\n",
+ "\n",
+ "#Frictional Torque\n",
+ "T=2*3**-1*mu*W*(sin(alpha*pi*180**-1))**-1*(r1**3-r2**3)*(r1**2-r2**2)**-1 #m\n",
+ "\n",
+ "#Power absorbed in friction\n",
+ "P=2*pi*N*T*60**-1*10**-3 #KW\n",
+ "\n",
+ "#Result\n",
+ "print\"Power absorbed in friction\",round(P,2),\"KW\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power absorbed in friction 3.68 KW\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.33,Page No.286"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "r1=0.25 #m #External Radius\n",
+ "r2=0.15 #m #Internal Radius\n",
+ "W=50*10**3 #N #Total axial load\n",
+ "mu=0.05 #Coefficient of friction\n",
+ "N=150 #r.p.m\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Torque\n",
+ "T=2*3**-1*mu*W*((r1**3-r2**3)*(r1**2-r2**2)**-1) #N*m\n",
+ "\n",
+ "#Power lost in Frction\n",
+ "P=2*pi*N*T*60**-1*10**-3 #KW \n",
+ "\n",
+ "#Result\n",
+ "print\"Power lost in Frction is\",round(P,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power lost in Frction is 8.02 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.34,Page No.287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Declaration Of Variables\n",
+ "\n",
+ "r1=0.21 #m #External Radius\n",
+ "r2=0.16 #m #Internal Radius\n",
+ "W=60*10**3 #N #Total axial load\n",
+ "mu=0.05 #Coefficient of friction\n",
+ "N=380 #r.p.m\n",
+ "p=350*10**3 #N/m**2 #Intensity of pressure\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Power Loast in Overcoming friction\n",
+ "\n",
+ "#Torque\n",
+ "T=2*3**-1*mu*W*((r1**3-r2**3)*(r1**2-r2**2)**-1) #N*m\n",
+ "\n",
+ "P=2*pi*N*T*60**-1*10**-3 #KW \n",
+ "\n",
+ "#Number of collars required\n",
+ "\n",
+ "#Load per collar\n",
+ "W2=p*pi*(r1**2-r2**2)\n",
+ "\n",
+ "n=W*W2**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Power Loast in Overcoming friction is\",round(P,2),\"KW\"\n",
+ "print\"Number of collars required for the thrust\",round(n,1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power Loast in Overcoming friction is 22.22 KW\n",
+ "Number of collars required for the thrust 2.9\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Engineering_Mechanics/chapter_9.ipynb b/Engineering_Mechanics/chapter_9.ipynb
new file mode 100644
index 00000000..73d7ecff
--- /dev/null
+++ b/Engineering_Mechanics/chapter_9.ipynb
@@ -0,0 +1,1623 @@
+{
+ "metadata": {
+ "name": "chapter_9.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9:Lifting Machines"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1,Page No.295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=100 #N #effort applied\n",
+ "W=900 #N #Lad applied\n",
+ "y=100 #cm #Distance moved by effort\n",
+ "x=10 #cm #Distance moved by load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio \n",
+ "VR=y*x**-1 \n",
+ "\n",
+ "#Efficiency\n",
+ "rho=MA*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"velocity ratio is\",round(VR,2)\n",
+ "print\"Efficiency is\",round(rho,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mechanical Advantage is 9.0\n",
+ "velocity ratio is 10.0\n",
+ "Efficiency is 90.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2,Page No.296"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=500 #N #Effort applied\n",
+ "y=5 #m #Distance moved by effort\n",
+ "x=0.5 #cm #Distance moved by load\n",
+ "rho=0.8 #Efficiency\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Load Lifted by machine\n",
+ "W=P*y*rho*(x)**-1 #N\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=y*x**-1 \n",
+ "\n",
+ "#Result\n",
+ "print\"Load Lifted by the machine is\",round(W,2),\"N\"\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"Velocity ratio is\",round(VR,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load Lifted by the machine is 4000.0 N\n",
+ "Mechanical Advantage is 8.0\n",
+ "Velocity ratio is 10.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3,Page No.297"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=20 #N #Actual Effort\n",
+ "W=900 #N #Load Lifted\n",
+ "y=2.40 #m #Distance moved by effort\n",
+ "x=0.04 #m #Distance moved by load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=y*x**-1 \n",
+ "\n",
+ "#Efficiency\n",
+ "rho=MA*VR**-1\n",
+ "\n",
+ "#Ideal Effort required\n",
+ "P1=rho*P \n",
+ "\n",
+ "#Result\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Efficiency is\",round(rho,2)\n",
+ "print\"Ideal Effort is\",round(P1,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mechanical Advantage is 45.0\n",
+ "Velocity ratio is 60.0\n",
+ "Efficiency is 0.75\n",
+ "Ideal Effort is 15.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4,Page No.297"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=0.7 #eifficiency\n",
+ "P=10 #N #Effort\n",
+ "W=500 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=MA*rho**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"Velocity ratio is\",round(VR,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mechanical Advantage is 50.0\n",
+ "Velocity ratio is 71.43\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5,Page No.299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P1=15 #N #Effort\n",
+ "W1=770 # #Load\n",
+ "rho=0.60 #Efficiency\n",
+ "\n",
+ "P2=25 #N \n",
+ "W2=1320\n",
+ "\n",
+ "P=15 #N \n",
+ "W=500 #N\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#First Case\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W1*P1**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=MA*rho**-1 \n",
+ "\n",
+ "#Second case\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA2=W2*P2**-1 \n",
+ "\n",
+ "#Efficiency\n",
+ "rho2=MA2*VR**-1*100\n",
+ "\n",
+ "#Third case\n",
+ "\n",
+ "#from LAw of machine\n",
+ "#P=m*W+C ................1\n",
+ "\n",
+ "#Equation 2\n",
+ "#P2=W2*m+C ...............2\n",
+ "\n",
+ "#Subtracting equation 2 from 1 we get\n",
+ "m=10*550**-1\n",
+ "\n",
+ "#Constacnt value \n",
+ "C=P2-W2*m\n",
+ "\n",
+ "#Sub value C in equation 1 we get\n",
+ "P3=m*W+C #N\n",
+ "\n",
+ "#MAx Mechanical advantage\n",
+ "MA_max=1*m**-1\n",
+ "\n",
+ "#MAx Efficiency \n",
+ "rho_max=1*(m*VR)**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"Velocity Ratio is\",round(VR,2)\n",
+ "print\"Efficiency is\",round(rho2,2),\"%\"\n",
+ "print\"Effort Required to raise the Load 500 N\",round(P3,2),\"N\"\n",
+ "print\"MAx Mechanical Advantage is\",round(MA_max,2)\n",
+ "print\"MAx Efficiency is\",round(rho_max,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mechanical Advantage is 51.33\n",
+ "Velocity Ratio is 85.56\n",
+ "Efficiency is 61.71 %\n",
+ "Effort Required to raise the Load 500 N 10.09 N\n",
+ "MAx Mechanical Advantage is 55.0\n",
+ "MAx Efficiency is 64.29\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6,Page No.301"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "#Effort\n",
+ "P1=15.5 #N\n",
+ "P2=19.5 #N\n",
+ "\n",
+ "#Loads\n",
+ "W1=100 #N\n",
+ "W2=90 #N\n",
+ "\n",
+ "m=0.2\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Law of machine equation \n",
+ "#P=m*W+C \n",
+ "\n",
+ "#Equations\n",
+ "#P1=m*W1+C ................1\n",
+ "#P2=m*W2+C ....................2\n",
+ "\n",
+ "#sub value of m in equation 1 weget\n",
+ "C=P1-m*W1\n",
+ "\n",
+ "#Effort required to lift a Load\n",
+ "P1=m*W1+C\n",
+ "\n",
+ "#MEchanical advantage\n",
+ "MA=1*m**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort required to Lift a Load of 100 N\",round(P1,2),\"N\"\n",
+ "print\"MAx MEchanical Advantage is\",round(MA,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort required to Lift a Load of 100 N 15.5 N\n",
+ "MAx MEchanical Advantage is 5.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7,Page No.303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=0.8 #Efficiency\n",
+ "P=15 #N #Effort\n",
+ "W=130 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=W*(P*rho)**-1 \n",
+ "\n",
+ "#Frictional force in terms of machine in tems of effort\n",
+ "Fp=P-W*VR**-1 #N\n",
+ "\n",
+ "#Frictional Force of the machine in terms of Load\n",
+ "Fw=P*VR-W #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Frictional force in terms of machine in tems of effort\",round(Fp,2),\"N\"\n",
+ "print\"Frictional Force of the machine in terms of Load is\",round(Fw,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity ratio is 10.83\n",
+ "Frictional force in terms of machine in tems of effort 3.0 N\n",
+ "Frictional Force of the machine in terms of Load is 32.5 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8,Page No.303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "VR=15 #Velocity ratio\n",
+ "rho=0.6 #Efficiency\n",
+ "W=100 #N #Load Lifted\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Power\n",
+ "P=W*(VR*rho)**-1 #N\n",
+ "\n",
+ "#Frictional Force\n",
+ "Fp=P-(W*VR**-1) #N\n",
+ "\n",
+ "#Let C=Fp\n",
+ "C=Fp\n",
+ "\n",
+ "#From law of machine,we get\n",
+ "#P=m*W+C\n",
+ "#After sub values and furter simplifying we get\n",
+ "m=(P-C)*W**-1\n",
+ "\n",
+ "#After sub values in above equaion we get law of machine as\n",
+ "#P2=m*W2+c #N\n",
+ "\n",
+ "#when W2=140 #N\n",
+ "W2=140 #N\n",
+ "P2=m*W2+C #N\n",
+ "\n",
+ "#When W3=0\n",
+ "W3=0 #N\n",
+ "P3=m*W3+C #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort required to run the machine at Load:W2=140 is\",round(P2,2),\"N\"\n",
+ "print\"Effort required to run the machine at Load:W3=0 is\",round(P3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort required to run the machine at Load:W2=140 is 13.78 N\n",
+ "Effort required to run the machine at Load:W3=0 is 4.44 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.9,Page No.304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=12 #N #Effort\n",
+ "VR=18 #Velocity ratio\n",
+ "rho=0.6 #efficiency\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Load lifted\n",
+ "W=rho*P*VR #N\n",
+ "\n",
+ "#LEt C=Fp\n",
+ "Fp=P-(W*VR**-1) #N\n",
+ "C=Fp\n",
+ "\n",
+ "#From law of machine we get\n",
+ "m=(P-C)*W**-1 #N\n",
+ "\n",
+ "#Sub value of m in equation we get\n",
+ "#P2=1*18**-1*W2+C\n",
+ "\n",
+ "#Sub W2=90\n",
+ "W2=90 \n",
+ "P2=m*W2+C\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort required to run the machine is\",round(P2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort required to run the machine is 9.8 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.10,Page No.305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "VR=10 #Velocity ratio\n",
+ "P=100 #N #Effort applied\n",
+ "Fp=20 #N #effort lost in friction\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Load Lifted\n",
+ "W=(P-Fp)*VR #N\n",
+ "\n",
+ "#Efficiency\n",
+ "rho=W*P**-1*VR**-1*100 \n",
+ "\n",
+ "#Result\n",
+ "print\"Load Lifted is\",round(W,2),\"N\"\n",
+ "print\"Efficiency is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load Lifted is 800.0 N\n",
+ "Efficiency is 80.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.11,Page No.305"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "P=40 #N #Effort applied\n",
+ "W=600 #N #Load Lifted\n",
+ "VR=20 #Velocity ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#MAchine Fiction in terms of effort\n",
+ "Fp=P-W*VR**-1 #N\n",
+ "\n",
+ "#M/c Friction in terms of Load\n",
+ "Fw=P*VR-W #N\n",
+ "\n",
+ "#efficiency\n",
+ "rho=W*P**-1*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"MAchine Fiction in terms of effort is\",round(Fp,2),\"N\"\n",
+ "print\"M/c Friction in terms of Load is\",round(Fw,2),\"N\"\n",
+ "print\"Ffficiency of the machine is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "MAchine Fiction in terms of effort is 10.0 N\n",
+ "M/c Friction in terms of Load is 200.0 N\n",
+ "Ffficiency of the machine is 75.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.12,Page No.306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "P=15 #N #Effort applied\n",
+ "W=200 #N #Load Lifted\n",
+ "VR=40 #Velocity ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Efficiency\n",
+ "rho=W*P**-1*VR**-1 #%\n",
+ "\n",
+ "#Friction Load of m/c \n",
+ "Fw=P*VR-W #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Friction Load of m/c is\",round(Fw,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Friction Load of m/c is 400.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.13,Page No.307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=48 #N #Weight\n",
+ "P=16 #N #Force\n",
+ "D=400 #mm #Diameter of wheel\n",
+ "d=100 #mm #Diameter of axle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=D*d**-1 \n",
+ "\n",
+ "#Efficiency of the machine\n",
+ "rho=MA*VR**-1*100 #%\n",
+ "\n",
+ "#Result\n",
+ "print\"Mechanical Advantage is\",round(MA,2)\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Efficiency of the machine is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mechanical Advantage is 3.0\n",
+ "Velocity ratio is 4.0\n",
+ "Efficiency of the machine is 75.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.14,Page No.309"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "D=25 #cm #Diameter of wheel\n",
+ "d1=10 #cm #LArge dia. of axle\n",
+ "d2=9 #cm #Small Dia. of axle\n",
+ "P=30 #N #Effort applied\n",
+ "W=900 #N #Load Lifted\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*D*(d1-d2)**-1 \n",
+ "\n",
+ "#Mechanical advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Efficiency\n",
+ "rho=MA*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Mechanical advantage is\",round(MA,2)\n",
+ "print\"Efficiency is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity ratio is 50.0\n",
+ "Mechanical advantage is 30.0\n",
+ "Efficiency is 60.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.15,Page No.310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "T=60 #No. of teeth on worm wheel\n",
+ "L=12.5 #cm #Radius of effort wheel\n",
+ "r=6.25 #cm #Radius of Load drum\n",
+ "P=20 #N #Effort\n",
+ "W=600 #N #Load\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=L*T*r**-1 \n",
+ "\n",
+ "#Efficiency\n",
+ "rho=W*P**-1*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity ratio for single threaded worm is\",round(VR,2)\n",
+ "print\"Efficiency of the worm is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity ratio for single threaded worm is 120.0\n",
+ "Efficiency of the worm is 25.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.16,Page No.312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "T1=10 #No.of teeth on pinion\n",
+ "T2=100 #No.of teeth on spur wheel\n",
+ "D=30 #cm #Dia. of Load axle\n",
+ "L=30 #cm #Length of lever\n",
+ "P=20 #N #Effort applied\n",
+ "W=360 #N #Load Lifted\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*L*T2*(D*T1)**-1\n",
+ "\n",
+ "#Efficiency\n",
+ "rho=W*P**-1*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Efficinecy is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity ratio is 20.0\n",
+ "Efficinecy is 90.0 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.17,Page No.314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "P=40 #N #Effort\n",
+ "rho=0.5 #Efficincy\n",
+ "D=20 #cm #Dia. of load axle\n",
+ "L=80 #cm #Length of Lever\n",
+ "T1=10 #No. of teeth om pinion of effort axle\n",
+ "T2=100 #No. of teeth on spur wheel of intermediate axle\n",
+ "T3=20 #No. of teeth om pinion of Load axle\n",
+ "T4=200 #No. of teeth on spur wheel of load axle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*L*D**-1*T2*T1**-1*T4*T3**-1 \n",
+ "\n",
+ "#Mechanical Advatnage\n",
+ "MA=rho*VR\n",
+ "\n",
+ "#Load Which can be Lifted\n",
+ "W=MA*P*10**-3 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Velocity ratio is\",round(VR,2)\n",
+ "print\"Load Which can be Lifted is\",round(W,2),\"KN\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Velocity ratio is 800.0\n",
+ "Load Which can be Lifted is 16.0 KN\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.17(A),Page No.315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=0.4 #Efficincy\n",
+ "D=20 #cm #Dia. of load axle\n",
+ "L=40 #cm #Length of Lever\n",
+ "T1=15 #No. of teeth om pinion of effort axle\n",
+ "T2=45 #No. of teeth on spur wheel of intermediate axle\n",
+ "T3=20 #No. of teeth om pinion of Load axle\n",
+ "T4=40 #No. of teeth on spur wheel of load axle\n",
+ "W=250 #N #Load Lifted\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=VR=2*L*D**-1*T2*T1**-1*T4*T3**-1 \n",
+ "\n",
+ "#Effort applied\n",
+ "P=W*(rho*VR)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort applied at the end is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort applied at the end is 26.04 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.18,Page No.318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "n=4 #No. of movable pulleys\n",
+ "W=1440 #N #Load\n",
+ "P=100 #N #effort\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical Advantage\n",
+ "MA=W*P**-1 \n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2**4\n",
+ "\n",
+ "#Efficiency\n",
+ "rho=MA*VR**-1*100 #%\n",
+ "\n",
+ "#Ideal Effort\n",
+ "P2=W*VR**-1\n",
+ "\n",
+ "#Effort wsted in friction\n",
+ "P3=P-P2 #N\n",
+ "\n",
+ "#Load WAsted in friction\n",
+ "W2=VR*P\n",
+ "\n",
+ "W3=W2-W\n",
+ "\n",
+ "#Result\n",
+ "print\"Efficiency of the machine is,\",round(rho,2),\"%\"\n",
+ "print\"Effort Wasted in friction is\",round(P3,2),\"N\"\n",
+ "print\"Load Wasted in friction is\",round(W3,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Efficiency of the machine is, 90.0 %\n",
+ "Effort Wasted in friction is 10.0 N\n",
+ "Load Wasted in friction is 160.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.19,Page No.320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2000 #N #Weight\n",
+ "P=600 #Effort\n",
+ "n=5 #Total No. of pulleys\n",
+ "VR=n \n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Mechanical advantage\n",
+ "MA=W*P**-1\n",
+ "\n",
+ "#efficiency\n",
+ "rho=MA*VR**-1*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Efficiency of the system is\",round(rho,2),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Efficiency of the system is 66.67 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.20,Page No.321"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "n=4 #No. of pulleys\n",
+ "P=160 #N #Effort\n",
+ "rho=0.75 #efficiency\n",
+ "VR=15 #Velocity ratio\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#weight Lifted\n",
+ "W=rho*P*VR \n",
+ "\n",
+ "#Result\n",
+ "print\"Weight Lifted is\",round(W,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Weight Lifted is 1800.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.21,Page No.323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=0.5 #Efficency\n",
+ "D=25 #cm #Diameter of Large pulley\n",
+ "d=20 #cm #Dia. of smaller pulley\n",
+ "P=20 #N #Effort applied\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*D*(D-d)**-1\n",
+ "\n",
+ "#Load Lifted\n",
+ "W=rho*d*VR #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Load Lifted by the machine is\",round(W,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load Lifted by the machine is 100.0 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.22,Page No.327"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=1500 #Load\n",
+ "L=0.7 #Length of handle\n",
+ "d=0.06 #m #Mean diaof screw jack\n",
+ "p=0.009 #pitch of the screw jack\n",
+ "mu=0.095 #co-efficient of friction\n",
+ "pi=3.14\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Effort required\n",
+ "X=(W*d*(2*L)**-1)*(p+mu*pi*d)*(pi*d-p*mu)**-1 #N\n",
+ "\n",
+ "#Effort required at the end of the handle for lowering the load\n",
+ "P2=W*d*(2*L)**-1*(mu*pi*d-p)*(pi*d+mu*p)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort required at the end of the handle for Lifting Load 1500 N\",round(X,2),\"N\"\n",
+ "print\"Effort required at the end of the handle for lowering the load is\",round(P2,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort required at the end of the handle for Lifting Load 1500 N 9.22 N\n",
+ "Effort required at the end of the handle for lowering the load is 3.02 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.23,Page No.328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=3000 #N #Load Lifted\n",
+ "n=2 #No. of square thread\n",
+ "D1=6 #cm #Outer diameter\n",
+ "mu=0.09 #Coefficient offriction\n",
+ "L=0.6 #m #Length\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#pitch of screw\n",
+ "p=1.2*n**-1*10**-2 #m\n",
+ "\n",
+ "#Thickness of thread\n",
+ "t=0.5*p #\n",
+ "\n",
+ "#Diameter at base of screw\n",
+ "D2=D1-2*t\n",
+ "\n",
+ "#Mean Diameter\n",
+ "d=(D1+D2)*2**-1*10**-2 #m\n",
+ "\n",
+ "#Force \n",
+ "P=W*d*(2*L)**-1*(p+mu*pi*d)*(pi*d-p*mu)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Force required at the end of handle is\",round(P,2),\"N\"\n",
+ "\n",
+ "#Answer in textbook is incorrect"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force required at the end of handle is 18.32 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.23(A),Page No.328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=5000 #N #Load\n",
+ "n=2\n",
+ "t=0.003 #m #Thickness\n",
+ "D1=0.06 #m #outer diameter\n",
+ "D2=0.054 #m #Inner diameter\n",
+ "d=0.057 #MEan diameter\n",
+ "mu=0.08 #Coefficient of friction\n",
+ "L=0.6 #m #Length\n",
+ "p=0.006 #m #pitch\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let tan(alpha)=X\n",
+ "X=p*(pi*d)**-1\n",
+ "\n",
+ "#Let tan(phi)=Y\n",
+ "Y=mu\n",
+ "\n",
+ "#Force reuired at the end of handle \n",
+ "P=d*(2*L)**-1*W*(X+Y)*(1-X*Y)**-1\n",
+ "\n",
+ "#Result \n",
+ "print\"Force reuired at the end is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Force reuired at the end is 27.03 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.24,Page No.329"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "W=2000 #N #Load Lifted\n",
+ "p=1 #mm #pitch\n",
+ "rho=0.5 #efficiency\n",
+ "L=50 #cm #Length of handle\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*pi*L*p**-1\n",
+ "\n",
+ "#Effort applied\n",
+ "P=W*(rho*VR)**-1\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort applied at the end of handle\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort applied at the end of handle 12.74 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.25,Page No.332"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "rho=0.55 #efficiency\n",
+ "W=1500 #N #Load Lifted\n",
+ "L=0.5 #m #Length of handle\n",
+ "p=0.01 #m #Pitch of the screw\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*pi*L*p**-1 \n",
+ "\n",
+ "#Effort applied\n",
+ "P=W*(VR*rho)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort applied is\",round(P,2),\"N\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort applied is 8.69 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.26,Page No.333"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=0.075 #m #Mean diameter\n",
+ "p=0.015 #m #Pitch of threads\n",
+ "mu=0.05 #Coefficient of friction\n",
+ "W=600 #N\n",
+ "L=0.36 #m #LEngth\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Tangential Force\n",
+ "P=W*d*(2*L)**-1*(p+mu*pi*d)*(pi*d-p*mu)**-1 #N\n",
+ "\n",
+ "#Let Tan(alpha)=X\n",
+ "#tan(phi)=Y\n",
+ "#tan(alpha+phi)=Z\n",
+ "X=p*(pi*d)**-1\n",
+ "Y=mu\n",
+ "Z=(X+Y)*(1-X*Y)**-1\n",
+ "\n",
+ "#efficiency\n",
+ "rho=X*Z**-1 \n",
+ "\n",
+ "#Effort\n",
+ "P2=W*((X-Y)*(1+X*Y)**-1) #N\n",
+ "\n",
+ "#Torque required\n",
+ "T=P2*d*2**-1 #N*m\n",
+ "\n",
+ "#Result\n",
+ "print\"Tangential Force to be qpplied is\",round(P,2),\"N\"\n",
+ "print\"Torque necesscary to lower the load is\",round(T,2),\"Nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tangential Force to be qpplied is 7.13 N\n",
+ "Torque necesscary to lower the load is 0.31 Nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.27,Page No.334"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "d=0.06 #m #Mean diameter\n",
+ "p=0.008 #m P#itch\n",
+ "mu=0.09\n",
+ "W=3 #Load Lifted\n",
+ "x=0.12 #m\n",
+ "n=15 #No. of turns\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Let Tan(alpha)=X\n",
+ "#tan(phi)=Y\n",
+ "X=p*(pi*d)**-1\n",
+ "Y=mu\n",
+ "P=W*((X+Y)*(1-X*Y)**-1) #N\n",
+ "\n",
+ "#Torque required\n",
+ "T=P*d*2**-1 #N*m\n",
+ "\n",
+ "#Total Angular displacement\n",
+ "omega=n*2*pi\n",
+ "\n",
+ "#Workk done\n",
+ "W2=omega*T #KNm\n",
+ "\n",
+ "#efficiency\n",
+ "rho=W*x*W2**-1*100 #%\n",
+ "\n",
+ "#Efficiency can also be determined as\n",
+ "rho2=X*(X+Y)**-1*(1-X*Y)*100\n",
+ "\n",
+ "#Result\n",
+ "print\"Torque required is\",round(T,2),\"Nm\"\n",
+ "print\"Work done in lifting the load is\",round(W2,3),\"KN\"\n",
+ "print\"Efficiency of the jack is\",round(rho2,1),\"%\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Torque required is 0.01 Nm\n",
+ "Work done in lifting the load is 1.127 KN\n",
+ "Efficiency of the jack is 31.9 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.28,Page No.336"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "from math import sin, cos, tan, radians, pi\n",
+ "\n",
+ "#Initilization of Variables\n",
+ "\n",
+ "p1=1 #cm #Pitch of Larger screw\n",
+ "p2=0.7 #cm #Pitch of smaller screw\n",
+ "l=36 #cm #Length of handle\n",
+ "rho=0.28 #efficiency\n",
+ "W=5000 #N #Weight\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Velocity ratio\n",
+ "VR=2*pi*l*(p1-p2)**-1\n",
+ "\n",
+ "#Effort applied\n",
+ "P=W*(rho*VR)**-1 #N\n",
+ "\n",
+ "#Result\n",
+ "print\"Effort required to Lift the Load\",round(P,2),\"N\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Effort required to Lift the Load 23.68 N\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file