Exemplo n.º 1
0
Zcoo = [zBase, zTop]
grid = gm.GridModel(prep, Rcoo, Angcoo, Zcoo, xCentCoo=xCent, yCentCoo=yCent)
grid.generateCylZPoints()

tank = grid.genSurfOneXYZRegion(xyzRange=((R, 0, zBase), (R, Angcoo[-1],
                                                          zTop)),
                                setName='tank',
                                closeCyl='Y')

steel = astm.A36
steel_prop = tm.MaterialData(name='steel',
                             E=steel.E,
                             nu=steel.nu,
                             rho=steel.rho)
tank_mat = tm.DeckMaterialData(name='tank_mat',
                               thickness=thickness,
                               material=steel_prop)
tank_mat.setupElasticSection(preprocessor=prep)  #creates the section-materia
tank_mesh = fem.SurfSetToMesh(surfSet=tank,
                              matSect=tank_mat,
                              elemSize=0.25,
                              elemType='ShellMITC4')
tank_mesh.generateMesh(prep)

# Boundary condition
nodBase = sets.get_set_nodes_plane_XY(setName='nodBase',
                                      setBusq=tank,
                                      zCoord=zBase,
                                      tol=0.001)
for n in nodBase.nodes:
    modelSpace.fixNode('000_FFF', n.tag)
Exemplo n.º 2
0
cylwall = gridGeom.genSurfMultiRegion(lstIJKRange=cylwall_rg,
                                      nameSet='cylwall')
flatdeck = gridGeom.genSurfMultiRegion(lstIJKRange=flatdeck_rg,
                                       nameSet='flatdeck')
cyldeck = gridGeom.genSurfMultiRegion(lstIJKRange=cyldeck_rg,
                                      nameSet='cyldeck')
deck2 = gridGeom.genSurfMultiRegion(lstIJKRange=deck2_rg, nameSet='deck2')

#                         *** MATERIALS ***
concrProp = tm.MaterialData(name='concrProp',
                            E=concrete.Ecm(),
                            nu=concrete.nuc,
                            rho=concrete.density())
# Isotropic elastic section-material appropiate for plate and shell analysis
wall_mat = tm.DeckMaterialData(name='wall_mat',
                               thickness=0.2,
                               material=concrProp)
wall_mat.setupElasticSection(preprocessor=prep)  #creates the section-material
deck_mat = tm.DeckMaterialData(name='deck_mat',
                               thickness=0.1,
                               material=concrProp)
deck_mat.setupElasticSection(preprocessor=prep)  #creates the section-material

#                         ***FE model - MESH***
# Fix lines' division
st = sets.get_subset_lin_parallel_to_axis(axis='Z',
                                          fromSet=flatwall + cylwall,
                                          toSetName='st')
fem.assign_ndiv_to_lines_in_set(lnSet=st, ndiv=5)
st.clear()
st = sets.get_subset_lin_parallel_to_axis(axis='X',
Exemplo n.º 3
0
voladzCentRP1=gridTabl.genSurfMultiRegion(lstIJKRange=voladzCentRP1_rg,setName='voladzCentRP1')
voladzCentRP2=gridTabl.genSurfMultiRegion(lstIJKRange=voladzCentRP2_rg,setName='voladzCentRP2')

voladzExtrV1=gridTabl.genSurfMultiRegion(lstIJKRange=voladzExtrV1_rg,setName='voladzExtrV1')
voladzExtrV2=gridTabl.genSurfMultiRegion(lstIJKRange=voladzExtrV2_rg,setName='voladzExtrV2')
voladzExtrV3=gridTabl.genSurfMultiRegion(lstIJKRange=voladzExtrV3_rg,setName='voladzExtrV3')
voladzExtrRP1=gridTabl.genSurfMultiRegion(lstIJKRange=voladzExtrRP1_rg,setName='voladzExtrRP1')
voladzExtrRP2=gridTabl.genSurfMultiRegion(lstIJKRange=voladzExtrRP2_rg,setName='voladzExtrRP2')


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

# Isotropic elastic section-material appropiate for plate and shell analysis
losInf_mat=tm.DeckMaterialData(name='losInf_mat',thickness= espLosAlig,material=concrProp)
losInf_mat.setupElasticSection(preprocessor=prep)   #creates the section-material

losSup_mat=tm.DeckMaterialData(name='losSup_mat',thickness= espLosAlig,material=concrProp)
losSup_mat.setupElasticSection(preprocessor=prep)   #creates the section-material

murAlig_mat=tm.DeckMaterialData(name='murAlig_mat',thickness= espEntreAlig,material=concrProp)
murAlig_mat.setupElasticSection(preprocessor=prep)   #creates the section-material

diafRP_mat=tm.DeckMaterialData(name='diafRP_mat',thickness=espDiafRP ,material=concrProp)
diafRP_mat.setupElasticSection(preprocessor=prep)

murExtAlig_mat=tm.DeckMaterialData(name='murExtAlig_mat',thickness=espExtAlig,material=concrProp)
murExtAlig_mat.setupElasticSection(preprocessor=prep)   #creates the section-material

voladzCent_mat=tm.DeckMaterialData(name='voladzCent_mat',thickness= espVoladzMax,material=concrProp)
Exemplo n.º 4
0
#Lines generation
cabl_rg = gm.IJKRange(
    (0, 0, 0), (lastXpos_cabl, lastYpos_cabl, 0)).extractIncludedJranges()
cables = gridCables.genLinMultiRegion(lstIJKRange=cabl_rg, nameSet='cables')
cables.description = 'Prestressing cables'

#                         *** MATERIALS ***
concrete = tm.MaterialData(name='concrete',
                           E=EcConcr,
                           nu=cpoisConcr,
                           rho=densConcr)

# Isotropic elastic section-material appropiate for plate and shell analysis
deck_mat = tm.DeckMaterialData(name='deck_mat',
                               thickness=deckTh,
                               material=concrete)
deck_mat.setupElasticSection(preprocessor=prep)  #creates de section-material
curb_mat = tm.DeckMaterialData(name='curb_mat',
                               thickness=curbTh,
                               material=concrete)
curb_mat.setupElasticSection(preprocessor=prep)  #creates de section-material

#Geometric sections
#rectangular sections
# from materials.sections import section_properties as sectpr
# geomSectCabl=sectpr.RectangularSection(name='geomSectCabl',b=0.01,h=0.01)

# Elastic material-section appropiate for 3D beam analysis, including shear
# deformations.
# Attributes:
Exemplo n.º 5
0
#Surfaces generation
tankwall = gridGeom.genSurfMultiRegion(lstIJKRange=tankwall_rg,
                                       setName='tankwall')
'''
tankwall.description='Cylindrical wall'
tankwall.color=cfg.colors['purple02']
'''

#                         *** MATERIALS ***
steelProp = tm.MaterialData(name='steelProp',
                            E=steel.E,
                            nu=steel.nu,
                            rho=steel.rho)
# Isotropic elastic section-material appropiate for plate and shell analysis
wall_mat = tm.DeckMaterialData(name='wall_mat',
                               thickness=thickness,
                               material=steelProp)
wall_mat.setupElasticSection(preprocessor=prep)  #creates the section-material

#                         ***FE model - MESH***
# Enforced line division
st = sets.get_subset_lin_parallel_to_axis(axis='Z',
                                          fromSet=tankwall,
                                          toSetName='st')
fem.assign_ndiv_to_lines_in_set(lnSet=st, ndiv=20)
st.clear()
#Meshing
tankwall_mesh = fem.SurfSetToMesh(surfSet=tankwall,
                                  matSect=wall_mat,
                                  elemSize=None,
                                  elemType='ShellMITC4')
Exemplo n.º 6
0
beams = beamXconcr + beamY
beams.description = 'Beams'
beams.fillDownwards()
#out.displayBlocks()

#                         *** MATERIALS ***
concrProp = tm.MaterialData(name='concrProp',
                            E=concrete.Ecm(),
                            nu=concrete.nuc,
                            rho=concrete.density())
S235JR = EC3_materials.S235JR
S235JR.gammaM = 1.00

# Isotropic elastic section-material appropiate for plate and shell analysis
deck_mat = tm.DeckMaterialData(name='deck_mat',
                               thickness=deckTh,
                               material=concrProp)
deck_mat.setupElasticSection(preprocessor=prep)  #creates the section-material
wall_mat = tm.DeckMaterialData(name='wall_mat',
                               thickness=wallTh,
                               material=concrProp)
wall_mat.setupElasticSection(preprocessor=prep)  #creates the section-material
foot_mat = tm.DeckMaterialData(name='foot_mat',
                               thickness=footTh,
                               material=concrProp)
foot_mat.setupElasticSection(preprocessor=prep)  #creates the section-material

#Geometric sections
#rectangular sections
from materials.sections import section_properties as sectpr
geomSectBeamX = sectpr.RectangularSection(name='geomSectBeamX',
Exemplo n.º 7
0
#out.displayBlocks()
floor2 = gridGeom.genSurfOneXYZRegion(xyzRange=((0, 0, 4), (10, 20, 4)),
                                      setName='floor2')
#out.displayBlocks()
columns_rg = gm.IJKRange((2, 5, 0), (8, 15, 4)).extractIncludedKranges(stepI=2,
                                                                       stepJ=3)
columns = gridGeom.genLinMultiRegion(lstIJKRange=columns_rg, setName='columns')
#out.displayBlocks()
#                         *** MATERIALS (constitutive models) ***
mat_slabs = tm.MaterialData(name='mat_slabs', E=2.55e15, nu=0.2, rho=2500)
mat_walls = tm.MaterialData(name='mat_walls', E=2.55e15, nu=0.2, rho=2500)
mat_cols = tm.MaterialData(name='mat_cols', E=2.55e15, nu=0.2, rho=2500)

# Isotropic elastic section-material appropiate for plate and shell analysis
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)
Exemplo n.º 8
0
                                         nameSet='slab_step3')
slab_step4 = gridGeom.genSurfMultiRegion(lstIJKRange=slab_step4_rg,
                                         nameSet='slab_step4')

slab_unif.description = 'Inner slab (const. thickness)'
slab_step1.description = 'Extr. slab (var. thickness, step 1)'
slab_step2.description = 'Extr. slab (var. thickness, step 2)'
slab_step3.description = 'Extr. slab (var. thickness, step 3)'
slab_step4.description = 'Extr. slab (var. thickness, step 4)'

#                         *** MATERIALS ***
concrete = tm.MaterialData(name='concrete', E=Ec, nu=nuc, rho=densConcr)

# Isotropic elastic section-material appropiate for plate and shell analysis
slab_unif_mat = tm.DeckMaterialData(name='slab_unif_mat',
                                    thickness=thick_unif,
                                    material=concrete)
slab_unif_mat.setupElasticSection(
    preprocessor=prep)  #creates de section-material
slab_step1_mat = tm.DeckMaterialData(name='slab_step1_mat',
                                     thickness=thick_steps[0],
                                     material=concrete)
slab_step1_mat.setupElasticSection(
    preprocessor=prep)  #creates de section-material
slab_step2_mat = tm.DeckMaterialData(name='slab_step2_mat',
                                     thickness=thick_steps[1],
                                     material=concrete)
slab_step2_mat.setupElasticSection(
    preprocessor=prep)  #creates de section-material
slab_step3_mat = tm.DeckMaterialData(name='slab_step3_mat',
                                     thickness=thick_steps[2],
Exemplo n.º 9
0
#   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)
found_mat.setupElasticSection(preprocessor=prep)  #creates de section-material

#                         ***FE model - MESH***

losCim_mesh = fem.SurfSetToMesh(surfSet=losCim,
                                matSect=found_mat,
Exemplo n.º 10
0
#                         *** MATERIALS ***

concrDeck = tm.MaterialData(name='concrDeck', E=EcDeck, nu=cpoish, rho=densh)
concrWalls = tm.MaterialData(name='concrWalls',
                             E=EcWalls,
                             nu=cpoish,
                             rho=densh)
concrFound = tm.MaterialData(name='concrFound',
                             E=EcFound,
                             nu=cpoish,
                             rho=densh)

# Isotropic elastic section-material appropiate for plate and shell analysis

upDeck_mat = tm.DeckMaterialData(name='upDeck_mat',
                                 thickness=upDeckTh,
                                 material=concrDeck)
upDeck_mat.setupElasticSection(preprocessor=prep)  #creates de section-material
downDeck_mat = tm.DeckMaterialData(name='downDeck_mat',
                                   thickness=downDeckTh,
                                   material=concrDeck)
downDeck_mat.setupElasticSection(preprocessor=prep)
upWall_mat = tm.DeckMaterialData(name='upWall_mat',
                                 thickness=upWallTh,
                                 material=concrWalls)
upWall_mat.setupElasticSection(preprocessor=prep)
midWall_mat = tm.DeckMaterialData(name='midWall_mat',
                                  thickness=midWallTh,
                                  material=concrWalls)
midWall_mat.setupElasticSection(preprocessor=prep)
downWall_mat = tm.DeckMaterialData(name='downWall_mat',
Exemplo n.º 11
0
    voladzi = gridGeom.genSurfMultiRegion(lstIJKRange=voladzi_rg,
                                          nameSet='voladzi')
if Lvoladzd > 0:
    voladzd = gridGeom.genSurfMultiRegion(lstIJKRange=voladzd_rg,
                                          nameSet='voladzd')

#                         *** MATERIALS ***
concrete = EHE_materials.HA30
concrData = tm.MaterialData(name='concrData',
                            E=concrete.Ecm(),
                            nu=concrete.nuc,
                            rho=concrete.density())

# Isotropic elastic section-material appropiate for plate and shell analysis
zap_mat = tm.DeckMaterialData(name='zap_mat',
                              thickness=cantoZap,
                              material=concrData)
zap_mat.setupElasticSection(preprocessor=prep)  #creates the section-material

murestr_mat = tm.DeckMaterialData(name='murestr_mat',
                                  thickness=espMurEstr,
                                  material=concrData)
murestr_mat.setupElasticSection(
    preprocessor=prep)  #creates the section-material

aletiZ1_mat = tm.DeckMaterialData(name='aletiZ1_mat',
                                  thickness=espAletiZ1,
                                  material=concrData)
aletiZ1_mat.setupElasticSection(preprocessor=prep)
aletiZ2_mat = tm.DeckMaterialData(name='aletiZ2_mat',
                                  thickness=espAletiZ2,
Exemplo n.º 12
0
gridGeom.slopePointsRange(ijkRange=r,slopeX=-deltaH/Lx,xZeroSlope=Lx)

# ranges
roof_rg=[gm.IJKRange((0,0,lastZpos),(lastXpos,lastYpos,lastZpos))]

#Surfaces generation
roof=gridGeom.genSurfMultiRegion(lstIJKRange=roof_rg,setName='roof')

roof.description='Roof'
roof.color=cfg.colors['purple01']

#                         *** MATERIALS *** 
concrProp=tm.MaterialData(name='concrProp',E=concrete.Ecm(),nu=concrete.nuc,rho=concrete.density())

# Isotropic elastic section-material appropiate for plate and shell analysis
roof_mat=tm.DeckMaterialData(name='roof_mat',thickness= roof_th,material=concrProp)
roof_mat.setupElasticSection(preprocessor=prep)   #creates the section-material


#                         ***FE model - MESH***

roof_mesh=fem.SurfSetToMesh(surfSet=roof,matSect=roof_mat,elemSize=eSize,elemType='ShellMITC4')
roof_mesh.generateMesh(prep) 

#                       ***BOUNDARY CONDITIONS***
#fixed DOF (ux:'0FF_FFF', uy:'F0F_FFF', uz:'FF0_FFF',
#           rx:'FFF_0FF', ry:'FFF_F0F', rz:'FFF_FF0')
p1=gridGeom.getPntGrid(indPnt=(0,0,lastZpos))
modelSpace.fixNode('000_FFF',p1.getNode().tag)
p2=gridGeom.getPntGrid(indPnt=(lastXpos,0,lastZpos))
modelSpace.fixNode('000_FFF',p2.getNode().tag)