from __future__ import division
from scipy import integrate
import math
Mx=20*10**6 #internal bending moment (N.mm)
Sy=-20*10**3 #force applied(N)
l1=400
l2=300 #lengths of webs respectively from left to right in Fig 21.2
l3=200
#Ixx=I_C+Ab^2
Ixx=2*l1*150**2+2*l2**3/12
y=150
sigma_z1=Mx*y/Ixx
sigma_z2=-Mx*y/Ixx
Pz1=sigma_z1*l1
Pz2=sigma_z2*l1
#from fig 21.1 and 21.2
del_y1_by_del_z=-0.05
del_y2_by_del_z=0.05
Syw=Sy-Pz1*del_y1_by_del_z-Pz2*del_y2_by_del_z
# equ 21.6 qs=-Syw/Ixx*integrate(t_D*y*ds+B1*Y1) from 0 to s
fn=lambda s:300-2*s
def shear(s):
return -Syw/Ixx*(integrate.quad(fn, 0, s)[0]+400*150)
print "maximum value of shear flow @s=150mm =%2.1f N/mm\n"%(shear(150.0))
print "value of shear @s=0mm = %2.1f N/mm\n"%(shear(0))
print "value of shear @s=300 mm = %2.1f N/mm\n"%(shear(300))
from __future__ import division
from sympy import symbols
import math
Sy=100*10**6 #load applied in y direction (N)
Sx=0 #load in x direction (N)
y=[0.3,0.3,0.3,-0.3,-0.3,-0.3]
B=[900,1200,900,900,1200,900] #boom area
dx_dz=[0.1,0,-0.1,-0.1,0,0.1]
dy_dz=[-0.05,-0.05,-0.05,0.05,0.05,0.05]
Er=[0.6,0,0.6,0.6,0,0.6]
nr=[0.3,0.3,0.3,0.3,0.3,0.3]
Mx=-Sy*2
My=-Sx*2
Ixy=0
Ixx=4*900*300**2+2*1200*300**2
Pzr=[0]*6
Pxr=[0]*6 #array initialization
Pyr=[0]*6
Pr=[0]*6
print "Boom \t Pzr(kN) \t dx_dz \t dy_dz \t Pxr(kN) \t Pyr(kN) \t Pr(kN)"
for i in range (0,6):
Pzr[i]=Mx*y[i]/Ixx*B[i]
Pxr[i]=Pzr[i]*dx_dz[i] #Pr is not correct in (7) column in book
Pyr[i]=Pzr[i]*dy_dz[i]
Pr[i]=(Pzr[i]**2+Pxr[i]**2+Pyr[i]**2)**0.5
if Pzr[i]>0 :
print "%1.0f \t %3.0f \t\t %1.1f \t %1.2f \t %2.0f \t\t %1.1f \t\t %3.1f"%(i+1,Pzr[i],dx_dz[i],dy_dz[i],Pxr[i],Pyr[i],Pr[i])
else:
print "%1.0f \t %3.0f \t\t %1.1f \t %1.2f \t %2.0f \t\t %1.1f \t\t %3.1f"%(i+1,Pzr[i],dx_dz[i],dy_dz[i],Pxr[i],Pyr[i],-Pr[i])
Sxw=0
Syw=66.6*10**3
qb16=0 #open section here
qb12=qb16-Syw/Ixx*B[0]*300
qb23=qb12-Syw/Ixx*B[1]*300
qb34=qb23-Syw/Ixx*B[2]*300
qb45=qb23
qb56=qb12
qs0=-97
print "\n\nqb16 = %3.1f N/mm"%(qb16)
print "qb12 = %3.1f N/mm"%(qb12)
print "qb23 = %3.1f N/mm"%(qb23)
print "qb34 = %3.1f N/mm"%(qb34)
print "qb45 = %3.1f N/mm"%(qb45)
print "qb56 = %3.1f N/mm"%(qb56)
from __future__ import division
from sympy import symbols
import numpy as np
import math
yr=symbols('yr')
Mx=-100*1.9*10**6 #bending moment(N.mm)
Ixx=4*900*295**2+2*1200*295**2 #second moment of area (mm^4)
sigma_zr=Mx/Ixx*yr
P1_1=P3_1=-0.364*295*900
P4_1=P6_1=0.364*295*900
P2_1=-0.364*295*1200
P5_1=0.364*295*1200
Mx=-100*2.1
Ixx=4*900*305**2+2*1200*305**2
sigma_zr=Mx/Ixx*yr
P1_2=P3_2=-0.376*305*900
P4_2=P6_2=0.376*305*900
P2_2=-0.376*305*1200
P5_2=0.376*305*1200
deltaP1=deltaP3=(P1_1-P1_2)/200
deltaP4=deltaP6=-(P4_1-P4_2)/200
deltaP2=(P2_1-P2_2)/200
deltaP5=(P5_1-P5_2)/200
a=np.array([[1,-1,0,0,0,0],[0,1,-1,0,0,0],[0,0,1,-1,0,0],[0,0,0,1,-1,0],[0,0,0,0,1,-1],[600*300*2,2*600*300,600*600,0,0,600*600]])
b=np.array([43.8,32.85,-32.85,-43.8,-32.85,600*10**5])
q=np.linalg.solve(a,b)
print "shear flow distribution :"
print "q12 = %2.1f N/mm"%(q[0])
print "q23 = %2.1f N/mm"%(q[1])
print "q34 = %2.1f N/mm"%(q[2])
print "q45 = %2.1f N/mm"%(q[3])
print "q56 = %2.1f N/mm"%(q[4])
print "q61 = %2.1f N/mm\n"%(q[5])