beamY_rg=gm.IJKRange((0,0,0),(0,lastYpos,0)) beamY=gridGeom.genLinOneRegion(ijkRange=beamY_rg,setName='beamY') # *** MATERIALS *** S235JR= EC3_materials.S235JR S235JR.gammaM= 1.00 # Steel material-section appropiate for 3D beam analysis, including shear # deformations. # Attributes: # steel: steel material ( # name: name of the standard steel profile. Types: IPEShape, HEShape, # UPNShape, AUShape, CHSShape # (defined in materials.sections.structural_shapes.arcelor_metric_shapes) beamY_mat= EC3_materials.IPEShape(steel=S235JR,name='IPE_A_450') beamY_mat.defElasticShearSection3d(preprocessor) # ***FE model - MESH*** beamY_mesh=fem.LinSetToMesh(linSet=beamY,matSect=beamY_mat,elemSize=eSize,vDirLAxZ=xc.Vector([1,0,0]),elemType='ElasticBeam3d',coordTransfType='linear') beamY_mesh.generateMesh(preprocessor) # EC3beam definition lstLines=gridGeom.getLstLinRange(beamY_rg) from materials.ec3 import EC3Beam as ec3b ec3beam=ec3b.EC3Beam(name='ec3bm',ec3Shape=None,lstLines=lstLines) ec3beam.setControlPoints()
import xc_base import geom import xc from materials.sections import section_properties as sp from materials.ec3 import EC3_materials # Problem type mainBeam = xc.FEProblem() mainBeam.title = 'Falsework support beams' preprocessor = mainBeam.getPreprocessor #Materials S355JR = EC3_materials.S355JR S355JR.gammaM = 1.00 chsSection = EC3_materials.CHSShape(S355JR, 'CHS_48.3_5.0') # ^ Y # | # # o o o o # # -> Z # # o o o o # positions = [[-0.5, -0.5], [-0.5, -0.1], [-0.5, 0.1], [-0.5, 0.5], [0.5, -0.5], [0.5, -0.1], [0.5, 0.1], [0.5, 0.5]] sectionList = [] for p in positions:
from __future__ import division __author__= "Luis C. Pérez Tato (LCPT)" __copyright__= "Copyright 2014, LCPT" __license__= "GPL" __version__= "3.0" __email__= "*****@*****.**" from geom_utils import interpolation as intp from materials.ec3 import EC3_limit_state_checking as EC3lsc from materials.ec3 import EC3_materials S355JR= EC3_materials.S355JR gammaM0= 1.05 S355JR.gammaM= gammaM0 IPE400= EC3_materials.IPEShape(S355JR,"IPE_400") # Geometry k1= 1.0; k2= 1.0 #Check results page 32 L= 6.0 # Bar length (m) x= [0.0,0.25*L,0.5*L,0.75*L,1.0*L] M= [-93.7,0,114.3,0,111.4] Mi=intp.interpEquidistPoints(xi=x,yi=M,nDiv=4) mgf= EC3lsc.MomentGradientFactorC1(Mi) Mcr1= IPE400.getMcr(L,Mi) Mcr1Teor= 164.7e3 ratio1= abs(Mcr1-Mcr1Teor)/Mcr1Teor #NOTE: Here there is a big difference between the results
#Coefficients alpha, beta for biaxial bending (clause 6.2.9 of EC3.1.1) __author__ = "Ana Ortega (AO_O)" __copyright__ = "Copyright 2018, AO_O" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" from materials.ec3 import EC3_materials S235JR = EC3_materials.S235JR S235JR.gammaM = 1.00 sctClass = 1 #section class Nd = 7e5 #axial force [N] IPE300 = EC3_materials.IPEShape(steel=S235JR, name='IPE_A_300') alpha_IPE300, beta_IPE300 = IPE300.getBiaxBendCoeffs(Nd, 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
from __future__ import print_function from __future__ import division __author__= "Ana Ortega (AO_O)" __copyright__= "Copyright 2018, AO_O" __license__= "GPL" __version__= "3.0" __email__= "*****@*****.**" from materials.ec3 import EC3_materials S235JR= EC3_materials.S235JR S235JR.gammaM= 1.00 IPE300= EC3_materials.IPEShape(steel=S235JR,name='IPE_A_300') c1_1=IPE300.getClassInternalPartInCompression(S235JR) c1_2=IPE300.getClassInternalPartInBending(S235JR) c1_3=IPE300.getClassOutstandPartInCompression(S235JR) IPN300= EC3_materials.IPNShape(steel=S235JR,name='IPN_300') c2_1=IPN300.getClassInternalPartInCompression(S235JR) c2_2=IPN300.getClassInternalPartInBending(S235JR) c2_3=IPN300.getClassOutstandPartInCompression(S235JR) HE300= EC3_materials.HEShape(steel=S235JR,name='HE_300_A') c3_1=HE300.getClassInternalPartInCompression(S235JR) c3_2=HE300.getClassInternalPartInBending(S235JR) c3_3=HE300.getClassOutstandPartInCompression(S235JR)
section=geomSectBeamY, material=concrProp) beamY_mat.setupElasticShear3DSection(preprocessor=prep) columnZconcr_mat = tm.BeamMaterialData(name='columnZconcr_mat', section=geomSectColumnZ, material=concrProp) columnZconcr_mat.setupElasticShear3DSection(preprocessor=prep) # Steel material-section appropiate for 3D beam analysis, including shear # deformations. # Attributes: # steel: steel material ( # name: name of the standard steel profile. Types: IPEShape, HEShape, # UPNShape, AUShape, CHSShape # (defined in materials.sections.structural_shapes.arcelor_metric_shapes) columnZsteel_mat = EC3_materials.HEShape(steel=S235JR, name='HE_200_A') columnZsteel_mat.defElasticShearSection3d(prep) beamXsteel_mat = EC3_materials.IPEShape(steel=S235JR, name='IPE_A_300') beamXsteel_mat.defElasticShearSection3d(prep) # ***FE model - MESH*** # IMPORTANT: it's convenient to generate the mesh of surfaces before meshing # the lines, otherwise, sets of shells can take also beam elements touched by # them beamXconcr_mesh = fem.LinSetToMesh(linSet=beamXconcr, matSect=beamXconcr_mat, elemSize=eSize, vDirLAxZ=xc.Vector([0, 1, 0]), elemType='ElasticBeam3d', dimElemSpace=3,
#Lateral-torsional buckling (see Aitziber López, Danny J. Yong and Miguel A. Serna article) from __future__ import division import math import xc_base import geom import xc import scipy.interpolate from materials.ec3 import EC3_materials from rough_calculations import ng_simple_beam as sb S235JR= EC3_materials.S235JR S235JR.gammaM= 1.00 IPE450A= EC3_materials.IPEShape(S235JR,'IPE_A_450') # Geometry # k1=lateral bending and warping coefficient at first end (free:1, prevented:0.5) # k2=lateral bending and warping coefficient at last end (free:1, prevented:0.5) k1= 1.0; k2= 1.0 #Check results pages 34 and 35 L= 3.2 # Bar length (m) x= [0.0,L] M= [0.0,-1296e3] #values of the moment at sections in x abcissae, each of them #with the corresponding sign. overlineLambdaLT= IPE450A.getLateralBucklingNonDimensionalBeamSlenderness(sectionClass=1,xi=x,Mi=M) #xi: abcissae for the moment diagram, ordinates for the moment diagram alphaLT= IPE450A.getLateralBucklingImperfectionFactor() # phiLT= IPE450A.getLateralBucklingIntermediateFactor(1,x,M)
#Lines generation columns=gridGeom.genLinMultiXYZRegion([ ((0,0,0),(0,0,10)), ((4,0,0),(4,0,10))],'columns') 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)