Professional Documents
Culture Documents
Here is an example Python program that calculates the efficiency of different types of bolt patterns
(row, chain, diamond).
import math
# User inputs
d = 0.5 # Bolt diameter (inches)
Fu = 65e3 # Tensile strength of bolt (psi)
Fy = 50e3 # Yield strength of bolt (psi)
t = 0.25 # Thickness of connected material (inches)
s = 2.5 # Spacing between bolts (inches)
pattern = 'row' # Bolt pattern (row, chain, diamond)
import math
# User inputs
d = 0.5 # Bolt diameter (inches)
Fu = 65e3 # Tensile strength of bolt (psi)
Fy = 50e3 # Yield strength of bolt (psi)
t1 = 0.25 # Thickness of top plate (inches)
t2 = 0.25 # Thickness of bottom plate (inches)
s1 = 2.5 # Spacing between bolts on top plate (inches)
s2 = 2.5 # Spacing between bolts on bottom plate (inches)
pattern = 'row' # Bolt pattern (row, chain, diamond)
# Define pattern function
def get_pattern_factors(pattern, s):
if pattern == 'row':
k=1
n=1
elif pattern == 'chain':
k = 1.5
n=1
elif pattern == 'diamond':
k = 1.732
n=2
else:
raise ValueError('Invalid bolt pattern')
L = s * (n - 1) / k
return k, n, L
import math
# User inputs
d = 0.5 # Bolt diameter (inches)
Fu = 65e3 # Tensile strength of bolt (psi)
Fy = 50e3 # Yield strength of bolt (psi)
t1 = 0.25 # Thickness of top plate (inches)
t2 = 0.25 # Thickness of bottom plate (inches)
s1 = 2.5 # Spacing between bolts on top plate (inches)
s2 = 2.5 # Spacing between bolts on bottom plate (inches)
pattern = 'row' # Bolt pattern (row, chain, diamond)
# Input values
F = 300 # kN
L=4#m
d = 40 # mm
t = 10 # mm
fy = 250 # MPa
fu = 410 # MPa
# Cross-sectional area
Ag = math.pi/4 * d**2
print("Ag = ", Ag, "mm^2")
import math
# Given data
factored_load = 65 # kN
length = 3 # m
gusset_plate_thickness = 12 # mm
bolt_diameter = 20 # mm
bolt_grade = 4.6
# Section properties
angle_section = "ISA75x75x8"
angle_d = 75 # mm
angle_b = 75 # mm
angle_t = 8 # mm
angle_area = 9.56 # cm^2
angle_Ixx = 72.9 # cm^4
angle_Zxx = 18.2 # cm^3
# Material properties
fy = 250 # N/mm^2
gamma_m0 = 1.1
gamma_m1 = 1.25
# Calculation of properties
lambda_1 = 0.5*(angle_d/angle_t)*math.sqrt(fy/250)
lambda_2 = (angle_b/2*angle_t)*math.sqrt(fy/250)
Lambda = max(lambda_1, lambda_2)
lambda_e = math.sqrt(angle_Ixx/(angle_area*angle_t))
lambda_v = math.sqrt(angle_Zxx/(angle_area*angle_t))
lambda_phi = math.sqrt((0.658*fy)/gamma_m0)
# Output
print("Single Angle Discontinuous Strut Design")
print("Section Decision:")
print(f"Selected section: {angle_section}")
print(f"Gross area (Ag): {Ag:.2f} cm^2")
print(f"Net area (An): {An:.2f} cm^2")
print(f"Effective area (Ae): {Ae:.2f} cm^2")
print(f"Lambda 1 (l1): {lambda_1:.2f}")
print(f"Lambda 2 (l2): {lambda_2:.2f}")
print(f"Lambda (lmax): {Lambda:.2f}")
print(f"Lambda e (λe): {lambda_e:.2f}")
print(f"Lambda v (λv): {lambda_v:.2f}")
print(f"Lambda phi (λphi): {lambda_phi:.2f}")
print(f"Design compressive strength (fcd): {fcd:.2f} N/mm^2")
print(f"Design load capacity (Pd): {Pd:.2f} kN")
print(f"Bolt diameter: {bolt_diameter} mm")
print(f"Bolt grade: {bolt_grade}")
print(f"Bolt strength (fyb): {bolt_fyb} N/mm^2")
print(f"Bolt ultimate strength (fu): {bolt_fu} N/mm^2")
print(f"Bolt capacity: {bolt_capacity:.2f} kN")
print(f"Number of bolts required: {num_bolts}")
please note : we can change the input values in the aboves codes for desired output results