def getFlangeBoltedPlate(self, boltSteel, plateSteel=ASTM_materials.A36, lbls=None): ''' Return a suitable bolted plate for the beam flange. :param boltSteel: steel type of the bolts that connect the plate with the flange. :param plateSteel: steel type of the bolted plate. ''' flangeStrength = self.shape.getFlangeYieldStrength() bolt = self.shape.getFlangeMaximumBolt(steelType=boltSteel) numberOfBolts = bolt.getNumberOfBoltsForShear(flangeStrength, numberOfRows=2, threadsExcluded=True) spacing = self.shape.getFlangeWidth() / 2.0 boltArray = ASTM_materials.BoltArray(bolt, nRows=2, nCols=int(numberOfBolts / 2), dist=spacing) thicknessRatio = max(self.shape.steelType.fy / plateSteel.fy, self.shape.steelType.fu / plateSteel.fu) plateThickness = round( thicknessRatio * self.shape.getFlangeThickness() * 1000, 0) / 1000 retval = ASTM_materials.BoltedPlate(boltArray, width=self.shape.getFlangeWidth(), thickness=plateThickness, steelType=plateSteel) print('plate thickness: ', plateThickness * 1e3, ' mm') return retval
– BEAM-TO-COLUMN FLANGE) from the document: Design examples version 14.0. American Institute of Steel Construction. 2011 ''' from __future__ import division from __future__ import print_function in2m = 25.4e-3 kip2N = 4448.2216 import xc_base import geom from materials.astm_aisc import ASTM_materials bolt = ASTM_materials.BoltFastener(0.75 * in2m, steelType=ASTM_materials.A325) # group A boltArray = ASTM_materials.BoltArray(bolt, nRows=4, nCols=1, dist=3 * in2m) eccentr = (4.5 / 2.0 - 1.25) * in2m finPlate = ASTM_materials.FinPlate(boltArray, width=11.5 * in2m, length=4.5 * in2m, thickness=0.25 * in2m, steelType=ASTM_materials.A36, eccentricity=geom.Vector2d(eccentr, 0.0)) Rd = 49.6 * kip2N ## Check bolt strength CFShear = boltArray.getDesignShearEfficiency(Rd, doubleShear=False) loadDir = geom.Vector2d(0.0, -1.0) CF = finPlate.getDesignEfficiency(geom.Vector2d(0.0, -Rd), Ubs=1.0) CFRef = 49.6 / 52.2
F_flange= Mpr/leverArm ratio2= abs(F_flange-2908e3)/2908e3 ## Maximum bolt diameter. db= shape.getFlangeMaximumBoltDiameter() tmpBolt= ASTM_materials.getBoltForHole(db) ratio3= (tmpBolt.getName()=='M24') bolt= ASTM_materials.BoltFastener(tmpBolt.diameter, steelType= ASTM_materials.A490) ## Estimate number of bolts. N= bolt.getNumberOfBoltsForShear(1.25*F_flange, numberOfRows= 2, threadsExcluded= True) nRows= 2 nCols= N/nRows boltArray= ASTM_materials.BoltArray(bolt, nRows, nCols, dist= None) flangeAsBoltedPlate= ASTM_materials.BoltedPlate(boltArray, width= shape.getFlangeWidth(), thickness= shape.getFlangeThickness(), steelType= shape.steelType) ## Gross section yielding load and net section fracture load flangeNetSectionFractureLoad= flangeAsBoltedPlate.getNetSectionFractureLoad() flangeGrossSectionYieldingLoad= flangeAsBoltedPlate.getGrossSectionYieldingLoad() ratio4= abs(flangeGrossSectionYieldingLoad-1656.207e3)/1656.207e3+abs(flangeNetSectionFractureLoad-1666.98e3)/1666.98e3 ## Check local buckling lambda_hd_flange= shape.getLambdaHDFlange() flange_buckling_check= shape.flangeLocalBucklingCheck(highlyDuctile= True) lambda_hd_web= shape.getLambdaHDWeb(N= 0.0, M= Mpr) web_buckling_check= shape.webLocalBucklingCheck(N= 0.0, M= Mpr,highlyDuctile= True) ratio5= abs(lambda_hd_flange-7.35)/7.35 ratio6= abs(lambda_hd_web-59.0)/59.0
''' Steel bolts according to AISC 360-16 verification test. Based on the: Example – Design of a Bolted Tension Bearing-Type Connection of the course: Design of Bolts in Shear-BearingConnections per AISC LRFD 3rdEdition (2001) ''' in2m = 25.4e-3 kip2N = 4448.2216 import math from materials.astm_aisc import ASTM_materials bolt = ASTM_materials.BoltFastener(0.75 * in2m, steelType=ASTM_materials.A325) # group A boltArray = ASTM_materials.BoltArray(bolt, nRows=2, nCols=2) boltedPlate = ASTM_materials.BoltedPlate(boltArray, thickness=20e-3, steelType=ASTM_materials.A36) Pd = 121.6 * kip2N CFShear = boltArray.getDesignShearEfficiency(Pd, doubleShear=True) CFCenterDist = boltArray.checkDistanceBetweenCenters() CFthickness = boltedPlate.checkThickness(Pd) minPlateWidth = boltedPlate.getMinWidth() ratio1 = abs(CFShear - 0.85024866348) / 0.85024866348 ratio2 = abs(CFCenterDist - 0.762) / 0.762 ratio3 = abs(CFthickness - 0.867667222586) / 0.867667222586 ''' print('Pd= ', Pd/1e3, 'kN') print('CF(Shear)= ', CFShear)
# -*- coding: utf-8 -*- ''' Verification of single plate shear and block shear strengths. Home made test. ''' from __future__ import division from __future__ import print_function import xc_base import geom from materials.astm_aisc import ASTM_materials bolt = ASTM_materials.BoltFastener(20e-3, steelType=ASTM_materials.A490) boltArray = ASTM_materials.BoltArray(bolt, nRows=2, nCols=1, dist=80e-3) designHoleDiameter = boltArray.bolt.getDesignHoleDiameter() plateWidth = 0.14 plateLength = 0.1 eccentr = 5e-3 finPlate = ASTM_materials.FinPlate(boltArray, width=plateWidth, length=plateLength, thickness=10e-3, steelType=ASTM_materials.A36, eccentricity=geom.Vector2d(eccentr, 0.0)) Rd = 68e3 shearVector = geom.Vector2d(0.0, -Rd) # Plate check ## Gross area subjected to shear Agv = finPlate.getGrossAreaSubjectedToShear(shearVector) ratio1 = abs(Agv - 1400e-6) / 1400e-6