Пример #1
0
    'legsSection', 0.5, 0.5).defElasticShearSection3d(
        preprocessor,
        typical_materials.MaterialData('tmp', legsConcr.Ecm(), legsConcr.nuc,
                                       legsConcr.density()))

corbelsConcr = beamConcr
corbelsSection = section_properties.RectangularSection(
    'corbelsSection', 0.5, 1.0).defElasticShearSection3d(
        preprocessor,
        typical_materials.MaterialData('tmp',
                                       corbelsConcr.Ecm(), corbelsConcr.nuc,
                                       corbelsConcr.density()))

# Elastomeric bearings.

neop = bridge_bearings.ElastomericBearing(G=900e3, a=0.15, b=0.2, e=0.02)
neop.defineMaterials(preprocessor)

# print polT5.getIx(), polT5.getCenterOfMass()
# print polT6.getIx(), polT6.getCenterOfMass()
# print polT4.getIx(), polT4.getCenterOfMass()

# Mesh

deckMesh = fem.SurfSetToMesh(surfSet=deckSurfaces,
                             matSect=deckMat,
                             elemSize=0.5,
                             elemType='ShellMITC4')
deckMesh.generateMesh(preprocessor)  #do meshing

#Precast beams.
Пример #2
0
from solution import predefined_solutions



# Materials definition
G= 900e3 # Elastomer shear modulus
a= 0.3 # Dimension parallel to deck axis.
b= 0.3 # Dimension normal to deck axis.
e= 0.002 # Bearing net thickness (without steel plates).


# Model definition
feProblem= xc.FEProblem()
preprocessor=  feProblem.getPreprocessor

neop= bridge_bearings.ElastomericBearing(G,a,b,e)
neop.defineMaterials(preprocessor)

materiales= preprocessor.getMaterialLoader
KX= neop.getMaterial(0).E
KY= neop.getMaterial(1).E
KZ= neop.getMaterial(2).E
KTHX= neop.getMaterial(3).E
KTHY= neop.getMaterial(4).E
KTHZ= neop.getMaterial(5).E

nodes= preprocessor.getNodeLoader
# Problem type
modelSpace= predefined_spaces.StructuralMechanics3D(nodes)
nodes.defaultTag= 1 #First node number.
nod1= nodes.newNodeXYZ(1,1,1)
Пример #3
0
                                               xc.ID([gdl]))
'''
# Empotramiento base pilas
for indy in range(1,len(yPil)):
    for indx in range(len(xPil)):
        j=gridPil.gridCoo[1].index(yPil[indy])
        i=gridPil.gridCoo[0].index(xPil[indx])
        k=gridPil.gridCoo[2].index(zPil[indy][0])
        p=gridPil.getPntGrid((i,j,k))
        n=p.getNode()
        modelSpace.fixNode('000_000',n.tag)
        constrNodesPilas.append(n)
'''
# Elastomeric bearings.
from materials import bridge_bearings as bb
neopr = bb.ElastomericBearing(G=Gneopr, a=aNeopr, b=bNeopr, e=hNetoNeopr)
neopr.defineMaterials(prep)

#Neoprenos estribos
#Estribo 1
yn = yEstr[0]
zl = zLosa[0]
if abutment.lower()[0] == 'y':
    for xn in xNeopr:
        n3 = nodes.getDomain.getMesh.getNearestNode(geom.Pos3d(xn, yn, zl))
        x, y = n3.getCoo[0], n3.getCoo[1]
        n2 = nodes.newNodeXYZ(x, y,
                              zl - cantoRiostrEstr / 2. - hNetoNeopr / 2.0)
        modelSpace.setRigidBeamBetweenNodes(n3.tag, n2.tag)
        n1 = nodes.newNodeXYZ(x, y,
                              zl - cantoRiostrEstr / 2. - hNetoNeopr / 2.0)