Ch 17 problems¶
from numpy import *
dtr = pi/180
g = 9.81 # m/s2
gfps = 32.2 # ft/s2
m1,m2 = 2,10 # kg
r = 0.5 # m
IG = (1/3*m1*r**2)*4 + m2*r**2
I = IG + (4*m1+m2)*r**2
print('inertia about A is {:.3f} kg.m2'.format(I))
inertia about A is 7.667 kg.m2
h,l = 1,0.6 # m
m = 50 # kg
mu = 0.5
Q = 15*dtr # rad
N = m*g*( tan(Q)*sin(Q)+cos(Q) )/(1+mu*tan(Q))
a = ( N-m*g*cos(Q) )/( -m*sin(Q) )
x = h/2*( a*cos(Q) + g*sin(Q) )/( g*cos(Q) - a*sin(Q) )
print('check assumption x < l/2 : x={:.3f} m, l/2={:.3f} m'.format(x,l/2))
print('acceleration is {:.3f} m/s2'.format(a))
check assumption x < l/2 : x=0.250 m, l/2=0.300 m acceleration is 2.007 m/s2
l,h,y = 1,4,3.5 # ft
mus,muk = 0.2,0.15
W,P = 150,35 # lb
# assume stick:
NB = (P*h+W*l)/(2*l)
NA = W-NB # vertical
max_stick_F = mus*(NA + NB)
print("if P is greater than {:.1f} lb then it won't stick".format(max_stick_F))
# assume tip:
m = W/gfps
NB = ( P*(h-y) + W*(l+muk*y) )/( 2*l )
NA = W-NB
a = (P-muk*(NA+NB))/m
print('acceleration is {:.2f} ft/s2'.format(a))
print('reactions are {:.2f} lb at A, {:.2f} lb at B'.format(NA,NB))
if P is greater than 30.0 lb then it won't stick acceleration is 2.68 ft/s2 reactions are 26.88 lb at A, 123.12 lb at B
LG = 0.75 # m
m = 100 # kg
w = 8 # rad/s
Cy = m*(g+w**2*LG)
By = 0.5*Cy
Ay = By
print('both Ay and By are {:.3f} kN'.format(Ay/1e3))
both Ay and By are 2.890 kN
See also: ipy examples page -- ipynb file
m = 12 # kg
L = 3 # m
Q = 60*dtr # rad
w = 2 # rad/s
IG = m*L**2/12
c,s = cos(Q),sin(Q)
# NA NB alpha aA aB aGx aGy
CC = array((( 0, -1, 0, 0, 0, -m, 0 ), # Fx = 0
( 1, 0, 0, 0, 0, 0, -m ), # Fy = mg
( -L*c/2, L*s/2, IG, 0, 0, 0, 0 ), # MG = 0
( 0, 0, L*s, -1, 0, 0, 0 ), # B/A x = L w^2 cosQ
( 0, 0, -L*c, 0, 1, 0, 0 ), # B/A y = L w^2 sinQ
( 0, 0, 0, .5, 0, 1, 0 ), # G=(A+B)/2 x = 0
( 0, 0, 0, 0, .5, 0, 1 ) )) # G=(A+B)/2 y = 0
print(' check if coefficient matrix is invertable (nonzero determinant):')
print(' det(CC)={:.3f}'.format(linalg.det(CC)))
SS = array(( 0, m*g, 0, L*w**2*c, L*w**2*s, 0, 0 ))
NA,NB,alpha,aA,aB,aGx,aGy = linalg.solve(CC,SS)
print('Solution:')
print(' reactions are NA={:.2f} N, NB={:.2f} N '.format(NA,NB))
print(' angular acceleration is {:.2f} rad/s2'.format(alpha))
print('We also now know:')
print(' acceleration of ends are: aA={:.2f} m/s2, aB={:.2f} m/s2'.format(aA,aB))
print(' aG is ({:.3f} i {:+.3f} j) m/s2'.format(aGx,aGy))
check if coefficient matrix is invertable (nonzero determinant): det(CC)=-36.000 Solution: reactions are NA=33.29 N, NB=2.23 N angular acceleration is 2.45 rad/s2 We also now know: acceleration of ends are: aA=0.37 m/s2, aB=14.07 m/s2 aG is (-0.186 i -7.036 j) m/s2
check if coefficient matrix is invertable (nonzero determinant): det(CC)=-36.000 Solution: reactions are NA=33.29 N, NB=2.23 N angular acceleration is 2.45 rad/s2 We also now know: acceleration of ends are: aA=0.37 m/s2, aB=14.07 m/s2 aG is (-0.186 i -7.036 j) m/s2
m = 6.9 # kg
r = 0.4 # m
mu = 0.3
Q,p = 30*dtr,45*dtr # rad
z = r*sin(p-Q)
# F N a
CC = array((( cos(p), -mu, -m ), # Fx = 0
( sin(p), 1, 0 ), # Fy = mg
( z, -mu*r, m*r ),)) # MG = 0
print(' check if coefficient matrix is invertable (nonzero determinant):')
print(' det(CC)={:.3f}'.format(linalg.det(CC)))
SS = array(( 0, m*g, 0 ))
F,N,a = linalg.solve(CC,SS)
print('force is {:.3f} N'.format(F))
check if coefficient matrix is invertable (nonzero determinant): det(CC)=3.837 force is 29.214 N
check if coefficient matrix is invertable (nonzero determinant): det(CC)=3.837 force is 29.214 N
W = 25 # lb
l = 6 # ft
Q = 30*dtr # rad
r = 3*sqrt(2) # ft
mu = 0.4
m = W/gfps
c,s = cos(Q),sin(Q)
IG = 1/12*m*l**2
p = 45*dtr
b = 1/sqrt(2)
z = l/2*(mu*s-c)
zz = l/2*sin(p-Q)
# N A alpha aA aB aGx aGy
CC = array((( mu, -b, 0, 0, 0, -m, 0 ), # Fx = 0
( 1, -b, 0, 0, 0, 0, -m ), # Fy = W
( z, -zz, IG, 0, 0, 0, 0 ), # MG = 0
( 0, 0, -l*s, b, 1, 0, 0 ), # A/B x = 0
( 0, 0, l*c, -b, 0, 0, 0 ), # A/B y = 0
( 0, 0,-l*s/2, 0, 1, 1, 0 ), # G/B x = 0
( 0, 0, l*c/2, 0, 0, 0, 1 ) )) # G/B y = 0
print(' check if coefficient matrix is invertable (nonzero determinant):')
print(' det(CC)={:.3f}'.format(linalg.det(CC)))
SS = array(( 0, W, 0, 0, 0, 0, 0 ))
N,A,alpha,aA,aB,aGx,aGy = linalg.solve(CC,SS)
print('Solution:')
print(' angular acceleration is {:.4f} rad/s2'.format(alpha))
print('We also now know:')
print(' reactions are N={:.2f} N, A={:.2f} lb '.format(N,A))
print(' acceleration of ends are: aA={:.2f} ft/s2, aB={:.2f} ft/s2'.format(aA,aB))
print(' aG is ({:.3f} i {:+.3f} j) ft/s2'.format(aGx,aGy))
check if coefficient matrix is invertable (nonzero determinant): det(CC)=7.599 Solution: angular acceleration is 4.0090 rad/s2 We also now know: reactions are N=9.01 N, A=-11.17 lb acceleration of ends are: aA=29.46 ft/s2, aB=-8.80 ft/s2 aG is (14.818 i -10.416 j) ft/s2
check if coefficient matrix is invertable (nonzero determinant): det(CC)=7.599 Solution: angular acceleration is 4.0090 rad/s2 We also now know: reactions are N=9.01 N, A=-11.17 lb acceleration of ends are: aA=29.46 ft/s2, aB=-8.80 ft/s2 aG is (14.818 i -10.416 j) ft/s2
Mastering Engineering has this for its solution for $\alpha$:
But that is incorrect.
numer = gfps*((cos(Q)+mu*sin(Q))*(1+2*cos(Q))-mu)
denom = 3*((2-mu)*cos(Q)-sin(Q)) + (1+2*cos(Q))*(mu+1+3*(3*cos(Q)-sin(Q))*(cos(Q)+mu*sin(Q)) )
alpha = numer / denom
print('Mastering solution:')
print(' angular acceleration is {:.4f} rad/s2'.format(alpha))
Mastering solution: angular acceleration is 3.2604 rad/s2
m = 10 # kg
r = 90e-3 # m
T = m*g/5
alpha = (g-T/m)/(2*r)
print('angular acceleration is {:.3f} rad/s2'.format(alpha))
angular acceleration is 43.600 rad/s2