IPE300.getNcRd(sctClass)) alpha_IPE300_comp = 2 beta_IPE300_comp = 5 * Nd / 1093455.0 IPN300 = EC3_materials.IPNShape(steel=S235JR, name='IPN_300') alpha_IPN300, beta_IPN300 = IPN300.getBiaxBendCoeffs(Nd, IPN300.getNcRd(sctClass)) alpha_IPN300_comp = 2 beta_IPN300_comp = 5 * Nd / 1621500.0 HE300 = EC3_materials.HEShape(steel=S235JR, name='HE_300_A') alpha_HE300, beta_HE300 = HE300.getBiaxBendCoeffs(Nd, HE300.getNcRd(sctClass)) alpha_HE300_comp = 2 beta_HE300_comp = 5 * Nd / 2643750.0 SHS175 = EC3_materials.SHSShape(steel=S235JR, name='SHS175x175x8') alpha_SHS175, beta_SHS175 = SHS175.getBiaxBendCoeffs(Nd, SHS175.getNcRd(sctClass)) alpha_SHS175_comp = 1.66 / (1 - 1.13 * (Nd / 1246205.0)**2) beta_SHS175_comp = 1.66 / (1 - 1.13 * (Nd / 1246205.0)**2) RHS250 = EC3_materials.RHSShape(steel=S235JR, name='RHS250x150x16') alpha_RHS250, beta_RHS250 = RHS250.getBiaxBendCoeffs(Nd / 2., RHS250.getNcRd(sctClass)) alpha_RHS250_comp = 1.66 / (1 - 1.13 * (0.5 * Nd / 2702500.0)**2) beta_RHS250_comp = 1.66 / (1 - 1.13 * (0.5 * Nd / 2702500.0)**2) CHS193 = EC3_materials.CHSShape(steel=S235JR, name='CHS_193.7_11.0') alpha_CHS193, beta_CHS193 = CHS193.getBiaxBendCoeffs(Nd, CHS193.getNcRd(sctClass)) alpha_CHS193_comp = 2
beams=gridGeom.genLinMultiXYZRegion([ ((0,0,5),(4,0,5)), ((0,0,10),(4,0,10))],'beams') diagonals=gridGeom.genSetLinFromMultiLstXYZPnt([ ((0,0,5),(4,0,0)), ((0,0,5),(4,0,10))],'diagonals') #Materials steel=EC3_materials.S235JR steel.gammaM=1.0 steel_prop=tm.MaterialData(name='steel',E=steel.E,nu=steel.nu,rho=steel.rho) column_mat=EC3_materials.HEShape(steel,'HE_140_B') column_mat.defElasticShearSection3d(prep) beam_mat=EC3_materials.UPNShape(steel,'UPN_80') beam_mat.defElasticShearSection3d(prep) diag_mat=EC3_materials.SHSShape(steel,'SHS50x50x2_5') xcDiagSteel=steel.defElasticMaterial(prep) # ***FE model - MESH*** #Meshing #Steel elements: local Z-axis corresponds to weak axis of the steel shape columns_mesh=fem.LinSetToMesh(columns,column_mat,0.25,xc.Vector([1,0,0])) beams_mesh=fem.LinSetToMesh(beams,beam_mat,0.25,xc.Vector([0,0,1])) fem.multi_mesh(prep,[columns_mesh,beams_mesh],sectGeom='Y') #mesh these sets and creates property 'sectionGeometry' for each element) diagonals_mesh=fem.LinSetToMesh(diagonals,xcDiagSteel,100,xc.Vector([1,0,0]),'Truss',3,None) diagonals_mesh.generateMesh(prep) for e in diagonals.getElements: e.sectionArea=diag_mat.A()