Chapter 6: Equilibrium of Non Coplanar Force Systems

Example 6.6-1, Page no 81

In [3]:
import math
import numpy as np

#Initilization of variables
H=30 #ft
F=150 #lb
# Here theta1=10, theta2=30 & theta3=60 degrees. Thus the values are,
sin10=0.1736
cos10=0.9848
sin30=2**-1
cos30=sqrt(3)*2**-1
sin60=sqrt(3)*2**-1
cos60=2**-1

#Calculations
#Matrix solution of simultaneous equations
X=np.array([[cos60*sin30, -cos60*sin30],[cos60*cos30, cos60*cos30]]) 
Y=np.array([[0],[F*cos10]]) 
R=np.linalg.solve(X,Y)
#To find P,sum the forces vertically along the y-axis
P=F*sin10+2*R[0]*sin60 #lb Compression

#Result
print'The value of A and B is',round(R[0]),"lb (T)"
print'The value of P is',round(P),"lb (C)"

# The value of P is off by 1 lb
The value of A and B is 171.0 lb (T)
The value of P is 321.0 lb (C)

Example 6.6-2, Page no 82

In [5]:
import math
import numpy as np
#Initilization of variables
F=150 #lb
# Here theta1=10, theta2=30 & theta3=60 degrees. Thus the values are,
sin10=0.1736
cos10=0.9848
sin30=2**-1
cos30=sqrt(3)*2**-1
sin60=sqrt(3)*2**-1
cos60=2**-1

#Calculations
A=[-cos60*cos30,-sin60,cos60*sin30] 
B=[-cos60*cos60,-sin60,cos60*sin30]
# 150lb force is actually a vector
F_v=[F*cos10,F*sin10,0] #lb
#Postion vector relative to C 
r=[0,30,0]
# Moment about point C is zero
#solution by matrix
X=np.array([[7.5,-7.5],[13,13]]) 
Y=np.array([[0],[4470]]) 
R=np.linalg.solve(X,Y)
A=R[0] #lb
B=R[1] #lb
#Summing forces in y direction
Cy=0.866*A+0.866*B+25.9 #lb

#Result
print'The value of A and B is',round(A),"lb"
print'The value of Cy is',round(Cy),"lb"

# The answer may wary due to decimal point descripancy in computation
The value of A and B is 172.0 lb
The value of Cy is 324.0 lb

Example 6.6-3, Page no 82

In [6]:
import math

#Initililization of variables
m=6.12 #kg
g=9.81 #m/s**2

#Calculations
AD=sqrt(3**2+2**2+6**2) 
AC=sqrt(4**2+2**2)
AB=5
#Sum of forces in the y direction
T1=(m*g*AD)/6 #N
#sum of forces in the x and z direction
#Matrix solution of the folllowing simultaneous equations
X=np.array([[4*4.47**-1,-3*5**-1],[-2*4.47**-1,4*5**-1]])
Y=np.array([[T1*(3*7**-1)],[T1*(2*7**-1)]]) 
R=np.linalg.solve(X,Y)
T2=R[0] #N
T3=R[1] #N

#Result
print'The value of T1 is',round(T1),"N"
print'The value of T2 is',round(T2,1),"N"
print'The vaue of T3 is',round(T3),"N"
The value of T1 is 70.0 N
The value of T2 is 80.5 N
The vaue of T3 is 70.0 N

Example 6.6-4, Page no 83

In [13]:
import math
import numpy as np

#Intilization of variables

F=np.array([0,60,0]) #Force defined as a matrix
t1=np.array([-3*7**-1,6*7**-1,2*7**-1]) #Tension defined as a matrix
t2=np.array([4*4.47**-1,0,-2*4.47**-1]) #tension defined as a mtrix
t3=np.array([-3*5**-1,0,4*5**-1]) #Tension defined as a matrix

#Calculations
#Summation of forces in the y-direction
T1=F[1]*(t1[1]**-1) #N
#Summation of forces in the x-direction and z direction
M1=np.array([[t2[0],t3[0]],[t2[2],t3[2]]])
M2=np.array([[-1*t1[0]*T1],[t1[2]*T1]]) 
R=np.linalg.solve(M1,M2)

#Result
print'The tension in the strings are: T1=',round(T1),"N",',T2=',round(R[0],1),"N",'and T3=',round(R[1]),"N respectively"
The tension in the strings are: T1= 70.0 N ,T2= 80.5 N and T3= 70.0 N respectively

Example 6.6-5, Page no 84

In [34]:
import math
import numpy as np

#Initilization of variables
m=80 #kg
g=9.81 # m/s**2
#Co-ordinates of points in Meters
A=np.array([1,3,0])
B=np.array([3,3,-4])
C=np.array([4,3,0])
D=np.array([2,0,-1])

#Calculations
#Tension in DC will be
a=np.array([[C[0]-D[0]],[C[1]-D[1]],[C[2]-D[2]]])
h=((C[0]-D[0])**2+(C[1]-D[1])**2+(C[2]-D[2])**2)**0.5
c=a*h**-1
#Unit vector calculations
e=np.array([[B[0]-A[0]],[B[1]-A[1]],[B[2]-A[2]]])
v=((B[0]-A[0])**2+(B[1]-A[1])**2+(B[2]-A[2])**2)**0.5
e_ab=e*v**-1
#Position vector AD
r_ad=np.array([[D[0]-A[0]],[D[1]-A[1]],[D[2]-A[2]]])
#Moment Calculations
O=np.array([[1,0,0],[1,-3,-1],[0,-m*g,0]])
P=np.array([[0,1,0],[1,-3,-1],[0,-m*g,0]])
Q=np.array([[0,0,1],[1,-3,-1],[0,-m*g,0]])
C1=np.array([[1,0,0],[1,-3,-1],[2,3,1]])
C2=np.array([[0,1,0],[1,-3,-1],[2,3,1]])
C3=np.array([[0,0,1],[1,-3,-1],[2,3,1]])
rxF1=np.array([[det(O),det(P),det(Q)]])
rxF2=np.array([(det(C1)*h**-1),(det(C2)*h**-1),(det(C3)*h**-1)])
#Final Moment calculations
rxF=rxF1+rxF2 
#Taking dot product
dot1=e_ab*rxF
dot2=e_ab*rxF2
#equating dot product to zero to obtain C
C=-(dot1[0,0]+dot1[2,2])/dot2[2,2]

#Result 
print'The tension in CD is',round(C),"N"

# The ans is off by 1 N due to Decimal point descrepancy. 
The tension in CD is 162.0 N

Example 6.6-6, Page no 85

In [12]:
import math

#Initilization of variables
w=200 #lb
Dh=4 #ft

#Calculation
theta=arctan(2*Dh**-1)*(180/pi) #degrees
T=w/(3*cos(theta)) #lb

#Result
print'The Tension in each rope is',round(T,1),"lb"
print'The angle is',round(theta,1),"degrees"
The Tension in each rope is 482.9 lb
The angle is 26.6 degrees

Example 6.6-7, Page no 85

In [35]:
import math
import numpy as np

#Initilization of variables
F=np.array([100,0,0]) #N
CE=5 #m
BC=(34)**0.5 #m
AC=(41)**0.5 #m

#Calculations
#solving as a matrix for system of linear equations
A=np.array([[3*BC**-1,-4*AC**-1,0],[0,0,(6*4)*CE**-1],[-3*BC**-1,-3*AC**-1,-3*CE**-1]])
B=np.array([[0],[F[0]*4],[-F[0]]])
C=np.linalg.solve(A,B)

#Result
print'The forces F1,F2 and F3 are as',round(C[0],1),"N",',',round(C[1],1),"N",'and',round(C[2],1),"N"
print'Here F3 is compression assumed and rest are Tension'
The forces F1,F2 and F3 are as 55.5 N , 45.7 N and 83.3 N
Here F3 is compression assumed and rest are Tension

Example 6.6-8, Page no 85

In [53]:
import math
import numpy as np

#Initilization of variables
F=np.array([100,0,0]) #N
CE=5 #m
BC=(34)**0.5 #m
AC=(41)**0.5 #m

#Calculations
#solving as a matrix for system of linear equations
A=np.array([[3/BC,-4/AC,0],[-4/BC,-4/AC,4*CE**-1],[-3/BC,-3/AC,-3*CE**-1]])
B=np.array([[0],[0],[-F[0]]])
C=np.linalg.solve(A,B)

#Result
print'The forces are: F1=',round(C[0],1),"N",',F2=',round(C[1],1),"N",'and F3=',round(C[2],1),"N"
print'Here F3 is compression assumed and rest are Tension'
The forces are: F1= 55.5 N ,F2= 45.7 N and F3= 83.3 N
Here F3 is compression assumed and rest are Tension

Example 6.6-9, Page no 86

In [1]:
import math
import numpy as np

#Initilization of variables
#here forces will be defines as matrices along with their co-ordinates
#Force in N and co-ordinates in mm
F1=[30,200,300] 
F2=[10,400,200]
F3=[20,200,500]
F4=[50,400,500]
#Calculations
#solving as system of linear equations
A=np.array([[1,1,1],[-600,-600,0],[0,600,600]])
B=np.array([[F1[0]+F2[0]+F3[0]+F4[0]],[-(F3[0]*F3[2]+F1[0]*F1[2]+F4[0]*F4[2]+F2[0]*F2[2])],[-(-F3[0]*F3[1]-F1[0]*F1[1]-F4[0]*F4[1]-F2[0]*F2[1])]])
C=np.linalg.solve(A,B)

#Result
print'The reactions are as R1=',round(C[0],1),"N",',R2=',round(C[1],1),"N",'and R3=',round(C[2],1),"N"
The reactions are as R1= 53.3 N ,R2= 23.3 N and R3= 33.3 N

Example 6.6-10, Page no87

In [6]:
import math

#Initilization of variables
m=1 #kg
g=9.81 #m/s**2
# As t1=45 degrees and t2=30 degrees
cost1=sqrt(2)**-1
cost2=sqrt(3)*2**-1

#Calculations
#Solving as system of linear equations
A=np.array([[1,0,-cost1,0],[0,1,0,3*5**-1],[-5,g*m*cost1*cost2,0,0],[-1,0,0,4*5**-1]])
B=np.array([[0],[g*m],[g*m*5*cost1*cost2],[0]])
C=np.linalg.solve(A,B)

#Result
print'The forces are: Nb=',round(C[0],1),',Nc=',round(C[1],1),',Tc=',round(C[2],1),'and Tb=',round(C[3],1),"respectively"
The forces are: Nb= 3.0 ,Nc= 7.5 ,Tc= 4.3 and Tb= 3.8 respectively

Example 6.6-11, Page no 87

In [21]:
import math
import numpy as np

#Initilization of variables
w=50 #lb wind load
W=60 #lb weight of door

#Calculations
#Calculation as system of linear equations
A=np.array([[0,0,33],[1,1,-1],[28,10,-28]])
B=np.array([[50*18],[-50],[-50*24]])
C=np.linalg.solve(A,B)
P=C[2]*(cos(20*pi*180**-1))**-1
D=np.array([[-28,-10],[1,1]])
E=np.array([1080-(28*(P*sin((20*pi)*180**-1))),P*sin((20*pi)*180**-1)])
F=np.linalg.solve(D,E)
By=60

#Result
print'The forces are as follows:'
print'Az=',round(C[0],1),"lb",',Bz=',round(C[1],1),"lb",',Pz=',round(C[2],1),"lb",',Ax=',round(F[0]),"lb",',Bx=',round(F[1]),"lb",'and By=',round(By),"lb respectively."
The forces are as follows:
Az= -11.6 lb ,Bz= -11.1 lb ,Pz= 27.3 lb ,Ax= -50.0 lb ,Bx= 60.0 lb and By= 60.0 lb respectively.

Example 6.6-12, Page no 89

In [11]:
import math
import numpy as np

#Initilization of variables
m=1 #kg
g=9.81 #m/s**2
# Since t1=45 degrees and t2=30 degrees
cost1=sqrt(2)**-1
cost2=sqrt(3)*2**-1

#Calculations
#Solving as system of linear equations
A=np.array([[1,0,-cost1,0],[0,1,0,3*5**-1],[-5,g*m*cost1*cost2,0,0],[-1,0,0,4*5**-1]])
B=np.array([[0],[g*m],[g*m*5*cost1*cost2],[0]])
C=np.linalg.solve(A,B)

#Result
print'The forces are: Nb=',round(C[0],2),"N",',Nc=',round(C[1],2),"N",',Tc=',round(C[2],2),"N",'and Tb=',round(C[3],2),"N"
 The forces are: Nb= 3.04 N ,Nc= 7.53 N ,Tc= 4.3 N and Tb= 3.8 N

Example 6.6-13, Page no 89

In [15]:
import math

#Initilization of variables
l=200 #lb
cos25=0.9063
sin25=0.4226

#Calculations
P=l*5*12**-1 #lb
#Solving as system of linear equations
A=np.array([[0,-36,0,0],[0,0,0,36],[0,0,1,1],[1,1,0,0]])
B=np.array([[-P*cos25*48],[l*20+P*sin25*48],[P*sin25+200],[P*cos25]])
C=np.linalg.solve(A,B)

#Result
print'The forces are: Az=',round(C[0],1),"lb",',Bz=',round(C[1]),"lb",',Ay=',round(C[2],1),"lb",'and By=',round(C[3]),"lb"

# The answer for Az waries due to decimal point descrepancy
The forces are: Az= -25.2 lb ,Bz= 101.0 lb ,Ay= 77.2 lb and By= 158.0 lb

Example 6.6-14, Page No 90

In [20]:
import math

#Initilization of variables
A=80 #lb
B=40 #lb
C=60 #lb
l1=2 #in
l2=4 #in
l3=6 #in
l4=9 #in
l5=3 #in
l6=7 #in

#Calculations
P=-(-A*l1+B*l2-C*l2)/l1
By=-(A*l3+P*l3)/l4
Ay=(-A*l5-P*l5)/l4
Bz=-(-C*l1-B*l1)/l4
Az=(C*l6+B*l6)/l4

#Result
print'The forces are:Ay=',round(Ay,1),"lb",',By=',round(By,1),"lb",',Az=',round(Az,1),"lb forward",'and Bz=',round(Bz,1),"lb forward"

# The answers may wary due to rounding of the values
The forces are:Ay= -67.0 lb ,By= -134.0 lb ,Az= 77.0 lb forward and Bz= 22.0 lb forward

Example 6.6-15, Page no 91

In [9]:
import math
import numpy as np

#Initilization of variables
W=138 #lb
w=80 #lb

#Calculations
u=(3*3+4*4+6*6)**0.5
a=np.array([-3*u**-1,4*u**-1,-6*u**-1])
v=(3*3+3*3+3*3)**0.5
c=np.array([3*v**-1,3*v**-1,-3*v**-1])
P=np.array([[1,0,0],[0,0,8],[0,-W,0]])
Q=np.array([[0,0,1],[0,0,8],[0,-W,0]])
R=np.array([[1,0,0],[0,0,4],[0,-w,0]])
S=np.array([[0,0,1],[0,0,4],[0,-w,0]])
T=np.array([[1,0,0],[0,0,6],[a[0],a[1],a[2]]])
U=np.array([[0,1,0],[0,0,6],[a[0],a[1],a[2]]])
V=np.array([[1,0,0],[0,0,3],[c[0],c[1],c[2]]])
Y=np.array([[0,1,0],[0,0,3],[c[0],c[1],c[2]]])
#Solving for A and C
MAT1=np.array([[det(T),det(V)],[det(U),det(Y)]])
MAT2=np.array([[det(P)+det(R)],[0]])
res=np.linalg.solve(-MAT1,MAT2)
A=np.array([a[0]*res[0],a[1]*res[0],a[2]*res[0]])
C=np.array([c[0]*res[1],c[1]*res[1],c[2]*res[1]])
E=np.array([-(A[0]+C[0]),-(-w-W+A[1]+C[1]),-(A[2]+C[2])])

#Result
print'The force vectors are as follows:'
print'A=',round(A[0]),"i +",round(A[1]),"j ",round(A[2]),"k",
print'and C=',round(C[0]),"i +",round(C[1]),"j ",round(C[2]),"k"
print'also,Ex=',round(E[0]),"lb",',Ey=',round(E[1]),"lb",'and Ez=',round(E[2]),"lb"
#Decimal accuracy causes discrepancy in the answers
The force vectors are as follows:
A= -102.0 i + 136.0 j  -203.0 k and C= 203.0 i + 203.0 j  -203.0 k
also,Ex= -102.0 lb ,Ey= -121.0 lb and Ez= 407.0 lb