예제 #1
0
def nuevoZeroLengthSecc2d(preprocessor, nmbS, tagNodo, tagElem):
    idNod1 = tagNodo
    idNod2 = (tagNodo + 1)

    # Define nodes
    nodes.newNodeIDXYZ(idNod1, tagNodo, 0, 0)
    nodes.newNodeIDXYZ(idNod2, tagNodo, 0, 0)

    coacciones = preprocessor.getConstraintLoader
    fix_node_6dof.fixNode6DOF(coacciones, idNod1)
    fix_node_6dof.Nodo6DOFGirosLibres(coacciones, idNod2)

    # Definimos elementos
    elementos = preprocessor.getElementLoader
    elementos.defaultMaterial = nmbS
    elementos.defaultTag = tagElem  #Tag for the next element.
    zls = elementos.newElement("zero_length_section", xc.ID([idNod1, idNod2]))
예제 #2
0
nodes.newNodeIDXYZ(3, 1, 1, 0)
nodes.newNodeIDXYZ(4, 0, 1, 0)

# Materials definition

memb1 = typical_materials.defElasticMembranePlateSection(
    preprocessor, "memb1", E, nu, dens, h)

elementos = preprocessor.getElementLoader
elementos.defaultMaterial = "memb1"
elem = elementos.newElement("shell_mitc4", xc.ID([1, 2, 3, 4]))

# Constraints
coacciones = preprocessor.getConstraintLoader

fix_node_6dof.Nodo6DOFGirosLibres(coacciones, 1)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, 2)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, 3)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, 4)

# Loads definition
cargas = preprocessor.getLoadLoader

casos = cargas.getLoadPatterns

#Load modulation.
ts = casos.newTimeSeries("constant_ts", "ts")
casos.currentTimeSeries = "ts"
#Load case definition
lp0 = casos.newLoadPattern("default", "0")
casos.currentLoadPattern = "0"
예제 #3
0
n4 = nodes.newNodeXYZ(p4.x, p4.y, p4.z)

p10 = geom.Pos3d(0.5, 0.5, 0.0)
n10 = nodes.newNodeXYZ(p10.x, p10.y, p10.z)

# Materials definition
memb1 = typical_materials.defElasticMembranePlateSection(
    preprocessor, "memb1", E, nu, dens, h)
elementos = preprocessor.getElementLoader
elementos.defaultMaterial = "memb1"
elem = elementos.newElement("shell_mitc4",
                            xc.ID([n1.tag, n2.tag, n3.tag, n4.tag]))

# Constraints
coacciones = preprocessor.getConstraintLoader
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, n1.tag)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, n2.tag)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, n3.tag)
fix_node_6dof.Nodo6DOFGirosLibres(coacciones, n4.tag)
#fix_node_6dof.fixNode6DOF(coacciones, 1)
#fix_node_6dof.fixNode6DOF(coacciones, 2)
#fix_node_6dof.fixNode6DOF(coacciones, 3)
#fix_node_6dof.fixNode6DOF(coacciones, 4)

#Glued node.
gluedDOFs = [0, 1, 2, 3, 4, 5]
loadOnDOFs = [0, 0, 0, 0, 0, 0]
for i in range(0, 6):
    if i not in gluedDOFs:
        coacciones.newSPConstraint(n10.tag, i, 0.0)
    else: