Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CE801 - Tarea 08
Finalidad
Esta asignación examina la precisión de diferentes enfoques de integración numérica para vigas simples con soluciones conocidas para el momento de
flexión y los desplazamientos nodales.
Problema
Una viga prismática (𝑏 = 6 𝑖𝑛, ℎ = 12 𝑖𝑛) de longitud 𝐿 y rigidez a flexión 𝐸𝐼 está sujeto a tres escenarios de carga de creciente complejidad.
Complete un cuaderno (Jupyter Notebook) con OpenSees que analice las vigas utilizando 𝐿 = 25 𝑓𝑡, 𝐸 = 29000 𝑘𝑠𝑖, inercia 𝐼 considerando las
dimensiones. Aunque muchas formulaciones de elementos de marco y enfoques de integración numérica están disponibles en OpenSees, use un
elemento basado en fuerza (force-based) con secciones elásticas para cada viga. Aunque esta es una formulación de elementos de marco con no
linealidad de material, que cubriremos en las siguientes clases, podemos utilizar secciones elásticas para recuperar la respuesta elástico-lineal de la viga.
Utilice el siguiente comando para definir la sección elástica para los modelos de marco plano (2D).
𝑜𝑝𝑠.𝑠𝑒𝑐𝑡𝑖𝑜𝑛(′𝐸𝑙𝑎𝑠𝑡𝑖𝑐′, 𝑠𝑒𝑐𝑇𝑎𝑔, 𝐸, 𝐴, 𝐼)
Use la sección elástica para definir los objetos 𝑏𝑒𝑎𝑚𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑡𝑖𝑜𝑛 como se describe a continuación:
Gauss-Legendre
𝑝
Analiza los tres escenarios de carga con 𝑁 = 2 puntos de integración de Gauss-Legendre. Compare los momentos de flexión calculado en
extremos, las rotaciones en los apoyos, y las reacciones de los apoyos con soluciones exactas para cada escenario. El uso de 2 puntos de Gauss-
Legendre es suficiente para los 3 escenarios, comente al respecto.
Repita el ítem previo utilizando 3 puntos de Gauss-Legendre.
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 1/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
Gauss-Lobatto
𝑝
Analiza los tres escenarios de carga con 𝑁 = 3 puntos de integración de Gauss-Lobatto. Compare los momentos de flexión calculado en extremos,
las rotaciones en los apoyos, y las reacciones de los apoyos con soluciones exactas para cada escenario. El uso de 3 puntos de Gauss-Lobatto es
suficiente para los 3 escenarios, comente al respecto.
Repita el ítem previo utilizando 4 puntos de Gauss-Lobatto.
La definición de integración de Gauss-Lobatto es la misma que Gauss-Legendre, solo con una palabra clave diferente.
𝑜𝑝𝑠.𝑏𝑒𝑎𝑚𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑡𝑖𝑜𝑛(′𝐿𝑜𝑏𝑎𝑡𝑡𝑜′, 𝑖𝑛𝑡𝑇𝑎𝑔, 𝑠𝑒𝑐𝑇𝑎𝑔, 𝑁 )𝑝
Newton-Cotes
𝑝
Analiza los tres escenarios de carga con 𝑁 = 4 puntos de integración de Newton-Cotes. Compare los momentos de flexión calculado en extremos,
las rotaciones en los apoyos, y las reacciones de los apoyos con soluciones exactas para cada escenario. El uso de 4 puntos de Newton-Cotes es
suficiente para los 3 escenarios, comente al respecto.
Repita el ítem previo utilizando 5 puntos de Newton-Cotes.
La definición de integración de Newton-Cotes es la misma que Gauss-Legendre, solo con una palabra clave diferente.
𝑜𝑝𝑠.𝑏𝑒𝑎𝑚𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑡𝑖𝑜𝑛(′𝑁𝑒𝑤𝑡𝑜𝑛𝐶𝑜𝑡𝑒𝑠′, 𝑖𝑛𝑡𝑇𝑎𝑔, 𝑠𝑒𝑐𝑇𝑎𝑔, 𝑁 ) 𝑝
Cargas en vigas Para el primer escenario (𝑀 = 400 𝑘𝑖𝑝 − 𝑓𝑡), puede usar una carga nodal como sigue:
𝑜𝑝𝑠. 𝑙𝑜𝑎𝑑(2,0,0, 𝑀)
Para el segundo escenario (𝑤 = 5 𝑘𝑖𝑝 ⁄ 𝑓𝑡), puede usar el comando 𝑒𝑙𝑒𝐿𝑜𝑎𝑑 como sigue:
𝑜𝑝𝑠.𝑒𝑙𝑒𝐿𝑜𝑎𝑑(′ − 𝑒𝑙𝑒′, 1,′− 𝑡𝑦𝑝𝑒′,′𝑏𝑒𝑎𝑚𝑈𝑛𝑖𝑓𝑜𝑟𝑚′, −𝑤)
Del mismo modo, para el tercer escenario de carga, puede dar más argumentos al comando 𝑒𝑙𝑒𝐿𝑜𝑎𝑑 como sigue:
𝑦 𝑥 / / 𝑦 𝑥
𝑜𝑝𝑠. 𝑒𝑙𝑒𝐿𝑜𝑎𝑑(′− 𝑒𝑙𝑒′, 1,′− 𝑡𝑦𝑝𝑒′,′𝑏𝑒𝑎𝑚𝑈𝑛𝑖𝑓𝑜𝑟𝑚′, 0,0,0,1, −𝑤, 0) # 𝑤 𝑒𝑛 𝑎, 𝑤 𝑒𝑛 𝑎, 𝑎 𝐿 , 𝑏 𝐿 , 𝑤 𝑒𝑛 𝑏, 𝑤 𝑒𝑛 𝑏
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 2/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
Parte 1: Gauss-Legendre
In [3]: E = 29000*ksi
v = 0.30
G = E/(2*(1+v))
print("Modulo de elasticidad del acero E= ",E,"ksi")
print("Modulo de corte del acero G= ",G,"ksi")
In [4]: L = 25*ft
b = 6*inch
h = 12*inch
A = b*h
I = 1/12*b*h**3
M = 400*kip*ft
w = 5.0*kip/ft
EI = E*I
print("Sección cuadrada ",b,"x",h,"inch")
print("Área de la sección A= ",A,"inch^2")
print("Momento de Inercia de la sección I= ",I,"inch^4")
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 3/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
In [5]: ops.wipe()
ops.model('basic','-ndm',2,'-ndf',3)
# Definición de coordenadas del modelo
ops.node(1,0.0,0.0), ops.fix(1,1,1,0)
ops.node(2,L,0.0), ops.fix(2,1,1,0)
# Transformación geométrica lineal
ops.geomTransf('Linear',5)
# Definición de las secciones para el modelo de marco plano (2D)
ops.section('Elastic',1,E,A,I)
Np = 2 #Número de puntos de integración
# Creación de elementos frame
ops.beamIntegration('Legendre',15,1,Np)
ops.element('forceBeamColumn',1,1,2,5,15)
# Asignación de cargas
ops.timeSeries('Constant',20)
ops.pattern('Plain',5,20)
ops.load(2,0.0,0.0,M)
ops.analysis('Static')
ops.analyze(1)
ops.reactions()
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 4/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
0 0.000000e+00
1 1.600000e+01
2 -2.051692e-13
0 0.0
1 -16.0
2 0.0
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 5/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
0 0.0
1 16.0
2 0.0
0 0.0
1 -16.0
2 0.0
0 0.000000e+00
1 0.000000e+00
2 2.051692e-13
0 0.0
1 0.0
2 0.0
Comentario:
Se puede apreciar que el error en las reacciones se encuentran en un margen de 0.00 en la dirección Y, por lo que es aproximadamente exacta, mientras
en el momento se tiene un momento en un extremo 2.05𝑥10−13 (por valor esperado debería ser 0). Por lo que se puede decir que con 2 puntos el
cálculo es suficiente para dar por válido el modelo.
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 6/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
0 0.000000
1 0.000000
2 -0.009579
0 0.000000
1 0.000000
2 0.019157
0 0.000000
1 0.000000
2 -0.009579
0 0.000000
1 0.000000
2 0.019157
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 7/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
0 0.000000e+00
1 0.000000e+00
2 1.734723e-18
0 0.000000e+00
1 0.000000e+00
2 3.469447e-18
0 0.000000e+00
1 0.000000e+00
2 1.811051e-14
0 0.000000e+00
1 0.000000e+00
2 1.811051e-14
Comentario:
Se puede apreciar que el error en los desplazamientos se encuentran en un margen de 1.81𝑥10−14 % por lo que se puede decir que con 2 puntos el
cálculo es suficiente para dar por válido el modelo.
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 8/9
29/6/23, 23:10 C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01 - Jupyter Notebook
Comentario:
Se puede apreciar que hay una correspondencia entre los diagramas y las cargas aplicadas en el modelo. Por lo tanto se da validez a los resultados
obtenidos.
localhost:8889/notebooks/C831 ANALISIS AVANZADO/Tarea 08/C801 - Tarea 08 - CHAVEZ SANDOVAL - MENDOZA SULCARAY - Parte 01.ipynb 9/9