Example #1
0
# Grid geometric entities definition (points, lines, surfaces)
# Points' generation
gridGeom.generatePoints()
#Lines generation
pile_rg=gm.IJKRange((0,0,0),(0,0,1))
pile=gridGeom.genLinOneRegion(ijkRange=pile_rg,setName='pile')

#                         *** MATERIALS *** 
concrProp=tm.MaterialData(name='concrProp',E=concrete.Ecm(),nu=concrete.nuc,rho=concrete.density())
#Geometric sections
#rectangular sections
from materials.sections import section_properties as sectpr
geomSectPile=sectpr.RectangularSection(name='geomSectPile',b=LeqPile,h=LeqPile)
# Elastic material-section
pile_mat=tm.BeamMaterialData(name='pile_mat', section=geomSectPile, material=concrProp)
pile_mat.setupElasticShear3DSection(preprocessor=prep)

#                         ***FE model - MESH***
pile_mesh=fem.LinSetToMesh(linSet=pile,matSect=pile_mat,elemSize=eSize,vDirLAxZ=xc.Vector([0,1,0]),elemType='ElasticBeam3d',dimElemSpace=3,coordTransfType='linear')
fem.multi_mesh(preprocessor=prep,lstMeshSets=[pile_mesh])


#                       ***BOUNDARY CONDITIONS***
pileBC=sbc.PileFoundation(setPile=pile,pileDiam=fiPile,E=concrete.Ecm(),pileType='endBearing',pileBearingCapacity=bearCap,groundLevel=zGround,soilsProp=soils)
pileBC.generateSpringsPile(alphaKh_x=1,alphaKh_y=1,alphaKv_z=1)
springs=pileBC.springs
springSet=preprocessor.getSets.defSet('springSet')
for e in springs:
    springSet.getElements.append(e)
    #print 'z:',e.getCooCentroid(True)[2], ' Kx (t/m):',round(e.getMaterials()[0].E*1e-4,2)
Example #2
0
for i in range(1, 3):
    p = points.newPntFromPos3d(geom.Pos3d(0, i * span / 3, -deltaTendon))
    tendonPoints.append(p)
tendonLines.append(lines.newLine(beamPoints[0].tag, tendonPoints[0].tag))
tendonLines.append(lines.newLine(tendonPoints[0].tag, tendonPoints[1].tag))
tendonLines.append(lines.newLine(tendonPoints[1].tag, beamPoints[3].tag))

#BEAM
#Geometric section
from materials.sections import section_properties as sectpr
geomSectBeam = sectpr.RectangularSection(name='geomSectBeam', b=wBeam, h=hBeam)

# Material definition
concrete = tm.MaterialData(name='concrete', E=Ec, nu=nuc, rho=densc)
beamMat = tm.BeamMaterialData(name='beamMat',
                              section=geomSectBeam,
                              material=concrete)
beamMat.setupElasticShear3DSection(prep)

#Meshing
for l in beamSet.getLines:
    l.nDiv = nDivLines
beam_mesh = fem.LinSetToMesh(linSet=beamSet,
                             matSect=beamMat,
                             elemSize=None,
                             vDirLAxZ=xc.Vector([1, 0, 0]),
                             elemType='ElasticBeam3d',
                             dimElemSpace=3,
                             coordTransfType='linear')
beam_mesh.generateMesh(prep)
Example #3
0
#Geometric sections
#rectangular sections
from materials.sections import section_properties as sectpr
geomSectRiostrEstr=sectpr.RectangularSection(name='geomSectRiostrEstr',b=LriosrEstr,h=cantoRiostrEstr)
# Elastic material-section appropiate for 3D beam analysis, including shear
  # deformations.
  # Attributes:
  #   name:         name identifying the section
  #   section:      instance of a class that defines the geometric and
  #                 mechanical characteristiscs
  #                 of a section (e.g: RectangularSection, CircularSection,
  #                 ISection, ...)
  #   material:     instance of a class that defines the elastic modulus,
  #                 shear modulus and mass density of the material
riostrEstr_mat= tm.BeamMaterialData(name= 'riostrEstr_mat', section=geomSectRiostrEstr, material=concrProp)
riostrEstr_mat.setupElasticShear3DSection(preprocessor=prep)


#                         ***FE model - MESH***
riostrEstr1_mesh=fem.LinSetToMesh(linSet=riostrEstr1,matSect=riostrEstr_mat,elemSize=eSize,vDirLAxZ=xc.Vector([0,-1,0]),elemType='ElasticBeam3d',dimElemSpace=3,coordTransfType='linear')
riostrEstr2_mesh=fem.LinSetToMesh(linSet=riostrEstr2,matSect=riostrEstr_mat,elemSize=eSize,vDirLAxZ=xc.Vector([0,-1,0]),elemType='ElasticBeam3d',dimElemSpace=3,coordTransfType='linear')

losInfV1_mesh=fem.SurfSetToMesh(surfSet=losInfV1,matSect=losInf_mat,elemSize=eSize,elemType='ShellMITC4')
losInfV2_mesh=fem.SurfSetToMesh(surfSet=losInfV2,matSect=losInf_mat,elemSize=eSize,elemType='ShellMITC4')
losInfV3_mesh=fem.SurfSetToMesh(surfSet=losInfV3,matSect=losInf_mat,elemSize=eSize,elemType='ShellMITC4')
losInfRP1_mesh=fem.SurfSetToMesh(surfSet=losInfRP1,matSect=losInf_mat,elemSize=eSize,elemType='ShellMITC4')
losInfRP2_mesh=fem.SurfSetToMesh(surfSet=losInfRP2,matSect=losInf_mat,elemSize=eSize,elemType='ShellMITC4')

losSupV1_mesh=fem.SurfSetToMesh(surfSet=losSupV1,matSect=losSup_mat,elemSize=eSize,elemType='ShellMITC4')
losSupV2_mesh=fem.SurfSetToMesh(surfSet=losSupV2,matSect=losSup_mat,elemSize=eSize,elemType='ShellMITC4')
Example #4
0
deck_mat = tm.DeckMaterialData(name='deck_mat',
                               thickness=0.25,
                               material=mat_slabs)
deck_mat.setupElasticSection(preprocessor=prep)  #creates de section-material
wall_mat = tm.DeckMaterialData(name='wall_mat',
                               thickness=0.15,
                               material=mat_walls)
wall_mat.setupElasticSection(preprocessor=prep)  #creates de section-material

#Sections geometry
#rectangular sections
geomSectColumns = sectpr.RectangularSection(name='geomSectColumns',
                                            b=0.25,
                                            h=0.25)
columns_mat = tm.BeamMaterialData(name='columns_mat',
                                  section=geomSectColumns,
                                  material=mat_cols)
columns_mat.setupElasticShear3DSection(preprocessor=prep)

#                         ***FE model - MESH***
eSize = 0.5
floor1_mesh = fem.SurfSetToMesh(surfSet=floor1,
                                matSect=deck_mat,
                                elemSize=eSize,
                                elemType='ShellMITC4')
floor2_mesh = fem.SurfSetToMesh(surfSet=floor2,
                                matSect=deck_mat,
                                elemSize=eSize,
                                elemType='ShellMITC4')
#wall_mesh=fem.SurfSetToMesh(surfSet=wall,matSect=wall_mat,elemSize=eSize,elemType='ShellMITC4')
columns_mesh = fem.LinSetToMesh(linSet=columns,
Example #5
0
yList=[0,Lsquare/3,Lsquare]
zList=[1]
gridGeom= gm.GridModel(prep,xList,yList,zList)
gridGeom.generatePoints()

loadedSurf=gridGeom.genSurfOneXYZRegion(xyzRange=((0,0,1),(1,1,1)),setName='loadedSurf')

beams=gridGeom.genLinOneXYZRegion(((0,0,1),(1,1,1)),'beams')

concrete=EHE_materials.HA30
concrProp=tm.MaterialData(name='concrProp',E=concrete.Ecm(),nu=concrete.nuc,rho=concrete.density())

from materials.sections import section_properties as sectpr
geomSect=sectpr.RectangularSection(name='geomSect',b=0.2,h=0.2)

linel_mat= tm.BeamMaterialData(name= 'linel_mat', section=geomSect, material=concrProp)
linel_mat.setupElasticShear3DSection(preprocessor=prep)

beams_mesh=fem.LinSetToMesh(linSet=beams,matSect=linel_mat,elemSize=0.5,vDirLAxZ=xc.Vector([0,0,1]),elemType='ElasticBeam3d',coordTransfType='linear')
beams_mesh.generateMesh(prep)


surfUnifLoad= loads.UnifLoadSurfNodesDistributed(name= 'surfUnifLoad',surfSet=loadedSurf,loadVector=xc.Vector([0,0,-qUnif,0,0,0]))

LC1=lcases.LoadCase(preprocessor=prep,name="LC1",loadPType="default",timeSType="constant_ts")
LC1.create()
LC1.addLstLoads([surfUnifLoad])

modelSpace.addLoadCaseToDomain('LC1')

lp=modelSpace.getCurrentLoadPattern()
Example #6
0
                                            b=wcolumnZ,
                                            h=hcolumnZ)

# Elastic material-section appropiate for 3D beam analysis, including shear
# deformations.
# Attributes:
#   name:         name identifying the section
#   section:      instance of a class that defines the geometric and
#                 mechanical characteristiscs
#                 of a section (e.g: RectangularSection, CircularSection,
#                 ISection, ...)
#   material:     instance of a class that defines the elastic modulus,
#                 shear modulus and mass density of the material

beamXconcr_mat = tm.BeamMaterialData(name='beamXconcr_mat',
                                     section=geomSectBeamX,
                                     material=concrProp)
beamXconcr_mat.setupElasticShear3DSection(preprocessor=prep)
beamY_mat = tm.BeamMaterialData(name='beamY_mat',
                                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 (
Example #7
0
                                            b=0.5,
                                            h=0.5)

# Elastic material-section appropiate for 3D beam analysis, including shear
# deformations.
# Attributes:
#   name:         name identifying the section
#   section:      instance of a class that defines the geometric and
#                 mechanical characteristiscs
#                 of a section (e.g: RectangularSection, CircularSection,
#                 ISection, ...)
#   material:     instance of a class that defines the elastic modulus,
#                 shear modulus and mass density of the material

muretes_mat = tm.BeamMaterialData(name='muretes_mat',
                                  section=geomSectMuretes,
                                  material=concrDeck)
muretes_mat.setupElasticShear3DSection(preprocessor=prep)

# Isotropic elastic section-material appropiate for plate and shell analysis
deck_mat = tm.DeckMaterialData(name='deck_mat',
                               thickness=deckTh,
                               material=concrDeck)
deck_mat.setupElasticSection(preprocessor=prep)  #creates de section-material
wall_mat = tm.DeckMaterialData(name='wall_mat',
                               thickness=wallTh,
                               material=concrWalls)
wall_mat.setupElasticSection(preprocessor=prep)  #creates de section-material
found_mat = tm.DeckMaterialData(name='found_mat',
                                thickness=baseSlabTh,
                                material=concrFound)