summaryrefslogtreecommitdiff
path: root/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb')
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb813
1 files changed, 813 insertions, 0 deletions
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb
new file mode 100644
index 00000000..0bfaddae
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb
@@ -0,0 +1,813 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 26 Appendix"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.1 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Position vector is -5.000000i+2.000000j+14.000000k\n",
+ "The value of r is 15.000000*l i + 15.000000*m j + 15.000000*n k\n",
+ "The unit vector in the direction of r is -0.333333i+0.133333j+0.933333k\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "P=[-5,2,14] #Point co-ordinates\n",
+ "#Calculations\n",
+ "r=math.sqrt(P[0]**2+P[1]**2+P[2]**2) #Magnitude of the poistion vector\n",
+ "#Direction cosines\n",
+ "l=P[0]/r \n",
+ "m=P[1]/r\n",
+ "n=P[2]/r\n",
+ "#Unit Vector calculations\n",
+ "r_unit=[]\n",
+ "r_unit[:]=[P[i]/r for i in range(0,3)]\n",
+ "#Results\n",
+ "print(\"The Position vector is %fi+%fj+%fk\"%(P[0],P[1],P[2]))\n",
+ "print('The value of r is %f*l i + %f*m j + %f*n k'%(r,r,r))\n",
+ "print(\"The unit vector in the direction of r is %fi+%fj+%fk\"%(r_unit[0],r_unit[1],r_unit[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.2 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force in vector notation is -1.097643i-9.878783j-1.097643k\n",
+ "Thetax=96.301726 degrees,Thetay=171.069858 degrees,Thetaz=96.301726 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilizatin of variable\n",
+ "F=10 #N\n",
+ "P_1=[2,4,3] \n",
+ "P_2=[1,-5,2]\n",
+ "\n",
+ "#Calculations\n",
+ "d_x=P_2[0]-P_1[0]\n",
+ "d_y=P_2[1]-P_1[1]\n",
+ "d_z=P_2[2]-P_1[2]\n",
+ "d=math.sqrt(d_x**2+d_y**2+d_z**2)\n",
+ "Fx=(F/d)*d_x #N\n",
+ "Fy=(F/d)*d_y #N\n",
+ "Fz=(F/d)*d_z #N\n",
+ "#Direction cosines\n",
+ "l=Fx/F\n",
+ "m=Fy/F\n",
+ "n=Fz/F\n",
+ "#Angles\n",
+ "theta_x=math.degrees(math.acos(l)) #degrees\n",
+ "theta_y=math.degrees(math.acos(m)) #degrees\n",
+ "theta_z=math.degrees(math.acos(n)) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The force in vector notation is %fi%fj%fk\"%(Fx,Fy,Fz))\n",
+ "print(\"Thetax=%f degrees,Thetay=%f degrees,Thetaz=%f degrees\"%(theta_x,theta_y,theta_z)) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.3 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force vector is -1059.997880i+2119.995760j+794.998410k N\n",
+ "The angles are thetax=115.087329,thetay=32.005383 and thetaz=71.458022 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initiliation of variables\n",
+ "T=2500 #N\n",
+ "#Co-ordinates\n",
+ "Q=[40,0,-30]\n",
+ "P=[0,80,0]\n",
+ "\n",
+ "#Calculations\n",
+ "mag_QP=math.sqrt((P[0]-Q[0])**2+(P[1]-Q[1])**2+(P[2]-Q[2])**2) #Magnitude\n",
+ "QP=[(P[0]-Q[0]),(P[1]-Q[1]),(P[2]-Q[2])] \n",
+ "F=[]\n",
+ "F[:]=[(T/mag_QP)*QP[i] for i in range(0,3)] #N\n",
+ "thetax=(math.acos(F[0]/T)*180/math.pi) #degrees\n",
+ "thetay=(math.acos(F[1]/T)*180/math.pi) #degrees\n",
+ "thetaz=(math.acos(F[2]/T)*180/math.pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The force vector is %fi+%fj+%fk N\"%(F[0],F[1],F[2]))\n",
+ "#Answer in the textbook is printed as 1600 which is incorrect\n",
+ "print(\"The angles are thetax=%f,thetay=%f and thetaz=%f degrees\"%(thetax,thetay,thetaz))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.4 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The unit vector is 0.635999i-0.212000j+0.741999k\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-1,1]\n",
+ "B=[1,1,2]\n",
+ "C=[3,-2,4]\n",
+ "#Calculations\n",
+ "R=[A[0]+B[0]+C[0],A[1]+B[1]+C[1],A[2]+B[2]+C[2]] #Resultant\n",
+ "mag=math.sqrt(R[0]**2+R[1]**2+R[2]**2)\n",
+ "#Unit vector\n",
+ "U=[]\n",
+ "U[:]=[R[i]/mag for i in range(0,3)] \n",
+ "#Result\n",
+ "print(\"The unit vector is %fi%fj+%fk\"%(U[0],U[1],U[2]))\n",
+ "#Answer for (k) is incorrect in the textbook"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.5 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The product of both the vectors is -7.000000\n",
+ "The angle between them is 101.309932 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-6,-3]\n",
+ "B=[4,3,-1] \n",
+ "#Calculations\n",
+ "AdotB=A[0]*B[0]+A[1]*B[1]+A[2]*B[2] \n",
+ "magA=math.sqrt(A[0]**2+A[1]**2+A[2]**2) \n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "theta=math.degrees(math.acos(AdotB/(magA*magB))) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The product of both the vectors is %f\"%AdotB)\n",
+ "print(\"The angle between them is %f degrees\"%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.6 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of A.costheta is 1.000000\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[4,-3,1]\n",
+ "P=[2,3,-1]\n",
+ "Q=[-2,-4,3]\n",
+ "#Calculations\n",
+ "B=[Q[0]-P[0],Q[1]-P[1],Q[2]-P[2]]\n",
+ "AdotB=A[0]*B[0]+A[1]*B[1]+A[2]*B[2]\n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "Acostheta=AdotB/magB\n",
+ "#Result\n",
+ "print(\"The value of A.costheta is %f\"%Acostheta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.7 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The work done is 135 units\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "F=np.array([5,10,-15])\n",
+ "a=np.array([1,0,3])\n",
+ "b=np.array([3,-1,-6])\n",
+ "#Calculations\n",
+ "d=b-a\n",
+ "work=F*d\n",
+ "Work=work[0]+work[1]+work[2]\n",
+ "#Result\n",
+ "print(\"The work done is %d units\"%Work)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.8 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cross prcoduct of the two vectors is 15.000000i -10.000000j+30.000000k\n",
+ "The angle between the two is 78.690068 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-6,-3]\n",
+ "B=[4,3,-1]\n",
+ "#Calculations\n",
+ "AcrossB=[A[1]*B[2]-B[1]*A[2],A[2]*B[0]-A[0]*B[2],A[0]*B[1]-A[1]*B[0]]\n",
+ "mag=math.sqrt(AcrossB[0]**2+AcrossB[1]**2+AcrossB[2]**2)\n",
+ "n=[AcrossB[i]/mag for i in range(0,3)]\n",
+ "magA=math.sqrt(A[0]**2+A[1]**2+A[2]**2)\n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "theta=math.degrees(math.asin(mag/(magA*magB)))\n",
+ "#Result\n",
+ "print(\"The cross prcoduct of the two vectors is %fi %fj+%fk\"%(AcrossB[0],AcrossB[1],AcrossB[2])) #the answer for j is wrong in textbook\n",
+ "print(\"The angle between the two is %f degrees\"%theta)\n",
+ "# Only 1 value for theta has been solved"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.9 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The vector notation of velocity is 10.474459i -6.110101j -0.436436k\n",
+ "The magnitude of the Velocity Vector is 12.134171\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of Variable \n",
+ "# Points As martices\n",
+ "A=[0,1,2]\n",
+ "B=[1,3,-2]\n",
+ "P=[3,6,4]\n",
+ "a_s=2 # Angular speed in rad/s\n",
+ "\n",
+ "# Calculations\n",
+ "C=(B[0]-A[0],B[1]-A[1],B[2]-A[2])\n",
+ "magC=(C[0]**2+C[1]**2+C[2]**2)**0.5 # Magnitude of the Vector C \n",
+ "# Unit vector\n",
+ "C_unit=(C[0]/magC,C[1]/magC,C[2]/magC) # Unit vector\n",
+ "# Position Vector\n",
+ "r=(P[0]-A[0],P[1]-A[1],P[2]-A[2])\n",
+ "# Velocity Vector\n",
+ "# Calculating the cross product as,\n",
+ "V=(C[1]*r[2]-C[2]*r[1],C[2]*r[0]-C[0]*r[2],C[0]*r[1]-C[1]*r[0])\n",
+ "# Vector notation\n",
+ "V_n=[]\n",
+ "V_n[:]=[(a_s/magC)*V[i] for i in range(0,3)]\n",
+ "# Velocity Magnitude\n",
+ "magV=math.sqrt(V[0]**2+V[1]**2+V[2]**2)\n",
+ "v=(a_s/magC)*magV\n",
+ "# Result\n",
+ "print(\"The vector notation of velocity is %fi %fj %fk\"%(V_n[0],V_n[1],V_n[2]))\n",
+ "print(\"The magnitude of the Velocity Vector is %f\"%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.10 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Moment about point O is 9.000000i -1.000000j+32.000000k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Points as matrices\n",
+ "O=[-2,3,5]\n",
+ "P=[1,-2,4]\n",
+ "Q=[5,2,3]\n",
+ "F=[4,4,-1] # Force vector\n",
+ "# Calculations\n",
+ "# Positon vector , r_2 gives the same answer as r_1\n",
+ "r_1=(P[0]-O[0],P[1]-O[1],P[2]-O[2])\n",
+ "# Moment\n",
+ "# Calculating the cross product\n",
+ "M=(r_1[1]*F[2]-r_1[2]*F[1],r_1[2]*F[0]-r_1[0]*F[2],r_1[0]*F[1]-r_1[1]*F[0])\n",
+ "# Results\n",
+ "print('The Moment about point O is %fi %fj+%fk'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.11 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment of the force is 2.000000i -7.000000j -2.000000k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Points as matrices\n",
+ "P=[1,-1,2] # Point where force is applied\n",
+ "O=[2,-1,3] # point where moment is to be found\n",
+ "F=[3,2,-4] # Force vector\n",
+ "# Calculations\n",
+ "# Position vector of point P wrt O\n",
+ "r=(P[0]-O[0],P[1]-O[1],P[2]-O[2])\n",
+ "# Moment\n",
+ "M=(r[1]*F[2]-r[2]*F[1],r[2]*F[0]-r[0]*F[2],r[0]*F[1]-r[1]*F[0])\n",
+ "# Resuts\n",
+ "print('The moment of the force is %fi %fj %fk'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.12 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment is -68.000000i + 102.000000j + 0.000000 k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "f=22 # N \n",
+ "# Points as matrices\n",
+ "A=[4,-1,7]\n",
+ "O=[1,-3,2]\n",
+ "V=[9,6,-2] # Given vector\n",
+ "# Calculations\n",
+ "# Unit vector in the direction of the vector\n",
+ "denom=math.sqrt(V[0]**2+V[1]**2+V[2]**2)\n",
+ "v=[V[i]/denom for i in range(0,3)]\n",
+ "# Force\n",
+ "F=[f*v[i] for i in range(0,3)]\n",
+ "# Position vector of point A wrt O\n",
+ "r=(A[0]-O[0],A[1]-O[1],A[2]-O[2])\n",
+ "# Moment\n",
+ "M=(r[1]*F[2]-r[2]*F[1],r[2]*F[0]-r[0]*F[2],r[0]*F[1]-r[1]*F[0])\n",
+ "# Results\n",
+ "print('The moment is %fi + %fj + %f k'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.13 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The components of the force is along u=3.301270 N,along v=-94.282032 N,along w=30.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Force Vector\n",
+ "F=[50,-80,30]\n",
+ "# from fig.13\n",
+ "theta1=30 # angles by which the axis is rotated [ all in degrees]\n",
+ "theta2=60\n",
+ "theta3=90\n",
+ "theta4=120\n",
+ "theta5=0\n",
+ "# Calculations\n",
+ "# Unit vector in u-direction\n",
+ "u_unit=(1*math.cos(theta1*math.pi/180),1*math.cos(theta2*math.pi/180),1*math.cos(theta3*math.pi/180))\n",
+ "# Unit vector in v-direction\n",
+ "v_unit=(1*math.cos(theta4*math.pi/180),1*math.cos(theta1*math.pi/180),1*math.cos(theta3*math.pi/180))\n",
+ "# Unit vector in w-direction\n",
+ "w_unit=(1*math.cos(theta3*math.pi/180),1*math.cos(theta3*math.pi/180),1*math.cos(theta5*math.pi/180))\n",
+ "# Components of force\n",
+ "# finding the dot product as\n",
+ "u=F[0]*u_unit[0]+F[1]*u_unit[1]+F[2]*u_unit[2] # N\n",
+ "v=F[0]*v_unit[0]+F[1]*v_unit[1]+F[2]*v_unit[2] # N\n",
+ "w=F[0]*w_unit[0]+F[1]*w_unit[1]+F[2]*w_unit[2] # N\n",
+ "# Results\n",
+ "print('The components of the force is along u=%f N,along v=%f N,along w=%f N'%(u,v,w))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.14 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment of the force about point E is 0.000000i - 44.721360j + 22.360680k N.m\n",
+ "The moment of force about axis AE is -44.721360 N.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "f=100 # N # magnitude of force\n",
+ "# Co-ordinates of corners of the box as matrices\n",
+ "A=[0,0,0]\n",
+ "B=[0.5,0,0]\n",
+ "C=[0.5,0,1]\n",
+ "D=[0,0,1]\n",
+ "E=[0,0.5,0]\n",
+ "F=[0.5,0.5,0]\n",
+ "G=[0.5,0.5,1]\n",
+ "H=[0,0.5,1]\n",
+ "# Calculations\n",
+ "# Force vector\n",
+ "Fmag=f/math.sqrt((F[0]-C[0])**2+(F[1]-C[1])**2+(F[2]-C[2])**2)\n",
+ "F=[Fmag*(F[i]-C[i]) for i in range(0,3)]\n",
+ "# Position vector\n",
+ "r_EC=(C[0]-E[0],C[1]-E[1],C[2]-E[2])\n",
+ "# Moment about point E\n",
+ "# Calculating the cross product\n",
+ "M_E=((r_EC[1]*F[2]-r_EC[2]*F[1]),(r_EC[2]*F[0]-r_EC[0]*F[2]),(r_EC[0]*F[1]-r_EC[1]*F[0])) # N.m # The value taken for F is incorrect in textbook.\n",
+ "# Unit vector\n",
+ "n_AE=[(E[i]-A[i])/math.sqrt((E[0]-A[0])**2+(E[1]-A[1])**2+(E[2]-A[2])**2) for i in range(0,3)]\n",
+ "# Moment of force about axis AE\n",
+ "# finding the dot product\n",
+ "M_AE=M_E[0]*n_AE[0]+M_E[1]*n_AE[1]+M_E[2]*n_AE[2] # N.m\n",
+ "# Results\n",
+ "print('The moment of the force about point E is %fi - %fj + %fk N.m'%M_E)\n",
+ "print('The moment of force about axis AE is -%f N.m'%M_AE)\n",
+ "# The value of M_AE & M_E is incorrect in the textbook.Incorrect value of force vector is taken in calculation of M_E\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.16 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The point of application should be shifted to: x=3.800000 m and z=4.100000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "F=20 # kN # Force acting at O\n",
+ "M_x=76 # kNm\n",
+ "M_y=82 # kNm\n",
+ "# Calculations\n",
+ "x=M_x/F # m\n",
+ "z=M_y/F # m\n",
+ "# Results\n",
+ "print('The point of application should be shifted to: x=%f m and z=%f m'%(x,z))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.17 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tension in cable AD is 2282.996811 N\n",
+ "Tension in cable AB is 2040.860785 N\n",
+ "Tension in cable AC is 1588.382888 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "W=5000 # N\n",
+ "# Co-ordinates of various points\n",
+ "A=[0,4.5,0]\n",
+ "B=[2.8,0,0]\n",
+ "C=[0,0,-2.4]\n",
+ "D=[-2.6,0,1.8]\n",
+ "# Calculations\n",
+ "# Ref textbook for the values of tenion in the cable AB, AC & AD. The values consist of variables which cannot be defined here\n",
+ "# We re-arrange and define the equations of equilibrium as matrices and solve them as,\n",
+ "P=numpy.matrix('0.528,0.0,-0.472;0.0,0.47,-0.327;0.85,0.88,0.818')\n",
+ "Q=numpy.matrix('0;0;5000')\n",
+ "X=numpy.linalg.inv(P)*Q\n",
+ "# Results\n",
+ "print('Tension in cable AD is %f N'%X[2])\n",
+ "print('Tension in cable AB is %f N'%X[0])\n",
+ "print('Tension in cable AC is %f N'%X[1])\n",
+ "#Ans for T_AB is incorrect in textbook.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.18 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reactions are: R_A=6.416667 kN ,R_C=3.892857 kN and R_B=-2.309524 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "P=5 # kN\n",
+ "Q=3 # kN\n",
+ "C=5 # kNm # couple\n",
+ "# ref fig.20 # Notations have been assumed\n",
+ "z1=1.5 # m\n",
+ "z2=0.625 # m\n",
+ "z3=0.5 # m\n",
+ "x1=3.5 # m\n",
+ "x2=0.625 # m\n",
+ "# Calculations\n",
+ "# sum M_x=0\n",
+ "R_A=((P*z2)+(Q*z3)+C)/z1 # kN\n",
+ "# M_z=0\n",
+ "R_C=((Q*x1)+(P*x2))/x1 # kN\n",
+ "# sum F_y=0\n",
+ "R_B=P+Q-R_A-R_C # kN\n",
+ "# Results\n",
+ "print('The reactions are: R_A=%f kN ,R_C=%f kN and R_B=%f kN'%(R_A,R_C,R_B))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.19 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The components of reaction at A are: A_x=-1.562500 kN , A_y=-1.687500 kN and A_z=6.250000 kN\n",
+ "The tensions in the cable are: T_FE=5.387931 kN and T_GD=3.810976 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "F=2 # kN\n",
+ "W=1 # kN\n",
+ "# Co-ordinates as matrices\n",
+ "A=[0,0,0]\n",
+ "C=[0,0,1.2]\n",
+ "B=[0,0,2.5]\n",
+ "D=[-1,1,0]\n",
+ "E=[1,1,0]\n",
+ "F=[0,0,1]\n",
+ "G=[0,0,2]\n",
+ "# Force vector\n",
+ "f=[0,-2,0]\n",
+ "# Weight vector\n",
+ "w=[0,-1,0]\n",
+ "# Calculations\n",
+ "# we have 5 unknowns: A_x,A_y,A_z,T_FE & T_GD\n",
+ "# we define and solve eqn's 1,2,3,4&5 using matrix as,\n",
+ "P=numpy.matrix('1 0 0 0.58 -0.41;0 1 0 0.58 0.41;0 0 1 -0.58 -0.82;0 0 0 0.58 0.82;0 0 0 0.58 -0.82')\n",
+ "Q=numpy.matrix('0;3;0;6.25;0')\n",
+ "X=numpy.linalg.inv(P)*Q\n",
+ "\n",
+ "# Results\n",
+ "print('The components of reaction at A are: A_x=%f kN , A_y=%f kN and A_z=%f kN'%(X[0],X[1],X[2]))\n",
+ "print('The tensions in the cable are: T_FE=%f kN and T_GD=%f kN'%(X[3],X[4]))\n",
+ "# The solution in the textbook is incorrect and yeilds singularity in matrix calculation."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}