Analisis No Lieneal
Analisis No Lieneal
Analisis No Lieneal
R. Aguiar
B. Cagua
J. Pilatasig
R. Aguiar1,2
B. Cagua1
J. Pilatasig1
1Departamento de Ciencias de la Tierra y la Construcción
Universidad de las Fuerzas Armadas-ESPE, Sangolquí, Ecuador
2 Facultad de Ingeniería
Universidad Laica Eloy Alfaro de Manabí-ULEAM, Manta - Ecuador
ISSN: 1134-3249
Por este motivo es que se decidió escribir la presente obra que sin lugar a
duda será de gran utilidad para aquellos estudiantes que decidieron incursionar en el
análisis no lineal estático (Pushover), tema bastante complejo si se quiere conocer a
fondo la teoría de cálculo y no ser solamente usuario de programas.
For this reason, it was decided to write this work, which will undoubtedly be
very useful for those students who decided to venture into nonlinear static analysis
(Pushover), a rather complex subject if you want to know in depth the theory of
calculus and not just program user.
Chapter 3 is called Level One Pushover with CEINCI-LAB and now the
curvature moment or rotation moment diagrams are determined in each load cycle, in
the same way the P-Delta effect is incorporated, which is basic for the Pushover
analysis. In both the Basic Pushover and the level one Pushover, the seismic capacity
curve of steel or reinforced concrete frames is obtained under monotonic loads. The
CEINCI-LAB functions used allow visualizing how the structure deforms and the
sequence of damage that its elements present.
In Chapter 4 all the columns have the same section and the same happens
with the beams and diagonals; This was done so that the user gradually learns, first
the use of the CEINCI-LAB and OpenSees programs and second, which is the most
important thing, the theory behind all this; the purpose is to get to know the constitutive
models in depth. Subsequently, in Chapter 5 when the reader has a fairly solid base
you can obtain seismic capacity curves by working with various steel profiles on
columns and beams, you are no longer limited to a single type of section.
It is true that the Pushover Analysis, also known as the Push Technique, is
aimed at regular structures in elevation where its seismic response is given by the
first modes of vibration, however, in order for the reader to know In addition to working
with the CEINCI-LAB and OpenSees functions, the calculation of seismic capacity
curves in irregular structures is presented in Chapter 6.
While this work was being written, the material was used in the Seismic
Analysis of Structures undergraduate courses taught at the University of the Armed
Forces ESPE and the Laica Eloy Alfaro University of Manabí (ULEAM), the students
showed great interest since they quite simply visualized the performance of steel
structures without and with concentric diagonals, these diagonals are used as a
reinforcing mechanism.
El análisis no lineal tiene el mismo propósito que el análisis lineal, este objetivo es
conocer las respuestas de una estructura ante la acción de diferentes cargas, pero
2 Introducción al análisis no lineal
En una estructura la no linealidad puede ser debida al material, de forma que la matriz
de rigidez de una estructura no será constante en todo el análisis y dependerá de los
desplazamientos (ecuación 1.1), adicionalmente se tiene la no linealidad geometría
que se relaciona con la posición de aplicación de las cargas, es decir que también
depende de la condición deformada de la estructura (ecuación 1.2).
𝑄 = 𝐾(𝑞) ∙ 𝑞 (1.1)
𝑄(𝑞) = 𝐾 ∙ 𝑞 (1.2)
Por didáctica se analizará la no linealidad del material y geometría por separado para
que el lector pueda comprender los conceptos del análisis no lineal.
Figura 1.2 Grafico esfuerzo vs deformación en un ensayo de tracción de una barra de acero.
Introducción al análisis no lineal 3
(a) (b)
En este tipo de análisis ante una carga P = 300 T se tiene fuerzas internas en el
elemento como se presenta en la figura 1.5.
Esto es correcto desde un punto de vista matemático, sin embargo, como ingenieros
se debe analizar los esfuerzos en los elementos, en este caso se puede apreciar que
con el área transversal de los elementos 1, 2 y 3 el esfuerzo en estos elementos
supera el esfuerzo de fluencia del material entonces al retirar la carga se tendrá daño
permanente en los elementos y esto no es lo más deseable. Una primera conclusión
es que bajo esta condición de carga la estructura presentará daño, pero con este
análisis no es posible conocer el mecanismo de daño en la estructura.
Para el análisis inicial se cumple que las fuerzas internas en los elementos en función
de una carga lateral P es igual a lo presentado en la figura 1.4, donde en el elemento
3 la fuerza interna es 0.54*P y para los elementos 1 y 2 la fuerza es 0.46*P.
(a)
(b)
Figura 1.8 a) Fuerzas internas en los elementos. b) Fuerzas internas en lo elementos en su
condición límite de estabilidad.
(d) (e)
Figura 1.10 Gráficas esfuerzo vs deformación de los materiales; a) Modelo lineal elástico;
b) Modelo Bilineal; c) Modelo de Giuffré-Menegotto-Pinto; d) Modelo concrete01
de OpenSees; e) curva envolvente (backbone curve) del comportamiento
histerético.
Existen algunas opciones para modelar la no linealidad del material en los elementos,
entre estas opciones se tiene las presentadas en la figura 1.11. Estos modelos se
pueden clasificar en dos grupos denominados de plasticidad concentrada o
plasticidad distribuida; los modelos de plasticidad concentrada son más simples y por
ende el costo computacional es menor que al emplear plasticidad distribuida, no
obstante, la precisión de los modelos también varía en función de la complejidad.
Para poder llegar a resultados coherentes y con un coso computacional racional es
posible generar modelos híbridos donde en algunas partes se emplee elementos con
plasticidad concentrada y en otros elementos se asigne plasticidad distribuida, de
modo que exista un balance entre la precisión del modelo y el esfuerzo de cómputo.
El propósito de este documento es ser una guía para que el lector comprenda como
empezar en el análisis no lineal de estructuras y que posteriormente pueda realizar
modelos más complejos.
En base a la figura 1.13 es evidente que la barra presenta un giro, no obstante, con
la suposición de pequeños desplazamientos se asume que 𝛼(𝑞) ≈ 𝛼𝑜 y por ello el
valor de la deformación axial de la barra es expresada en la ecuación 1.3; además la
longitud de la barra bajo la nueva condición de deformación se ilustra en la ecuación
1.4. Las barras presentan un esfuerzo axial (Ec. 5.0), además como el material es
elástico lineal entonces el esfuerzo es proporcional al módulo de elasticidad por la
deformación unitaria, es decir la ecuación 1.6.
∆ = 𝑞 ∙ 𝑠𝑒𝑛(𝛼𝑜 ) (1.3)
10 Introducción al análisis no lineal
𝜎 =𝐸∙𝜀 (1.6)
𝑄 = 2 ∙ 𝑃 ∙ 𝑠𝑒𝑛(𝛼𝑜 ) (1.9)
𝑄 = 𝐾𝐿 ∙ 𝑞 (1.10)
𝑄 𝑄 (1.11)
𝐾𝐿 = = = 2 ∙ 𝑃 ∙ 𝑠𝑒𝑛(𝛼𝑜 )
𝑞 1
Introducción al análisis no lineal 11
𝑠𝑒𝑛(𝛼𝑜 ) (1.12)
𝐾𝐿 = 2 ∙ 𝐸 ∙ 𝐴 ∙ ∙ 𝑠𝑒𝑛(𝛼𝑜 )
𝐿𝑜
𝑎 2
( ) 𝑎2
𝐾𝐿 = 2 ∙ 𝐸 ∙ 𝐴 ∙ 𝐿𝑜 = 2 ∙ 𝐸 ∙ 𝐴 ∙ 3 (1.13)
(𝐿𝑜) 𝐿𝑜
En este punto se puede hallar los desplazamientos “q” en función de la carga aplicada
“Q” y de la rigidez lateral “𝐾𝐿 ”, con la ecuación 1.14.
𝐾𝐿 (1.14)
𝑞=
𝑄
𝑎−𝑞
𝛼(𝑞) = 𝑎𝑟𝑐𝑠𝑒𝑛 ( ) (1.17)
𝐿(𝑞)
𝑎−𝑞
𝑠𝑒𝑛(𝛼(𝑞) ) = (1.18)
𝐿(𝑞)
En este caso la ecuación 1.9 ya no debe hacer referencia al seno del ángulo inicial,
sino que el ángulo depende del desplazamiento “q” entonces se tiene la ecuación
1.19 donde se plantea el equilibrio del sistema.
12 Introducción al análisis no lineal
𝑎−𝑞 (1.19)
𝑄 = 2 ∙ 𝑃 ∙ 𝑠𝑒𝑛(𝛼(𝑞) ) = 2 ∙ 𝑃 ∙ ( )
𝐿(𝑞)
𝑎−𝑞
2∙𝑃∙( 𝐿 )
𝑄 (𝑞)
𝐾𝑁𝐿 (𝑞) = =
𝑞 𝑞
(𝑎 − 𝑞)2 + 𝑏 2 𝑎−𝑞 1
= 2 ∙ 𝐸 ∙ 𝐴 ∙ (1 − √ ) ∙ ( ) ∙
𝑎2 + 𝑏 2 √(𝑎 − 𝑞)2 + 𝑏 2 𝑞
(1.20)
1 1 1
𝐾𝑁𝐿 = 2 ∙ 𝐸 ∙ 𝐴 ∙ ( − ) ∙ (𝑎 − 𝑞) ∙
√(𝑎 − 𝑞)2 + 𝑏2 √𝑎2 + 𝑏2 𝑞
𝑎2 (𝐿𝑜)3 1 1 1
=2∙𝐸∙𝐴∙( ∙ )∙( − ) ∙ (𝑎 − 𝑞) ∙
(𝐿𝑜)3 𝑎2 2
√(𝑎 − 𝑞) + 𝑏 2 2
√𝑎 + 𝑏 2 𝑞
𝒂𝟐 (𝐿𝑜)3 1 1 1
= (𝟐 ∙ 𝑬 ∙ 𝑨 ∙ ) ∙ ∙( − ) ∙ (𝑎 − 𝑞) ∙
(𝑳𝒐) 𝟑 𝑎 2 2
√(𝑎 − 𝑞)2 + 𝑏 2 √𝑎 + 𝑏 2 𝑞
(𝐿𝑜)3 1 1 1 (1.21)
𝐾𝑁𝐿 (𝑞) = 𝐾𝐿 ∙ ∙( − ) ∙ (𝑎 − 𝑞) ∙
𝑎2 𝐿(𝑞) 𝐿𝑜 𝑞
El sismo y viento son acciones dinámicas, pero cuando se realiza análisis lineales
convencionales, estas acciones pueden ser representadas como un estado límite en
el cual se considera de forma simplificada únicamente un escenario de aplicación de
cargas, donde estas cargas son hipotéticamente las de mayor magnitud que se
pueden presentar y en base a ello se realizar generalmente los diseños de las
estructuras.
Los análisis estáticos lineales no permiten apreciar daños y predecir pérdidas, son
simplificados y por ello se ven compensados en muchos casos por mayores factores
de seguridad. A medida que los análisis incluyen mayores parámetros,
consideraciones de variación de las cargas en el tiempo y efectos de no linealidad,
el comportamiento de la estructura puede ser más cercano a la realidad, siempre y
cuando los aspectos considerados sean racionales y concebidos con un criterio
ingenieril adecuado. Es por ello que las investigaciones actuales se están enfocando
cada vez más en consideraciones no lineales, en esta monografía se presenta
únicamente el análisis no lineal estático, que si bien no es el análisis más complejo
que podría desarrollarse, con estos resultados ya se puede tener una idea del
probable comportamiento de la estructura.
La técnica del Pushover se enmarca dentro del análisis estático no lineal. Para su
cálculo se resuelve por el método de los desplazamientos, para una determinada
rigidez de la estructura que se considera constante en un ciclo de carga determinado;
para otro ciclo de carga y de acuerdo a los esfuerzos que se tenga en la estructura,
se modifica la matriz de rigidez y se vuelve a resolver estáticamente hasta que la
estructura sea estable ante cargas laterales. El procedimiento de cálculo se describe
en el documento ASCE/SEI 41-13, sección 7.4.3.
La Técnica del Pushover, también conocida como la Técnica del Empujón se emplea
para encontrar la curva de capacidad sísmica ante la aplicación de cargas laterales
a la estructura hasta llevarle a un desplazamiento objetivo o se alcance el colapso
como se muestra en la figura 1.16, más adelante se detallará los criterios que pueden
aplicarse para definir el desplazamiento de colapso.
(a)
(b)
16 Introducción al análisis no lineal
(c)
Figura 1.17 a) Desempeño de las estructuras en función del desplazamiento lateral máximo
esperado; b) Vista ampliada del desempeño: Operacional e Inmediatamente
Ocupacional; c) Desempeño: Seguridad de vida; Prevención de colapso y
Colapso.
Figura 1.18 Capacidad sísmica resistente de una estructura, encontrada mediante análisis
elástico (la rigidez no cambia) y mediante análisis no lineal-elástico (la rigidez
cambia) y factores de reducción por ductilidad y sobre resistencia.
Por las razones expuestas interesa mostrar la forma como se obtiene la curva de
capacidad sísmica resistente de una estructura aplicando un Pushover monotónico.
Introducción al análisis no lineal 17
(a) (b)
En coordenadas locales las deformaciones son axial y transversal al eje del miembro,
mientras que en coordenadas globales las deformaciones son horizontal y vertical.
Teorema 1: Si 𝒒 = 𝑻 𝒒∗ → 𝑸∗ = 𝑻𝒕 𝑸
0 1⁄ 1 0 − 1⁄𝐿 0
𝐿
𝑻𝟏−𝟐 = [ 0 1⁄ 0 0 − 1⁄𝐿 1] (1.22)
𝐿
−1 0 0 1 0 0
18 Introducción al análisis no lineal
𝑡
𝑸2 = 𝑻1−2 𝑸𝟏 (1.23)
Para una viga horizontal, el sistema de coordenadas locales del elemento es igual al
sistema de coordenadas globales, pero para el caso general (elemento inclinado) se
tiene lo mostrado en la figura 1.20.
Ahora para pasar del sistema 2 al sistema 3 se requiere de la matriz de paso 𝑻𝟐−𝟑
conocida también con el nombre de matriz de rotación de coordenadas. Esta matriz
que es ortogonal es la siguiente.
cos 𝜃 𝑠𝑒𝑛 𝜃 0 0 0 0
−𝑠𝑒𝑛 𝜃 cos 𝜃 0 0 0 0
𝑻𝟐−𝟑 = 0 0 1 0 0 0 (1.24)
0 0 0 cos 𝜃 𝑠𝑒𝑛 𝜃 0
0 0 0 −𝑠𝑒𝑛 𝜃 cos 𝜃 0
[ 0 0 0 0 0 1]
𝑸𝟑 = 𝑻𝒕𝟐−𝟑 𝑸𝟐 (1.25)
𝑸𝟑 = 𝑻𝒕𝟐−𝟑 𝑸𝟐
𝑸𝟑 = 𝑻𝒕𝟐−𝟑 𝑻𝒕𝟏−𝟐 𝑸𝟏
𝑸𝟑 = (𝑻𝟏−𝟐 𝑻𝟐−𝟑 )𝒕 𝑸𝟏
Sea:
𝑸𝟑 = 𝑻𝒕 𝑸𝟏 (1.27)
Introducción al análisis no lineal 19
(a) (b)
Para este último caso, para cada incremento de carga se actualiza la ubicación de
los nudos de la estructura, de tal forma que la longitud del elemento de la figura 1.21a,
ya deja de ser 𝐿, y pasa a ser 𝐿0 . Nótese que se cambia la posición de los nudos en
función de los desplazamientos horizontal y vertical que se van obteniendo.
Ahora para el sistema base o sistema 1, solo se tiene deformación axial, por la forma
del modelo, como se muestra en la figura 1.22a; el modelo no permite
desplazamiento vertical y otra cosa para que el elemento se alargue la deformación
axial en el nudo final ∆𝑦𝑗 debe ser mayor que la deformación ∆𝑦𝑖 , en este caso 𝐿0 >
𝐿. Si ∆𝑦𝑗 < ∆𝑦𝑖 , el valor 𝐿0 < 𝐿
(a) (b)
Figura 1.22 a) Deformación axial en Sistema 1; b) Deformación Axial en Sistema 2.
0 1⁄ 1 0 − 1⁄𝐿 0
𝐿0 0
𝑻𝟏−𝟐 = 0 1⁄𝐿 0 0 − 1⁄𝐿 1 (1.28)
0 0
𝛿∆𝑦⁄ 𝛿∆𝑦⁄
[−1 𝐿 0 1 − 𝐿 0]
Las matrices de paso indicadas sirven para calcular la matriz de rigidez de los
elementos en coordenadas locales (con matriz 𝑻𝟏−𝟐 ) y en coordenadas globales (con
matriz 𝑻𝟐−𝟑 )
(a) (b)
Figura 1.23 a) Esquema estructural. b) Curva del análisis Pushover monotónico.
𝑇
𝑄𝑓𝑢𝑛𝑑𝑎𝑚𝑒𝑛𝑡𝑎𝑙 = [𝑃 𝑀𝑖 𝑀𝑗 ] (1.22)
𝑇
𝑄𝑔𝑙𝑜𝑏𝑎𝑙 = [𝐹𝑥𝑖 𝐹𝑦𝑖 𝑀𝑖 𝐹𝑥𝑗 𝐹𝑦𝑗 𝑀𝑗 ] (1.23)
cos(𝛽) 𝑠𝑒𝑛(𝛽) 0 0 0 0
−𝑠𝑒𝑛(𝛽) cos(𝛽) 0 0 0 0
0 0 1 0 0 0
𝑇𝒂 𝒈𝒍𝒐𝒃𝒂𝒍 =
0 0 0 cos(𝛽) 𝑠𝑒𝑛(𝛽) 0 (1.26)
0 0 0 −𝑠𝑒𝑛(𝛽) cos(𝛽) 0
[ 0 0 0 0 0 1]
−1 0 0 1 0 0
𝑇𝒂 𝒍𝒐𝒄𝒂𝒍 = [ 0 1/𝐿 1 0 −1/𝐿 0] (1.27)
0 1/𝐿 0 0 1/𝐿 1
cos(𝛽𝑜) 𝑠𝑒𝑛(𝛽𝑜) 0 0 0 0
−𝑠𝑒𝑛(𝛽𝑜) cos(𝛽𝑜) 0 0 0 0
0 0 1 0 0 0
𝑇𝒂 𝒈𝒍𝒐𝒃𝒂𝒍 =
0 0 0 cos(𝛽𝑜) 𝑠𝑒𝑛(𝛽𝑜) 0 (1.28)
0 0 0 −𝑠𝑒𝑛(𝛽𝑜) cos(𝛽𝑜) 0
[ 0 0 0 0 0 1]
−1 0 0 1 0 0
𝑇𝒂 𝒍𝒐𝒄𝒂𝒍 = [ 0 1/𝐿𝑜 1 0 −1/𝐿𝑜 0] (1.29)
0 1/𝐿𝑜 0 0 1/𝐿𝑜 1
OpenSees cuenta con estos tres métodos para realizar la transformación geométrica
de los elementos, es decir: lineal, P-Delta y corrotacional.
(a)
Pushover Básico con CEINCI-LAB 25
(b) (c)
Figura 2.1 a) Modelo del ASCE/SEI 41 del diagrama momento rotación; b) Curva constitutiva
del acero; c) Curva constitutiva del hormigón no confinado.
(a) (b)
𝑑′
𝛽𝑐 =
𝑑
26 Pushover Básico con CEINCI-LAB
𝐴𝑠 ∗ 𝑓𝑦
𝑝𝑡 =
𝑏 ∗ 𝑑 ∗ 𝑓 ′𝑐 (2.1)
𝐴′𝑠 ∗ 𝑓𝑦
𝑝𝑡 ′ = (2.2)
𝑏 ∗ 𝑑 ∗ 𝑓 ′𝑐
𝑓𝑦 𝜀𝑌
𝜀𝑦 = 𝜀𝑜 ≈ 0.002 𝛼𝑦 =
𝐸𝑠 𝜀𝑜
(2.3)
(𝑝𝑡 + 𝑝𝑡′ )2 (𝑝𝑡 + 𝛽𝑐 ∗ 𝑝𝑡′ ) (𝑝𝑡 + 𝑝𝑡′ )
𝑘=√ + −
4𝛼𝑦 2 𝛼𝑦 2𝛼𝑦
0.45
𝐶2 = 1 + = 1.4748
0.84 + 2𝑝𝑡′ − 𝑝𝑡
𝑃𝑜
𝜂𝑂 =
𝑏 ∗ 𝑑 ∗ 𝑓 ′𝑐
𝜂𝑂 𝜀𝑌
∅𝑦 = [𝐶1 + (𝐶2 − 𝐶1 ) ∗ ]∗
0.3 (1 − 𝑘) ∗ 𝑑 (2.4)
𝜀𝑐 = ∅𝑌 ∗ 𝑑 − 𝜀𝑌 ≤ 𝜀𝑈
0.75 𝜀𝑐
𝜂= ∗ ( )0.7
1 + 𝛼𝑦 𝜀𝑜
𝜀𝑐
𝛼𝑐 = (1 − 𝛽𝑐 ) − 𝛽𝑐 ≤ 1
𝜀𝑦
𝑀𝑌 = 0.5 ∗ 𝑓´𝑐 ∗ 𝑏 ∗ 𝑑2 ∗ [(1 + 𝛽𝑐 − 𝜂)𝜂𝑂 + (2 − 𝜂) ∗ 𝑝𝑡 + (𝜂 − 2𝛽𝑐 ) ∗ 𝛼𝑐 ∗ 𝑝𝑡 ′] (2.5)
En la tabla 2.1, se presenta los valores de las variables 𝑎, 𝑏, 𝑐, que definen el diagrama
momento rotación de acuerdo a lo indicado en la figura 2.1 a. Para ingresar a esta
tabla se debe determinar en primer lugar la relación de cuantías de acero:
𝜌 − 𝜌′
𝜌𝑏𝑎𝑙
Tabla 2.1 Valores de 𝑎, 𝑏, 𝑐, para el cálculo del punto último U y del residual R, de una viga,
Fuente: ASCE/SEI 41 de 2011.
𝐴𝑠
𝜌=
𝑏∗𝑑
𝐴′𝑠
𝜌′ =
𝑏∗𝑑
La variable, todavía no definida es 𝛽1 que vale 0.85 para hormigones con 𝑓𝑐′ ≤
𝑘𝑔
280 ⁄ 2 . Para hormigones con resistencia a la compresión mayores a 280
𝑐𝑚
𝑘𝑔⁄ 𝑓′
2 el valor de 𝛽1 se halla con la siguiente ecuación: 1.05 − 𝑐 ⁄1400; el valor
𝑐𝑚
mínimo de esta expresión es 0.65.
Ahora se debe ver si la sección es confinada o no. Para que una sección sea
confinada, debe cumplir que:
𝑑 3 𝐴𝑠𝑣 𝑓𝑦𝑣 𝑑
𝑠≤ 𝑉𝑠 > 𝑉 𝑉𝑠 =
3 4 𝑠
𝑉(𝑝𝑜𝑢𝑛𝑑)
𝑏(𝑖𝑛) 𝑑(𝑖𝑛) √𝑓𝑐′ (𝑝𝑠𝑖)
Una vez que se ha identificado la fila en la cual se hallan los valores 𝑎, 𝑏, 𝑐, se procede
de la siguiente forma:
𝜃𝑢 = 𝜃𝑦 + 𝑎
𝜃𝑟 = 𝜃𝑦 + 𝑏
𝑀𝑟 = 𝑐 ∗ 𝑀𝑦
𝜃𝑢
∅𝑢 = ∅𝑦 +
𝐿𝑝 (2.7)
Pushover Básico con CEINCI-LAB 29
𝜃𝑟
∅𝑟 = ∅𝑦 +
𝐿𝑝 (2.8)
(a) (b)
Figura 2.3 a) Diagrama momento curvatura de una viga, con momentos en los extremos
𝑀𝑖 , 𝑀𝑗 , que son mayores a los de fluencia; b) Diagrama que se requiere para
deducir la longitud con daño denominada longitud plástica.
Para calcular las longitudes plásticas 𝐿𝑝𝑎 , 𝐿𝑝𝑏 , se traza con líneas entrecortadas la
magnitud de momento 𝑀𝑗 (ver figura 2.3 b). Ahora por triángulos semejantes se tiene:
𝑀𝑖 + 𝑀𝑗 𝑀𝑦 + 𝑀𝑗
=
𝐿 𝐿 − 𝐿𝑝𝑎
Al despejar se tiene:
𝑀𝑖 − 𝑀𝑦
𝐿𝑝𝑎 = ( )𝐿
𝑀𝑖 + 𝑀𝑗
𝑀𝑗 − 𝑀𝑦′
𝐿𝑝𝑏 = ( )𝐿
𝑀𝑖 + 𝑀𝑗
EJEMPLO 1
𝑘𝑔⁄
hormigón tiene una resistencia a la compresión de 𝑓𝑐′ = 210 . El módulo de
𝑐𝑚2
𝑘𝑔
elasticidad del acero se calcula con 𝐸𝑐 = 15100 √𝑓𝑐′ ( 2 ). El recubrimiento del
𝑐𝑚
hormigón es 6 cm. Se pide, encontrar los diagramas momento-rotación y momento
curvatura; empleando el formulario de Park (1985) para encontrar el momento de
fluencia 𝑀𝑦 , y curvatura de fluencia ∅𝑦 . La rotación de fluencia hallar con la ecuación
del ASCE 16; el diagrama momento rotación hallar con ASCE/SEI 41 y encontrar el
diagrama momento curvatura. Para los dos casos, que se indican a continuación
considerar que al inicio de cálculo 𝑀𝑖 = 𝑀𝑗 = 0, con lo cual la longitud de la rótula
plástica es cero. Considerar además 𝑉 = 0.
i) Encontrar la relación momento curvatura en el nudo inicial considerando
𝐴𝑠 = 4.6181 𝑐𝑚2 (3 ∅ 14 𝑚𝑚 ) y 𝐴′𝑠 = 3.078 𝑐𝑚2 (2 ∅ 14 𝑚𝑚). Detallar el
cálculo del momento y curvatura de fluencia; el cálculo de los coeficientes
𝑎, 𝑏, 𝑐, de la Tabla 2.1.
ii) Encontrar la relación momento curvatura en el centro de luz, con
𝐴𝑠 = 𝐴′𝑠 = 3.078 𝑐𝑚2 (2 ∅ 14 𝑚𝑚)
Figura 2.4 Armadura longitudinal de viga de sección constante de 20/30 cm, con
estribos de 8 mm, de diámetro espaciados a 10 y 20 cm, en extremos y
centro de luz.
SOLUCIÓN
Cálculo de 𝑴𝒚 , ∅𝒚
𝑑′ 6
𝛽𝑐 = = = 0.25
𝑑 24
𝐴𝑠 ∗ 𝑓𝑦 4.6181 ∗ 4200
𝑝𝑡 = ′
= = 0.1684
𝑏∗𝑑∗𝑓 𝑐 20 ∗ 24 ∗ 240
𝐴𝑠 ′ ∗ 𝑓𝑦 3.078 ∗ 4200
𝑝𝑡′ = ′
= = 0.1122
𝑏 ∗ 𝑑 ∗ 𝑓 𝑐 20 ∗ 24 ∗ 240
𝜀𝑌 0.002
𝛼𝑦 = = = 0.9524
𝜀𝑜 0.0021
Pushover Básico con CEINCI-LAB 31
𝐶1 = 1.05
0.45 0.45
𝐶2 = 1 + ′ =1+ = 1.50223
0.84 + 2𝑝𝑡 − 𝑝𝑡 0.84 + 2(0.1122) − 0.1684
𝑃𝑜
𝜂𝑂 = = 0 𝑝𝑜𝑟𝑞𝑢𝑒 𝑒𝑠 𝑢𝑛𝑎 𝑣𝑖𝑔𝑎
𝑏 ∗ 𝑑 ∗ 𝑓 ′𝑐
𝑓𝑦 4200
𝜀𝑌 = =
𝐸𝑠 2100000
=0.002
𝜂𝑂 𝜀𝑌 0
∅𝑦 = [𝐶1 + (𝐶2 − 𝐶1 ) ∗ ] ∗ (1−𝑘)∗𝑑 =[1.05 + (1.50223 − 1.05) ∗ ]∗
0.3 0.3
0.002
(1−0.3301)∗24
=0.000131
𝜀𝑐 0.0011
𝛼𝑐 = (1 − 𝛽𝑐 ) − 𝛽𝑐 = (1 − 0.25) − 0.25 = 0.1756 ≤ 1
𝜀𝑦 0.002
𝐴𝑠 4.618
𝜌= = = 0.0096
𝑏 ∗ 𝑑 20 ∗ 24
𝐴′𝑠 3.078
𝜌′ = = = 0.0064
𝑏 ∗ 𝑑 20 ∗ 24
𝜌 − 𝜌′ 0.0096 − 0.0064
𝑟𝑝 = = = 0.1310
𝜌𝑏 0.0245
𝑑
La sección no es confinada, ya que el espaciamiento 𝑠 = 10 𝑐𝑚, que es mayor a 3 =
24
3
= 8 𝑐𝑚.
𝐿 𝑀𝑦 4 ∗ 4.0057
𝜃𝑦 = = = 0.0025 𝑟𝑎𝑑
6 𝐸𝑐 ∗ 𝐼 6 ∗ 2339281.94 ∗ 0.000450077
𝜽𝒖 = 𝜽𝒚 + 𝒂 = 𝟎. 𝟎𝟏𝟔𝟑 𝐫𝐚𝐝
𝑀𝑢 = 𝑀𝑦 + 0.05 ∗ 𝐸𝑐 ∗ 𝐼 ∗ (𝜃𝑢 − 𝜃𝑦 )
Como 𝐿𝑝 = 0, no se puede utilizar las ecuaciones 2.7 y 2.8 Por lo que ∅𝑢 se calcula
en base a los valores de ∅𝑦 , 𝑀𝑦 , 𝑀𝑢 y la pendiente post fluencia de 0.05∗ 𝐸𝑐 ∗ 𝐼
𝑀𝑢 − 𝑀𝑦 4.7310 − 4.0057 1
∅𝑢 = ∅𝑦 + = 0.0025 + = 0.0163
0.05 ∗ 𝐸𝑐 ∗ 𝐼 0.05 ∗ 2339281.94 ∗ 0.00045007 𝑚
1
∅𝑟 = ∅𝑢 ∗ 1.0955 = 0.0163 ∗ 1.0955 = 0.0179
𝑚
Pushover Básico con CEINCI-LAB 33
En el centro de luz el espaciamiento de los estribos 𝑠 = 20 𝑐𝑚. Luego 𝑠 > 𝑑⁄2. Por
lo tanto, la falla se va a dar por corte; luego los coeficientes (ver tabla 2.1) son:
1
𝑀𝑟 = 0.54 𝑇𝑚 ∅𝑟 = 0.0167
𝑚
En forma similar a las vigas, hay tres controles que se deben realizar, antes de
ingresar a la tabla 2.2 para encontrar los coeficientes 𝑎, 𝑏, 𝑐 con los cuales se halla el
diagrama momento rotación. El primer control es calcular la relación:
𝑃
𝐴𝑔 𝑓𝑐′
Si la columna está controlada por corte, ver última fila de la tabla 2.2, no se puede
obtener los coeficientes 𝑎, 𝑏, 𝑐. Nótese que no se admite que el espaciamiento de los
estribos 𝑠 ≥ 𝑑⁄2. Por lo tanto, en una columna de 30/30 cm, no se admite que el
espaciamiento en la mitad sea cada 20 cm. Normalmente se coloca cada 10 cm, en
los extremos y cada 20 cm, en la mitad, pero para que la columna sea controlada por
flexión no se puede colocar estribos cada 20 cm, en la mitad.
EJEMPLO 2
Se tiene una columna de 30/30 cm, sobre la que gravita, al inicio del análisis,
𝑘𝑔
una carga axial de 4 T., el hormigón es de 𝑓𝑐′ = 240 ⁄ 2 ; el acero tiene un límite
𝑐𝑚
𝑘𝑔⁄
de fluencia 𝑓𝑦 = 4200 . El recubrimiento de la armadura es de 6 cm. En la
𝑐𝑚2
figura 2.7a, se presenta la sección transversal de la columna que tiene una armadura
longitudinal compuesta por 8 ∅ 14 𝑚𝑚, y una armadura transversal de
1 ∅ 10 𝑚𝑚 @ 10 𝑐𝑚 en toda su longitud de 3.50 m. Se pide calcular el diagrama
momento-rotación y momento-curvatura, utilizando las ecuaciones propuestas por
Park (1985) para el punto de fluencia y la tabla 2.2, propuesta por ASCE/SEI 41 de
2011, para encontrar los puntos notables de los diagramas indicados. Calcular para
un punto en que los momentos actuantes en las columnas son nulos y para cortante
actuante nulo.
36 Pushover Básico con CEINCI-LAB
(a)
Figura 2.7 a) Columna de 30/30 cm, con 8 ∅ 14 𝑚𝑚 y armadura transversal de 1 ∅ 10 𝑚𝑚
espaciado cada 10 cm. Longitud de la columna de hormigón armado 3.50 m.
SOLUCIÓN
Punto de fluencia
𝑑′ 6
𝛽𝑐 = = = 0.25
𝑑 24
𝐴𝑠 ∗ 𝑓𝑦 6.1575 ∗ 4200
𝑝𝑡 = ′
= = 0.1497
𝑏∗𝑑∗𝑓 𝑐 30 ∗ 24 ∗ 210
𝐴𝑠 ′ ∗ 𝑓𝑦 6.1575 ∗ 4200
𝑝𝑡′ = ′
= = 0.1497
𝑏∗𝑑∗𝑓 𝑐 30 ∗ 24 ∗ 210
𝜀𝑌 0.002
𝛼𝑦 = = = 0.9524
𝜀𝑜 0.0021
𝐶1 = 1.05 𝑠𝑖 𝑝𝑡′ ≠ 0;
0.45 0.45
𝐶2 = 1 + ′ =1+ = 1.4547
0.84 + 2𝑝𝑡 − 𝑝𝑡 0.84 + 2 ∗ 0.1497 − 0.1497
𝑃𝑜 4000
𝜂𝑂 = ′
= = 0.0231
𝑏 ∗ 𝑑 ∗ 𝑓 𝑐 30 ∗ 24 ∗ 240
𝜂𝑂 𝜀𝑌
∅𝑦 = [𝐶1 + (𝐶2 − 𝐶1 ) ∗ ]∗
0.3 (1 − 𝑘) ∗ 𝑑
0.0231 0.002 1
= [1.05 + (1.4547 − 1.05) ∗ ]∗ = 0.0131
0.3 (1 − 0.3131) ∗ 24 𝑚
𝜀𝑐 = ∅𝑌 ∗ 𝑑 − 𝜀𝑌 = 0.00010 ≤ 𝜀𝑈 → 𝜀𝑐 = 0.0131 ∗ 0.24 − 0.002 = 0.0011 ≤ 0.004
𝜀𝑐
𝛼𝑐 = (1 − 𝛽𝑐 ) − 𝛽𝑐 = 0.1805 ≤ 1
𝜀𝑦
𝑃 4000
′ = = 0.0185
𝐴𝑔 𝑓𝑐 30 ∗ 30 ∗ 240
𝑀𝑟 = 1.1531 𝑇𝑚 𝜃𝑟 = 0.0171 𝑟
1 1
𝑀𝑦 = 5.77 𝑇𝑚 ∅𝑦 = 0.0131 𝑀𝑢 = 6.2393 𝑇𝑚 ∅𝑢 = 0.0191
𝑚 𝑚
1
𝑀𝑟 = 1.15 𝑇𝑚 ∅𝑟 = 0.0209
𝑚
(b)
Figura 2.7 b) Diagramas: Momento-rotación y Momento-curvatura, de columna de Ejemplo 2.
La viga de la figura 2.4, y la columna de la figura 2.7 a, son del pórtico de hormigón
armado que se presenta en la figura 2.8, que tiene una luz de 4.0 m, y una altura de
3.5 m, solo se ha indicado el momento de fluencia 𝑀𝑦 , y la curvatura de fluencia ∅𝑦 ,
valores con los cuales se obtiene la curva de capacidad sísmica para los primeros
instantes de carga.
Figura 2.8 Momento de fluencia y curvatura de fluencia, para estructura de hormigón armado
con columnas de 30/30 cm, y viga de 20/30 cm. Modelo sin nudo en mitad de
viga.
Pushover Básico con CEINCI-LAB 39
Nótese que la viga es de sección constante y sin embargo se tiene que en el centro
de luz el momento y curvatura de fluencia son diferentes a los extremos por la
armadura longitudinal que es diferente (ver figura 2.4) y por la separación de los
estribos.
EJEMPLO 3
(a)
(b)
Figura 2.9 a) Geometría del Pórtico, con estado de carga vertical y lateral; b) Rigidez a flexión
hallada dividiendo el momento para la curvatura en el punto de fluencia, se va a
resolver considerando nudo en la mitad de la viga.
40 Pushover Básico con CEINCI-LAB
SOLUCIÓN
(1 + 𝑆𝑎 ) −1 0
𝐿 −1 (1 + 𝑆𝑏 ) 0
𝒇=
6 (𝐸𝐼)0 6 (𝐸𝐼)0
[ 0 0
𝐸𝐴 ]
(𝐸𝐼)0 (𝐸𝐼)0
𝑆𝑎 = 𝑆𝑏 =
(𝐸𝐼)𝑎 (𝐸𝐼)𝑏
(c)
Figura 2.9 c) Coeficientes Sa, Sb, del modelo de Giberson para determinar la matriz de
flexibilidad en sistema 1 (sin considerar desplazamientos como cuerpo rígido).
Modelo considera dos elementos en la viga.
(d) (e)
Figura 2.9 d) Numeración de nudos y elementos; e) Numeración de grados de libertad para
análisis estático.
Pushover Básico con CEINCI-LAB 41
% Ej_4_Giberson_ULEAM
clc; clear all
%................................................................................................
sv =[4.0]; %Ingresar un vector con la logitud de vanos en (metros)
sp =[3.5]; %Ingresar un vector con la altura de pisos en (metros)
nr=2; RES=[1 1 1 1;2 1 1 1];nod=5;Eh=2400000;
area1=0.3*0.3;EA1=area1*Eh;area2=0.2*0.3;EA2=area2*Eh; % rigidez axial
ELEM=[440.12 440.12 440.14 EA1; % Rigidez a flexión en NI, CL, NF, y rigidez
axial.
440.12 440.12 440.14 EA1; % Datos de Columna derecha
328.27 223.11 223.11 EA2; 223.11 223.11 328.27 EA2]; % Datos en vigas 3
y4
%% Funciones para generar geometría del Pórtico,
[nv,np,nudt,nudcol,nudvg,nod,nr]=geometria_nudo_viga(sv,sp);
[X,Y]=glinea_portico2(nv,np,sv,sp,nod,nr); %coordenadas
[NI,NJ]=gn_portico2(nr, nv, nudt, nudcol, nudvg);
[CG,ngl]=cg (nod,nr,RES);
% dibujogdl(X,Y,NI,NJ,CG)
%dibujoplano(X,Y,NI,NJ)
%% Matriz de rigidez de estructura
[L,seno,coseno]=longitud (X,Y,NI,NJ); %Longitud seno y coseno de elementos
[VC]=vc(NI,NJ,CG); % Vector de colocación de elementos
[K]=krigidez_Giberson(ngl,ELEM,L,seno,coseno,VC); %Ensamblaje de K
%% Vector de Cargas Generalizadas
njc=1;nmc=2;datos=0;
F=[3 0.1 0 0]; % Carga lateral
Fm=[3 2.0 1 1 1]; % Cargas verticales
[Q,Q2]=cargas(njc,nmc,ngl,L,seno,coseno,CG,VC,F,Fm,datos);
%% Solución de Ecuaciones y Cálculo de Fuerzas y Momentos en elementos
q=K\Q
[FF]=fuerzas_giberson(ngl,ELEM,L,seno,coseno,VC,Eh,q,Q2)
Que son la rigidez a flexión en el nudo inicial, centro de luz, nudo final y la rigidez
axial. Se está calculando un punto de la curva de capacidad sísmica de la estructura,
conforme se vaya incrementando la carga lateral (Pushover monotónico) los
momentos en los elementos se van a incrementar y el momento que sobrepase el
momento de fluencia se cambia la rigidez a flexión.
42 Pushover Básico con CEINCI-LAB
Por último, en la figura 2.9 g, se muestran las fuerzas y momentos en cada uno de
los elementos, correspondientes al estado de cargas indicado en la figura 2.9 f. En la
viga 3, el momento que se genera es 𝑀𝑖 = 2.18 𝑇𝑚, en el nudo inicial; 𝑀𝑗 = 1.75 𝑇𝑚;
el cortante 𝑉𝑖 = 3.97 𝑇, para el nudo inicial y 𝑉𝑗 = 0.03 𝑇, para el nudo final. Con estos
valores se hallan los nuevos momentos y curvaturas para el siguiente estado de
carga.
(f)
(g)
Figura 2.9 f) Carga vertical de 2 T/m; lateral de 0.1 T que genera un cortante 𝑉 = 0.1 𝑇, y un
desplazamiento lateral 𝑑𝑡 = 0.0007 𝑚; g) Fuerzas y momentos en los elementos.
Pushover Básico con CEINCI-LAB 43
Para el siguiente estado de carga, solo se aplica la carga lateral, los resultados que
se obtienen se van acumulando y se tienen nuevos puntos de la curva de capacidad
sísmica resistente.
Esto debe ser como un llamado de atención a ser más cuidadoso con el modelo
de plasticidad que se considere en el análisis y al modelo con el cual se calcula
(con o sin nudo en la mitad), lo indicado es válido para elementos de hormigón
armado en que se tiene diferente armadura a lo largo de la viga, para elementos
de acero si se puede trabajar con nudo en la mitad de la viga.
[SS,icon,iconu,Tabla3,VC,ngl]=krigidez_giberson_po_2(ngl,Tabla1,Tabl
a2,Tabla3,L,seno,coseno,VC,icon,iconu,jj)
Los datos de entrada de este programa son: ngl es el número de grados de libertad.
Tabla2 es una matriz de 6 columnas y mbr filas que contiene: la carga axial 𝑁, el
cortante 𝑉, el momento 𝑀, en el nudo inicial y lo propio en el nudo final que se va
generando en cada elemento conforme se va incrementando la carga axial.
Resumiendo, Tabla2 contiene: 𝑁, 𝑉, 𝑀, 𝑁 ′ , 𝑉 ′ , 𝑀′ .
44 Pushover Básico con CEINCI-LAB
(a)
(b)
(c)
(d)
Tabla3 es una matriz de 8 columnas y mbr filas que contiene: el instante del ciclo de
carga en que se pasa 𝑀𝑦 en el nudo inicial; instante del ciclo de carga en que se pasa
𝑀𝑦′ en el nudo final; instante del ciclo de carga en que se pasa 𝑀𝑢 en el nudo inicial;
instante del ciclo de carga en que se pasa 𝑀𝑢′ en el nudo final; en la quinta columna
se indica la secuencia con que las secciones superan 𝑀𝑦 en el nudo inicial; en la
sexta la secuencia para 𝑀𝑦′ en el nudo inicial; en la séptima la secuencia en que
llegan las secciones a 𝑀𝑢 en el nudo inicial; en la octava la secuencia en que llegan
a 𝑀𝑢′ en el nudo final.
Continuando con los datos de entrada, se tiene: L un vector con las longitudes de los
elementos; seno un vector con el ángulo seno de los elementos; coseno vector con
el coseno de los elementos; VC matriz con los vectores de colocación de los
elementos; icon es un contador con el cual ingresan las secciones al rango no lineal,
cuando superan el momento de fluencia en nudo inicial o final; iconu es un contador
Pushover Básico con CEINCI-LAB 45
para cuando las secciones sobrepasan el momento último en el nudo inicial y final; jj
es el ciclo de carga.
Para cada ciclo de carga lateral, se encuentran las fuerzas y momentos en los
elementos, los mismos que se van sumando. Al principio todos los elementos
trabajan con el modelo indicado en la figura 2.10 d, la rigidez a flexión se inicia
calculando con las siguientes ecuaciones.
Donde 𝑀𝑖 , 𝑀𝑗 , son los momentos que se han generado en el nudo inicial y final por la
aplicación de las cargas laterales. Luego se obtiene la matriz de flexibilidad indicada
en la figura 2.10 d, y después se halla la matriz de rigidez en coordenadas globales.
Esto se realiza con el programa kmiembro_giberson_po
(𝑀𝑢 )𝑏 − (𝑀𝑦 )
𝑏
𝑀𝑦′ < 𝑀𝑗 ≤ 𝑀𝑢′ → (𝐸𝐼)𝑏 =
(∅𝑢 )𝑏 − (∅𝑦 ) (2.10)
𝑏
También puede darse el caso que el momento en el nudo inicial 𝑀𝑖 sea menor que
𝑀𝑦 o que sea menor que 𝑀𝑢 pero en el nudo final 𝑀𝑗 = 𝑀𝑢′ . En este caso se tiene el
caso mostrado en la figura 2.10 c, y se usa el programa
kmiembro_giberson_po_sinSb
[Q,V,Q2]=cargas_po(Qa,ngl,Fm,L,seno,coseno,VC)
El programa cargas_po es una variante del programa cargas con el cual se halla el
vector de cargas generalizadas 𝑸. Variante adaptaba al Pushover en el sentido de
que en el primer ciclo de carga (𝑗 = 1) se resuelve solo con cargas verticales y en
los restantes ciclos solo con carga horizontal aplicada en los nudos, para ello en el
segundo ciclo de carga (𝑗 = 2), la matriz Fm se encera.
𝑸𝒂
𝑸=[ ]
𝑸𝒃
Para el primer ciclo de carga 𝑸𝑎 = 𝟎 pero para los restantes ciclos de carga (𝑗 ≥ 2)
el vector 𝑸𝑎 se calcula con la siguiente ecuación.
Donde 𝑴 es la matriz de masas que es diagonal para el caso plano, compuesta por
las masas de cada piso; ∅(1) es el primer modo de vibración; ∆𝒒 es el incremento de
carga lateral que se impone el usuario del programa, es un solo número.
[Mt,M]=masas(Fm,NI,Y,L,np)
El programa masas determina la matriz de masas M, para el caso plano es una matriz
diagonal, con el valor de la masa en cada piso; Mt es la masa total de la estructura
es igual a la suma de las masas totales de cada piso: Los datos de entrada son: Fm
matriz que contiene el número del elemento cargado y el valor de la carga uniforme
(ya explicado); Y es un vector con las coordenadas Y, de cada uno de los pisos;
𝑳 vector con la longitud de los elementos; np es el número de pisos.
[Sdd,Saa,fi1]=espe_cap(K,M,Mt,np,ngl,Dtt,VV);
𝐷𝑡𝑡 = 𝐷𝑡𝑡 + 𝐷𝑡 𝑉𝑉 = 𝑉𝑉 + 𝑉
𝑸=𝑲𝒒
A más del primer modo de vibración ∅(1), el programa reporta los vectores de
desplazamientos espectrales Sdd y de aceleraciones espectrales Saa con los cuales
se dibuja el espectro de capacidad sísmica resistente.
[FF]=fuerzas_po_2(ngl,Tabla1,Tabla2,Tabla3,L,seno,coseno,VC,q,Q2)
Los datos de entrada del programa fuerzas_po_2 han sido ya indicados en otras
funciones que se han presentado, solo resta indicar que en el programa se determina:
i) Deformaciones en cada uno de los elementos en coordenadas globales 𝒑𝒈 ; ii) Se
determina la matriz de rigidez del elemento 𝒌3 teniendo en cuenta si se han formado
48 Pushover Básico con CEINCI-LAB
Tabla2=FF(:,:,j)+Tabla2
EJEMPLO 4
La estructura de 2 pisos indicada en la figura 2.11 a, tiene una luz de 5.0 m, y la altura
de cada piso es de 3.50 m. Las columnas son de 40/40 cm y está armada con 8
varillas longitudinales de 16 mm, de diámetro y estribos de 10 mm espaciados a 10
cm, en toda su longitud, ver figura 2.11 b. La armadura de las vigas se indica en la
figura 2.11 c, tiene una armadura base compuesta por 2 varillas de 14 mm, en la
parte inferior y en la parte superior; los estribos son también de 10 mm, de diámetro
espaciados cada 5 cm, en los extremos y 10 cm, en el centro. El recubrimiento, tanto
para vigas como para columnas es de 5 cm.
(a) (b)
(c)
Figura 2.11 a) Geometría del Pórtico de hormigón armado de dos pisos; b) Armadura
longitudinal y transversal de una columna; c) Armado de las vigas de
primer piso igual a segundo piso, en nudo inicial, centro de luz y nudo
final.
50 Pushover Básico con CEINCI-LAB
SOLUCIÓN
𝜌 − 𝜌′
0 < < 0.5
𝜌𝑏
𝑉
3< <6
𝑏𝑤 𝑑 √𝑓𝑐′
Tanto para la sección confinada, como no confinada, no hay valores. Por lo que se
deja a criterio del lector seguir trabajando con las tablas del ASCE/SEI 41 o emplear
otra forma de cálculo para hallar la relación Momento-Curvatura. Retomando en
ejemplo, en la tabla 2.3 a, se indica en las cuatro últimas columnas el momento de
fluencia, el momento último, la curvatura de fluencia y la curvatura última, de las
vigas.
Para tener un grado lateral por piso, se considera que las vigas son axialmente
rígidas (𝐴 = ∞) esto se indica en la figura 2.11 f, lo demás es completamente flexible,
las vigas trabajan a flexión. Se ha denominado 𝐹1, 𝐹2, las fuerzas laterales que se
aplican a partir del segundo ciclo de carga. En el primer ciclo gravita la carga vertical.
(d)
(e)
52 Pushover Básico con CEINCI-LAB
(f)
𝑸𝒂 𝐹1
𝑸=[ ] 𝑸𝒂 = [ ] 𝑸𝒃 = 𝟎
𝑸𝒃 𝐹2
(g)
(h)
A la derecha de la figura 2.11 g, se indican los sitios donde se va a formar las rótulas
plásticas, pero todavía no se sabe cuál fue la primera rótula (momento actuante llego
a 𝑀𝑢 ) ni tampoco se sabe que otros elementos sufrieron daño (superaron el valor de
𝑀𝑦 ). Esta información reporta el programa en la Tabla3, que se copia en la Tabla 2.3
c; las cuatro primeras indican el ciclo de carga, en que se pasó el momento de
fluencia (las dos primeras) y se llegó al momento último (la tercera y la cuarta). En
todas ellas NI es el nudo inicial y NJ es el nudo final.
Las cuatro últimas columnas de la tabla 2.3 c, indican el orden como se dañó la
estructura (columnas 5 y 6) y el orden de la formación de las rótulas plásticas
(columnas 7 y 8) . Cada fila de datos corresponde a un elemento. Así la primera rótula
plástica se formó en el nudo final de la viga del primer piso, en el ciclo de carga 130;
la segunda rótula se dio en el nudo final de la viga del segundo piso en el ciclo de
carga 141; la tercera se da en el nudo inicial de la columna derecha en el ciclo de
carga 180 y la cuarta se da en el nudo inicial de la columna izquierda en el ciclo de
carga 181.
Es importante destacar que la estructura llegó al colapso (deriva global igual a 0.04)
en el ciclo de carga 191, de tal forma que se formaron rótulas plásticas en las
columnas cuando la deriva global fue superior a 0.03.
Tabla 2.3 c) Ciclos de carga lateral cuando se genera daño en los elementos (cuatro
primeras columnas), secuencia del daño (quinta y sexta columna) y
secuencia de la formación de rótulas plásticas (dos últimas columnas)
Ciclo Ciclo Ciclo Ciclo Secuencia Secuencia Secuencia Secuencia
para para para para 𝑀𝑦 en NI 𝑀𝑦 en NJ 𝑀𝑢 en NI 𝑀𝑢 en NJ
𝑀𝑦 𝑀𝑦 𝑀𝑢 𝑀𝑢
en NI en NJ en NI en NJ
136 0 181 0 4 0 4 0
128 0 180 0 3 0 3 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
190 8 0 130 6 1 0 1
182 40 0 141 5 2 0 2
Ahora si se desea saber al final del cálculo cuando se llegó a la deriva global igual a
0.04, las fuerzas y momentos en los elementos, se debe imprimir Tabla2. Por cierto,
el usuario del programa debe indicar al final del cálculo, antes de los gráficos lo que
desea ver. En la tabla 2.3 d, se indican los valores de la fuerza axial 𝑁, del corte 𝑉,
del momento 𝑀, en el nudo inicial; de la fuerza axial 𝑁 ′ , del corte 𝑉 ′ y del momento
𝑀′ en el nudo final.
Tabla 2.3 d) Fuerza axial, corte y momento, en el nudo inicial y nudo final, al final del
análisis. NC significa que modelo de cálculo no lo hallo, se debe encontrar
por equilibrio.
Elemento 𝑵 (𝑻. ) 𝑽 (𝑻. ) 𝑴 (𝑻. 𝒎) 𝑵′ (𝑻. ) 𝑽′ (𝑻. ) 𝑴′ (𝑻. 𝒎)
1 4.34 4.64 16.31 -4.34 -4.64 -0.07
2 13.16 4.81 16.31 -13.16 -4.81 0.53
3 1.49 2.77 4.60 -1.49 -2.77 5.11
Pushover Básico con CEINCI-LAB 55
Al considerar que las vigas son axialmente rígidas, el modelo numérico de cálculo no
obtiene la fuerza axial, por ese motivo se ha escrito NC, pero se puede hallar
mediante equilibrio de elementos y juntas, manualmente.
En la figura 2.11 h, se presentan las dos curvas de capacidad, la una es lineal (rigidez
no cambia. Teoría Elástica) y la otra es no lineal (rigidez cambia. Teoría Inelástica)
En los dos análisis se aplicó las mismas fuerzas en cada ciclo de carga sin embargo
de ello, en el modelo no lineal los desplazamientos laterales son mayores debido a
que la rigidez disminuye.
Esta gráfica es la base para encontrar el factor de reducción de las fuerzas sísmicas
𝑅, con el cual se pasa del espectro elástico al inelástico y se habló ligeramente en el
apartado 1.5, ver figura 1.18. De ahí la importancia de conocer estas dos gráficas.
v) Programa en CEINCI-LAB
%..........................................................................
clear; clc
format bank
Tabla1_Col=[12.2921 16.2826 .0082 .0282 12.2921 16.2826 .0082 .0282 12.2921 16.2826
.0082 .0282 374285.11;
12.2921 16.2826 .0082 .0282 12.2921 16.2826 .0082 .0282 12.2921 16.2826 .0082
.0282 374285.11;
11.1032 16.0937 0.0082 0.0282 11.1032 16.0937 0.0082 0.0282 11.1032 16.0937
0.0082 0.0282 374285.11;
11.1032 16.0937 0.0082 0.0282 11.1032 16.0937 0.0082 0.0282 11.1032 16.0937
0.0082 0.0282 374285.11];
Tabla1_Viga1=[4.2845 6.1873 0.0116 0.0357 2.8978 4.4769 0.0110 0.0310 4.2845 6.1873
0.0116 0.0357 210535.37;
4.2845 6.1873 0.0116 0.0357 2.8978 4.4769 0.0110 0.0310 4.2845 6.1873 0.0116
0.0357 210535.37];
Tabla1=[Tabla1_Col;Tabla1_Viga1];
ELEM=[12.2921/0.0082 12.2921/0.0082 12.2921/0.0082 374285.11; %EIa EIo EIb EA de
elemento 1
12.2921/0.0082 12.2921/0.0082 12.2921/0.0082 374285.11;
12.2921/0.0082 12.2921/0.0082 12.2921/0.0082 374285.11;
12.2921/0.0082 12.2921/0.0082 12.2921/0.0082 374285.11;
4.2845/0.0116 2.8978/0.0110 4.2845/0.0116 210535.37;
4.2845/0.0116 2.8978/0.0110 4.2845/0.0116 210535.37];
%% Geometría del pórtico
NUDOS=[1 0.0 0.0 2 2 0.0 3.5;
2 5.0 0.0 2 2 0.0 3.5];
GEN=[1 1 3 1 1 1 1;
3 3 5 1 1 1 1;
5 3 4 1 1 2 2];
Fm=[5 2.0; 6 1.5];%[N de miembro cargado , Carga repartida]-->Carga Muerta y Carga
Viva
nod=6;np=2;nr=2;
DeltaQ=0.05;%incremento de carga horizontal. La carga en cada piso es función de M, fi1,
DeltaQ
ND=1;%Nivel de diseño es para Espectro de Capacidad
[NI,NJ]=gn_portico(GEN); %Vector de nudo inicial y final
[X,Y]=glinea_portico(NUDOS); %Coordenadas X, Y de los nudos
%..........................................................................
%..............................Programas....................................
[CG,ngl]=cg_sismo2(nod,nr,Y);
%............................................................
% dibujoplano(X,Y,NI,NJ)
% dibujogdl(X,Y,NI,NJ,CG)
[L,seno,coseno]=longitud (X,Y,NI,NJ);% Longitud, seno y coseno de elementos
[VC]=vc(NI,NJ,CG); %Vector colocación de elementos
mbr=length(L); %Número de miembros
Tabla2=zeros(mbr,6); %Se inicializa con ceros xq aun no se aplican cargas
Tabla3=zeros(mbr,8); %Se inicializa con ceros resultados de Pushover
icon=0;iconu=0;
Ht=max(Y); %Altura total
%..........................Se inicia Pushover..............................
%..........................................................................
[Mt,M]=masas(Fm,NI,Y,L,np); % Reporta matriz de masas M y masa total Mt
derg=0;Qa=zeros(np,1);j=0;cont1My=0;
VV=0;Dtt=0; %Para cálculo inelástico
Pushover Básico con CEINCI-LAB 57
[K,icon,iconu,Tabla3,VC,ngl]=krigidez_giberson_po_2(ngl,Tabla1,Tabla2,Tabla3,L,seno,c
oseno,VC,icon,iconu,j);%Matriz de Rigidez
[KE]=krigidez_Giberson(ngl,ELEM,L,seno,coseno,VC);
if det(K)<=1e-10%Se detiene el calculo si la matriz es singular
fprintf(' Matriz Singular --> Colapso por Estructura Inestable\n');
[Q,V,Q2]=cargas_po(Qa(:,j),ngl,Fm,L,seno,coseno,VC); %Vector de cargas y cortante
basal
Vac(j)=V+Vac(j-1);
break
end
if j==2
Fm(1:size(Fm,1),2)=zeros(size(Fm,1),1);
end
[Q,V,Q2]=cargas_po(Qa(:,j),ngl,Fm,L,seno,coseno,VC); %Vector de cargas y cortante
basal
q=K\Q; %Vector de coordenadas generalizadas inelastico
qE=KE\Q; %Vector de coordenadas generalizadas elástico
Dt=q(np); %Desplazamiento en el tope inelastico
DtE=qE(np); %Desplazamiento en el topi elastico
VV=VV+V;Dtt=Dtt+Dt; %Valores acumulados inelásticos
VVE=VVE+V;DttE=DttE+DtE; % Valores acumulados elásticos
derg=Dtt/Ht; %Deriva total
Vac(j)=VV;Dtac(j)=Dtt;% Vector de cortante y desplazamientos inelasticos
VacE(j)=VVE;DtacE(j)=DttE; % Vector de cortantes y desplazamientos elásticos
%........Espectro de capacidad............................................
[Sdd,Saa,fi1]=espe_cap(K,M,Mt,np,ngl,Dtt,VV);
if abs(derg)>=0.04%Se deja de calcular cuando se sobrepasa la deriva global límite
fprintf(' Colapso por Deriva global>=0.04\n');
Vac(j)=Vac(j-1);Dtac(j)=Dtac(j-1);
break
end
[FF(:,:,j)]=fuerzas_po_2(ngl,Tabla1,Tabla2,Tabla3,L,seno,coseno,VC,q,Q2);% F y M en
cada elem.
(a)
Figura 2.12 a) Secciones que considera el sistema de computación CEINCI-LAB para el
análisis no lineal estático (Pushover).
𝑡𝑓𝑠 𝑑 𝑡𝑓𝑖
(𝑏𝑠 − 𝑡𝑤 )𝑡𝑓𝑠 ∗ (𝑑 − (𝑏 )𝑡
2 ) + 𝑑 ∗ 𝑡𝑤 ∗ 2 + 𝑖 − 𝑡𝑤 𝑓𝑖 ∗ ( 2 )
𝑌𝑐𝑔 =
𝐴
𝑌𝑠 = 𝑑 − 𝑌𝑐𝑔
𝑡𝑓𝑖 𝑌𝑐𝑔
𝑍𝑖 = (𝑏𝑖 − 𝑡𝑤 )𝑡𝑓𝑖 ∗ (𝑌𝑐𝑔 − ) + 𝑌𝑐𝑔 ∗ 𝑡𝑤 ∗
2 2
𝑡𝑓𝑠 𝑌𝑠
𝑍𝑠 = (𝑏𝑠 − 𝑡𝑤 )𝑡𝑓𝑠 ∗ (𝑌𝑠 − ) + 𝑌𝑠 ∗ 𝑡𝑤 ∗
2 2
𝑍 = 𝑍𝑖 + 𝑍𝑠
𝐿 𝑧 𝑓𝑦
𝜃𝑌 = (2.14)
6 𝐸𝐼𝑦
Todas las variables han sido ya indicadas, por lo que a continuación se indica como
se obtiene 𝜃𝑌 para columnas.
𝐿 𝑧 𝑓𝑦 𝑃
𝜃𝑌 = (1 − ) (2.15)
6 𝐸𝐼 𝑃𝐶𝐿
Donde 𝑃 es la carga axial que gravita en la columna; 𝑃𝐶𝐿 es la carga crítica de pandeo.
De acuerdo al ASCE 41, la carga crítica se calcula de la siguiente manera.
𝐿
≤ 108
𝑟
Si la relación L/r es menor a 108; el esfuerzo del material 𝐹𝑐𝑟 es 12 (psi); caso
contrario vale:
1.4 ∗ 105
𝐹𝑐𝑟 = (𝑝𝑠𝑖)
𝐿 2
(𝑟 )
Para pasar de (psi) a (T/m2) se debe multiplicar por 703.069. Finalmente, la carga
crítica de pandeo se halla multiplicando el área de la sección transversal 𝐴, por 𝐹𝑐𝑟
𝑃𝐶𝐿 = 𝐴 𝐹𝑐𝑟
Para columnas se tiene una reducción del momento de fluencia por la interacción
carga-momento, la misma que viene dada por:
Pushover Básico con CEINCI-LAB 61
𝑃
𝑀𝑦 = 𝑍 𝑓𝑦 (1 − ) (2.16)
𝑃𝑦
𝑃𝑦 = 𝐴 ∗ 𝑓𝑦
Ahora, hay importantes investigaciones, en las que indican que cuando se trabaja
con un modelo de plasticidad concentrada se recomienda trabajar con 𝑀𝑝𝑟 en
lugar de 𝑀𝑦 (ATC 2017)
𝑀𝒑𝒓 = 𝐶𝑝𝑟 𝑅𝑦 𝑍 𝑓𝑦 (2.17)
𝑓𝑦 + 𝑓𝑢
𝐶𝑝𝑟 = ≤ 1.2 (2.18)
2 𝑓𝑦
Donde 𝑀𝒑𝒓 es el máximo momento probable en la rótula plástica; 𝐶𝑝𝑟 factor para tener
en cuenta la capacidad máxima de la conexión, incluyendo el endurecimiento por
tensión, restricciones locales, el refuerzo adicional y otras condiciones de conexión;
𝑅𝑦 es la relación entre la tensión de fluencia esperada y la fluencia mínima. Las otras
variables han sido ya indicadas.
𝑃 𝑃
𝐶𝑝𝑟 𝑅𝑦 𝑍 𝑓𝑦 (1 − ) 𝑠𝑖 ≤ 0.2 (2.19)
2 𝑃𝑦𝑒 𝑃𝑦𝑒
𝑀𝑦 =
9 𝑃 𝑃
𝐶𝑝𝑟 𝑅𝑦 𝑍 𝑓𝑦 ∗ (1 − ) 𝑠𝑖 > 0.2 (2.20)
{ 8 𝑃𝑦𝑒 𝑃𝑦𝑒
Las placas de flexión de la conexión BFP, mostrada en la figura 2.13 tienen 30 mm,
de espesor y una longitud de 50 cm, de tal manera que aportan al incremento de la
flexión en el elemento. Este aporte se lo considera en el factor 𝐶𝑝𝑟 . Para vigas de
acero con conexiones precalificadas el momento de fluencia se calcula de la
siguiente manera en los programas de CEINCI-LAB
𝑀𝑦 = 𝐶𝑝𝑟 ∗ 𝑍 ∗ 𝑓𝑦 (2.21)
El valor de 𝐶𝑝𝑟 se encuentra con la ecuación (2.18). Ahora, en los programas de
CEINCI-LAB, para columnas de acero con conexiones precalificadas, se tiene:
62 Pushover Básico con CEINCI-LAB
𝑃
𝑀𝑦 = 𝐶𝑝𝑟 ∗ 𝑍 ∗ 𝑓𝑦 (1 − )
𝑃𝑦 (2.22)
𝑃𝑦 = 𝐶𝑝𝑟 ∗ 𝐴 ∗ 𝑓𝑦 (2.23)
Figura 2.13 Conexión Precalificada BFP (Bolted Flange Plate) en un nudo con placas de
flexión y de corte apernadas al perfil IPE.
En la tabla 2.4 se presentan las relaciones propuestas por ASCE/SEI para encontrar
la rotación última (valor a), rotación residual (valor b) y momento residual (valor c).
Para ingresar a la tabla 2.4 se deben controlar algunas relaciones geométricas como
𝑏𝑓
2𝑡𝑓
, no hay problema con las unidades, pero en las relaciones donde interviene 𝑓𝑦𝑒 se
debe colocar la fluencia del acero en ksi. Para pasar de T/m2 a ksi, se debe multiplicar
por 0.0014223316
* Columnas con 𝑃/𝑃𝐶𝐿 > 0.5 deberán ser controladas por fuerza axial.
[EIy,EA,G,A_f,Z,A,I,S,alfa,tww,bss,My,fiy,tetay]=Geom_acero(Section,L,
cpc)
La mejor forma de explicar los datos del vector Section, es con un ejemplo. En la
tabla 2.5 se indica las dimensiones para una viga W30x99, y se muestra la
nomenclatura. Normalmente el ancho y espesor del ala superior es igual al del
64 Pushover Básico con CEINCI-LAB
inferior, pero puede darse el caso de que sean diferentes, esta opción se contempla
en el programa.
Tabla 2.5 Descripción de las secciones de los elementos estructurales. Fuente: Cagua et al.
(2020)
Vigas
754x268x17x13
W30x99
Material=1;Type=1;d=0.754;tw=0.013;bs=0.268;bi=0.268;tfs=0.017;tfi=0.017;
SectionW30x99=[Material,fy ,fu,Ey ,Type,d,tw,bs,bi,tfs,tfi];
A más Section se debe indicar la longitud del elemento L y el coeficiente cpc que
vale 1, cuando el nudo tiene conexión precalificada y vale 0 cuando no lo tiene.
[a,b,c,EA,My,fiy,Mu,fiu]=Mom_Rot_ASCE41_vigas(Section,L,Lp,M,teta,c
pc)
[a,b,c,EA,My,fiy,Mu,fiu]=Mom_Rot_ASCE41_columnas(Section,L,Lp,M,
Pa,teta,cpc)
EJEMPLO 5
Explicar con detenimiento la entrada de datos, para encontrar para encontrar la curva
de capacidad sísmica resistente de la estructura de acero indicada en la figura 2.14
a, de seis pisos cuyas vigas son W30x99 y cuyas columnas W30x173 (ver tabla 2.5).
La carga vertical actuante se indica en la figura 2.14 b, en la figura 2.14 c, se presenta
la numeración de nudos y elementos.
(a)
(b)
66 Pushover Básico con CEINCI-LAB
(c)
Figura 2.14 a) Geometría de la estructura de acero de 6 pisos; b) Carga vertical para el primer
ciclo de carga; c) Numeración de nudos y elementos.
SOLUCIÓN
El primer grupo de datos conduce al cálculo del momento y curvatura en los puntos
Y, U, de las vigas y columnas de acero. Los mismos que han sido agrupados en 2
vectores Tabla1_col y Tabla1_Viga. Se recuerda que en el Pushover Elemental para
cada elemento se debe indicar:
(𝑴𝒚 ) (𝑴𝒖 )𝒂 (∅𝒚 ) (∅𝒖 )𝒂 (𝑴𝒚 ) (𝑴𝒖 )𝒐 (∅𝒚 ) (∅𝒖 )𝒖 (𝑴𝒚 ) (𝑴𝒖 )𝒃 (∅𝒚 ) (∅𝒖 )𝒃 𝑬𝑨
𝒂 𝒂 𝒐 𝒖 𝒃 𝒃
Código: Ejercicio 4
Una vez que se han indicado los momentos de fluencia, último, curvatura de fluencia,
última en el nudo inicial, centro de luz y nudo final, y la rigidez axial se dan los datos
que conducen a obtener un Pushover estático. Esto es opcional, si solo se desea la
curva de capacidad sísmica resistente hallada con un análisis estático no lineal, no
se requieren estos datos.
Código: Ejercicio 4
Ahora se debe definir la geometría, esto se consigue con dos datos que son:
Código: Ejercicio 4
Se destaca que con solo sv y sp a secas sirve para pórticos regulares en altura. A
continuación, se indica el elemento cargado y la carga uniforme distribuida, para eso
se debe tener en cuenta la numeración de elementos mostrada en la figura 2.14 c, y
la carga vertical que se encuentra en la figura 2.14 b.
Código: Ejercicio 4
Ahora se obtiene el número de vanos, nv, número de pisos np, el número total de
elementos nudt, el número total de columnas nudcol, el número total de vigas
nudvg, el número de nudos nod y el número de nudos restringidos nr, con la función
geometría_nudo_viga Los datos de entrada son los vectores sv y sp
Código: Ejercicio 4
[nv,np,nudt,nudcol,nudvg,nod,nr]=geometria_nudo_viga(sv,sp);
Código: Ejercicio 4
Tabla1=zeros(nudt,13);
for e=1:nudt
if e<=nudcol
Tabla1(e,1:13)=Tabla1_Col;
else
Tabla1(e,1:13)=Tabla1_Viga;
end
end
for e=1:nudt
if e<=nudcol
ELEM(e,1:4)=ELEM_Col;
else
ELEM(e,1:4)=ELEM_Viga;
end
end
(𝑴𝒚 ) (𝑴𝒖 )𝒂 (∅𝒚 ) (∅𝒖 )𝒂 (𝑴𝒚 ) (𝑴𝒖 )𝒐 (∅𝒚 ) (∅𝒖 )𝒖 (𝑴𝒚 ) (𝑴𝒖 )𝒃 (∅𝒚 ) (∅𝒖 )𝒃 𝑬𝑨
𝒂 𝒂 𝒐 𝒖 𝒃 𝒃
(a)
Figura 2.15 a) Curva de capacidad sísmica de estructura de acero de 6 pisos, hallada con
modelo elástico en que no cambia la rigidez de los elementos y con modelo
inelástico en que cambia la rigidez de los elementos.
(b) (c)
Figura 2.15 b) Curva de capacidad sísmica resistente con análisis no lineal elástico; b)
ubicación de rótulas plásticas en los elementos para una deriva global 𝛾𝑔 =
0.05
3. PUSHOVER NIVEL 1 CON CEINCI-LAB
Por otra parte, para pasar de la rotación a la curvatura se requiere saber la longitud
de daño 𝐿𝑝 que es función de los momentos actuantes 𝑀𝑖 (en el nudo inicial) y 𝑀𝑗 (en
el nudo final) para el modelo de análisis. Estas tres variables cambian durante el
análisis del Pushover y por dende cambia su curvatura.
Figura 3.1 Modelo Bilineal para la relación Momento-Curvatura, con que trabaja CEINCI-LAB
para Pushover en Nivel Elemental y 1.
Pushover Nivel 1 con CEINCI-LAB 71
Hormigón Armado
La información para definir las secciones de las vigas y columnas de los elementos
de hormigón armado, se indican en la tabla 3.1 y en la figura 3.2. De igual manera se
indican tres vectores de datos por cada elemento, para el nudo inicial, centro de luz
y nudo final, con los datos indicados en la tabla 3.1, para el caso de vigas o columnas
de hormigón armado. Estos tres vectores se dan en Table1
En la tabla 3.1, se tiene: Tipo de material es una variable indicadora que vale 1 para
elementos de hormigón armado y 0 para elementos de acero. Otra variable
indicadora es Tipo de sección que vale 1 para vigas y columnas de hormigón
armado; posteriormente se indica los valores de esta variable para algunos perfiles
de acero.
Aspecto fundamental es que los vectores de datos deben tener el mismo número de
columnas, caso contrario va a reportar error (En Matlab todas las filas de una matriz
deben tener el mismo número de columnas). En vigas solo se indica la armadura
longitudinal superior e inferior, pero en columnas a más de lo indicado se indica la
armadura intermedia. Por lo tanto, para que los vectores tengan el mismo número de
columnas se colocan ceros.
Tabla 3.1 Datos para describir una sección de una viga o columna de hormigón. Fuente:
Aguiar et al. (2016).
Acero
Para definir una sección de acero, sea una viga o columna, se utilizarán los campos
indicados en la tabla 3.2. En la figura 3.3, se indica las secciones transversales
consideradas, con su respectiva nomenclatura. De igual manera se debe cumplir que
el número de columnas de la matriz de datos sean los mismos
Tabla 3.2 Datos para describir una sección de una viga o columna de acero. Fuente: Aguiar
et al. (2016).
EJEMPLO 1
(a) (b)
Pushover Nivel 1 con CEINCI-LAB 73
(c)
𝑘𝑔
Figura 3.4 a) Estructura de hormigón armado de 2 pisos con 𝑓𝑐′ = 240 ; b) Armadura de
𝑐𝑚𝑒
columna tipo; c) Armadura de viga tipo.
SOLUCIÓN
% Ej_portico_hormigon
%Unidades en T-m
fpc=2400;
Ey=151000*(fpc/10)^0.5;%Steel modulus of elasticity
fy=42000;%Debería ser por 1.25 %Yield steel stress
Material=2;Type=1;h=0.4;b=0.4;bw=0.4;tf=0;dp=0.06;As=3*0.016^2*pi/4;
Asp=3*0.016^2*pi/4;S=0.1;Av=2*0.01^2*pi/4;As1=2*0.016^2*pi/4;
Col40x40=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,As1];
Material=2;Type=1;h=0.3;b=0.3;bw=0.3;tf=0;dp=0.06;As=2*0.014^2*pi/4;
Asp=3*0.014^2*pi/4;S=0.1;Av=2*0.01^2*pi/4;
Vig30x30Extr=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,0];
Material=2;Type=1;h=0.3;b=0.3;bw=0.3;tf=0;dp=0.06;As=2*0.014^2*pi/4;
74 Pushover Nivel 1 con CEINCI-LAB
Asp=2*0.014^2*pi/4;S=0.1;Av=2*0.01^2*pi/4;
Vig30x30Med=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,0];
Table1=[
repmat([Col40x40,Col40x40,Col40x40],[4,1]);%elem 1 to 4
repmat([Vig30x30Extr,Vig30x30Med,Vig30x30Extr],[2,1])%elem 5 and 6
];
GEN=[1 1 3 3 1 1 1
5 3 4 1 1 2 2];
NODE=[1 0 0 2 2 0 3.5
2 5 0 2 2 0 3.5];
[NI,NJ]=gn_portico(GEN);
[X,Y]=glinea_portico(NODE);
nod=6;nr=2;np=2;
[CG,ngl]=cg_sismo2(nod,nr,Y);
dibujoplano(X,Y,NI,NJ)
Ahora se indica, la carga vertical que actúa en los elementos; para ello se da el
número del elemento cargado y el valor de la carga uniforme distribuida en el arreglo
Fm
%-------------------------Used Programs--------------------------------
Structure_Geom_2D_v1%Define structure geometry
maxderg=4;LimitDrift=4;
Pushover_2%Define Capacity Curve
plot(Dtac,Vac(1,1:length(Dtac)),'color','black','LineWidth',2);
(d)
Figura 3.5 a) Las vigas en el nudo final sobrepasan el momento de fluencia; b) las columnas
de planta baja en el nudo inicial sobrepasan el momento de fluencia y las vigas
en el nudo final sobrepasan el momento último y se forman rótulas plásticas; c)
La viga superior en el nudo inicial sobrepasa el momento de fluencia; d) Curva
de capacidad sísmica resistente.
76 Pushover Nivel 1 con CEINCI-LAB
Los criterios de colapso, con el cual se da por terminado el Pushover, están indicados
en la función Pushover_2 y son los siguientes:
EJEMPLO 2
(a)
Figura 3.6 a) Geometría del Pórtico a analizar con vigas rectangulares, cuadradas y vigas
banda.
Pushover Nivel 1 con CEINCI-LAB 77
(b)
(c)
Figura 3.6 b) Carga vertical uniforme repartida que gravita en cada piso; c) Armadura
longitudinal y transversal de las columnas.
78 Pushover Nivel 1 con CEINCI-LAB
(d)
Figura 3.6 d) Armadura longitudinal de la viga banda tipo con cortes en los extremos y centro
de luz.
SOLUCIÓN
Para no alargar la exposición se presentan solo tres gráficas de la secuencia con que
las secciones ingresan al rango no lineal. En la figura 3.7 a, se ve que los nudos
exteriores de las vigas han superado el momento de fluencia; esto es lo que se
espera en un diseño sísmico, que primero ingresen al rango no lineal las vigas y en
la mayor parte de sitios.
Pushover Nivel 1 con CEINCI-LAB 79
(d)
Figura 3.7 a) La mayor parte de las vigas han superado el momento de fluencia; b)
Vigas centrales del segundo piso, llegaron al punto U (pérdida de
resistencia a carga lateral) y las vigas con círculo llegaron al momento
residual; c) Estado final de daño; d) Significado de colores y formas de
daño.
(e) (f)
Figura 3.7 e) Curva de capacidad sísmica de la estructura, que relaciona el cortante
basal con el desplazamiento lateral máximo; f) Curvas de capacidad
sísmica de cada piso.
De tal forma que las figuras 3.7 e, 3.7 f, se complementan para definir de la mejor
forma la curva de capacidad sísmica resistente de la estructura.
% Ej_portico_hormigon_3pisos
%Unidades en T-m
fpc=2100;
Ey=120000*(fpc/10)^0.5;%Steel modulus of elasticity
fy=42000;%Debería ser por 1.25 %Yield steel stress
Material=2;Type=1;h=0.3;b=0.4;bw=0.4;tf=0;dp=0.05;As=3*0.016^2*pi/4;
Asp=3*0.016^2*pi/4;S=0.1;Av=2*0.01^2*pi/4;As1=2*0.012^2*pi/4;As2=2*0.012^2*pi/4;
Col40x30=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,As1,As2];%16 datos
Material=2;Type=1;h=0.4;b=0.4;bw=0.4;tf=0;dp=0.05;
As=2*0.016^2*pi/4+2*0.012^2*pi/4;Asp=2*0.016^2*pi/4+2*0.012^2*pi/4;
S=0.1;Av=4*0.01^2*pi/4;As1=2*0.012^2*pi/4;As2=2*0.012^2*pi/4;
Col40x40=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,As1,As2];%16 datos
Material=2;Type=1;h=0.25;b=0.4;bw=0.4;tf=0;dp=0.05;
As=4*0.012^2*pi/4+2*0.014^2*pi/4;
Asp=2*0.012^2*pi/4+2*0.014^2*pi/4;S=0.075;Av=4*0.01^2*pi/4;% 14 datos
Vig40x25Ext=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,0,0];
82 Pushover Nivel 1 con CEINCI-LAB
Material=2;Type=1;h=0.25;b=0.4;bw=0.4;tf=0;dp=0.05;
As=2*0.012^2*pi/4+4*0.014^2*pi/4;
Asp=2*0.012^2*pi/4+2*0.014^2*pi/4;S=0.075;Av=4*0.01^2*pi/4;% 14 datos
Vig40x25Int=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,0,0];
Material=2;Type=1;h=0.25;b=0.4;bw=0.4;tf=0;dp=0.05;
As=2*0.014^2*pi/4+2*0.012^2*pi/4;
Asp=2*0.014^2*pi/4+2*0.012^2*pi/4;;S=0.15;Av=2*0.01^2*pi/4;
Vig40x25Med=[Material,fpc,Ey,fy,Type,h,b,bw,tf,dp,As,Asp,S,Av,0,0];
(g)
Figura 3.7 g) Estructura en tres dimensiones construida en la ciudad de Quito, se ha analizado
un pórtico transversal.
3.2.1 Efecto 𝑷 − ∆
(a)
En el análisis se considera que las vigas son axialmente rígidas para que los
desplazamientos de un piso sean los mismos en los nudos. La estructura de la figura
10 a, tiene 12 grados de libertad, se numera primero las coordenadas laterales que
se han llamado 𝑸𝒂 (para ejemplo es un vector de 2 cantidades) y luego se numeran
los restantes grados de libertad (desplazamientos verticales y giros) al vector de
cargas se llama 𝑸𝒃 , en el primer ciclo de carga 𝑸𝒃 ≠ 𝟎, y en los demás ciclos de
carga lateral vale cero.
A la derecha de la figura 3.8 b, se tiene un modelo con dos masas puntuales y las
coordenadas principales a. Al multiplicar las masas por la gravedad se tiene el peso
𝑊1 . En cada ciclo la carga lateral viene dada por la siguiente expresión, para las
coordenadas laterales.
Pushover Nivel 1 con CEINCI-LAB 87
(𝑖)
𝑀𝑖 ∅1 ∆𝑉 (𝑖)
(Γ1 )
∑(𝑀𝑖 ∅1(𝑖) )
(𝑖)
𝑀𝑖 ∅1 ∆𝑉 (𝑖)
(Γ1 )
𝑸𝑎1 = ∑(𝑀𝑖 ∅1(𝑖) ) (3.1)
⋮
⋮
(𝑖)
𝑀𝑛 ∅1 ∆𝑉 (𝑖)
(𝑖)
(Γ1 )
[ ∑(𝑀𝑖 ∅1 ) ]
Hay algunas cosas que explicar antes de seguir adelante, una de ellas es que se
encuentra la matriz de rigidez con todos los grados de libertad y se condensa a las
coordenadas laterales; luego se encuentra la matriz de masas, para el modelo
indicado en la figura 3.8 a. Con la matriz de rigidez lateral y la matriz de masas se
encuentran los períodos y modos de vibración. Se está trabajando solo con el
primer modo ∅𝟏 ; luego se halla el factor de participación modal Γ𝟏 . Con estos
valores se aplica la ecuación (3.1) y se tiene el incremento de cargas laterales 𝑸𝑎1 ;
el vector 𝑸𝒃𝟏 = 𝟎.
Se resuelve un problema estático en el que solo actúan las fuerzas horizontales 𝑸𝑎1
en cada piso y se hallan los desplazamientos laterales 𝒒, mostrados en la figura 3.8
b; Ahora el efecto del peso vertical de cada piso 𝑊, multiplicado por los
desplazamientos laterales producen los momentos de volteo que se observan en la
figura 3.8 c.
Finalmente, los momentos de volteo han sido reemplazados por fuerzas horizontales
aplicadas en los pisos, las mismas que se ven en la figura 3.8 d. Para que exista
equilibrio de fuerzas es que en la base se acumulan una de sus componentes. Por lo
tanto, el efecto 𝑃 − ∆ genera en cada ciclo, un nuevo estado de cargas que se llama
𝑸𝑎2 , como se indica en la ecuación 3.2
𝑊1 ∗ 𝑞1
ℎ1
𝑊2 ∗ 2 − 𝑞1 )
(𝑞
𝑸𝒂𝟐 = ℎ2 (3.2)
⋮
⋮
(𝑞𝑛 − 𝑞𝑛−1 )
𝑊 =
[ 𝑛 ℎ𝑛 ]
𝑸𝑎 = 𝑸𝑎1 + 𝑸𝒂𝟐
88 Pushover Nivel 1 con CEINCI-LAB
EJEMPLO 3
(a)
(b)
Figura 3.9 a) Estructura de acero sin reforzamiento; b) Estructura reforzada con diagonales
en forma de “X” que suben de piso a piso.
Pushover Nivel 1 con CEINCI-LAB 89
SOLUCIÓN
i) Secuencia de daño
La sección transversal de las diagonales es insuficiente razón por la cual fueron las
que primero superaron el punto de fluencia y se formaron rótulas plásticas, en la
primera diagonal que ingresó al rango no lineal. En la figura 3.9 c, se presenta de
izquierda a derecha la secuencia de daño en la estructura de acero.
Se deja al lector que siga interpretando la secuencia de daño mostrada en figuras 3.9
c y d.
(c)
(d)
Figura 3.9 c) Primeros instantes de daño que se registra en las diagonales; b) Continuación
del daño y el gráfico final es como terminó la estructura cuando alcanzo una
deriva de piso de 0.04, que es un valor muy alto.
de capacidad sísmica por piso, para ver si efectivamente en el sexto piso se llegó al
desplazamiento lateral de 0.39 m.
(e)
Figura 3.9 e) Curva de capacidad sísmica resistente de la estructura que relaciona el cortante
basal V con el desplazamiento lateral en el tope de la estructura Dt.
(f)
Figura 3.9 f) Capacidad Sísmica por piso, la curva superior corresponde al primer piso y la
inferior al último piso.
Pushover Nivel 1 con CEINCI-LAB 91
% Ej_acero_con_diagonales
%Unidades en T-m
Material=1;Type=1;d=0.754;tw=0.013;bs=0.268;bi=0.268;tfs=0.017;tfi=0.017;
SectionW30x99=[Material,fy ,fu,Ey ,Type,d,tw,bs,bi,tfs,tfi]; % 11 datos
Material=1;Type=1;d=0.773;tw=0.017;bs=0.381;bi=0.381;tfs=0.027;tfi=0.027;
SectionW30x173=[Material,fy ,fu,Ey ,Type,d,tw,bs,bi,tfs,tfi]; % 11 datos
Columnas
773x381x27x17
W30x173
Vigas
754x268x17x13
W30x99
Material=1.1;Type=7;d=0.18;tw=0.008;
Diagonal=[Material,fy ,fu,Ey ,Type,d,tw,0,0,0,0]; % 7 datos por lo que se completa con
4 ceros
Nombre de Tipo de
la sección = material
𝒇𝒚 𝒇𝒖 𝑬𝒚 Tipo 𝒅 𝒕𝒘
7 (Circular) Diámetro
A definir por Límite Límite Módulo de
el usuario = 1.1 fluencia plástico Elasticidad
3 (7) espesor
(Cuadrado) Lado (3)
92 Pushover Nivel 1 con CEINCI-LAB
Table1=[
repmat([SectionW30x173,SectionW30x173,SectionW30x173],[24,1]);% elementos 1 al
24
repmat([SectionW30x99,SectionW30x99,SectionW30x99],[36,1])% elementos 25 al 60
repmat([Diagonal,Diagonal,Diagonal],[12,1])%elementos 61 al 72
];
(g)
Figura 3.9 g) Numeración de nudos y elementos. En CEINCI-LAB primero se numeran las
columnas, luego las vigas y finalmente las diagonales.
(h)
Figura 3.9 h) Numeración de los vanos para ingreso de diagonales. Vanos con diagonales en
forma de “V” invertida son 2, 8, 14; los vanos con diagonales en forma de “V” son
5, 11 y 14
Pushover Nivel 1 con CEINCI-LAB 93
%-------------------------Used Programs--------------------------------
Structure_Geom_2D_v2%Define structure geometry
Pushover_2%Define Capacity Curve
figure(3);plot(Dpisos_acum',Vpisos_acum','LineWidth',2)
xlabel ('Dt (m)'); ylabel ('V (T.)');
%figure (4)
%plot(Dtac,Vac(1,1:length(Dtac)),'color','black','LineWidth',2);
%xlabel ('Dt (m)'); ylabel ('V (T.)');
𝑃𝑦 = 𝐴 ∗ 𝑓𝑦 (3.4)
Primero se determina el esfuerzo elástico por pandeo 𝐹𝑒 , el mismo que es función del
factor de longitud efectiva 𝑘, de la longitud del elemento 𝐿, del radio de giro 𝑟 y del
módulo de elasticidad del acero 𝐸
𝜋2 𝐸
𝐹𝑒 =
𝑘𝐿 2 (3.6)
( )
𝑟
𝑓𝑦
𝑘𝐿 𝐸
≤ 4.71 √ → 𝐹𝑐𝑟 = [0.658𝐹𝑒 ] 𝑓𝑦 (3.7)
𝑟 𝑓𝑦
𝑘𝐿 𝐸 (3.8)
> 4.71 √ → 𝐹𝑐𝑟 = 0.877 𝐹𝑒
𝑟 𝑓𝑦
El cálculo indicado es válido en secciones que no sean esbeltas, razón por la que
primero la relación ancho-espesor de acuerdo a las tablas del AISC 360-10, de
acuerdo al tipo de perfil (tema un tanto complicado de cumplir).
Diagonal Rigidizadora en
Compresión a b c
a. Para Secciones Esbeltas 𝑲𝒍/𝒓 ≥ 𝟒. 𝟐√𝑬/𝒇𝒚
1. Secciones W,I,2L,2C en
0.5∆𝐶 10∆𝐶 0.3
plano
2. 2𝐿, 2𝐶 𝑓𝑢𝑒𝑟𝑎 𝑑𝑒 𝑝𝑙𝑎𝑛𝑜 0.5∆𝐶 9∆𝐶 0.3
3. HSS, Tubos redondos y
0.5 ∆𝐶 9 ∆𝐶 0.3
rectangulares
Pushover Nivel 1 con CEINCI-LAB 95
Cuando una diagonal trabaja a tracción el cálculo es directo y está en función del
desplazamiento de fluencia a tracción ∆ 𝑇 , el mismo que se halla con la siguiente
ecuación.
𝑃𝑦
∆𝑇 =
𝐸𝐴
(a)
96 Pushover Nivel 1 con CEINCI-LAB
(b)
(c)
Figura 3.11 a) Reforzamiento de una estructura de hormigón armado con diagonales de acero
en forma de “V” invertida; b) Problema que puede darse cuando la diagonal que
trabaja a compresión ingresa en el rango no lineal; c) No hay equilibrio cuando
una de las diagonales ingresa al rango no lineal y se genera la fuerza 𝑃𝑢𝑛 que
tiende a dañar la viga.
Cuando una estructura con diagonales en forma de “V” trabaja en el rango elástico, una
diagonal trabaja a tracción y la otra a compresión, son valores son parecidos de tal forma que
al descomponer las fuerzas en sus componentes horizontal y vertical; las fuerzas en sentido
vertical prácticamente se anulan y transmiten una carga vertical muy baja al punto medio de
la viga.
Pero el problema puede darse si la diagonal que trabaja a compresión ingresa al rango no
lineal y pierde considerablemente su capacidad a compresión, llegando al caso extremo de
que solo soporte el 30% de su capacidad a compresión mientras que la otra diagonal que
trabaja a tracción está sujeta a una fuerza extremadamente grande (ver figura 3.11 b) al
descomponer estas fuerzas que se indican en la figura 3.11 c, no hay equilibrio y se genera
una fuerza vertical 𝑃𝑢𝑛 , es esta fuerza la que trata de llevar al colapso o generar gran daño en
la viga, esto es lo que se trata de ilustrar en la figura 3.11 b.
Pero este es un problema conocido razón por la cual el AISC emite un diseño especial para
las vigas con conexión concéntrica, para evitar este problema se quiere que la viga sea
muy rígida. Otro aspecto digno de mencionar es que no siempre se reduce sustancialmente
la fuerza a compresión al 30%, depende de la relación de esbeltez de las diagonales,
pudiendo que la capacidad a compresión sea un valor significativamente, más altos.
Dos soluciones, adicionales se han dado para evitar este problema y son las indicadas en las
figuras 3.11 d y e; la primera es colocar diagonales en forma de “X”, ahí se minimiza el
problema del equilibrio de fuerzas en el punto central de la viga, pero se debe chequear con
las fuerzas que se transmiten a la columna, pero en todo caso esta es una buena solución.
Pushover Nivel 1 con CEINCI-LAB 97
(d) (e)
La otra opción es colocar las famosa columna Zipper, que se ilustra en la figura 3.11 e, en
realidad este eje de columnas van a trabajar como un tensor; si una de las diagonales de la
planta baja pierde considerablemente su capacidad a compresión estos tensores van a
sostener a la viga de la planta baja y los tensores de los pisos superiores harán lo propio con
esto se logra una mejor repartición de las fuerzas y en lugar de tener un daño severo en la
planta baja todas las diagonales de los pisos superiores que trabajan a compresión pueden
tener un menor daño o a lo mejor no lo tienen.
4. ACOPLAMIENTO CEINCI-LAB Y OPENSEES
NIVEL 1: ESTRUCTURAS DE ACERO
CEINCI-LAB es un sistema de computación que permite el análisis estático o
dinámico de estructuras, en las secciones anteriores se presentó parte de su
potencial para realizar un análisis Pushover, tanto en estructuras de hormigón
armado como de acero, e incluso con la inclusión de diagonales de acero. En esta
sección de la monografía se presenta la interacción de las funciones de CEINCI-LAB
con comandos de OpenSees para el desarrollo del análisis estático no lineal
mediante la técnica de Pushover de una estructura de acero.
Para explicar este modelo se muestra un pórtico de 2 vanos y 1 piso, donde se tiene
3 columnas y 4 vigas, considerando que en cada vano existen 2 vigas de igual
longitud. La generación del nudo en el medio del vano es útil para incluir elementos
diagonales de acero o disipadores de energía como TADAS o ADAS. Luego cada
columna y cada viga mostrada en la figura 4.1a es dividida en 5 partes como se
muestra en la figura 4.1b donde a los extremos se tiene: elementos rígidos luego una
rótula plástica de longitud nula seguido de un elemento elástico. Lignos y Krawinkler
(2007, 2009, 2011), Lignos et al. (2011).
Acoplamiento de CEINCI-LAB con OpenSees Nivel 1 99
(a)
(b)
Figura 4.1 a) Modelo generado en CEINCI-LAB b) Modelo para el análisis Pushover no lineal
en OpenSees.
(a)
100 Acoplamiento de CEINCI-LAB con OpenSees Nivel 1
(b)
Figura 4.2 a) Modelo generado en CEINCI-LAB b) Modelo para el análisis Pushover no lineal
en OpenSees.
(a) (b)
(c) (d)
Figura 4.3 a) Zonas de plasticidad concentrada en vigas y columnas e identificación de la
zona rígida del elemento; b) Elementos elásticos. c) Zonas de plasticidad
concentrada en elementos diagonales de acero en la conexión viga - columna.
d) Zonas de plasticidad concentrada en elementos diagonales de acero en el
nudo medio de la viga. Fuente: Cagua et al. (2020)
Acoplamiento de CEINCI-LAB con OpenSees Nivel 1 101
(a) (b)
(c) (d)
1 1 1
= + (4.1)
𝐾𝑒𝑙𝑒𝑚 𝐾𝑠 𝐾𝑏𝑐
De esta forma, la rigidez elástica de las zonas de plasticidad concentrada (Ks) y del
elemento elástico (Kbc) deben ser modificadas por este valor n, considerando las
siguientes ecuaciones:
𝑛+1
𝐾𝑏𝑐 = ∙ 𝐾𝑒𝑙𝑒𝑚 (4.3)
𝑛
𝐾𝑠 = (𝑛 + 1) ∙ 𝐾𝑒𝑙𝑒𝑚 (4.4)
(g)
Figura 4.6 (a) Conexión de Patín Soldado Sin Refuerzo y Alma Soldada (WUF-W); (b)
Conexión de Sección de Viga Reducida (RBS); (c) Conexión de Placa Extrema
Empernada Sin Rigidizar (BUEP) y (d) rigidizada (BSEP); (e) Conexión de Placa
Empernada (BFP); (f) Conexión Kaiser con Soporte Atornillado y (g) Soldado
(KBB).
−0.14 −0.721
ℎ −0.365 𝑏𝑓 𝐿 0.34 𝑐𝑢𝑛𝑖𝑡
1
∙𝑑
𝜃𝑝 = 0.0865 ∙ ( ) ∙( ) ∙( ) ∙( )
𝑡𝑤 2 ∙ 𝑡𝑓 𝑑 533
2 −0.23 (4.5)
𝑐𝑢𝑛𝑖𝑡 ∙ 𝐹𝑦
∙( )
355
Donde θp, es la rotación plástica pre-capping (rad); θpc, es la rotación plástica post-
capping (rad); d, altura total de la viga (mm); h, es la altura del alma de la viga (mm);
tw, es el espesor del alma de la viga (mm); bf, es el ancho del patín de la viga (mm);
tf, es el espesor del patín de la viga (mm); L, es la longitud de la viga (mm); Fy, es el
esfuerzo de fluencia (MPa); cunit1=1; cunit2=1.
104 Acoplamiento de CEINCI-LAB con OpenSees Nivel 1
−0.108 −0.36
ℎ −0.513 𝑏𝑓 −0.863 𝐿𝑏 2
𝑐𝑢𝑛𝑖𝑡 ∙ 𝐹𝑦
𝜃𝑝𝑐 = 9.52 ∙ ( ) ∙( ) ∙( ) ∙( ) (4.8)
𝑡𝑤 2 ∙ 𝑡𝑓 𝑟𝑦 355
𝐿𝑏
≤ 70 (4.9)
𝑟𝑦
Para el modelo IMK en vigas se puede entender de manera conservadora que el
valor de My es el producto del módulo plástico de la sección por el esfuerzo de
fluencia del material, sin embargo, cuando se emplean conexiones precalificadas
este valor puede ser multiplicado por un factor que toma en cuenta el endurecimiento
por deformación denominado Cpr, siendo este valor calculado con la siguiente
ecuación.
𝐹𝑦 + 𝐹𝑢
𝐶𝑝𝑟 = ; 𝐶𝑝𝑟 ≤ 1.2 (4.10)
2 ∙ 𝐹𝑦
Donde Fy, es el esfuerzo de fluencia del material (ksi); Fu, es el esfuerzo último del
material (ksi).
EJEMPLO 1
(a) (b)
Figura 4.7 Estructura de acero de 6 pisos, con columnas W30x173 y vigas W30x99; b) Cargas
verticales consideradas para el análisis. Fuente: Cagua et al. (2020)
SOLUCIÓN
Luego se indica la distancia entre vanos sv y las alturas de los pisos sp con estas
dos variables se dibuja la estructura; además la aceleración de la gravedad y en el
vector qp la carga uniforme distribuida en cada piso (ver figura 4.7)
Acoplamiento de CEINCI-LAB con OpenSees Nivel 1 107
A continuación, se indica las propiedades del acero y se determina el factor 𝐶𝑝𝑟 que
sirve para calcular el momento de fluencia.
En la tabla 2.5, se indican las dimensiones de los perfiles W30x173 y W30x99, con
las cuales puede encontrar el módulo estático 𝑍𝑥 , el área e inercia de los perfiles,
utilizando el programa geom_acero o cualquier otro; además estos valores se
encuentran en las tablas que ofrecen los fabricantes del acero; se determina el
momento de fluencia y se tiene la altura de los perfiles. Nótese que se está trabajando
en Toneladas y metro.
Abeam = 0.0186;
Ibeam = 0.0017;
Mybeam = Fy*Zx*Cpr;
d_beam = 754.4 / 1000.0;
Hasta aquí se tienen los datos que se dan a la estructura para encontrar la curva
de capacidad sísmica. Lo que viene a continuación son los programas de CEINCI-
LAB con los cuales se obtienen los datos necesarios para calcular la matriz de
rigidez, el peso en cada piso, el peso total del edificio, la matriz de masas y las masas
concentradas en cada nudo que sirven para el cálculo del efecto 𝑃 − ∆
El usuario tiene la posibilidad de seleccionar que tipo de carga lateral quiere aplicar
al Pushover mediante un código el mismo que se indica a continuación, para el
ejemplo las fuerzas laterales se obtendrán en forma proporcional al primer modo de
vibración. También tiene opción de seleccionar que tipo de gráfico desea dibujar, se
recomienda si selecciona uno de ellos colocar a continuación return para que el
programa se detenga y el usuario puede verificar si efectivamente los datos que ha
dado conducen a la estructura que está analizando y de paso ver la numeración de
nudos y elementos (con el programa dibujoplano)
%% Propiedades dinámicas
[Seccion]=Unica_Vg_COL(nudt,coseno,Acol,Icol,Abeam,Ibeam);
%Seccion=[ELEMENTO, BASE, ALTURA, NUMEROS DE ELEMENTOS A CREAR,
INCREMENTO EN NUMERO DE ELEMENTO]
[ELEM]=gelem_portico(Seccion);
% Matriz de Rigidez
[K]=krigidez_acero(ngl,ELEM,L,seno,coseno,VC,Es);
110 Acoplamiento de CEINCI-LAB con OpenSees Nivel 1
%.......................................................
KTT=K; %<------- MATRIZ "K" DE TODA LA ESTRUCTURA (T/m)
na=np;
kaa=KTT(1:na,1:na);kab=KTT(1:na,na+1:ngl);
kba=kab'; kbb=KTT(na+1:ngl,na+1:ngl);
KL=kaa-kab*inv(kbb)*kba;
%.......................................................
[T,fi,OM]=orden_eig(KL,MASA);
% Factores de participacion modal
b=ones(np,1);
for i=1:np
maxfi=max(abs(fi(:,i)));
fi(:,i)=fi(:,i)/maxfi;
end
for i=1:np
FP(:,i)=abs(((fi(:,i))'*MASA*b)/((fi(:,i))'*MASA*(fi(:,i))));
end
disp('Los periodos de vibración en segundos con CEINCI-LAB son:')
T % seg
% Grabar matrices de masa y rigidez
Masa_Rigidez = [MASA,KL];
mkdir Prop_Dinamicas_Estructuras_2D
save(['Prop_Dinamicas_Estructuras_2D\EST_1_M_K.txt'],['Masa_Rigidez'],'-ascii');
Ahora se empieza a preparar los datos para usar los programas relacionados con el
modelo de plasticidad concentrada para hallar el Pushover. En el apartado anterior
se indicó que se tienen dos numeraciones de nudos y elementos, una para el CEINCI-
LAB y otra para OpenSees; se pasa de la una a la otra con el programa
ElementosNudos. Se recuerda que a cada elemento e lo debe dividir en 5 partes
como se muestra en la figura 4.8, con el objetivo de asignar diferentes propiedades
no lineales a cada sección.
(a) (b)
Figura 4.8 a) Numeración de elementos columnas; b) Numeración de elementos vigas.
Acoplamiento de CEINCI-LAB con OpenSees Nivel 1 111
%% Elementos y nudos
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos(nudt,nudcol,nod,NI,NJ,X,Y,d_col,d_beam);
% ...................................................
NI=Tabla_Elem_Nud(:,2)';
NJ=Tabla_Elem_Nud(:,3)';
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
num_elem=nudt*5;
HBuilding=max(Y);
% ...................................................
%% Nudos con grados de libertad iguales
[DOF]=MismosGDL(nod,np,Xcol,Ypisos,X,Y);
%% Dibujos
% dibujo(X,Y,NI,NJ)
dibujoNudElemMODPUSH(X,Y,NI,NJ)
Pushover_Opensees()
! OpenSees.exe Pushover_Estructura.tcl
Una vez que se ha realizado el cálculo del Pushover Monotónico con la curva
constitutiva de Krawinkler para el modelo de plasticidad concentrada de las vigas y
con el modelo bilineal para la plasticidad concentrada en columnas, se regresan los
resultados a CEINCI-LAB para proceder a realizar los dibujos.
112 Acoplamiento de CEINCI-LAB con OpenSees Nivel 1
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover2(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
%% Grabar los archivos
mkdir Pushover_Estructuras_2D
save(['Pushover_Estructuras_2D\EST_1.txt'],['Resultados'],'-ascii');
𝑉𝑚á𝑥 𝑔
𝛿𝑦 𝑒𝑓𝑓 = Γ1 ∙ ∙( ) ∙ 𝑇1 2 (4.14)
𝑊 4 ∙ 𝜋2
(a) (b)
(a) (b)
Figura 4.12 Estructura con diagonales a) en V invertida; b) en X de múltiples pisos.
114 Acoplamiento de CEINCI-LAB con OpenSees Nivel 1
(a) (b)
Figura 4.13 Numeración de elementos; a) Pórticos de diagonales en forma de V invertida; b)
Pórticos de diagonales en forma de X de múltiples pisos.
Al ejecutarse OpenSees desde Matlab se generan los cálculos del Pushover del
modelo propuesto y aparece una ventana emergente con la simulación del análisis
como se muestra en la figura 4.14.
(a) (b)
Figura 4.14 Ventana con la simulación del análisis Pushover en OpenSees. a) Estructura con
diagonales en V invertida; b) Estructura con diagonales en X de múltiples pisos.
No se presenta los resultados porque se espera que el lector se motive por ejecutar
el programa y pueda emitir conclusiones sobre este tipo de reforzamiento.
5. ACOPLAMIENTO CEINCI-LAB Y OPENSEES
NIVEL 2: ESTRUCTURAS DE ACERO
En la sección anterior se ilustra la ventaja de emplear los dos sistemas
computacionales para el análisis estructural, tanto CEINCI-LAB para la gestión de
datos y resultados de forma sencilla como el potencial de OpenSees en cuanto a los
modelos de no linealidad que considera.
(a) (b)
Figura 5.1 Estructura de acero de 6 pisos, secciones de los elementos columnas y vigas; b)
Cargas verticales consideradas para el análisis. Fuente: Cagua et al. (2020)
Dimensiones (mm)
Color Elemento
d x b x tf x tw
Columnas
773x381x27.2x17.2
W30x173
Columnas
394x399x22.6x36.6
W14x193
Columnas
696x355.6x24.8x24.8
W27x146
Columnas
381x370x30.2x30.2
W14x159
Columnas
612x325x19.05x19.05
W24x104
Columnas
363x371x21.8x21.8
W14x109
Vigas
754x268x17x13
W30x99
Vigas
683x254x18.9x18.9
W27x94
Vigas
607x228x17.3x17.3
W27x76
El programa inicia con la definición de las variables globales, nótese que no son las
mismas que para programas anteriores, en este caso se elimina algunas y se incluye
otras variables para hacer más ágil el análisis, por didáctica las nuevas variables y
funciones se muestran de color rojo. La geometría es la misma que ya se presentó
anteriormente, se recuerda que únicamente depende de la separación de vanos sv
y la altura de entrepisos sp.
En este caso debido a que el modelo de Krawinkler para la zona de daños en las
vigas depende de la conexión entonces se presenta la variable Uso_Conexion que
puede ser 1 si es una conexión RBS (figura 4.6 b), 2 en caso de ser otra conexión
precalificada de las presentadas en la figura 4.6 y en el caso de no ser una conexión
precalificada se coloca 3, no se recomienda utilizar conexiones que no han sido
probadas experimentalmente y demostrado un buen desempeño pero a veces en el
medio se lo hace y por ello se decide incluirlo en el programa (para este caso el
momento esperado es menor que en el caso de conexiones precalificadas como un
factor de seguridad, esta consideración es académica).
[nv,np,nudt,nudcol,nudvg,nod,nr]=geometria_nudo_viga(sv,sp);
[X,Y]=glinea_portico2(nv,np,sv,sp,nod,nr);
[NI,NJ]=gn_portico2(nr, nv, nudt, nudcol, nudvg);
[CG,ngl]=cg_sismo2(nod,nr,Y); %Calcula los grados de libertad
[VC]=vc(NI,NJ,CG);
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
Xcol=X(1,1:nr);
Ypisos=nonzeros(unique(Y));
Nud_Xsimilares=zeros(nr,np);
for k = 1:nr
a=find(Xcol(1,k)==X);
Nud_Xsimilares(k,1:length(a))=a;
end
%% Masas
[MASA, masa_nudo, WBuilding, W]=masa_carga_reactiva(np, nv, qp, sv, g);
Dis_Fuerzas_Laterales = 1;
% % Dibujo de la Estructura 2D
% dibujo(X,Y,NI,NJ)
dibujoNudElem(X,Y,NI,NJ,CG)
% dibujogdl(X,Y,NI,NJ,CG)
118 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
Hasta este punto se colocan los datos, como puede apreciar el lector es muy sencillo
ingresar los datos y ensamblar un pórtico plano en CEINCI-LAB, esta ventaja es
aprovechada para facilitar el análisis no lineal con OpenSees. Seguido de esta
sección se muestra el código para generar los requerimientos que necesita
OpenSees y como la metodología es similar a la presentada en la sección 4 entonces
únicamente se explicará las nuevas rutinas.
%% Propiedades dinámicas
[Seccion,Elem_Tipo_Prop2,Z_ELEM,th_ELEM]=Diferentes_Vg_COL(nudt,Sec_VG_C
OL,Elem_Sec_VG_COL,Uso_Conexion,Fy,Es,L);
%Seccion=[ELEMENTO, Área, Inercia, NUMEROS DE ELEMENTOS A CREAR,
INCREMENTO EN NUMERO DE ELEMENTO]
[ELEM]=gelem_portico(Seccion);
% Matriz de Rigidez
[K]=krigidez_acero(ngl,ELEM,L,seno,coseno,VC,Es);
%.......................................................
KTT=K; %<------- MATRIZ "K" DE TODA LA ESTRUCTURA (T/m)
na=np;
kaa=KTT(1:na,1:na);kab=KTT(1:na,na+1:ngl);
kba=kab'; kbb=KTT(na+1:ngl,na+1:ngl);
KL=kaa-kab*inv(kbb)*kba;
%.......................................................
[T,fi,OM]=orden_eig(KL,MASA);
% Factores de participacion modal
b=ones(np,1);
for i=1:np
maxfi=max(abs(fi(:,i)));
120 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
fi(:,i)=fi(:,i)/maxfi;
end
for i=1:np
FP(:,i)=abs(((fi(:,i))'*MASA*b)/((fi(:,i))'*MASA*(fi(:,i))));
end
disp('Los periodos de vibración en segundos con CEINCI-LAB son:')
T % seg
% Grabar matrices de masa y rigidez
Masa_Rigidez = [MASA,KL];
mkdir Prop_Dinamicas_Estructuras_2D
save(['Prop_Dinamicas_Estructuras_2D\EST_1_M_K.txt'],['Masa_Rigidez'],'-ascii');
%.DATO:Dirección carpeta
(a) (b)
En este nuevo modelo se puede visualizar 300 elementos, es por ello que la matriz
denominada Tabla_Elem_Nud tiene 300 filas donde cada una de ellas corresponde
a un elemento. Esta matriz tiene 4 columnas donde la primera es una etiqueta, es
decir el primer número corresponde al elemento original (figura 2.14 c) seguido de 2
ceros y el último número, del 1 al 5, representa el segmento del elemento que fue
dividido; la columna 2 y 3 corresponde al nudo inicial y final de cada nuevo elemento,
la columna 4 es una etiqueta para identificar el tipo de propiedad que corresponde a
cada elemento. La etiqueta de la columna 4 puede ser 0 para elementos rígidos
(misma propiedad que un elemento elástico, pero con área e inercia multiplicada por
10), luego 1 para elementos elásticos, 2 para zonas de plasticidad concentrada con
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 121
Seguido de esto se debe tener en cuenta que los elementos se dividieron, entonces
se debe asignar las propiedades de los elementos con los modelos de CEINCI-LAB
a unas nuevas matrices considerando que se incrementaron en 5 veces el número
de elementos. En este caso la matriz Sec_AIZ contiene el área, inercia y módulo de
plasticidad de las secciones de cada elemento; la matriz th_Sec almacena las
rotaciones en base a las ecuaciones de Krawinkler y L2 es una matriz con las
longitudes del elemento original, es decir sin dividir; se requiere esta porque en
Pushover_Opensees_V2() se determina la rigidez a flexión de los elementos que
depende de la longitud del elemento para hacer la corrección de rigidez como se
indica en la sección 4. Para el lector es evidente que la función principal de todo este
proceso es Pushover_Opensees_V2() ya que esta función es la que traduce del
lenguaje (MATLAB) con las funciones de CEINCI-LAB al lenguaje Tcl que requiere
OpenSees para ejecutarse, entonces esta función tiene el mismo propósito que
Pushover_Opensees explicado en la figura 4.9.
%% Elementos y nudos
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos_V2(nudt,nudcol,nod,NI,NJ,X,Y,Sec_V
G_COL,Elem_Tipo_Prop2);
! OpenSees.exe Pushover_Estructura.tcl
(a)
(b)
Los resultados del análisis Pushover se almacenan en una carpeta que es generada
de forma automática por OpenSees, esta carpeta tiene por nombre Concentrated-
Pushover-Output y almacena en este caso 5 archivos de texto con extensión .out,
estos archivos son Desplazamiento en el tope Disp_Roof, y para cada nudo de la
base se genera un archivo denominado Vbase# con información del cortante
experimentado como reacción ante las cargas laterales aplicadas.
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover2(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 123
Figura 5.4 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OPENSEES (Distribución de cargas en función del 1er modo de vibración).
(a) (b)
Figura 5.5 Estructura con diagonales a) en V invertida; b) en X de múltiples pisos.
124 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
Dimensiones (mm)
Color Elemento
D_ext x e
Diagonal Piso 1
219.10x8.18
HSS 8x0.32
Diagonal Piso 2
168.30x7.11
HSS 6x0.28
Diagonal Piso 3
141.30x6.55
HSS 5x0.26
% ...................................................
[nv,np,nudt,nudcol,nudvg,nod,nr]=geometria_nudo_viga(sv,sp);
[X,Y]=glinea_portico2(nv,np,sv,sp,nod,nr);
[NI,NJ]=gn_portico2(nr, nv, nudt, nudcol, nudvg);
[CG,ngl]=cg_sismo2(nod,nr,Y); %Calcula los grados de libertad
[VC]=vc(NI,NJ,CG);
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
Xcol=X(1,1:nr);
Ypisos=nonzeros(unique(Y));
Nud_Xsimilares=zeros(nr,np);
for k = 1:nr
a=find(Xcol(1,k)==X);
Nud_Xsimilares(k,1:length(a))=a;
end
% ...................................................
[GEN]=geometria2_nudo_diagonales(nv, np, nudt,mar2,marv);
[NI2,NJ2]=gn_portico(GEN);
[NI_Diag,NJ_Diag]=gn_portico3(NI,NJ, NI2,NJ2);
% ...................................................
[VC_Diag]=vc(NI_Diag,NJ_Diag,CG);
[L_Diag,seno_Diag,coseno_Diag]=longitud(X,Y,NI_Diag,NJ_Diag); %long. de
@elem, seno y coseno
Para los lectores que han revisado con detenimiento los avances de CEINCI-LAB y
los artículos de los autores respecto al acoplamiento de este sistema computacional
con OpenSees es fácil asimilar que hasta este punto se definen las coordenadas de
los nudos X, Y junto con la definición de los elementos, cada elemento es definido
por el nudo inicial NI y por el nudo final NJ, además se entiende por las siglas Diag
a los vectores que contiene información de los elementos con las diagonales.
A continuación, se debe definir las masas, la distribución de las cargas laterales para
el Pushover monotónico, los dibujos y las propiedades de los elementos vigas y
columnas. En caso de requerir realizar los dibujos del pórtico con las diagonales
entonces el usuario debe emplear las funciones de dibujo con las variables con el
nombre Diag.
% dibujogdl(X,Y,NI_Diag,NJ_Diag,CG)
%% ...................................................SECCIONES
%% Propiedades del material
Fy=25310.505; % Esfuerzo de fluencia, T/m2
Es=200.0*1000000.0/9.81;% Módulo de elasticidad, T/m2
Fu=40778.036; % Esfuerzo último, T/m2
Fy_brace=Fy;
Es_brace=Es;
% Sec_VG_COL = Elementos I =[tipo#, d,tw,bs,bi,tfs,tfi]... En milimetros!!
Sec_VG_COL=[1 393.7, 22.6, 398.8, 398.8, 36.6, 36.6 ; % Tipo 1 es W14x193
2 381.0, 18.9, 396.2, 396.2, 30.2, 30.2 ; % Tipo 2 es W14x159
3 363.2, 13.3, 370.8, 370.8, 21.8, 21.8 ; % Tipo 3 es W14x109
4 772.2, 16.6, 381.0, 381.0, 27.2, 27.2 ; % Tipo 4 es W30x173
5 696.0, 15.4, 355.6, 355.6, 24.8, 24.8 ; % Tipo 5 es W27x146
6 612.14,12.7, 325.12, 325.12, 19.05, 19.05 ; % Tipo 6 es W24x104
7 754.4, 13.2, 266.7, 266.7, 17.0, 17.0 ; % Tipo 7 es W30x99
8 683.3, 12.4, 254.0, 254.0, 18.9, 18.9 ; % Tipo 8 es W27x94
9 607.1, 11.2, 228.3, 228.3, 17.3, 17.3]; % Tipo 9 es W27x76;
% Elem_Sec_VG_COL = ["tipo# respecto de Sec_VG_COL", Identificador de los
elementos]
Elem_Sec_VG_COL=[1 1, 5, 4, 8 0, 0;
2 9, 13, 12, 16 0, 0;
3 17, 21, 20, 24 0, 0;
4 2, 6, 3, 7 0, 0;
5 10, 14, 11, 15 0, 0;
6 18, 22, 19, 23 0, 0;
7 25, 26, 27, 28, 29, 30;
7 31, 32, 33, 34, 35, 36;
8 37, 38, 39, 40, 41, 42;
8 43, 44, 45, 46, 47, 48;
9 49, 50, 51, 52, 53, 54;
9 55, 56, 57, 58, 59, 60];
Masa_Rigidez = [MASA,KL];
mkdir Prop_Dinamicas_Estructuras_2D
save(['Prop_Dinamicas_Estructuras_2D\EST_1_M_K.txt'],['Masa_Rigidez'],'-ascii');
%.DATO: Dirección carpeta
Con el código hasta este punto se tiene el modelo de OpenSees para el análisis, pero
aún se encuentra en MATLAB y como el lector conoce es necesario pasar este código
a lenguaje Tcl para que se ejecute el análisis en OpenSees. Entonces para realizar
130 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
Pushover_Opensees_Diag_V2()
! OpenSees.exe Pushover_Estructura_Ref.tcl
(a)
(b)
Figura 5.7 a) Modelo con diagonales generado en CEINCI-LAB. b) Ventana con la simulación
del análisis Pushover en OpenSees.
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover2(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
%% Grabar los archivos
mkdir Pushover_Estructuras_2D
save(['Pushover_Estructuras_2D\EST_3.txt'],['Resultados'],'-ascii');
Figura 5.8 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OPENSEES (Distribución de cargas en función del 1er modo de vibración).
En la figura 5.10 se puede observar que las estructuras con diagonales aumentan la
rigidez y resistencia ante cargas laterales.
Figura 5.10 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OpenSees.
Para los perfiles metálicos se tiene las propiedades del material ASTM A36, Fy = 36
ksi, Fu = 58 ksi y E = 29000 Ksi.
Dimensiones (mm)
Color Elemento
d x b x tf x tw
Vigas
210x140x10x6
W8x15
Vigas
260x100x8x6
W10x22
Dimensiones (mm)
Color Elemento
d x b x tf x tw_rec
Columnas
200x140x6x6
HSS8x6x1/4
134 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
El lector que ha llegado a este punto de la monografía ya conoce como ingresar los
datos de sección para definir la geometría en CEINCI-LAB, es decir los datos de los
vectores sv y sp, también comprende que los datos en qp son las cargas
uniformemente distribuidas en las vigas del primero y segundo piso
correspondientemente.
del alma de 2 veces el espesor del alma de la sección rectangular (ver figura 5.11).
El ingreso de estas propiedades se ilustra en el código y se resalta con color rojo este
cambio.
(a) (b)
4
𝑍= ∗ (𝑟 3 − (𝑟 − 𝑡𝑤)3 )
3 (5.3)
Una vez calculadas estas propiedades para la sección circular entonces se debe
sustituir ese valor en las posiciones correspondientes dentro de las matrices Seccion
y Z_ELEM en este caso se requiere cambiar para los elementos 5 y 10, esto se lo
hace como se indica en el código a continuación.
%% Propiedades dinámicas
[Seccion,Elem_Tipo_Prop2,Z_ELEM,th_ELEM]=Diferentes_Vg_COL(nudt,Sec_VG_COL,
Elem_Sec_VG_COL,Uso_Conexion,Fy,Es,L);
%% Modificacion debido a seccion circular
r = 220/2*1/1000; % Radio de la seccion circular en metros
tw = 6.35/1000; % Espesor de la seccion circular en metros
A=pi*(r^2-(r-tw)^2);
I=pi/4*(r^4-(r-tw)^4);
Z=4/3*(r^3-(r-tw)^3);
Seccion([5,10],2)=A;
Seccion([5,10],3)=I;
Z_ELEM([5,10],1)=Z;
Estos son los cambios que se requieren para el análisis Pushover con secciones
circulares en columnas, no obstante, esto solo es posible hacer en columnas. Los
modelos para el análisis Pushover considerados en esta monografía son modelos de
plasticidad concentrada, además en vigas la asignación de la no linealidad del
material se lo realiza en función del modelo de Krawinkler, en este modelo las
ecuaciones para las rotaciones, momentos de fluencia y otros parámetros relevantes
para la no linealidad son calibradas para vigas de sección “I”.
138 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
Figura 5.14 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OPENSEES (Distribución de cargas en función del 1er modo de vibración).
6. ACOPLAMIENTO CEINCI-LAB Y OPENSEES
NIVEL 2: ESTRUCTURAS DE ACERO CON
IRREGULARIDADES
Dimensiones (mm)
Color Elemento
d x b x tf x tw
Columnas
773x381x27.2x17.2
W30x173
Columnas
394x399x22.6x36.6
W14x193
Columnas
696x355.6x24.8x24.8
W27x146
Vigas
754x268x17x13
W30x99
Vigas
683x254x18.9x18.9
W27x94
La estructura en la figura 6.1 con las irregularidades indicadas, puede ser generada
desde 2 bloques o partes que componen la estructura como se indica en la figura 6.2,
no obstante la forma para definir la geometría de una estructura es a criterio del
usuario, es decir que dependerá de cada usuario la forma de proceder pero se debe
respetar que los bloques sean generados desde la base hacia la cubierta para que
sean útiles las rutinas del análisis de estructuras regulares detalladas en artículos
publicados anteriormente por los autores.
Los pórticos de la parte 1 del Bloque Estructural tiene 5 vanos de 6.0 m y 7.0 m; esa
información se da en la variable “sv1”; la altura de cada piso es de 4.0 m para el primer piso
y 3.60 para el nivel 2 y 3, esto se da en la variable “sp1”. Los valores de Xo1 y Yo1 son ceros
debido a que este bloque estructural no será desplazado respecto al eje de coordenadas
X=0, Y=0.
Para el bloque 2 que en la figura 6.2 se muestra encerrado en color verde debe ingresar la
separación de vanos y alturas de pisos en los vectores sv2, y sp2, esto se lo hace como si
fueran pórticos regulares y posteriormente para ubicarlos en las posiciones que
corresponden se debe ingresar la información de desface en Xo2, y Yo2. Para la parte 2 se
puede notar que Xo2 y Yo2 no es cero debido a que el pórtico debe ser desfasado en sentido
horizontal y vertical, es decir asignar el valor Xo2 como 6 y Yo2 como 11.2 m.
% % Dibujo de la Estructura 2D
dibujo(X,Y,NI,NJ)
dibujoNudElem(X,Y,NI,NJ,CG)
dibujogdl(X,Y,NI,NJ,CG)
(a)
(b)
(c)
%% Cargas
g=9.81; % Gravedad m/seg2
qp=[-3.269;-3.269;-3.269;-3.269;-1.8517]; % carga distribuida en vigas en cada piso T/m
Uso_Conexion = 1;
%Uso_Conexion = # % Conexion Precalificada RBS 1, Conexion Precalificada diferente
que RBS 2, No Precalificada 3.
Deriva_Global = 0.04; % Fracción de la altura total de la estructura
% ...................................................
Xcol=X(1,1:nr);
Ypisos=nonzeros(unique(Y));
Nud_Xsimilares=zeros(nr,np);
for k = 1:nr
a=find(Xcol(1,k)==X);
Nud_Xsimilares(k,1:length(a))=a;
end
% ...................................................
%% Masas
%% ...................................................SECCIONES
%% Propiedades del material
Fy=25310.505; % Esfuerzo de fluencia, T/m2
Es=200.0*1000000.0/9.81;% Módulo de elasticidad, T/m2
Fu=40778.036; % Esfuerzo último, T/m2
% Sec_VG_COL = Elementos I =[tipo#, d,tw,bs,bi,tfs,tfi]... En milimetros!!
Sec_VG_COL=[1 393.7, 22.6, 398.8, 398.8, 36.6, 36.6 ; % Tipo 1 es W14x193*
2 772.2, 16.6, 381.0, 381.0, 27.2, 27.2 ; % Tipo 2 es W30x173*
3 696.0, 15.4, 355.6, 355.6, 24.8, 24.8 ; % Tipo 3 es W27x146*
4 754.4, 13.2, 266.7, 266.7, 17.0, 17.0 ; % Tipo 4 es W30x99
5 683.3, 12.4, 254.0, 254.0, 18.9, 18.9]; % Tipo 5 es W27x94
% Elem_Sec_VG_COL = ["tipo# respecto de Sec_VG_COL", Identificador de los
elementos]
Elem_Sec_VG_COL=[1 1, 7, 13, 6, 12, 18, 0, 0, 0, 0;
2 3, 4, 9, 10, 15, 16, 0, 0, 0, 0;
3 2, 8, 14, 49, 53, 5, 11, 17, 52, 56;
3 50, 51, 54, 55, 0, 0, 0, 0, 0, 0;
4 19, 20, 21, 22, 23, 24, 25, 26, 27, 28;
4 29, 30, 31, 32, 33, 34, 35, 36, 37, 38;
4 39, 40, 41, 42, 43, 44, 45, 46, 47, 48;
5 57, 58, 59, 60, 61, 62, 63, 64, 65, 66;
5 67, 68 0, 0, 0, 0, 0, 0, 0, 0];
% ...................................................
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 145
%% Elementos y nudos
s_vanos=zeros(nr-1,np);
for t=1:np
num_vanos(t,1)=length(nonzeros(Nud_Xsimilares(:,1+t)))-1;
matriz=nonzeros(Nud_Xsimilares(:,t+1));
146 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
for l=1:num_vanos(t,1)
s_vanos(l,t)=X(1,matriz(l+1,1))-X(1,matriz(l,1));
end
end
%%
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos_V2_Irreg(nr_Bloque,nod,NI,NJ,X,Y,Se
c_VG_COL,Elem_Tipo_Prop2, coseno);
[Sec_AIZ,th_Sec, L2]=Secciones_Mod_OpenSees(nudt,ELEM, Z_ELEM,th_ELEM, L); %
Area, Inercia, Modulo Plastico Z
% ...................................................
NI=Tabla_Elem_Nud(:,2)';
NJ=Tabla_Elem_Nud(:,3)';
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
num_elem=nudt*5;
HBuilding=max(Y);
% ...................................................
%% Nudos con grados de libertad iguales
[DOF]=MismosGDL_Irreg(nod,np,Xcol,Ypisos,X,Y);
En este punto el lector reconoce que la función principal de todo este proceso es
Pushover_Opensees_V2() ya que esta función es la que traduce del lenguaje
(MATLAB) con las funciones de CEINCI-LAB al lenguaje Tcl que requiere OpenSees
para ejecutarse, entonces esta función tiene el mismo propósito que
Pushover_Opensees.
dibujoNudElemMODPUSH(X,Y,NI,NJ)
Pushover_Opensees_V2()
! OpenSees.exe Pushover_Estructura.tcl
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover2(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
(a)
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 147
(b)
Figura 6.5 a) Modelo de vigas y columnas generado en CEINCI-LAB. b) Ventana con la
simulación del análisis Pushover en OpenSees.
Los resultados del análisis Pushover se almacenan en una carpeta que es generada
de forma automática por OpenSees, esta carpeta tiene por nombre Concentrated-
Pushover-Output y almacena en este caso 7 archivos de texto con extensión .out,
estos archivos son Desplazamiento en el tope Disp_Roof, y para cada nudo de la
base se genera un archivo denominado Vbase# con información del cortante
experimentado como reacción ante las cargas laterales aplicadas.
Figura 6.6 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OPENSEES (Distribución de cargas laterales con patrón triangular).
(a) (b)
Figura 6.7 Estructura con diagonales a) en V invertida; b) en X de múltiples pisos.
148 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
Dimensiones (mm)
Color Elemento
D_ext x e
Diagonal Piso 1
219.10x8.18
HSS 8x0.32
% NI2(1,nELEM+1:nELEM+num_Diag)=[1,18,18,2,20,20,5,26,26,6,28,28];
% NJ2(1,nELEM+1:nELEM+num_Diag)=[8,8,30,8,8,30,16,16,38,16,16,38]';
[NI_Diag,NJ_Diag]=gn_portico3(NI,NJ, NI2,NJ2);
% ...................................................
%% Cálculos de Grados de libertad e información relevante de la estructura
[CG,ngl]=cg_sismo2(nod,nr,Y);
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
[VC]=vc(NI,NJ,CG); %Vector de colocación
% ...................................................
[VC_Diag]=vc(NI_Diag,NJ_Diag,CG);
[L_Diag,seno_Diag,coseno_Diag]=longitud(X,Y,NI_Diag,NJ_Diag); %long. de
@elem, seno y coseno
En el código anterior se muestra de color morado los vectores para el nudo inicial y
final de elementos que definen la configuración de la figura 6.7 b, se encuentra
comentado para que MATLAB no ejecute estas líneas, pero con este ejemplo el
usuario puede definir estos elementos. A continuación, se presenta las líneas de
código para generar las gráficas de los pórticos como se muestra en la figura 6.8.
%% ...................................................SECCIONES
%% Propiedades del material
Fy=25310.505; % Esfuerzo de fluencia, T/m2
Es=200.0*1000000.0/9.81;% Módulo de elasticidad, T/m2
Fu=40778.036; % Esfuerzo último, T/m2
Fy_brace=Fy;
Es_brace=Es;
% Sec_VG_COL = Elementos I =[tipo#, d,tw,bs,bi,tfs,tfi]... En milimetros!!
Sec_VG_COL=[1 393.7, 22.6, 398.8, 398.8, 36.6, 36.6 ; % Tipo 1 es W14x193*
2 772.2, 16.6, 381.0, 381.0, 27.2, 27.2 ; % Tipo 2 es W30x173*
3 696.0, 15.4, 355.6, 355.6, 24.8, 24.8 ; % Tipo 3 es W27x146*
4 754.4, 13.2, 266.7, 266.7, 17.0, 17.0 ; % Tipo 4 es W30x99
5 683.3, 12.4, 254.0, 254.0, 18.9, 18.9]; % Tipo 5 es W27x94
% Elem_Sec_VG_COL = ["tipo# respecto de Sec_VG_COL", Identificador de los
elementos]
Elem_Sec_VG_COL=[1 1, 7, 13, 6, 12, 18, 0, 0, 0, 0;
2 3, 4, 9, 10, 15, 16, 0, 0, 0, 0;
3 2, 8, 14, 49, 53, 5, 11, 17, 52, 56;
3 50, 51, 54, 55, 0, 0, 0, 0, 0, 0;
4 19, 20, 21, 22, 23, 24, 25, 26, 27, 28;
4 29, 30, 31, 32, 33, 34, 35, 36, 37, 38;
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 151
4 39, 40, 41, 42, 43, 44, 45, 46, 47, 48;
5 57, 58, 59, 60, 61, 62, 63, 64, 65, 66;
5 67, 68 0, 0, 0, 0, 0, 0, 0, 0];
% ...................................................
% Secciones para las diagonales * Nota lo importante es el área e inercia
% Tipo 1
diae=0.22; %Diámetro exterior
diai=0.22-8*2/1000; %Diámetro interior
A1=pi*diae^2/4-pi*diai^2/4; % área
I1=pi*diae^4/64-pi*diai^4/64; % inercia
Sec_Diag = [69 A1 I1 11 1];
%% Propiedades dinámicas
nudt=nELEM;
nudcol=28;
[Seccion,Elem_Tipo_Prop2,Z_ELEM,th_ELEM]=Diferentes_Vg_COL(nudt,Sec_VG_COL,
Elem_Sec_VG_COL,Uso_Conexion,Fy,Es,L);
%Seccion=[ELEMENTO, Área, Inercia, NUMEROS DE ELEMENTOS A CREAR,
INCREMENTO EN NUMERO DE ELEMENTO]
[ELEM]=gelem_portico(Seccion);
% Para las diagonales
[ELEM_Diag]=gelem_portico(Sec_Diag);
ELEM=[ELEM;ELEM_Diag(length(NI)+1:end,:)];
% Matriz de Rigidez
% Matriz de Rigidez
ELEMH=ELEM(1:length(NI),:);
[KH]=krigidez_acero(ngl,ELEMH,L,seno,coseno,VC,Es); % Del pórtico principal
%Contribucion de elementos Diagonales de Acero.............................
ELEMA=ELEM(length(NI)+1:end,:);
LA=L_Diag(length(NI)+1:end); senoA=seno_Diag(length(NI)+1:end);
cosenoA=coseno_Diag(length(NI)+1:end); VCA=VC_Diag(length(NI)+1:end,:);
num_Diag=length(LA);
%%%%%%%%%%%%%%%%%%%%%%%%%%%% UNIDADES cm
Est = Es/10; % Módulo de elasticidad, (kg/cm2)
for ie=1:np
if ie==1
spFin(ie,1)=Ypisos(ie,1)-0.0;
else
spFin(ie,1)=Ypisos(ie,1)-Ypisos(ie-1,1);
end
end
H=spFin*100;
d_col = 0.0; % De forma conservadora y por facilidad ** Esto puede cambiar el usuario
d_beam = 0.0; % De forma conservadora y por facilidad ** Esto puede cambiar el usuario
hci=d_col*100;hcd=d_col*100;hdis=0;Lon=sv1(1,1)*100;hv=d_beam*100;
Kef=zeros(np,1);
for ie=1:np
pos =length(NI)+1+2*(ie-1)+1; % Posición del área de cada diagonal en la matriz ELEM
[Kdiag(ie),Keq(ie)]=rigidez_equivalente_TADAS(hci,hcd,hdis,Lon,hv,H(ie),Kef(ie),ELEM(p
os,1)*10000,Est);
end
Kdiag=Kdiag/10; % Para tener en T/m
ELEMT_Diag=[Kdiag(1);Kdiag(1); Kdiag(1);Kdiag(1);
Kdiag(2);Kdiag(2); Kdiag(2);Kdiag(2);
Kdiag(3);Kdiag(3); Kdiag(3);Kdiag(3)];
152 Acoplamiento CEINCI-LAB con OpenSees Nivel 2
[KA]=krigidez_tadas(num_Diag,ngl,ELEMT_Diag,senoA,cosenoA,VCA); %Rigidez de
Diagonales
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%.......................................................
KTT=KH+KA; %<------- MATRIZ "K" DE TODA LA ESTRUCTURA (Tn/m)
na=np;
kaa=KTT(1:na,1:na);kab=KTT(1:na,na+1:ngl);
kba=kab'; kbb=KTT(na+1:ngl,na+1:ngl);
KL=kaa-kab*inv(kbb)*kba;
%.......................................................
[T,fi,OM]=orden_eig(KL,MASA);
% Factores de participacion modal
b=ones(np,1);
for i=1:np
maxfi=max(abs(fi(:,i)));
fi(:,i)=fi(:,i)/maxfi;
end
for i=1:np
FP(:,i)=abs(((fi(:,i))'*MASA*b)/((fi(:,i))'*MASA*(fi(:,i))));
end
disp('Los periodos de vibración en segundos con CEINCI-LAB son:')
T % seg
% Grabar matrices de masa y rigidez
Masa_Rigidez = [MASA,KL];
%% Elementos y nudos
s_vanos=zeros(nr-1,np);
for t=1:np
num_vanos(t,1)=length(nonzeros(Nud_Xsimilares(:,1+t)))-1;
matriz=nonzeros(Nud_Xsimilares(:,t+1));
for l=1:num_vanos(t,1)
s_vanos(l,t)=X(1,matriz(l+1,1))-X(1,matriz(l,1));
end
end
%%
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos_V2_Irreg(nr_Bloque,nod,NI,NJ,X,Y,Se
c_VG_COL,Elem_Tipo_Prop2, coseno);
[Sec_AIZ,th_Sec, L2]=Secciones_Mod_OpenSees(nudt,ELEM, Z_ELEM,th_ELEM, L); %
Area, Inercia, Modulo Plastico Z
% ...................................................
NI=Tabla_Elem_Nud(:,2)';
NJ=Tabla_Elem_Nud(:,3)';
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
num_elem=nudt*5;
HBuilding=max(Y);
%..................................
L_rig=0.6; % Longitud para la zona rigida en las diagonales debido a las placas
NI2=[zeros(1,length(NI)), NI2(1,end-num_Diag+1:end)];
Acoplamiento CEINCI-LAB con OpenSees Nivel 2 153
NJ2=[zeros(1,length(NI)), NJ2(1,end-num_Diag+1:end)];
[NI_Diag,NJ_Diag]=gn_portico3(NI,NJ, NI2,NJ2);
% ...................................................
num_COL_VG=length(NI)/5; % Elementos columnas y vigas del modelo original
[Tabla_Elem_Nud_Diag,nod_Diag,X_Diag,Y_Diag]=ElementosNudosDiagonales(nod
,num_COL_VG,num_Diag,NI_Diag,NJ_Diag,X,Y,L_rig);
NI_Diag=Tabla_Elem_Nud_Diag(:,2)';
NJ_Diag=Tabla_Elem_Nud_Diag(:,3)';
[L_Diag,seno_Diag,coseno_Diag]=longitud(X_Diag,Y_Diag,NI_Diag,NJ_Diag);
%long. de @elem, seno y coseno
NI_Diag=[NI,NI_Diag];
NJ_Diag=[NJ,NJ_Diag];
% ...................................................
%% Nudos con grados de libertad iguales
[DOF]=MismosGDL_Irreg(nod,np,Xcol,Ypisos,X,Y);
%% Dibujos
% dibujo(X,Y,NI,NJ)
Sec_AI_Diag=ELEMA; % Área e inercia de diagonales
Pushover_Opensees_Diag_V2()
! OpenSees.exe Pushover_Estructura_Ref.tcl
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover2(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
En la figura 6.9 se presenta las curvas Pushover para las estructuras irregulares sin
y con diagonales, las diagonales permiten que se eleve la resistencia y rigidez de las
estructuras.
Figura 6.9 Curva Pushover generada por CEINCI-LAB mediante el acoplamiento con
OpenSees.
REFERENCIAS
Aguiar, R., Cagua, B., Pilatasig, J. & Zambrano, E. (2019). Interfase ICEINCI-LAB y
nuevas funciones. Revista Internacional de Ingeniería de Estructuras, 24(2), 167-
199.
Aguiar, R., Cagua, B. & Pilatasig, J. (2019). Nuevas funciones del sistema CEINCI-
LAB para análisis sísmico espacial. Revista Internacional de Ingeniería de
Estructuras, 24(3), 259-276.
Arango, S., Paz, A. & Del Pilar Duque, M. (2013). Propuesta metodológica para la
evaluación del desempeño estructural de una estantería metálica. Revista EIA,
6(12), 139-154.
Bosco, M., Ferrara, E., Ghersi, A., Marino, E. & Rossi, P. P. (2014). Improvement of
the Model Porposed by Menegotto and Pinto for Steel. European Conference on
Earhquake Engineering and Seimology(2), 25-29.
Cagua, B., Pilatasig, J. & Aguiar, R. (2020). NUEVAS FUNCIONES DEL SISTEMA
CEINCI-LAB PARA ANÁLISIS SÍSMICO ESPACIAL DE ESTRUCTURAS
IRREGULARES. Revista Internacional de Ingeniería de Estructuras, 25(1), 61-
95.
Del Valle E., Lobo W., Vielma J. C. (2014) “Análisis comparativo de la capacidad de
disipación de energía de edificios de acero con diagonales concéntricas y
excéntricas”, Revista Internacional de Ingeniería de Estructuras, 19 (2), 143-171
Díaz L., Moscoso M., Campbell J., Durán M., Aguiar R. (2015). “Estudio
Experimental de pórticos de hormigón armado solicitado a cargas laterales
crecientes”, Revista Internacional de Ingeniería de Estructuras, 20 (1), 101-113.
FEMA 356 (2000). Prestandard and Commentary for the Seismic Rehabilitation of
Buildings. Prepared by the American Society of Civil Engineers (ASCE), Federal
Emergency Management Agency (FEMA). Washington D.C., USA.
García, Ó. R., García, L. M. J., Castelló, L. P., Aparicio, A. G. & Vidal, A. P. (2018).
MATLAB: conceptos básicos y descripción gráfica. Universidad Miguel
Hernández.
Godínez E., López Almansa F. (2014), “Importancia del diseño de las conexiones viga
columna en la capacidad sismo resistente de edificios dúctiles de concreto reforzado
en México”, Revista Internacional de Ingeniería de Estructuras, 19 (2), 113-142.
Herrera, M., Parra, K., Palacios, P., Palacios, P., Olmedo, J., Cagua, B., Pilatasig, J. &
Palma, D. (2019). Análisis sísmico espacial de estructuras reforzadas con
diagonales de acero utilizando CEINCI-LAB. Revista Internacional de Ingeniería
de Estructuras, 24(4), 343-363.
Hughes, T. (1987). “The Finite Element Method. Linear Static and Dinamic Finite
Element Analysis”, ISBN 0-13-317017-9, Prentice-Hall.
Mora D., Aguiar R. (2015, 2), “Pushover multimodal en estructuras con disipadores
de energía ADAS o TADAS”, Revista Internacional de Ingeniería de Estructuras,
20 (2), 157-197.
Ejercicio 1:
(a) (b)
Figura A.2 a) Comportamiento idealizado de un material elástico. b) Comportamiento
idealizado de un material elástico perfectamente plástico.
Se recomienda al lector emplear algún editor de lenguaje tcl para definir los modelos:
# 1_Definir modelo
# model BasicBuilder -ndm $ndm <-ndf $ndf>
model BasicBuilder -ndm 2 -ndf 2
# 2_Definir Geometria
# Definir nodos
# node $nodeTag (ndm $coords) <-mass (ndf $massValues)>
# node (numero de nudo) "X" "Y"
node 1 0 0
node 2 [expr -300/tan(60*3.1416/180)] -300
node 3 [expr +300/tan(60*3.1416/180)] -300
node 4 300 0
puts "Nudos definidos"
# Soporte o condiciones de borde
# fix $nodeTag (ndf $constrValues)
#(0= no tiene restriccion; 1= si tiene restriccion)
fix 2 1 1
fix 3 1 1
fix 4 1 1
puts "Apoyos definidos"
# Definir materiales
# Material
elástico..................................................................
# uniaxialMaterial Elastic $matTag $E <$eta> <$Eneg>
set matTag1 1;
set E 2000. ; #Ton/cm2
# Material
Inelástico................................................................
# uniaxialMaterial Steel01 $matTag $Fy $E0 $b <$a1 $a2 $a3 $a4>
set matTag2 2;
set E0 2000. ; #Ton/cm2
set Fy 3.5; #Ton/cm2
set b 0.00001;
uniaxialMaterial Steel01 $matTag2 $Fy $E0 $b
puts "Materiales definidos"
# Definir propiedades de los elementos (áreas)
160 Anexos
# Variacion de carga
timeSeries Linear 1
timeSeries Constant 2
# Patron de carga
# pattern Plain $patternTag $tsTag <-fact $cFactor> {
set Lateral 1
pattern Plain $Lateral 1 {
#load $nodeTag (ndf $LoadValues)
load 1 300 0
}
puts "Cargas definidas"
# Recorders ................ IMPORTANTE ....................
# recorder Node <-file $fileName> <-xml $fileName> <-binary $fileName> <-tcp
$inetAddress $port> <-precision $nSD> <-timeSeries $tsTag> <-time> <-dT
$deltaT> <-closeOnWrite> <-node $node1 $node2 ...> <-nodeRange $startNode
$endNode> <-region $regionTag> -dof ($dof1 $dof2 ...) $respType'
# ..........................................................................
# En el caso de estar asignando propiedades matTag1 usar estos recorders
file mkdir Resultados_Elastico ; #Comado que crea carpeta
recorder Node -file Resultados_Elastico/Nodo1_X.out -time -node
1 -dof 1 disp
# recorder Element <-file $fileName> <-xml $fileName> <-binary $fileName> <-
precision $nSD> <-time> <-closeOnWrite> <-dT $deltaT> <-ele ($ele1 $ele2 ...)>
<-eleRange $startEle $endEle> <-region $regTag> $arg1 $arg2 ...
recorder Element -file Resultados_Elastico/FuerzasAxi.out -time -ele 1 2
3 axialForce
recorder Element -file Resultados_Elastico/Fuerzas.out -time -ele 1 2 3
forces
# ..........................................................................
# En el caso de estar asignando propiedades matTag2 usar estos recorders
#file mkdir Resultados_Elastico_Pefect_Plast ; #Comando que crear carpeta
Anexos 161
# 4_Análisis
Cuando sea la primera vez que se quiera ejecutar un código Tcl en OpenSees se
requiere activar el lenguaje Tcl, para descargar el programa que permite activar este
lenguaje Tcl se recomienda visitar el enlace:
https://www.activestate.com/products/tcl/downloads/
2. Ejecutar el modelo:
En una carpeta se debe tener el script del ejercicio en Tcl junto con OpenSees, luego
iniciar OpenSees y ejecutar el script 1 (source Armadura_Ej_1.tcl y enter) entonces
se genera una carpeta con los resultados del modelo como se muestra a continuación
en la figura A.3, realizar esto cambiando el tipo de material para tener 2 carpetas.
162 Anexos
% Datos
Fuerza=300; % T
Fy = 3.5; % T/cm2
A1 = 40; % cm2
A2 = 20; % cm2
Axial_1 = FuerzasAxi(:,2); % T
Axial_2 = FuerzasAxi(:,3); % T
Axial_3 = FuerzasAxi(:,4); % T
Fuerzas = Fuerza*Porcentaje_Fuerza; % T
num_pasos = length(Desp_Elastico);
Py_1 = Fy*ones(num_pasos,1)*A1; % T
Py_2 = Fy*ones(num_pasos,1)*A2; % T
%% Gráfica 1: Fuerza-Desplazamiento
set(0,'defaultfigurecolor',[1 1 1])
figure
plot(Desp_Elastico,Fuerzas,'b','LineWidth',2.0)
hold on
title('Fuerza vs Desplazamiento','fontsize',16)
Anexos 163
Nodo1_X_PP= load(['Resultados_Elastico_Pefect_Plast\Nodo1_X.out']);
%.DATO:Dirección carpeta
FuerzasAxi_PP=
load(['Resultados_Elastico_Pefect_Plast\FuerzasAxi.out']);
%.DATO:Dirección carpeta
Axial_1_PP = FuerzasAxi_PP(:,2); % T
Axial_2_PP = FuerzasAxi_PP(:,3); % T
Axial_3_PP = FuerzasAxi_PP(:,4); % T
%% Gráfica 2: Fuerza-Desplazamiento
set(0,'defaultfigurecolor',[1 1 1])
figure
plot(Desp_Elastico_PP,Fuerzas_PP,'g','LineWidth',2.0)
hold on
xlim([0 5])
title('Fuerza vs Desplazamiento','fontsize',16)
xlabel('Desplazamiento Nudo 1 [cm]','fontsize',14)
ylabel('Fuerza Nudo 1 [T]','fontsize',14)
legend({'Análisis Elástico Perfectamente
Plástico'},'Location','best','fontsize',12)
grid on
box on
%% Gráfica 3: Fuerza-Desplazamiento
set(0,'defaultfigurecolor',[1 1 1])
figure
plot(Desp_Elastico,Fuerzas,'b','LineWidth',2.0)
hold on
plot(Desp_Elastico_PP,Fuerzas_PP,'g','LineWidth',2.0)
hold on
xlim([0 5])
title('Fuerza vs Desplazamiento','fontsize',16)
xlabel('Desplazamiento Nudo 1 [cm]','fontsize',14)
ylabel('Fuerza Nudo 1 [T]','fontsize',14)
legend({'Análisis Elástico','Análisis Elástico Perfectamente
Plástico'},'Location','best','fontsize',12)
grid on
box on
%% Gráfica 4: Fuerza_Axial-Desplazamiento
set(0,'defaultfigurecolor',[1 1 1])
figure
plot(Desp_Elastico,Axial_1,'-m','LineWidth',2.0)
hold on
plot(Desp_Elastico,Axial_2,'-c','LineWidth',2.0)
hold on
plot(Desp_Elastico,Axial_3,'-y','LineWidth',2.0)
hold on
plot(Desp_Elastico_PP,Axial_1_PP,'--k','LineWidth',2.0)
hold on
plot(Desp_Elastico_PP,Axial_2_PP,'--b','LineWidth',2.0)
hold on
plot(Desp_Elastico_PP,Axial_3_PP,'--g','LineWidth',2.0)
hold on
plot(Desp_Elastico_PP,Py_1,'--r','LineWidth',1.0)
164 Anexos
hold on
plot(Desp_Elastico_PP,Py_2,'--r','LineWidth',1.0)
hold on
plot(Desp_Elastico_PP,-Py_1,'--r','LineWidth',1.0)
hold on
plot(Desp_Elastico_PP,-Py_2,'--r','LineWidth',1.0)
hold on
xlim([0 5])
title('Fuerza vs Desplazamiento','fontsize',16)
xlabel('Desplazamiento Nudo 1 [cm]','fontsize',14)
ylabel('Fuerza Axial de cada Elemento [T]','fontsize',14)
legend({'Análisis elástico Elemento 1','Análisis elástico Elemento
2',...
'Análisis elástico Elemento 3',...
'Análisis elástico perfectamente plástico Elemento 1',...
'Análisis elástico perfectamente plástico Elemento 2',...
'Análisis elástico perfectamente plástico Elemento 3',...
},'Location','best','fontsize',12)
grid on
box on
(a) (b)
Ejercicio 2:
# 1_Definir modelo
# model BasicBuilder -ndm $ndm <-ndf $ndf>
model BasicBuilder -ndm 2 -ndf 2
# 2_Definir Geometria
# Definir nodos
# node $nodeTag (ndm $coords) <-mass (ndf $massValues)>
# node (numero de nudo) "X" "Y"
node 1 0 0
166 Anexos
node 2 0 [expr
+2*300*cos(15*3.1416/180)]
node 3 [expr -300*sin(15*3.1416/180)] [expr
+300*cos(15*3.1416/180)]
# 4_Analisis
#4.1 CosntrainHandler: metodo utilizado para definir restricciones
constraints Plain
#4.2 DOF_Numberer: metodo para numerar grados de libertad
numberer Plain
#4.3 systemOfEqn/Solver: metodo para almacenar matrices de F=KU
system BandGeneral
#4.4 Convergence Test:
test EnergyIncr 1.e-006 1000
#4.5 Algorithm
algorithm Newton
#4.6 Integrator
# Analisis en base a DisplacementeControl
set despactual 0.0
set nPasos 10000; # Como quiero aplicar el desplazamiento (no llego en 1 solo
paso)
set ratio 1 ; # factor
foreach DincrT $displ {
set Dincr [expr $DincrT*$ratio/$nPasos] ; #Incremento de desplazamiento
(DX)
# integrator DisplacementControl $node $dof $incr
# 4.6 Integrator
integrator DisplacementControl $NodoControl 1 $Dincr
# 4.7 Tipo de analisis
analysis Static
if {$Dincr>0} {
set Dmax [expr $Dincr*$nPasos]
set ok 0
while {$ok == 0 && $despactual<$Dmax } { ;# Para cada
valor de desplazamiento, en cada Dincr
set ok [analyze 1] ;# Asigno valor
de "analize" a ok
168 Anexos
%% Datos
A = 20; % cm2
E = 2000; % T/cm2
Lo = 300; % cm
alfa_o = 15; % Grados
alfa_2 = 15; % Grados
%% Desarrollo
a = Lo*sin(alfa_o/180*pi);
b = Lo*cos(alfa_o/180*pi);
%% Análisis Analítico
% Análisis lineal
q = -a:a/10:3*a;
K_L=2*E*A*a^2/Lo^3;
Q_L_Analitico=K_L*q;
% Análisis no lineal
num=length(q);
for i=1:num
Anexos 169
K_NL(1,i)=K_L*(Lo)^3/a^2*(1/(((a-q(1,i))^2+b^2)^0.5)-1/Lo)*(a-
q(1,i))*1/q(1,i);
Q_NL_Analitico(1,i)=K_NL(1,i)*q(1,i);
end
%% Análisis OpenSees
% Para el análisis lineal
Nodo3_Y= load(['Resultados_Lineal\Nodo3_Y.out']); %.DATO:Dirección carpeta
FuerzasAxi= load(['Resultados_Lineal\FuerzasAxi.out']); %.DATO:Dirección
carpeta
Fuerzas= load(['Resultados_Lineal\Fuerzas.out']); %.DATO:Dirección carpeta
Q_L = Fuerzas(:,4)+Fuerzas(:,8);
q_L = Nodo3_Y(:,2);
%% Gráfica
set(0,'defaultfigurecolor',[1 1 1])
figure()
% Analítico
plot(q/a,Q_L_Analitico/(A*E),'-.o','LineWidth',1)
hold on
plot(q/a,Q_NL_Analitico/(A*E),'-.o','LineWidth',1)
% OpenSees
plot(q_L/a,Q_L/(A*E),'LineWidth',1.5)
plot(q_NL/a,Q_NL/(A*E),'LineWidth',1.5)
xlim([-1 3])
grid minor
grid on
box on
title('Análisis en OpenSees de armadura material elástico','fontsize',16)
ylabel('Relación carga generalizada, Q/EA','fontsize',14)
xlabel('Desplazamiento generalizado, q/a','fontsize',14)
xt =-0.5; yt = 0.1;
txt1 = ['Análisis Lineal: Pequeños desplazamientos'];
txt2 = ['Análisis No Lineal: Grandes desplazamientos'];
str = {txt1,txt2};
text(xt,yt,str,'FontSize',11,'FontName','Arial','BackgroundColor','white',
...
'EdgeColor','black')
Código MATLAB:
%% Datos
Es = 2038901.916; %[Kg /cm2]
Fy = 2530 ; %[Kg /cm2]
KL_r_crit = 4.71*(Es/Fy)^0.5;
for i=1:200
KL_r(i,1)=i;
%% EULER
FeE(i,1) = pi^2*Es/(KL_r(i,1))^2;
%% EULER CORREGIDO
if FeE(i,1)<Fy
FeEcorreg(i,1) =FeE(i,1);
else
FeEcorreg(i,1) = Fy;
end
%% AISC 360
if FeE(i,1)<0.44*Fy
FeAISC(i,1) =0.877*FeE(i,1);
else
FeAISC(i,1) =0.658^(Fy/FeE(i,1))*Fy;
end
end
%% RANKINE GORDON
FeRG=(FeE*Fy)./(FeE+Fy);
%% RANKINE
FeR=(Fy)./(1+((Fy*(KL_r).^2)./(Es*pi^2)));
%% Esbeltez Crítica
KLrc=[KL_r_crit KL_r_crit]';
Fec=[0 1.5*Fy]';
%% Grafica
set(0,'defaultfigurecolor',[1 1 1])
plot(KL_r,FeE,'LineWidth',2)
hold on
plot(KL_r,FeEcorreg,'LineWidth',2)
plot(KL_r,FeRG,'LineWidth',2)
plot(KL_r,FeR,'--','LineWidth',2)
plot(KL_r,FeAISC,'LineWidth',2)
plot(KLrc,Fec,'-.r','LineWidth',1)
ylim([0 1.5*Fy])
title('Curva Esfuerzo - Esbeltez para elementos en
compresión','FontSize',16)
ylabel('Esfuerzo (Kg /cm2)','FontSize',12)
xlabel('Esbeltez, KL/r (-)','FontSize',12)
legend({'Euler','Euler Corregido',...
'Rankine-Gordon','Rankine','AISC 360','KL/r crítico'},'Location','best')
grid on
grid minor
box on
Anexos 171
NJ_Diag=NJ;
elseif ESTRUCTURA ==2
NI_Diag=NI_Diag2;
NJ_Diag=NJ_Diag2;
elseif ESTRUCTURA ==3
NI_Diag=NI_Diag3;
NJ_Diag=NJ_Diag3;
NI2=NI3;
NJ2=NJ3;
end
[VC_Diag]=vc(NI_Diag,NJ_Diag,CG);
[L_Diag,seno_Diag,coseno_Diag]=longitud(X,Y,NI_Diag,NJ_Diag); %long. de @elem, seno y coseno
%% Masas
W=zeros(np,1);
for t=1:np
sum=0;
for r=1:nv
sum=-qp(t,1)*sv(r,1);
W(t,1)=W(t,1)+sum;
end
end
sum=0;
WBuilding=0;
for i=1:np
WBuilding=WBuilding+W(i,1); %Peso total en T
for ij=1:nv+1
if ij==1
NodalMass =(-qp(i,1)/g)*sv(ij,1)/2;
elseif ij==nv+1
NodalMass =(-qp(i,1)/g)*sv(nv,1)/2;
else
NodalMass =(-qp(i,1)/g)*sv(ij-1,1)/2+(-qp(i,1)/g)*sv(ij,1)/2;
end
masa_nudo(i,ij)=NodalMass;
end
MASA(i,i)=W(i,1)/g;
end
% Dis_Fuerzas_Laterales = 1; % 1 En función del primer modo de vibrar
% 2 Distribución parabólica; % 3 Distribución triangular; % 4 Distribución uniforme
Dis_Fuerzas_Laterales = 1;
% % Dibujo de la Estructura 2D
if Graficar==0
elseif Graficar==1
dibujo(X,Y,NI_Diag,NJ_Diag)
dibujoNudElem(X,Y,NI_Diag,NJ_Diag,CG)
dibujogdl(X,Y,NI_Diag,NJ_Diag,CG)
else
for op=1:3
dibujo(X,Y,NI_Dib{op},NJ_Dib{op})
dibujoNudElem(X,Y,NI_Dib{op},NJ_Dib{op},CG)
dibujogdl(X,Y,NI_Dib{op},NJ_Dib{op},CG)
end
end
else
Cpr=1;
end
%% Secciones de los elementos
% Column section % W30x173
Zx = 0.0098;
Acol = 0.0326;
Icol = 0.0034;
Mycol =Fy*Zx*Cpr;
d_col= 773.2 / 1000.0;
% Brace section % Tcircular Diámetro de 18 cm y espesor de 8 mm
Abrace=pi*diae^2/4-pi*diai^2/4; % área
Ibrace=pi*diae^4/64-pi*diai^4/64; % inercia
% beam section % W30x99
Zx = 0.0051;
Abeam = 0.0186;
Ibeam = 0.0017;
Mybeam = Fy*Zx*Cpr;
d_beam = 754.4 / 1000.0;
% beam springs at Floor 2 # % W30x99
DP= 0.886; % rate of cyclic deterioration for pos loading
DN= 0.886; % rate of cyclic deterioration for neg loading
na=np;
kaa=KTT(1:na,1:na);kab=KTT(1:na,na+1:ngl);
kba=kab'; kbb=KTT(na+1:ngl,na+1:ngl);
KL=kaa-kab*inv(kbb)*kba;
%.......................................................
[T,fi,OM]=orden_eig(KL,MASA);
% Factores de participacion modal
b=ones(np,1);
for i=1:np
maxfi=max(abs(fi(:,i)));
fi(:,i)=fi(:,i)/maxfi;
end
for i=1:np
FP(:,i)=abs(((fi(:,i))'*MASA*b)/((fi(:,i))'*MASA*(fi(:,i))));
end
disp('Los periodos de vibración en segundos con CEINCI-LAB son:')
T % seg
% Grabar matrices de masa y rigidez
Masa_Rigidez = [MASA,KL];
mkdir Prop_Dinamicas_Estructuras_2D
save(['Prop_Dinamicas_Estructuras_2D\EST_' num2str(ESTRUCTURA) '_M_K.txt'],['Masa_Rigidez'],'-ascii');
%.DATO:Dirección carpeta
% break
%% Elementos y nudos
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos(nudt,nudcol,nod,NI,NJ,X,Y,d_col,d_beam);
% ...................................................
NI=Tabla_Elem_Nud(:,2)';
NJ=Tabla_Elem_Nud(:,3)';
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
num_elem=nudt*5;
HBuilding=max(Y);
L_rig=0.6;
NI2=[zeros(1,length(NI)), NI2(1,end-num_Diag+1:end)];
NJ2=[zeros(1,length(NI)), NJ2(1,end-num_Diag+1:end)];
[NI_Diag,NJ_Diag]=gn_portico3(NI,NJ, NI2,NJ2);
% ...................................................
[Tabla_Elem_Nud_Diag,nod_Diag,X_Diag,Y_Diag]=ElementosNudosDiagonales(nod,num_COL_VG,num_Diag,
NI_Diag,NJ_Diag,X,Y,L_rig);
NI_Diag=Tabla_Elem_Nud_Diag(:,2)';
NJ_Diag=Tabla_Elem_Nud_Diag(:,3)';
[L_Diag,seno_Diag,coseno_Diag]=longitud(X_Diag,Y_Diag,NI_Diag,NJ_Diag); %long. de @elem, seno y coseno
NI_Diag=[NI,NI_Diag];
NJ_Diag=[NJ,NJ_Diag];
%% Nudos con grados de libertad iguales
[DOF]=MismosGDL(nod,np,Xcol,Ypisos,X,Y);
%% Dibujos
if ESTRUCTURA==1
dibujoNudElemMODPUSH(X,Y,NI,NJ)
Pushover_Opensees()
! OpenSees.exe Pushover_Estructura.tcl
else
dibujoNudElemMODPUSH(X_Diag,Y_Diag,NI_Diag,NJ_Diag)
Pushover_Opensees_Diag()
! OpenSees.exe Pushover_Estructura_Ref.tcl
end
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover3(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];
%% Grabar los archivos
mkdir Pushover_Estructuras_2D
save(['Pushover_Estructuras_2D\EST_' num2str(ESTRUCTURA) '.txt'],['Resultados'],'-ascii'); %.DATO:Dirección
carpeta
Anexos 175
for k = 1:nr
a=find(Xcol(1,k)==X);
Nud_Xsimilares(k,1:length(a))=a;
end
% ...................................................
%% Masas
[MASA, masa_nudo, WBuilding, W]=masa_carga_reactiva(np, nv, qp, sv, g);
% Dis_Fuerzas_Laterales = 1; % 1 En función del primer modo de vibrar
% Dis_Fuerzas_Laterales = 2; % 2 Distribución parabólica
% Dis_Fuerzas_Laterales = 3; % 3 Distribución triangular
% Dis_Fuerzas_Laterales = 4; % 4 Distribución uniforme
Dis_Fuerzas_Laterales = 1;
% % ...................................................
% % Dibujo de la Estructura 2D
% dibujo(X,Y,NI,NJ)
dibujoNudElem(X,Y,NI,NJ,CG)
% dibujogdl(X,Y,NI,NJ,CG)
%% ...................................................SECCIONES
%% Propiedades del material
Fy=25310.505; % Esfuerzo de fluencia, T/m2
Es=200.0*1000000.0/9.81;% Módulo de elasticidad, T/m2
Fu=40778.036; % Esfuerzo último, T/m2
% Sec_VG_COL = Elementos I =[tipo#, d,tw,bs,bi,tfs,tfi]... En milimetros!!
Sec_VG_COL=[1 200, 12, 150, 150, 6, 6; % Tipo 1 COL.. HSS8X6X1/4
2 260, 6, 120, 120, 12, 12; % Tipo 2 VPA.. W10x22
3 210, 6, 100, 100, 8, 8]; % Tipo 3 VPB.. W8x15
maxfi=max(abs(fi(:,i)));
fi(:,i)=fi(:,i)/maxfi;
end
for i=1:np
FP(:,i)=abs(((fi(:,i))'*MASA*b)/((fi(:,i))'*MASA*(fi(:,i))));
end
disp('Los periodos de vibración en segundos con CEINCI-LAB son:')
T % seg
% Grabar matrices de masa y rigidez
Masa_Rigidez = [MASA,KL];
mkdir Prop_Dinamicas_Estructuras_2D
save(['Prop_Dinamicas_Estructuras_2D\EST_1_M_K.txt'],['Masa_Rigidez'],'-ascii');
%.DATO:Dirección carpeta
%% Elementos y nudos
[Tabla_Elem_Nud,nod,X,Y]=ElementosNudos_V2(nudt,nudcol,nod,NI,NJ,X,Y,Sec_VG_C
OL,Elem_Tipo_Prop2);
[Sec_AIZ,th_Sec, L2]=Secciones_Mod_OpenSees(nudt,ELEM, Z_ELEM,th_ELEM, L); %
Area, Inercia, Modulo Plastico Z
% ...................................................
NI=Tabla_Elem_Nud(:,2)';
NJ=Tabla_Elem_Nud(:,3)';
[L,seno,coseno]=longitud(X,Y,NI,NJ); %long. de @elem, seno y coseno
num_elem=nudt*5;
HBuilding=max(Y);
% ...................................................
%% Nudos con grados de libertad iguales
[DOF]=MismosGDL(nod,np,Xcol,Ypisos,X,Y);
%% Dibujos
% dibujo(X,Y,NI,NJ)
dibujoNudElemMODPUSH(X,Y,NI,NJ)
Pushover_Opensees_V2()
! OpenSees.exe Pushover_Estructura.tcl
%% Gráfica Pushover
Tfundamental=textread('Resultados_Modal\Periodo_Fundamental.out');
[Vbase,DT]=Graficar_Pushover3(nr,WBuilding,HBuilding,FP,Tfundamental);
Resultados=[Vbase,DT];