peso = ret.calcular_peso_total()

print(f"peso = {peso}")

ret.ensamblar_sistema()
ret.resolver_sistema()
f = ret.recuperar_fuerzas()
fu = ret.recuperar_factores_de_utilizacion(f)

ver_reticulado_3d(ret,
                  opciones_nodos={
                      "usar_posicion_deformada": True,
                      "factor_amplificacion_deformada": 30.,
                  },
                  opciones_barras={
                      "color_barras_por_dato": True,
                      "ver_numeros_de_barras": False,
                      "ver_dato_en_barras": True,
                      "dato": fu,
                      "color_fondo": [1, 1, 1, 0.4]
                  })

barras_a_rediseñar = [3, 4, 5, 9, 10, 11]
barras = ret.obtener_barras()
for i in barras_a_rediseñar:
    barras[i].rediseñar(f[i], ret)

ret.ensamblar_sistema()
ret.resolver_sistema()
f1 = ret.recuperar_fuerzas()
fu1 = ret.recuperar_factores_de_utilizacion(f)
Beispiel #2
0
def fun(H, graficar=False):

    # Unidades base
    m = 1.
    kg = 1.
    s = 1.

    #Unidades derivadas
    N = kg * m / s**2
    cm = 0.01 * m
    mm = 0.001 * m
    KN = 1000 * N

    Pa = N / m**2
    KPa = 1000 * Pa
    MPa = 1000 * KPa
    GPa = 1000 * MPa

    #Parametros
    L = 5.0 * m
    F = 100 * KN
    B = 2.0 * m

    #Inicializar modelo
    ret = Reticulado()

    #Nodos
    ret.agregar_nodo(0, 0, 0)
    ret.agregar_nodo(L, 0, 0)
    ret.agregar_nodo(2 * L, 0, 0)
    ret.agregar_nodo(L / 2, B / 2, H)
    ret.agregar_nodo(3 * L / 2, B / 2, H)
    ret.agregar_nodo(0, B, 0)
    ret.agregar_nodo(L, B, 0)
    ret.agregar_nodo(2 * L, B, 0)

    #Barras
    A = (1.1 * cm)**2
    r = sqrt(A / 3.141593)
    props = [r, r, 200 * GPa, 7600 * kg / m**3, 420 * MPa]

    props2 = [r, r, 200 * GPa, 7600 * kg / m**3, 420 * MPa]

    # props2 = [0.6*r, 0.6*r, 200*GPa, 7600*kg/m**3, 420*MPa]

    ret.agregar_barra(Barra(0, 1, *props))  # 0
    ret.agregar_barra(Barra(1, 2, *props))  # 1
    ret.agregar_barra(Barra(3, 4, *props))  # 2
    ret.agregar_barra(Barra(0, 3, *props2))  # 3
    ret.agregar_barra(Barra(3, 1, *props2))  # 4
    ret.agregar_barra(Barra(1, 4, *props2))  # 5
    ret.agregar_barra(Barra(4, 2, *props))  # 6
    ret.agregar_barra(Barra(5, 6, *props))  # 7
    ret.agregar_barra(Barra(6, 7, *props))  # 8
    ret.agregar_barra(Barra(5, 3, *props2))  # 9
    ret.agregar_barra(Barra(3, 6, *props2))  # 10
    ret.agregar_barra(Barra(6, 4, *props2))  # 11
    ret.agregar_barra(Barra(4, 7, *props))  # 12
    ret.agregar_barra(Barra(0, 5, *props))  # 13
    ret.agregar_barra(Barra(1, 6, *props))  # 14
    ret.agregar_barra(Barra(2, 7, *props))  # 15
    ret.agregar_barra(Barra(0, 6, *props))  # 16
    ret.agregar_barra(Barra(6, 2, *props))  # 17
    ret.agregar_barra(Barra(5, 1, *props))  # 18
    ret.agregar_barra(Barra(1, 7, *props))  # 19

    # ver_reticulado_3d(ret)

    ret.agregar_restriccion(0, 0, 0)
    ret.agregar_restriccion(0, 1, 0)
    ret.agregar_restriccion(0, 2, 0)

    ret.agregar_restriccion(2, 2, 0)
    ret.agregar_restriccion(5, 2, 0)
    ret.agregar_restriccion(7, 2, 0)

    ret.agregar_restriccion(5, 0, 0)

    ret.agregar_fuerza(4, 2, -F)

    peso = ret.calcular_peso_total()

    print(f"peso = {peso}")

    ret.ensamblar_sistema()
    ret.resolver_sistema()
    f = ret.recuperar_fuerzas()

    if graficar:
        ver_reticulado_3d(ret,
                          opciones_nodos={
                              "usar_posicion_deformada": True,
                              "factor_amplificacion_deformada": 30.,
                          },
                          opciones_barras={
                              "color_barras_por_dato": True,
                              "ver_numeros_de_barras": False,
                              "ver_dato_en_barras": True,
                              "dato": f,
                              "color_fondo": [1, 1, 1, 0.4]
                          },
                          llamar_show=False)

    return f[2]
Beispiel #3
0
ret.agregar_fuerza(4, 2, -F)

peso = ret.calcular_peso_total()

print(f"peso = {peso}")

ret.ensamblar_sistema()
ret.resolver_sistema()
f = ret.recuperar_fuerzas()

ver_reticulado_3d(ret,
                  opciones_nodos={
                      "usar_posicion_deformada": True,
                      "factor_amplificacion_deformada": 30.,
                  },
                  opciones_barras={
                      "color_barras_por_fu": True,
                      "ver_numeros_de_barras": True,
                      "ver_fuerza_en_barras": True
                  })

barras_a_rediseñar = [3, 4, 5, 9, 10, 11]
barras = ret.obtener_barras()
for i in barras_a_rediseñar:
    barras[i].rediseñar(f[i])

ret.ensamblar_sistema()
ret.resolver_sistema()
f1 = ret.recuperar_fuerzas()

peso = ret.calcular_peso_total()
Beispiel #4
0
from graficar3d import ver_reticulado_3d
import itertools
from operator import itemgetter
from numpy import *

ret_D = caso_D()
ret_L = caso_L()
#Casos optimizados
ret_D_muerto = caso_D()
ret_D_vivo_muerto = caso_D()
ret_D_5_barras = caso_D()
factor_a = 30.0

ver_reticulado_3d(ret_D,
                  axis_Equal=True,
                  opciones_barras={"ver_numeros_de_barras": False},
                  llamar_show=True,
                  zoom=180.,
                  deshabilitar_ejes=True)

#Peso propio
ret_D.ensamblar_sistema()
ret_D.resolver_sistema()
ret_D_muerto.ensamblar_sistema()
ret_D_muerto.resolver_sistema()
ret_D_vivo_muerto.ensamblar_sistema()
ret_D_vivo_muerto.resolver_sistema()
ret_D_5_barras.ensamblar_sistema()
ret_D_5_barras.resolver_sistema()

f_D = ret_D.recuperar_fuerzas()
f_D_muerto = ret_D_muerto.recuperar_fuerzas()
Beispiel #5
0
from caso_D import caso_D
from caso_L import caso_L
from graficar3d import ver_reticulado_3d

ret_D = caso_D()
ret_L = caso_L()

peso = ret_D.calcular_peso_total()

print(f"peso = {peso}")

ver_reticulado_3d(ret_D,
                  axis_Equal=True,
                  opciones_barras={"ver_numeros_de_barras": False},
                  llamar_show=True,
                  zoom=180.,
                  deshabilitar_ejes=True)

#Peso propio
ret_D.ensamblar_sistema()
ret_D.resolver_sistema()
f_D = ret_D.recuperar_fuerzas()

#Carga Viva
ret_L.ensamblar_sistema()
ret_L.resolver_sistema()
f_L = ret_L.recuperar_fuerzas()

#Combinaciones de carga
f_1 = 1.4 * f_D  #Combinacion 1
f_2 = 1.2 * f_D + 1.6 * f_L  #Combinacion 2
Beispiel #6
0
def ver():
    ver_reticulado_3d(ret_D,
                      opciones_nodos={
                          "usar_posicion_deformada": True,
                          "factor_amplificacion_deformada": 60.,
                      },
                      opciones_barras={
                          "color_barras_por_dato": True,
                          "ver_numeros_de_barras": False,
                          "ver_dato_en_barras": True,
                          "dato": f_1,
                          "color_fondo": [1, 1, 1, 0.4]
                      },
                      llamar_show=False,
                      zoom=180.,
                      deshabilitar_ejes=True)

    plt.title("Tensiones en caso 1: 1.4 D ")
    plt.show()

    ver_reticulado_3d(ret_D,
                      opciones_nodos={
                          "usar_posicion_deformada": True,
                          "factor_amplificacion_deformada": 60.,
                      },
                      opciones_barras={
                          "color_barras_por_dato": True,
                          "ver_numeros_de_barras": False,
                          "ver_dato_en_barras": True,
                          "dato": f_2,
                          "color_fondo": [1, 1, 1, 0.4]
                      },
                      llamar_show=False,
                      zoom=180.,
                      deshabilitar_ejes=True)

    plt.title("Tensiones en caso 1: 1.2 D + 1.6 L")
    plt.show()

    ver_reticulado_3d(ret_D,
                      opciones_nodos={
                          "usar_posicion_deformada": True,
                          "factor_amplificacion_deformada": 60.,
                      },
                      opciones_barras={
                          "color_barras_por_dato": True,
                          "ver_numeros_de_barras": False,
                          "ver_dato_en_barras": True,
                          "dato": FU_caso1,
                          "color_fondo": [1, 1, 1, 0.4]
                      },
                      llamar_show=False,
                      zoom=180.,
                      deshabilitar_ejes=True)

    plt.title("FU caso 1: 1.4 D ")
    plt.show()

    ver_reticulado_3d(ret_D,
                      opciones_nodos={
                          "usar_posicion_deformada": True,
                          "factor_amplificacion_deformada": 60.,
                      },
                      opciones_barras={
                          "color_barras_por_dato": True,
                          "ver_numeros_de_barras": False,
                          "ver_dato_en_barras": True,
                          "dato": FU_caso2,
                          "color_fondo": [1, 1, 1, 0.4]
                      },
                      llamar_show=False,
                      zoom=180.,
                      deshabilitar_ejes=True)

    plt.title("FU caso 2: 1.2 D + 1.6 L")
    plt.show()
Beispiel #7
0
from caso_D import caso_D
from caso_L import caso_L
from graficar3d import ver_reticulado_3d

ret_D = caso_D()
ret_L = caso_L()

peso = ret_D.calcular_peso_total()

print(f"peso = {peso}")

ver_reticulado_3d(ret_D,
                  axis_Equal=True,
                  opciones_barras={"ver_numeros_de_barras": False},
                  llamar_show=True,
                  zoom=180.,
                  deshabilitar_ejes=True)

#Peso propio
ret_D.ensamblar_sistema()
ret_D.resolver_sistema()
f_D = ret_D.recuperar_fuerzas()

#Carga Viva
ret_L.ensamblar_sistema()
ret_L.resolver_sistema()
f_L = ret_L.recuperar_fuerzas()

#Combinaciones de carga
f_1 = 1.4 * f_D  #Combinacion 1
f_2 = 1.2 * f_D + 1.6 * f_L  #Combinacion 2
Beispiel #8
0
ret.agregar_fuerza(9, 2, qD_A2)

#ver_reticulado_3d(ret, axis_Equal=False)

ret.ensamblar_sistema()
ret.resolver_sistema()
f = ret.recuperar_fuerzas()

print(ret)

ver_reticulado_3d(ret,
                  opciones_nodos={
                      "usar_posicion_deformada": True,
                      "factor_amplificacion_deformada": 30.,
                      "ver_factor_utilizacion": True
                  },
                  opciones_barras={
                      "color_barras_por_fu": True,
                      "ver_numeros_de_barras": True,
                      "ver_fuerza_en_barras": True
                  },
                  axis_Equal=False)
'''
barras_a_rediseñar = [3,4,5, 9, 10, 11]
barras = ret.obtener_barras()
for i in barras_a_rediseñar:
	barras[i].rediseñar(f[i])
'''
'''
ret.ensamblar_sistema()
ret.resolver_sistema()
f1 = ret.recuperar_fuerzas()