예제 #1
0
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()
예제 #2
0
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
예제 #4
0
#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
예제 #5
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)
예제 #6
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,
예제 #7
0
#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)
예제 #8
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)