import math
#initialisation
W = 2.0 #lb
b = 10.5 #inch
c = 6.4 #inch
k = 4.2 #inch
p = 1.0/16.0 #inch
#calculation
n = (W*b)/(c*k*p) #inch
#result
print " No. of revolution required = ", n, "revolutions"
import math
import numpy
#initialisation
Fce_ = 2.0 #dummy variable
Fbd_ = 3.0 #dummy variable
Lbd = 480.0 #mm
Lce = 600.0 #mm
E = 205e6 #205Gpa
Abd = 1020.0 #mm
Ace = 520.0 #mm
#calculation
Dbd_ = (Fbd_*Lbd)/(E*Abd) #dummy variable
Dce_ = (Fce_*Lce)/(E*Ace) #dummy variable
Da = 1 #limiting value
P = ((((450+225)/225)*(Dbd_ + Dce_) - Dce_ )**(-1)) * Da
Fce = 2*P # Real value in newton
Fbd = 3*P #real value in newton
Dbd = (Fbd*Lbd)/(E*Abd) #print lacement in mm
Dce = (Fce*Lce)/(E*Ace) # print lacement in mm
a = numpy.degrees(numpy.arctan(((Da+Dce)/675))) #alpha in degree
#result
print "alpha = ", round(a,2), "degree"
import math
#initialisation
P1 = 2100.0 #lb
P2 = 5600.0 #lb
b = 25.0 #inch
a = 28.0 #inch
A1 = 0.25 #inch^2
A2 = 0.15 #inch^2
L1 = 20.0 #inch
L2 = 34.8 #inch
E = 29e6 #29Gpa
#Calculations
P3 = (P2*b)/a
Ra = P3-P1
N1 = -Ra
N2 = P1
D = ((N1*L1)/(E*A1)) + ((N2*L2)/(E*A2)) #print lacement
#Result
print "Downward print lacement is = ", D, "inch"
import math
#Numerical calculation of allowable load
d1 = 4.0 #mm
d2 = 3.0 #mm
A1 = (math.pi*(d1**2))/4 #area
A2 = (math.pi*(d2**2))/4 #area
L1 = 0.4 #meter
L2 = 0.3 #meter
E1 = 72e9 #Gpa
E2 = 45e9 #Gpa
f1 = L1/(E1*A1) * 1e6 # To cpmpensate for the mm**2
f2 = L2/(E2*A2) * 1e6
s1 = 200e6 #stress
s2 = 175e6 #stress
#Calculations
P1 = ( (s1*A1*(4*f1 + f2))/(3*f2) ) * 1e-6 # To cpmpensate for the mm**2
P2 = ( (s2*A2*(4*f1 + f2))/(6*f1) ) * 1e-6
#Result
print "Newton Minimum allowable stress aomong the two P1 and P2 is smaller one, therefore MAS = ", P2
import math
#initialisation
P = 90000.0 #newton
A = 1200e-6 # meter^2
s_x = -P/A #stress
t_1 = 25.0 #for the stresses on ab and cd plane
#Calculations
s_1 = s_x*(math.cos(math.radians(t_1))**2)
T_1 = -s_x*math.cos(math.radians(t_1))*math.sin(math.radians(t_1))
t_2 = -65.0 #for the stresses on ad and bc plane
s_2 = s_x*(math.cos(math.radians(t_2))**2)
T_2 = -s_x*math.cos(math.radians(t_2))*math.sin(math.radians(t_2))
#Result
print "The normal and shear stresses on the plane ab and cd are", round((T_1/1E+6),2), round((s_1/1E+6),2), "MPa respecively"
print "respecively The normal and shear stresses on the plane ad and bc are", round((T_2/1E+6),2), round((s_2/1E+6),2), "MPa respecively"
import math
# Value of s_x based on allowable stresses on glued joint
#initialisation
s_t = -750.0 #psi
t = -50.0 #degree
T_t = -500.0 #psi
sg_x_1 = s_t/(math.cos(math.radians(t))**2)
sg_x_2 = -T_t/(math.cos(math.radians(t))*math.sin(math.radians(t)))
# Value of s_x based on allowable stresses on plastic
sp_x_1 = -1100.0 #psi
T_t_p = 600.0 #psi
t_p = 45.0 #degree
sp_x_2 = -T_t_p/(math.cos(math.radians(t_p))*math.sin(math.radians(t_p)))
# Minimum width of bar
P = 8000.0 #lb
A = P/sg_x_2
b_min = math.sqrt(abs(A)) #inch
print "The minimum width of the bar is", round(b_min,2), "inch"
import math
#Bolt with reduced shank diameter
#initialisation
g = 1.50 # inch
d = 0.5 #inch
t = 0.25 #inch
d_r = 0.406 #inch
L = 13.5 #inch
#calculation
ratio = ((g*(d**2))/(((g-t)*(d_r**2))+(t*(d**2)))) #U2/U1
print "The energy absorbing capacity of the bolts with reduced shank diameter", round(ratio,2)
ratio_1 = ( (((L-t)*(d_r**2))+(t*(d**2))) / ((2*(g-t)*(d_r**2))+2*(t*(d**2))) ) #U3/2U1
print "The energy absorbing capacity of the long bolts", round(ratio_1,2)
import math
#initialisation
# Maximum elongation
M = 20 #kg
g = 9.81 #m/s^2
L = 2 #meter
E = 210e9 #210Gpa
h = 0.15 #meter
diameter = 0.015 #milimeter
#Calculations & Result
A = (math.pi/4)*(diameter**2) #area
D_st = ((M*g*L)/(E*A))
D_max = D_st*(1+(1+(2*h/D_st))**0.5)
D_max_1 = math.sqrt(2*h*D_st) # another approach to find D_max
i = D_max / D_st # Impact factor
print "Maximum elongation is",round((D_max/1E-3),2), "mm" # Maximum tensile stress
s_max = (E*D_max)/L #Maximum tensile stress
s_st = (M*g)/A #static stress
i_1 = s_max / s_st #Impact factor
print "Maximum tensile stress is ", round((s_max/1E+6),2), "MPa"
import math
#initialisation
P1 = 108000.0 #Newton
P2 = 27000.0 #Newton
L = 2.2 #meter
A = 480.0 #mm^2
#calculations
# Displacement due to load P1 acting alone
s = (P1/A) #stress in MPa
e = (s/70000) + (1/628.2)*((s/260)**10) #strain
D_b = e*L*1e3 #elongation in mm
print "elongation when only P1 load acting is = ", round(D_b,2), " mm"
# Displacement due to load P2 acting alone
s_1 = (P2/A) #stress in MPa
e_1 = (s_1/70000) + (1/628.2)*((s_1/260)**10) #strain
D_b_1 = e_1*(L/2)*1e3 #elongation in mm (no elongation in lower half)
print "elongation when only P2 load acting is = ", round(D_b_1,2), " mm"
# Displacement due to both load acting simonmath.taneously
#upper half
s_2 = (P1/A) #stress in MPa
e_2 = (s_2/70000) + (1/628.2)*((s_2/260)**10) #strain
#lower half
s_3 = (P1+P2)/A #stress in MPa
e_3 = (s_3/70000) + (1/628.2)*((s_3/260)**10) #strain
D_b_2 = ((e_2*L)/2 + (e_3*L)/2) * 1e3 # elongation in mm
print "elongation when P1 and P2 both loads are acting is = ", round(D_b_2,2), " mm"