예제 #1
0
                                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,
예제 #2
0
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

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)
예제 #3
0
#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)