UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de Ingeniería Civil
Unidad de Posgrado
Maestría en Ciencias en Ingeniería Civil con Mención en
Estructuras
Asignatura: ANALISIS AVANZADO DE ESTRUCTURAS
(C-801)
Trabajo N° 04:
PROGRAMA: SOLUCIÓN CARGA DE PANDEO (CARGA
CRÍTICA)
Docente:
Dr. Quiroz Torres, Luis
Alumnos:
Alfaro Rodríguez, Juan Manuel.
Rivas Córdova, Carlos.
Ricaldi Porras, Hernán Kennedy.
LIMA-PERÚ
2021
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
ASIGNACIÓN N° 04
1. PREGUNTA UNICA:
Generar un programa para la solución lineal elástica de una estructura (armaduras y pórticos)
utilizando el método de las rigideces. El flujo del programa puede tener el esquema que se presenta
a continuación
A) Marco Teórico:
Primero se realiza un Análisis Lineal o Análisis PDelta para observar que barras tienen
cargas axiales más predominantes.
Se aplica unos factores para amplificar las cargas axiales en la matriz de rigidez geométrica
de tal manera y de esa manera se forma la matriz de rigidez de la Estructura Ks.
Se determina el Determinante de la Matriz de rigidez de la estructura.
Por aproximaciones sucesivas se intenta otro factor.
Para acelerar el proceso se aplican dos factores por separado y se calcula los determinantes
para cada factor.
Se escoge un factor más adecuado para aproximar el determinante a cero:
(𝐹𝑐2 − 𝐹𝑐1 )𝐷𝑒𝑡2
𝐹𝑐3 = 𝐹𝑐2 −
(𝐷𝑒𝑡2 − 𝐷𝑒𝑡1 )
Las iteraciones se detienen cuando 𝐷𝑒𝑡2 < 𝑡𝑜𝑙 o cuando 𝐷𝑒𝑡2 = 𝐷𝑒𝑡1 y ya no se pueda
aproximar más, ya que el cálculo por el método de determinantes es muy sensible.
B) Ejemplo:
E=2000000 Tn/m²
A= 0.00598 m²
EJEMPLO DE PANDEO
3 4
1
2 1
5
2
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
Se aplica una cara unitaria en el apoyo móvil y se observa que las borras 2 y 5 tiene axial
=-1
FRAME
ID Ni Nj SECTION ax bx P
1 1 4 1 0 0 0.000185909
2 1 2 1 0 0 -1.000148715
3 2 4 1 0 0 -0.000223125
4 4 3 1 0 0 0.000185909
5 2 3 1 0 0 -1.000148715
Aplicando el algoritmo descrito se obtienen las carga criticas que producen la falla.
que provocan.
FRAME
ID Ni Nj SECTION ax bx P
1 1 4 1 0 0 0.32938192
2 1 2 1 0 0 -1771.996432
3 2 4 1 0 0 -0.395317077
4 4 3 1 0 0 0.32938192
5 2 3 1 0 0 -1771.996432
C) Ejemplo en SAP2000:
3
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
D) Código del programa:
Rutina para encontrar la Rigidez local del elemento y la carga axial en la matriz
geométrica amplificada por un factor:
Sub RigidezLocalPDeltaFactor(N As Integer, KL() As Double, NXYZ() As Double, FC As Double)
Dim I1, I2, SECC, MAT As Integer
4
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
Dim ELAS, POISSON, EL, AREA, INERCIA, EAL, EIL, FI, G, Ash, P As Double
FI = 0
I1 = FRAME(N, 1): I2 = FRAME(N, 2): SECC = FRAME(N, 3): P = FC * FRAME(N, 6)
MAT = SECTION(SECC, 4)
AREA = SECTION(SECC, 1)
Ash = SECTION(SECC, 2) 'area de corte
INERCIA = SECTION(SECC, 3)
ELAS = MATERIAL(MAT, 1)
POISSON = MATERIAL(MAT, 2)
X21 = NXYZ(I2, 1) - NXYZ(I1, 1)
Y21 = NXYZ(I2, 2) - NXYZ(I1, 2)
EL = Sqr(X21 * X21 + Y21 * Y21)
If POISSON <> 0 And Ash <> 0 Then
FI = 24 * INERCIA * (1 + POISSON) / (Ash * EL * EL)
End If
'VALORES DE LA MATRIZ
EAL = ELAS * AREA / EL
EIL = ELAS * INERCIA / EL
'RIGIDEZ LOCAL
KL(1, 1) = EAL: KL(1, 4) = -KL(1, 1): KL(4, 1) = KL(1, 4): KL(4, 4) = KL(1, 1)
KL(2, 2) = 0: KL(2, 3) = 0: KL(3, 3) = 0: KL(3, 6) = 0
If EIL > 0 Then
KL(2, 2) = 12 * EIL / (EL * EL) / (1 + FI) + 6 * P / 5 / EL
KL(2, 3) = 6 * EIL / EL / (1 + FI) + P / 10
KL(3, 3) = (4 + FI) * EIL / (1 + FI) + 2 * P * EL / 15
KL(3, 6) = (2 - FI) * EIL / (1 + FI) - P * EL / 30
End If
KL(2, 2) = KL(2, 2) + P / EL
KL(2, 5) = -KL(2, 2): KL(2, 6) = KL(2, 3)
5
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
KL(3, 2) = KL(2, 3):
KL(3, 5) = -KL(2, 3)
KL(5, 2) = KL(2, 5): KL(5, 3) = KL(3, 5): KL(5, 5) = KL(2, 2): KL(5, 6) = -KL(2, 3)
KL(6, 2) = KL(2, 6): KL(6, 3) = KL(3, 6): KL(6, 5) = KL(5, 6): KL(6, 6) = KL(3, 3)
End Sub
Rutina para encontrar la matriz de rigidez global
Sub RigidezGlobal(N As Integer, KL() As Double, KG() As Double, XYZ() As Double)
Dim i, j, k, I1, I2 As Integer
Dim LG As Double
Dim KGT(6, 6), T(6, 6), COS, SEN As Double ' RIGIDEZ LOCAL
I1 = FRAME(N, 1): I2 = FRAME(N, 2)
X21 = XYZ(I2, 1) - XYZ(I1, 1)
Y21 = XYZ(I2, 2) - XYZ(I1, 2)
LG = Sqr(X21 * X21 + Y21 * Y21)
COS = X21 / LG: SEN = Y21 / LG
'CONVERT ELEMENT STIFFNESS MATRIX TO GLOBAL SYSTEM
T(1, 1) = COS: T(1, 2) = SEN: T(2, 1) = -SEN: T(2, 2) = COS: T(3, 3) = 1
T(4, 4) = COS: T(4, 5) = SEN: T(5, 4) = -SEN: T(5, 5) = COS: T(6, 6) = 1
'KLT=KL*T
For i = 1 To 6: For j = 1 To 6: For k = 1 To 6
KGT(i, j) = KGT(i, j) + KL(i, k) * T(k, j)
Next k: Next j: Next i
'KG=TRAN(T)*KLT
For i = 1 To 6: For j = 1 To 6
For k = 1 To 6
KG(i, j) = KG(i, j) + T(k, i) * KGT(k, j)
Next k: Next j: Next i
End Sub
6
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
Rutina para ensamblar la matriz de elemento
Sub Ensamblar(N As Integer, KG() As Double, Ks() As Double)
Dim i, j, k, m, I1, I2 As Integer
Dim IDY(6) As Integer
i = FRAME(N, 1): j = FRAME(N, 2)
IDY(1) = IDF(i, 1): IDY(2) = IDF(i, 2): IDY(3) = IDF(i, 3)
IDY(4) = IDF(j, 1): IDY(5) = IDF(j, 2): IDY(6) = IDF(j, 3)
For i = 1 To 6
j = IDY(i) 'COLUMNA
If j > 0 Then
For k = 1 To 6
m = IDY(k) 'FILA
If m <= j And m > 0 Then
Ks(m, j - m + 1) = Ks(m, j - m + 1) + KG(i, k)
End If
Next k:
End If
Next i
End Sub
Rutina para copiar la matriz banda a una matriz cuadrada y simétrica con objetivo de
encontrar el determinante
Sub Copiar ()
For i = 1 To GL
For j = 1 To NBW - i + 1
Ksn(i - 1, j - 1 + i - 1) = Ks(i, j)
Next j
Next i
'formar matriz triangular inferior
For i = 0 To GL - 1
7
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
For j = 0 To i - 1
Ksn(i, j) = Ksn(j, i)
Next j
Next i
End Sub
El determinante se encuentra con el comando de Excel incorporado en el lenguaje
Vbasic
Det2 = Application.WorksheetFunction.MDeterm(Ksn)
La opción de Carga de pandeo se hace con las siguientes subrutinas enlazadas
'ANALISIS PARA CARGA CRITICA
If PANDEO = 0 Then GoTo 2123
ReDim Ksn(GL - 1, GL - 1) As Double 'matriz de rigidez NORMAL
ReDim FF(GL) As Double 'vector fuerza
'For i = 1 To GL: F1(i) = F(i): Next i ' guardar vector fuerza
factor1 = 1: factor2 = 1.05
'For i = 1 To GL: F(i) = factor1 * F1(i): FF(i) = factor2 * F1(i): Next i
Call CalculoDeterminanteFactor(NF, GL, GLU, NBW, Ks, RT, factor1, Ksn)
Det1 = Application.WorksheetFunction.MDeterm(Ksn)
Call CalculoDeterminanteFactor(NF, GL, GLU, NBW, Ks, RT, factor2, Ksn)
Det2 = Application.WorksheetFunction.MDeterm(Ksn)
While Abs(Det2) > 1
factor3 = factor2 - (factor2 - factor1) * Det2 / (Det2 - Det1)
factor1 = factor2: factor2 = factor3: Det1 = Det2
Call CalculoDeterminanteFactor(NF, GL, GLU, NBW, Ks, RT, factor2, Ksn)
Det2 = Application.WorksheetFunction.MDeterm(Ksn)
If Det2 = Det1 Then Det2 = 1
Wend
8
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)
FACULTAD DE INGENIERÍA CIVIL ANALISIS AVANZADO DE
MAESTRÍA EN INGENIERÍA ESTRUCTURAL ESTRUCTURAS
Y luego con esta rutina se muestra los valores críticos para las barras
Call EscribirDatosPandeo(NF, BLOQUE(5), FRAME, factor2).
Todo el demás código está en el archivo de las tareas consecutivas.
9
TRABAJO N° 04: SOLUCIÓN CARGA DE PANDEO (CARGA CRÍTICA)