guía para la modelación y análisis no lineal de muros de

174
Guía para la modelación y análisis no lineal de muros de concreto reforzado con OpenSees Realizado por: Andrea Marcela Patiño López Presentado a: Juan Francisco Correal Daza Proyecto de grado Universidad de Los Andes 2019-01

Upload: others

Post on 22-Nov-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guía para la modelación y análisis no lineal de muros de

Guía para la modelación y análisis no lineal de muros de concreto

reforzado con OpenSees

Realizado por:

Andrea Marcela Patiño López

Presentado a:

Juan Francisco Correal Daza

Proyecto de grado

Universidad de Los Andes 2019-01

Page 2: Guía para la modelación y análisis no lineal de muros de

2

Contenido

1. Introducción .................................................................................................................................. 6

2. Glosario ......................................................................................................................................... 7

3. Marco teórico ............................................................................................................................... 8

3.1. Esbeltez ................................................................................................................................. 8

3.2. Relación de aspecto .............................................................................................................. 8

3.3. Squat Walls ........................................................................................................................... 9

3.4. Slender Walls......................................................................................................................... 9

3.5. Mecanismos de resistencia de los muros estructurales ...................................................... 10

3.6. Análisis Pushover ................................................................................................................. 11

3.7. Ciclo de histéresis ................................................................................................................ 12

4. Información general .................................................................................................................... 14

4.1. ¿Qué es OpenSees? ............................................................................................................. 14

4.2. ¿Cómo funciona OpenSees? ............................................................................................... 14

4.3. ¿Cómo usar OpenSeesWiki? ............................................................................................... 15

4.4. OpenSees Navigator ............................................................................................................ 16

4.5. Cypress Editor ..................................................................................................................... 18

5. Instalación ................................................................................................................................... 19

5.1. Instalación OpenSees .......................................................................................................... 19

5.2. Instalación de OpenSees Navigator ..................................................................................... 21

5.3. Instalación de Cypress Editor .............................................................................................. 23

6. Introducción al lenguaje tcl ......................................................................................................... 25

6.1. Notación .............................................................................................................................. 25

6.2. Comandos y funciones generales ........................................................................................ 26

6.2.1. Notación de los comandos .......................................................................................... 26

6.2.2. Comando set ............................................................................................................... 26

6.2.3. Comando puts ............................................................................................................. 27

6.2.4. Función for .................................................................................................................. 27

6.2.5. Función foreach ........................................................................................................... 28

6.2.6. Función if…else ............................................................................................................ 28

5.2.7 Función while .............................................................................................................. 29

7. Funciones específicas .................................................................................................................. 30

7.1. Modeling Commands .......................................................................................................... 30

7.1.1. Model command ......................................................................................................... 30

7.1.2. Node Command .......................................................................................................... 31

Page 3: Guía para la modelación y análisis no lineal de muros de

3

7.1.3. Fix command ............................................................................................................... 31

7.1.4. FixY command ............................................................................................................. 32

7.1.5. EqualDOF command .................................................................................................... 33

7.1.6. RigidDiaphragm command .......................................................................................... 34

7.1.7. Concrete02 Material ................................................................................................... 34

7.1.8. Steel02 Material .......................................................................................................... 35

7.1.9. Fiber Section ............................................................................................................... 37

7.1.10. Patch Command .......................................................................................................... 37

7.1.11. Layer Command .......................................................................................................... 38

7.1.12. Force-Based Beam-Column Element con método de integración Gauss-Lobatto ....... 39

7.1.13. Linear Transformation ................................................................................................. 41

7.1.14. NodalLoad command .................................................................................................. 43

7.1.15. Plain Pattern ................................................................................................................ 43

7.1.16. Linear TimeSeries ........................................................................................................ 44

7.1.17. Uniform Excitation Pattern.......................................................................................... 44

7.1.18. Path TimeSeries ........................................................................................................... 45

7.2. Analysis Commands ............................................................................................................ 46

7.2.1. Plain Constraints ......................................................................................................... 47

7.2.2. Transformation Method .............................................................................................. 47

7.2.3. BandGeneral SOE ........................................................................................................ 47

7.2.4. Plain Numberer ........................................................................................................... 48

7.2.5. RCM Numberer ........................................................................................................... 48

7.2.6. Energy Increment Test ................................................................................................ 48

7.2.7. Norm Displacement Increment Test ........................................................................... 49

7.2.8. Linear Algorithm .......................................................................................................... 49

7.2.9. Newton Algorithm ....................................................................................................... 49

7.2.10. Broyden Algorithm ...................................................................................................... 49

7.2.11. Analysis Command ...................................................................................................... 50

7.2.12. Analyze Command....................................................................................................... 50

7.2.13. Load Control ................................................................................................................ 50

7.2.14. Displacement Control .................................................................................................. 51

7.2.15. Newmark Method ....................................................................................................... 52

7.2.16. Eigen Command .......................................................................................................... 53

7.3. Output Commands .............................................................................................................. 54

7.3.1. LogFile ......................................................................................................................... 54

7.3.2. File mkdir..................................................................................................................... 54

Page 4: Guía para la modelación y análisis no lineal de muros de

4

7.3.3. Node Recorder ............................................................................................................ 54

7.3.4. Record Command ........................................................................................................ 55

7.4. Misc Commands .................................................................................................................. 56

7.4.1. SetTime Command ...................................................................................................... 56

7.4.2. LoadConst Command .................................................................................................. 56

7.4.3. Remove Command ...................................................................................................... 56

7.4.4. WipeAnalysis Command .............................................................................................. 57

7.4.5. Wipe Command .......................................................................................................... 57

7.4.6. Mass Command ........................................................................................................... 58

7.4.7. NodeDisp Command ................................................................................................... 58

7.4.8. Rayleigh Damping Command ...................................................................................... 58

7.4.9. Exit Command ............................................................................................................. 59

8. Ejemplos ..................................................................................................................................... 60

8.1. Ejemplo 1: Ciclo de histéresis de un muro delgado de concreto reforzado f’c=40.9 MPa. Medidas: 4.6x2.0x0.15 .................................................................................................................... 60

8.1.1. Pasos ........................................................................................................................... 61

8.1.2. Resultados ................................................................................................................... 63

8.2. Ejemplo 2: Análisis estático no lineal (pushover) de un edificio de 6 pisos ubicado en Bogotá con un sistema estructural de muros de concreto reforzado (f’c=21 MPa) ........................ 64

8.2.1. Pasos ........................................................................................................................... 65

8.2.2. Resultados ................................................................................................................... 67

8.3. Ejemplo 3: Excitación sísmica de un edificio de 6 piso ubicado en Bogotá con un sistema estructural de muros de concreto reforzado (f’c=21 MPa) ............................................................. 71

8.3.1. Pasos ........................................................................................................................... 72

8.3.2. Resultados ................................................................................................................... 74

9. Anexos – Ejemplo 1 ..................................................................................................................... 76

9.1. Anexo 1.1 ............................................................................................................................ 76

9.2. Anexo 1.2 ............................................................................................................................ 76

9.3. Anexo 1.3 ............................................................................................................................ 77

9.4. Anexo 1.4 ............................................................................................................................ 77

9.5. Anexo 1.5 ............................................................................................................................ 78

9.6. Anexo 1.6 ............................................................................................................................ 79

9.7. Anexo 1.7 ............................................................................................................................ 80

9.8. Anexo 1.8 ............................................................................................................................ 80

10. Anexos – Ejemplo 2 ................................................................................................................. 90

10.1. Anexo 2.1 ........................................................................................................................ 90

Page 5: Guía para la modelación y análisis no lineal de muros de

5

10.2. Anexo 2.2 ........................................................................................................................ 97

10.3. Anexo 2.3 ...................................................................................................................... 100

10.4. Anexo 2.4 ...................................................................................................................... 105

10.5. Anexo 2.5 ...................................................................................................................... 111

10.6. Anexo 2.6 ...................................................................................................................... 112

10.7. Anexo 2.7 ...................................................................................................................... 122

10.8. Anexo 2.8 ...................................................................................................................... 123

10.9. Anexo 2.9 ...................................................................................................................... 123

9.18. Anexo 2.10 ........................................................................................................................... 128

9.19 . Anexo 2.11 ...................................................................................................................... 129

11. Anexos –Ejemplo 3 ................................................................................................................ 131

11.1. Anexo 3.1 ............................................................................................................................. 131

11.2. Anexo 3.2 ............................................................................................................................. 138

11.3. Anexo 3.3 ............................................................................................................................. 145

11.4. Anexo 3.4 ............................................................................................................................. 151

11.5. Anexo 3.5 ............................................................................................................................. 157

11.6. Anexo 3.6 ............................................................................................................................. 166

11.7. Anexo 3.7 ............................................................................................................................. 167

11.8. Anexo 3.8 ............................................................................................................................. 168

11.9. Anexo 3.9 ............................................................................................................................. 169

Page 6: Guía para la modelación y análisis no lineal de muros de

6

1. Introducción

OpenSees es un programa creado por el grupo de investigación PEER (Pacific Earthquake

Engineering Research Center) y que emplea un lenguaje de programación propio. Este

software usa métodos de elementos finitos para evaluar el comportamiento de sistemas

estructurales y geotécnicos bajo efectos sísmicos (PEER, 2006). Particularmente, esta

herramienta se ha usado para evaluar el desempeño de muros delgados de concreto

reforzado. Dado que se ha señalado que estos elementos estructurales pueden actuar de

manera frágil cuando se someten a “deformaciones altas de compresión en los extremos”.

Este comportamiento se explica por la falta de confinamiento que transforma al muro en un

elemento propenso al aplastamiento.

El objetivo de este documento es brindar una guía de OpenSees a los estudiantes de pregrado

para modelar muros de concreto reforzado. En primer lugar, se hablará sobre el uso de

OpenSees y de diferentes herramientas asociadas a este software (Cypress Editor y

OpenSeesWiki). Luego, se indicará como instalar el programa y luego se explirá los comandos

útiles en la modelación de muros. Por último, se incluye tres ejemplos diferentes de

simulaciones: un ciclo de histéresis de un muro, un análisis pushover y un análisis sísmico de

un edificio de 6 pisos que incluye muros de concreto.

Por otro lado, es importante recordar que este manual brinda un conocimiento básico de

Opensees. Puesto que el dominio total de este programa se alcanza complementando la

teoría con la práctica. Por tanto, se recomienda al usuario que sea autodidacta y genere su

propio código para aprender de sus propios errores.

Page 7: Guía para la modelación y análisis no lineal de muros de

7

2. Glosario En este capítulo se incluye las abreviaciones y significados que se usarán en este documento.

𝐹𝐹𝑣𝑣 …………………….fuerza vertical que actúa sobre un muro.

𝐹𝐹ℎ ……………………fuerza horizontal que actúa sobre un muro.

ℎ𝑠𝑠…………………….altura de entrepiso “medida centro a centro de los pisos superior e inferior.” (Carrillo, 2004, p.5)

ℎ𝑤𝑤……………………altura del muro.

𝑙𝑙𝑤𝑤…………………….longitud del muro.

𝑡𝑡𝑤𝑤…………………….espesor del muro.

𝑉𝑉𝑏𝑏…………………….cortante basal.

Page 8: Guía para la modelación y análisis no lineal de muros de

8

3. Marco teórico

En este capitulo se explica el significado de algunas variables que van a ser usadas en la

creación de los modelos y, también, la definición de los tipos de análisis que se van a simular

en OpenSees.

3.1. Esbeltez

La relación de esbeltez se define como el cociente de la altura (height) del muro sobre su

espesor (thickness).

𝑅𝑅𝑅𝑅𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅ó𝑛𝑛 𝑑𝑑𝑅𝑅 𝑅𝑅𝑒𝑒𝑒𝑒𝑅𝑅𝑙𝑙𝑡𝑡𝑅𝑅𝑒𝑒 =ℎ𝑤𝑤𝑡𝑡𝑤𝑤

Es recomendable usar un límite de 𝑡𝑡𝑤𝑤 ≥ ℎ𝑠𝑠/16, como se señala en el ACI 318 (2014) para

evitar que se presente inestabilidad lateral en la zona a compresión (Arteta, Blandón, Bonett,

Carrillo, p.14, 2018). No obstante, gracias a las investigaciones conducidas y a las

observaciones de eventos sísmicos, se ha encontrado que en zonas de rotulas plásticas es

aconsejable usar 𝑡𝑡𝑤𝑤 ≥ ℎ𝑠𝑠/10 (Moehle y Wallace, 2012, p.1142).

3.2. Relación de aspecto

Este criterio relaciona la altura y la longitud del muro de la siguiente forma:

𝑅𝑅𝑅𝑅𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅ó𝑛𝑛 𝑑𝑑𝑅𝑅 𝑅𝑅𝑒𝑒𝑎𝑎𝑅𝑅𝑅𝑅𝑡𝑡𝑎𝑎 =ℎ𝑤𝑤𝑙𝑙𝑤𝑤

Cuando ℎ𝑊𝑊/𝑙𝑙𝑤𝑤 ≥ 2 se dice que el muro es tipo slender y cuando ℎ𝑊𝑊/𝑙𝑙𝑤𝑤 ≤ 0.5 se habla de

muros squat. Además, se relaciona con la capacidad de rotación del muro y el desplazamiento

no lineal que puede desarrollar antes de la falla. Generalmente, se recomienda usar una

relación de aspecto igual a 6 para mantener un factor de capacidad de reducción de energía

R entre 4 y 6 (Arteta et al., p.31). Cuando se sobrepasa este valor es difícil que se alcance el

rango inelástico y se debe diseñar considerando un factor R igual a 1 (Priestley, Calvi y

Kowalsky, 2007).

Page 9: Guía para la modelación y análisis no lineal de muros de

9

3.3. Squat Walls

El comportamiento de los muros con una relación de aspecto baja es controlado por cortante

y no por flexión. En este caso, las fuerzas laterales son soportadas gracias a un mecanismo en

diagonal donde participa el concreto, el refuerzo vertical y horizontal (ver Figura 1). La

deformación por cortante de este tipo de muros es aceptada, porque estas estructuras

desarrollan una alta resistencia y una demanda de ductilidad baja1 . Como resultado del

esfuerzo cortante es poco probable que un muro de baja altura colapse debido a carga axial.

Además, los tipos de falla por cortante más comunes se presentan en la malla del muro y las

juntas constructivas. (Moehle, 2015).

3.4. Slender Walls

El comportamiento de este tipo de muros es similar al de una viga en voladizo. Contrario a lo

que ocurre en los muros tipo squat, se presenta fluencia a flexión dúctil2 sin falla a cortante.

Su diseño debe enfocarse en garantizar un comportamiento dúctil en la base del muro, pues

esta es la sección crítica en este tipo de estructuras. También, es importante considerar que

las zonas en compresión pueden ser susceptibles a pandeo. Además, en este tipo de muros

no es aceptable la deformación por cortante, pues causa una reducción considerable en la

capacidad de deformación inelástica. (Moehle, 2015).

1 Relación entre la deformación y el desplazamiento. 2 Ductile flexural yielding

Page 10: Guía para la modelación y análisis no lineal de muros de

10

3.5. Mecanismos de resistencia de los muros estructurales

Figura 1 Mecanismos de resistencia de los muros estructurales. Tomado de Moehle, J. (2015). Seismic Design of Reinforced

Concrete Buildings.

Los muros esbeltos (slender) tienen generalmente un alto y ancho considerable, por lo cual

se requiere del refuerzo a para prevenir el agrietamiento (ver Figura 1). El cortante genera

una zona de compresión en b y ocasiona la aparición de una fuerza que viaja diagonalmente

(ver Figura 1). La componente horizontal de dicha fuerza es soportada por el refuerzo c que

se distribuye a lo largo del muro y está anclado en los puntos d y e. Mientras que los

elementos de borde resisten la componente vertical de la fuerza.

Los muros esbeltos se encuentran sometidos a dos tipos de fuerzas de compresión: una

proveniente de la flexión y otra del cortante (diagonal). Esta combinación puede ocasionar

una falla (g) si aparecen grietas en la zona de compresión por la acción de la flexión y/o

cuando se sobrepase la resistencia del concreto al cortante (Ver Figura 1). Por otra parte, las

juntas constructivas (h) transfieren el cortante por un mecanismo de fricción. (Ver Figura 1)

En el caso de los muros tipo squat se asume que el concreto no resiste cortante en las zonas

agrietadas. Por lo tanto, para que la zona cde (Ver Figura 1) se encuentre en equilibrio es

necesario que actué la fuerza horizontal Fh. Por su parte, la fuerza Fv contrarresta el momento

Page 11: Guía para la modelación y análisis no lineal de muros de

11

alrededor de e en la zona cde y el momento alrededor de b en la zona ab. Las fuerzas Fh y Fv

provienen del refuerzo horizontal y vertical respectivamente (Ver Figura 1). Este refuerzo, a

su vez, resiste el cortante en este tipo de muros. Finalmente, el cortante es transferido por

medio de la junta constructiva gracias a la fricción. Adicionalmente, es conveniente distribuir

uniformemente el refuerzo a flexión y no concentrar los elementos de borde. (Moehle, 2015).

3.6. Análisis Pushover

Anteriormente, en el campo de la ingeniería sísmica se usaba análisis elásticos para realizar

el diseño inelástico de una estructura. Este tipo de análisis daban una buena indicación de

cuándo podría ocurrir la fluencia. Sin embargo, estos no indicaban cuál era la redistribución

de fuerzas que se presentaba durante la fluencia; ni tampoco detectaban la ubicación y la

posibilidad de una falla prematura. Por esta razón, fue necesario incluir análisis no-lineales

estáticos, los cuales pueden dar información de los factores mencionados. Además, este tipo

de análisis ayudan a identificar miembros de la estructura propensos a alcanzar un estado

crítico durante un sismo. (Leslie, s.f., p.1)

En este contexto, el análisis pushover (ver Figura 2) aparece como una herramienta esencial

para predecir el comportamiento no-lineal de una estructura. Este método consiste en aplicar

carga lateral a la estructura para obtener el cortante basal (Vb) y el desplazamiento de la

cubierta. Además, el análisis pushover puede ser útil en dos situaciones: cuando una

estructura presenta deficiencias en su capacidad de resistencia sísmica y para ajustar el

diseño sísmico convencional (SA) que usa un modelo elástico. (Leslie, s.f., p.3)

Figura 2 Proceso del análisis pushover. Imagen extraída de http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S1794-12372009000200011

Page 12: Guía para la modelación y análisis no lineal de muros de

12

3.7. Ciclo de histéresis

Durante un terremoto el movimiento del suelo causa que se presente en las edificaciones

unas oscilaciones que producen un comportamiento dinámico que depende de la

configuración estructural y sus materiales. Para predecir esta respuesta es necesario entre

otras cosas se puede generar un modelo de histéresis del material que incluye varios ciclos

de carga y descarga. (Hanson y Townsend, 1974, p.1). Este tipo de modelo se crea a partir de

“la extracción de características comunes de las relaciones de resistencia-deformación

observadas en pruebas de laboratorio de miembros de propiedades similares.” (Otani trad.,

2012, p. 1).

Para describir mejor el concepto de histéresis es importante definir los siguientes términos:

• Carga: ocurre cuando el valor absoluto de la resistencia (o deformación) aumenta en

la curva que representa el ciclo de histéresis.

• Descarga: en este caso “el valor absoluto de la resistencia (o deformación) disminuye

después de la cargo o recarga”.

• Recarga: en esta fase el valor absoluto de la resistencia (o deformación) aumenta

después de que haya ocurrido la descarga. (Ver Figura 3)

(Otani trad., 2012, p. 2)

Existen varios modelos de histéresis que han sido desarrollados para miembros estructurales

de concreto reforzado (ver Figura 4 y 5). Hay algunos simples y otros más elaborados que

tienen en cuenta la degradación de la rigidez del concreto bajo carga cíclica (Otani trad., 2012,

p. 7). Por ejemplo, el modelo de histéresis plástico perfectamente-elástico fue usado varias

veces durante el inicio del desarrollo de un análisis dinámico no lineal; a pesar de que este

Figura 3 Ciclo de histéresis, Imagen extraída de https://es.slideshare.net/ronaldpurca3/modelos-de-histeresis-drotani-

traduccin-personal

Page 13: Guía para la modelación y análisis no lineal de muros de

13

modelo no considera la rigidez (Otani trad., p. 7). Más adelante, surgieron modelos más

avanzados como el modelo tri-lineal degradante, donde “la rigidez se degrada continuamente

con amplitud creciente más allá del punto de fluencia” (Otani trad., p. 11).

Figura 4 Modelo elasto-plástico. Imagen extraída de

https://es.slideshare.net/ronaldpurca3/modelos-de-histeresis-

drotani-traduccin-personal

Figura 5 Modelo tri-lineal degradante. Imagen extraída de

https://es.slideshare.net/ronaldpurca3/modelos-de-histeresis-drotani-

traduccin-personal

Page 14: Guía para la modelación y análisis no lineal de muros de

14

4. Información general

En el siguiente capítulo se incluye el uso y funcionamiento de OpenSees, como también de

dos herramientas asociadas a este softare: OpenSees Wiki y Cypress Editor.

4.1. ¿Qué es OpenSees?

OpenSees fue creado por el grupo de investigación PEER (Pacific Earthquake Engineering

Research Center) de la Universidad de California en Berkeley. Este programa usa métodos de

elementos finitos para modelar sistemas estructurales y geotécnicos sometidos a efectos

sísmicos (PEER, 2006). Además, este software está abierto a toda la comunidad interesada en

la ingeniería sísmica, ya que no se requiere de ninguna licencia para usarlo.

4.2. ¿Cómo funciona OpenSees?

Antes de empezar a usar OpenSees es necesario conocer que existen diferentes etapas en la

modelación de una estructura y su simulación, las cuales se muestran en la Figura 6.

Figura 6 Etapas de modelación y simulación.

Inicialmente, es fundamental elegir cómo se va a representar computacionalmente el sistema

que se va a estudiar. OpenSees ofrece la opción de construir modelos con características tan

particulares como se desee. Por ejemplo, un componente estructural se puede caracterizar

como un elemento que contiene una sección de fibras. Los elementos contienen nodos que

permiten definir la dirección y gracias a estos es posible conocer la fuerza y deformación de

cierto componente estructural (viga, columna, muro, etc.). A su vez, los elementos poseen a

Page 15: Guía para la modelación y análisis no lineal de muros de

15

menudo una sección transversal que presenta un diagrama de momento-curvatura

específico. La sección transversal se ubica en los puntos de integración ubicados a lo largo del

elemento. Además, las secciones se componen de fibras que poseen una curva esfuerzo-

deformación y que son útiles para representar componentes como el refuerzo de acero en

una estructura de concreto. (ver Figura 7)

Figura 7 Niveles de caracterización de un componente estructural. Recuperado de

http://opensees.berkeley.edu/OpenSees/manuals/usermanual/OpenSeesCommandLanguageManualJune2006.pdf

Posteriormente, se crean los recorders para obtener los resultados que arroja el modelo. Los

recorders se encargan de almacenar la información requerida en blocs de notas, por ejemplo:

desplazamiento, reacciones, derivas, etc. El análisis de modelo se ejecuta al mismo tiempo

que se almacenan los datos requeridos. Cada tipo de análisis posee parámetros específicos

que se explicaran más adelante. Finalmente, se procesa la información para crear diagramas

donde se puedan visualizar fácilmente los resultados. Se aconseja al usuario utilizar Matlab

para crear dichas graficas de manera sistemática y rápida.

4.3. ¿Cómo usar OpenSeesWiki?

OpenSeesWiki3 es un sitio web donde se publica información útil para todos los usuarios del

software. Si nos dirigimos a esta página de Internet, encontraremos un buscador donde

podemos introducir el tema de nuestro interés, por ejemplo: node (Figura 8).

3 Dirigirse a http://opensees.berkeley.edu/wiki/index.php/Main_Page

Page 16: Guía para la modelación y análisis no lineal de muros de

16

Figura 4 Buscador de OpenSeesWiki. Tomado de http://opensees.berkeley.edu/wiki/index.php/Main_Page

Posteriormente, si abrimos la primera página relacionada con la búsqueda de la palabra

node, encontraremos el uso y los parámetros del comando node (Figura 9).

Figura 5 Información sobre Node command. Tomado de http://opensees.berkeley.edu/wiki/index.php/Main_Page

Además, OpenSeesWiki es útil para encontrar modelos que han sido creados y ejecutados

para simular diferentes sistemas estructurales. El código de cada modelo puede ser

encontrado junto con una explicación detallada.

4.4. OpenSees Navigator

El grupo de investigación PEER ha creado una interfaz gráfica para OpenSees denominada

OpenSees Navigator. Según sus creadores, este programa es auto-explicativo (PEER, s.f.); es

decir, puede ser usado sin tener conocimiento previo de OpenSees Navigator. Esta

herramienta posee ventajas y desventajas con respecto al software OpenSees. Los principales

puntos a favor son: permite al usuario visualizar el modelo creado y es más fácil de utilizar si

Page 17: Guía para la modelación y análisis no lineal de muros de

17

no hay familiaridad con el lenguaje de programación tcl. Sin embargo, el programa OpenSees

Navigator divide el código en múltiples archivos y genera varios documentos tcl innecesarios

para ejecutar el análisis del modelo (Figura 10).

Figura 6 Archivos generados por OpenSees Navigator. En esta imagen se muestran archivos que no son necesarios para la

simulación del modelo como: NodeMass y MPConstraints.

Otra desventaja del Navigator es que no cuenta con todos los comandos que posee OpenSees.

Por lo tanto, muchas veces es necesario modificar el código generado por el Navigator para

crear el modelo deseado. Por otro lado, se recomienda al usuario principiante realizar un

modelo en la interfaz gráfica4 y revisar el código generado por el programa para familiarizarse

con el lenguaje de programación tcl.

Si se desea revisar ejemplos de modelos creados en OpenSees Navigator, se debe visitar el

siguiente enlace: http://openseesnavigator.berkeley.edu/downloads/examples/. Finalmente, es

importante mencionar que no es posible visualizar un código creado en OpenSees desde la

interfaz gráfica del programa.

4 Revisar los siguientes videos: https://www.youtube.com/watch?v=SJXmhwLE-i0 y https://www.youtube.com/watch?v=n94k4FuHRKs&t=952s

Page 18: Guía para la modelación y análisis no lineal de muros de

18

4.5. Cypress Editor OpenSees cuenta con un editor de código llamado Cypress Editor, que facilita enormemente

la tarea de crear un modelo. Este programa cuenta con cuatro ventanas principales:

1. Command Explorer: contiene una lista de diferentes comandos de OpenSees.

2. Command Help: proporciona información la sintaxis y uso de los comandos.

3. Lista de variables: en esta ventana se guardan las variables creadas. Si se da clic sobre

una de ellas, se mostrará en la pantalla la línea de código donde aparece esta.

4. Monitoring Output: es una pantalla azul donde se puede controlar si el código ha sido

ejecutado correctamente (Figura 11).

Por otro lado, para abrir un archivo tcl en el editor se debe seleccionar la opción File>Open

Existing Tcl File. En seguida, es necesario definir la ruta donde se encuentra el ejecutable

OpenSees.exe. Para hacer lo anterior basta con presionar la tecla F9 y seleccionar una ruta.

Una vez que se haya realizado lo anterior, se puede correr el modelo presionando el botón

Run. El código puede ser ejecutado aunque se hayan realizado modificaciones, ya que este se

actualiza automáticamente al presionar Run. Para interrumpir la ejecución del código el

usuario debe dirigirse a la ventana llamada Monitoring Output y dar clic en Cancel (Figura 11).

Figura 11 Monitoring Output

Page 19: Guía para la modelación y análisis no lineal de muros de

19

5. Instalación

En este capítulo se explica cómo instalar OpenSees, OpenSees Navigator y Cypress. Además,

see incluyen los enlaces de descarga de los programas.

5.1. Instalación OpenSees Inicialmente, se debe ingresar a la página oficial de OpenSees:

http://opensees.berkeley.edu/. Luego, se da clic en la segunda pestaña llamada USERS, donde

encontraremos diferentes recursos. En seguida, seleccionamos la opción Download que

conduce a una página donde se debe ingresar un correo inscrito (Figura 12). Si el usuario es

nuevo debe realizar el registro y aceptar los términos y condiciones. Después, es necesario

activar la cuenta ingresando al enlace enviado al correo del usuario. Si el procedimiento

descrito fue seguido correctamente, aparecerá en la pantalla un mensaje que indica que el

registro ha sido exitoso (Figura 13).

Figura 12 Opción para descargar OpenSees. Extraído de http://opensees.berkeley.edu/

Figura 13 Mensaje que indica que la cuenta ha sido activada. Extraído de http://opensees.berkeley.edu/

Page 20: Guía para la modelación y análisis no lineal de muros de

20

Luego de que el usuario se haya registrado, debe ingresar su cuenta en el espacio que se

encuentra en la página OpenSees Download y dar clic en Submit. Luego, se pide otros datos

al usuario para conocer el uso que se le dará al programa. Después, aparecerá una página

donde aparecen dos enlaces de descarga para Mac y para Windows respectivamente (Figura

14). El primero es una carpeta comprimida que contiene un archivo ejecutable. El segundo

contiene un archivo que permitirá usar el lenguaje de programación tcl. Si abrimos el segundo

archivo aparecerá en la pantalla una interfaz como la de la Figura 15. Después de aceptar los

términos y condiciones, se da clic en el botón Install y esperamos que se complete la descarga.

En seguida, se descomprime el segundo archivo y se da clic en el ejecutable llamado

OpenSees. Finalmente, si la instalación ha sido realizada exitosamente aparecerá en la

pantalla un recuadro negro (Figura 16).

Figura 14 Enlaces de descarga para Windows y OpenSees. Extraído de http://opensees.berkeley.edu/

Page 21: Guía para la modelación y análisis no lineal de muros de

21

Figura 75 Interfaz para activar el lenguaje tcl

5.2. Instalación de OpenSees Navigator Antes de descargar OpenSees Navigator es necesario que su computador tenga instalado

Matlab. Inicialmente, hay que dirigirse al siguiente enlace

http://openseesnavigator.berkeley.edu/downloads/, donde se encuentran varias opciones

de descarga. Se selecciona la opción Matlab P-code como se muestra en la Figura 17. Después,

se descarga la versión más reciente del programa que se encuentra guardada en una carpeta

comprimida llamada OpenSees Navigator 2.5.8 P-code. Sin embargo, si el enlace de descarga

no funciona, puede descargar este archivo desde la carpeta donde se encuentra guardado

este documento.

Figura 16 Interfaz de OpenSees

Page 22: Guía para la modelación y análisis no lineal de muros de

22

Figura 178 Opciones de descarga de OpenSees Navigator. Extraído de http://openseesnavigator.berkeley.edu/downloads/

En seguida, se descomprime la carpeta OpenSees Navigator 2.5.8 P-code y se abre el

programa Matlab. El siguiente paso es elegir la opción Set Path de Matlab y elegir la ruta

donde se guardó el archivo OpenSees Navigator 2.5.8 P-code (Figura 18). Después, se guardan

los cambios realizados y se cierra la ventana llamada Set Path. Finalmente, se escribe

OpenSeesNavigator en el Command Window de Matlab y se oprime Enter.

Figura 189 Opción de Set Path de Matlab

Page 23: Guía para la modelación y análisis no lineal de muros de

23

5.3. Instalación de Cypress Editor Inicialmente, es necesario dirigirse al siguiente enlace http://cypress.hrshojaie.com/en-

us/default.aspx, donde se encuentra la opción de Download (Figura 19). Si se selecciona esta

opción, se descargará una carpeta llamada CypressEditor 2017.2. Luego, se abre este archivo

y aparece una ventana como la de la Figura 20.

Figura 1910 Opción de descarga de Cypress Editor. Extraído de http://cypress.hrshojaie.com/en-us/default.aspx

Figura 2011 Ventana de inicialización de Cypress Editor

Page 24: Guía para la modelación y análisis no lineal de muros de

24

Después de dar clic en Next y aceptar los términos y condiciones, se puede inicializar la

instalación del programa. Cuando haya terminado la descarga, se selecciona la opción Launch

CypressEditor 2017.2 para abrir el programa.

Page 25: Guía para la modelación y análisis no lineal de muros de

25

6. Introducción al lenguaje tcl

El lenguaje de programación tcl es usado por OpenSees para definir la geometría de un

problema, sus condiciones de carga, ejecutar un análisis especifico y, finalmente,

encontrar una solución. En particular, el lenguaje tcl permite realizar:

• Operación y sustitución de variables

• Realizar operaciones matemáticas

• Crear condicionales (if, while, for, foreach)

• Realizar procedimientos.

• Crear archivos que alberguen resultados.

(Mazzonni, McKenna, Scott, Fenves et al., 2006, p. 14).

6.1. Notación

En este capítulo, se explicará el uso de diferentes símbolos en el lenguaje de programación tcl.

Tabla 1 Uso de algunos símbolos en OpenSees

Símbolo Función Ejemplo

# Se utiliza para agregar comentarios que ayuden a entender el código.

#Se asigna a la variable el valor de 5. set a 5

$ Sirve para llamar a una variable que ha sido posteriormente creada.

set a 5 set variable $a

[] Cuando se usa estos corchetes, se evalúa primero lo que se encuentra dentro de los mismos. (Mazzonni et al., p.15).

#En primer lugar, se ejecuta la operación 2+1. Después, se le asigna a la variable "a" el valor del cálculo. set a [expr 2+1];

<>

Se usa para designar parámetros opcionales de un comando. (Mazzonni et al., p.11).

uniaxialMaterial Steel02

$matTag … <$a1 $a2 $a3 $a4

$sigInit>

; Se utiliza para separar una línea de código de otra.

set a [expr 2+1];

set b 5;

Page 26: Guía para la modelación y análisis no lineal de muros de

26

6.2. Comandos y funciones generales

Cada comando cumple con una función específica dentro del código y posee la siguiente

estructura:

command $arg1 $arg2 ...

command es el nombre del comando en el lenguaje de programación tcl.

$arg1 $arg2 ... son los argumentos específicos del comando. (Mazzonni et al., p.15).

6.2.1. Notación de los comandos

Si nos dirigimos a la página oficial de OpenSees: OpenSeesWiki 5 encontraremos la siguiente

notación para los comandos:

node $nodeTag (ndm $coords) <-mass (ndf $MassValues)>

La línea de código anterior corresponde a node command y su función es asignar a un nodo

sus respectivas coordenadas y masa. El argumento $nodeTag es un número entero que se

asigna para identificar a cada nodo. Las coordenadas se encuentran entre paréntesis porque

el número de argumentos puede ser 2 o 3, según la dimensión del problema. Finalmente, los

argumentos dentro de <> son de carácter opcional. (Mazzonni et al., p.12)

6.2.2. Comando set

El comando más básico que usa OpenSees es set y se usa para asignar a una variable un valor.

Se escribe de la siguiente forma:

set variable 5

También, podemos asignar a una variable el resultado de una expresión aritmética de la

siguiente forma:

set a 5;

set variable [expr $a+1];

#En esta línea se multiplica 5 por 0.5.

set variable1 [expr $a*0.5];

#En esta línea se eleva 5 a la 0.5, es decir 5^0.5.

5 Dirigirse al siguiente link http://opensees.berkeley.edu/wiki/index.php/Main_Page

Page 27: Guía para la modelación y análisis no lineal de muros de

27

set variable2 [expr $a**0.5];

6.2.3. Comando puts

Este comando sirve para mostrar un mensaje o un valor específico en el Monitoring Output

de Cypress.

set a 5;

set variable [expr $a+1];

puts "La variable es $variable"

Si usamos el código anterior aparece en el monitor la siguiente información (Figura 21):

Figura 121 Mensaje de salida en el monitor

6.2.4. Función for Esta función es útil cuando es necesario ejecutar varias iteraciones de un mismo proceso

(Figura 22). Por ejemplo, si se desea realizar la acción de escribir en el Monitor Output “i es

igual a n”, donde 1≤n≤10, se usa el siguiente código:

#Se realiza un recorrido desde i=1 hasta i=10. #La acción de escribir "i es igual a $i" se repite 10 veces. for {set i 1} {$i <= 10} {incr i 1} { puts "i es igual a $i" } (Mazzonni et al., p. 16).

Page 28: Guía para la modelación y análisis no lineal de muros de

28

Figura 13 Mensaje escrito en el Monitor Output como resultado de ejecutar un recorrido

6.2.5. Función foreach Esta función permite recorrer un arreglo (array) con el fin de realizar cierta acción que

involucra los elementos de este. Si el usuario desea realizar la suma ∑ 𝑛𝑛4𝑛𝑛=1 = 10 , se puede

usar el siguiente código:

#La variable suma sirve para acumular el resultado de la adición. set suma 0 #Se crea un arreglo de números desde el 1 hasta el 4. #Se realizan las siguientes operaciones: #0+1=1, 1+2=3, 3+3=6, 6+4=10 foreach num {1 2 3 4} { set suma [expr $suma+$num] } puts $suma

(Mazzonni et al., p. 16).

6.2.6. Función if…else Esta opción es útil cuando existe un proceso restringido por diferentes aspectos. En el

siguiente ejemplo existen tres condiciones (valor < suma, valor > suma o valor = suma) que

ocasionan resultados diferentes.

set suma 0 foreach num {1 2 3 4} { set suma [expr $suma+$num] } #Se crea una variable que va a ser comparada con la suma obtenida. set valor 10 if {$valor < $suma} { puts "El valor buscado es menor a la suma" } else { if {$valor> $suma} { puts "El valor buscado es mayor a la suma"

Page 29: Guía para la modelación y análisis no lineal de muros de

29

} else { puts "El valor buscado es igual a la suma"} }

(Mazzonni et al., p. 16).

5.2.7 Función while Se utiliza cuando es necesario interrumpir un proceso iterativo, puesto que se ha cumplido

con el objetivo.

set suma 0 set num 2.5

#Mientras que el valor de la variable suma sea menor a 10, continúe realizando la operación.

while {$suma <= 10} { #La operación consiste en adicionar 2.5 a la variable suma hasta que se obtenga un resultado menor o igual a 10.

set suma [expr $suma+$num] }

Page 30: Guía para la modelación y análisis no lineal de muros de

30

7. Funciones específicas

A continuación, se explicará el uso y la sintaxis de cada comando usado en los modelos de

muros de concreto reforzado. Esta información fue extraída de la página oficial de OpenSees

Wiki.

7.1. Modeling Commands Un modelo de OpenSees se constituye por varios elementos, nodos, patrones de carga y

restricciones de movimiento para uno o varios puntos (Figura 23). La suma de todos estos

componentes diferencia un modelo de otro. (OpenSees Wiki, 2011)

Figura 143 Componentes de un modelo.

7.1.1. Model command Esta función sirve para definir la dimensión espacial en la que se construirá el modelo, es

decir: 1D, 2D o 3D. También, se usa para establecer cuántos grados de libertad tendrá cada

nodo.

model BasicBuilder -ndm $ndm <-ndf $ndf> $ndm dimensión espacial del problema (1, 2 o 3).

$ndf

el número de grados de libertad. Este parámetro es opcional y depende de

$ndm.

• $ndm=1→$ndf=1

• $ndm=2→$ndf=3

• $ndm=3→$ndf=6

Page 31: Guía para la modelación y análisis no lineal de muros de

31

7.1.2. Node Command Este comando construye un objeto tipo nodo y le asigna las coordenadas deseadas.

node $nodeTag (ndm $coords)

$nodeTag identificador del nodo que corresponde a un número entero.

$coords

coordenadas del nodo. Este parámetro depende de la dimensión espacial del

modelo.

Por ejemplo, un nodo ubicado en (x= -4, y= 5, z= -4) se representa con la siguiente línea de

código:

#node $nodeTag (ndm $coords) node 1 -4 5 -4;

Como se muestra en la figura inferior la coordenada y corresponde a la altura en el plano cartesiano. (Figura 24)

Figura 154 Representación gráfica de x= -4, y= 5, z= -4. Imagen extraída de https://matematicas1univia.wordpress.com/2012/03/27/planos-tridimensionales/

7.1.3. Fix command Este comando sirve para restringir el movimiento de los nodos en cualquiera de sus grados

de libertad y hace parte de los single-point constraints (Figura 25). Cuando el modelo se

construye en 3D, los grados de libertad (dof) son los siguientes:

dof 1: desplazamiento en el eje x.

dof 2: desplazamiento del eje y.

dof 3: desplazamiento del eje z.

Page 32: Guía para la modelación y análisis no lineal de muros de

32

dof 4: rotación alrededor del eje x.

dof 5: rotación alrededor del eje y.

dof 6: rotación alrededor del eje z.

Figura 165 Grados de libertad de un nodo en 3D. Imagen extraída de

https://www.sharcnet.ca/Software/Abaqus/6.14.2/v6.14/books/gsk/default.htm?startat=ch02s03.html

La sintaxis de este comando es la siguiente:

fix $nodeTag (ndf $constrValues)

$nodeTag identificador del nodo al cual se aplica la restricción de movimiento

$constrValues valores (0 o 1) que afectan los grados de libertad del nodo deseado.

0 grado de libertad libre.

1 se restringe el movimiento.

Por ejemplo, un nodo que no se puede desplazar en x y no puede rotar alrededor de y se

representaría de la siguiente forma en OpenSees:

#El grado de libertad 1 del nodo 1 está restringido; es decir que el nodo no puede desplazarse en x. #Los grados 2 y 3 del nodo 1 no están restringidos; es decir que el nodo puede desplazarse en y y z. #Los grados 4 y 6 del nodo 1 no están restringidos; es decir que el nodo puede girar alrededor de x y z. #El grado de libertad 5 del nodo 1 está restringido; es decir que el nodo no puede girar alrededor de y.

fix 1 1 0 0 0 1 0

7.1.4. FixY command Este comando es útil cuando se desea restringir el movimiento de varios nodos que poseen

la misma coordenada en el eje y.

Page 33: Guía para la modelación y análisis no lineal de muros de

33

fixY $yCoordinate (ndf $ConstrValues) <-tol $tol>

$yCoordinate la coordenada y de los nodos que van a ser restringidos.

$ConstrValues valores (0 o 1) que afectan los grados de libertad de los nodos ubicados

en $yCoordinate.

0 grado de libertad libre.

1 se restringe el movimiento.

$tol la tolerancia definida por el usuario. Este parámetro es opcional y por

defecto es 1E-10.

Por ejemplo, para empotrar los nodos de la base de un modelo se puede usar el siguiente

código:

#Se empotran los nodos de la base del modelo; es decir aquellos nodos que se encuentran en y=0 #Los seis grados de libertad de los nodos son restringidos.

fixY 0.0 1 1 1 1 1 1

7.1.5. EqualDOF command Este comando sirve para construir una restricción de movimiento que involucra varios nodos

(multi-point constraint).

equalDOF $rNodeTag $cNodeTag $dof1 $dof2 …

$rNodeTag el identificador del nodo maestro.

$cNodeTag el identificador del nodo esclavo. El movimiento del nodo esclavo

depende del movimiento del nodo maestro.

$dof1 $dof2… los grados de libertad del nodo esclavo que se encuentran restringidos

al nodo maestro; es decir que deben ser iguales.

Un ejemplo del uso de este comando es el siguiente:

#El nodo 1 es el nodo maestro. El nodo esclavo es el número 2. #El grado de libertad 1 del nodo esclavo es igual al del nodo maestro; es decir que el desplazamiento en x del nodo 2 debe ser igual al del nodo 1. #El grado de libertad 3 del nodo esclavo es igual al del nodo maestro; es decir que el desplazamiento en z del nodo 2 debe ser igual al del nodo 1. equalDOF 1 2 1 3

Page 34: Guía para la modelación y análisis no lineal de muros de

34

7.1.6. RigidDiaphragm command Este comando es similar al anterior y también pertenece a las restricciones de movimiento

que involucran varios nodos. Como su nombre lo indica, esta función sirve para construir

diafragmas rígidos. Además, es importante mencionar que este comando solo funciona

cuando el modelo se construye en 3D.

rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...

$perpDirn la dirección perpendicular al plano rígido. Por

ejemplo, la dirección y (2) es perpendicular al plano

x-z (1-3).

$masterNodeTag el identificador del nodo maestro.

$slaveNodeTag1 $slaveNodeTag2… los números que identifican a los nodos esclavos

Por ejemplo, la línea de código equalDOF 1 2 1 3 es equivalente a:

#El nodo 1 es el nodo maestro. El nodo esclavo es el número 2. #El diagragma rígido se encuentra ubicado en el plano xz y es perpendicular a la dirección y (2).

rigidDiaphragm 2 1 2

7.1.7. Concrete02 Material Gracias a este comando podemos representar el concreto con sus respectivas relaciones de

fuerza-deformación.

uniaxialMaterial Concrete02 $matTag $fpc $epsc0 $fpcu $epsU $lambda $ft $Ets

$matTag el identificador numérico del material.

$fpc la resistencia a compresión del concreto a los 28 días. Este valor debe ser

negativo, porque OpenSees asume que la compresión es negativa.

$epsc0 la deformación del concreto en el punto de máxima resistencia. Este valor

debe ser negativo.

$fpcu la resistencia última del concreto a compresión. Este valor debe ser negativo.

$epsU la deformación del concreto en el punto de resistencia última. Este valor

debe ser negativo.

Page 35: Guía para la modelación y análisis no lineal de muros de

35

$lambda el cociente entre la pendiente de descarga, que se encuentra en $epsU, y la

pendiente inicial.

$ft la resistencia a tensión.

$Ets la pendiente del tramo de la gráfica esfuerzo-deformación donde se

presenta tensión.

Nota: la pendiente de descarga en $epsU puede representarse como $lambda*E0; donde E0

es la pendiente inicial. (Figura 26).

Figura 26 Gráfica de esfuerzo-deformación del concreto. Imagen tomada de Hisham y Yassin (1994), Nonlinear Analysis of Prestressed Concrete Structures under Monotonic and Cycling Loads.

7.1.8. Steel02 Material Este comando se usa para crear un material con las propiedades del acero y que presente

endurecimiento por deformación sin importar la dirección de análisis (isotropic strain

hardening).

uniaxialMaterial Steel02 $matTag $Fy $E $b $R0 $cR1 $cR2 <$a1 $a2 $a3 $a4 $sigInit>

$matTag el identificador numérico del material.

$Fy la resistencia a fluencia.

$E la pendiente inicial, la cual se presenta en el rango elástico.

Page 36: Guía para la modelación y análisis no lineal de muros de

36

$b strain-hardening ratio, es el cociente entre la pendiente después de

la fluencia del acero y la pendiente inicial.

$R0 $cR1 $cR2 Estos son valores para calibrar el material. OpenSees Wiki se

recomienda usar los siguientes valores:

$R0 entre 10 y 20

$cR1=0.925

$cR2=0.15

$a1 es un parámetro de endurecimiento isotrópico que modifica la

resistencia a fluencia ($a2*$Fy/E0) en el área a compresión después

que ocurra una deformación plástica. Este parámetro es opcional al

igual que los siguientes.

$a2 es un parámetro de endurecimiento isotrópico. El valor que toma

OpenSees por defecto es 1.

$a3 es un parámetro de endurecimiento isotrópico que modifica la

resistencia a fluencia ($a4*$Fy/E0) en el área a tensión después que

ocurra una deformación plástica.

$a4 es un parámetro de endurecimiento isotrópico. El valor que toma

OpenSees por defecto es 1.

$sigInit es el valor de deformación inicial (Zhu, 2019). El valor que toma

OpenSees por defecto es 0.

Por ejemplo, para representar el acero de refuerzo de un muro de concreto usamos el

siguiente código:

# Material "acero": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0> uniaxialMaterial Steel02 4 +5.76000E+05 +2.000E+08 +1.000E-02 +1.800E+01 +9.250E-01 +1.500E-01 +0 +1 +0 +1 +0

Page 37: Guía para la modelación y análisis no lineal de muros de

37

7.1.9. Fiber Section Este comando construye una sección que se compone de fibras. Cada fibra posee un área, un

material asignado y una ubicación (y, z). Existen tres tipos de secciones que pueden ser

usadas: fiber, patch y layer.

section Fiber $secTag {

fiber…

patch…

layer…

}

$secTag identificador numérico de la sección.

fiber… comando usado para crear una sola fibra.

patch… comando usado para crear varias fibras sobre una sección transversal.

layer… Comando usado para generar una fila de fibras.

A continuación, se explicará la sintaxis de los comandos usados para generar patch y layer;

puesto que estas funciones fueron las únicas usadas en los modelos de muros de concreto.

7.1.10. Patch Command Este comando se usa para crear varias fibras sobre una sección transversal. Las secciones

transversales más comunes son circular, rectangular y cuadrada. Sin embargo, se hará

hincapié en la sección rectangular, porque fue la que se usó en los modelos desarrollados.

Para crear una sección rectangular es necesario definir cuatro puntos (I, J, K y L) ubicados en

el sentido contrario a las manecillas del reloj. Cada punto posee una coordenada y y z en el

plano local de la sección (Figura 27).

patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL

$matTag el identificador del material que queremos asignar a las fibras.

$numSubdivIJ el número de fibras paralelas al eje z local.

Page 38: Guía para la modelación y análisis no lineal de muros de

38

$numSubdivJK el número de fibras paralelas al eje y local.

$yI $zI las coordenadas del punto I.

$yJ $zJ las coordenadas del punto J.

$yK $zK las coordenadas del punto K.

$yL $zL las coordenadas del punto L.

Si queremos crear una sección como la inferior se debe usar el siguiente código:

set y 5 set z 5 section fiberSec 1 { #patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL patch quad 1 4 3 -$y -$z $y -$z $y $z -$y $z }

Figura 27 Sección transversal. Imagen extraída de http://opensees.berkeley.edu/wiki/index.php/Patch_Command

7.1.11. Layer Command Este comando sirve para crear varias fibras a lo largo de una fila y sirve para representar barras

de refuerzo en un modelo de OpenSees. (Figura 28)

layer straight $matTag $numFiber $areaFiber $yStart $zStart $yEnd $zEnd

$matTag el identificador del material que queremos asignar a las fibras.

$numFiber el número de fibras que se ubicarán en hilera.

$areaFiber el área de cada una de las fibras.

Page 39: Guía para la modelación y análisis no lineal de muros de

39

$yStart la coordenada y del punto de inicio de la fila que se ubica en el plano local.

$zStart la coordenada z del punto de inicio de la fila que se ubica en el plano local.

$yEnd la coordenada y del punto final de la fila que se ubica en el plano local.

$zEnd la coordenada z del punto final de la fila que se ubica en el plano local.

Si queremos crear una sección como la inferior se debe usar el siguiente código:

set y 5 set z 5 section fiberSec 1 { #layer straight $matTag $numFiber $areaFiber $yStart $zStart $yEnd $zEnd layer straight 1 5 0.1 -$y -$z $y $z }

Figura 28 Varias fibras posicionadas en una hilera. Imagen extraída de http://opensees.berkeley.edu/wiki/index.php/Layer_Command

7.1.12. Force-Based Beam-Column Element con método de integración Gauss-Lobatto Este comando sirve para construir elementos que poseen una plasticidad distribuida, lo cual

permite que la fluencia ocurra en cualquier punto. Esto es especialmente importante cuando

se carga el elemento con una carga distribuida. (Terzic, 2011). Además, para asignar un

modelo de fuerza-deformación a un elemento se debe elegir un método de integración.

Page 40: Guía para la modelación y análisis no lineal de muros de

40

Aunque existen varios tipos de integración para los modelos con plasticidad distribuida6; el

más utilizado es Gauss-Lobatto. La razón es que este método ubica un punto de integración

en cada extremo del elemento, donde los momentos son generalmente mayores. El orden de

precisión de Gauss Lobatto es 2N-1, donde N es el número de puntos de integración. (Scott,

2011, p. 2).

element forceBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag

<-mass $massDens> <-iter $maxIters $tol> <-integration $intType>

$eleTag identificador que se asigna a cada elemento.

$iNode nodo donde inicia del elemento.

$jNode nodo donde finaliza el elemento.

$num IntgrPts número de puntos de integración.

$secTag identificador de la sección transversal que le corresponde al elemento.

Este parámetro influye en el modelo de fuerza-deformación que posee

cada punto de integración. (Scott, p. 2)

$transfTag el identificador de la transformación geométrica que le corresponde al

elemento.

$massDens

(opcional)

la densidad por longitud del elemento. El programa tomará un valor de 0

por defecto.

$maxIters

(opcional)

el máximo número de iteraciones necesarias para satisfacer la

compatibilidad del elemento. OpenSees toma un valor de 10 iteraciones

por defecto.

$tol

(opcional)

la tolerancia requerida para cumplir con la compatibilidad del elemento

(default= 1E-12).

$intType el método de integración de este comando es Gauss-Lobatto

6 Si desea conocer otros métodos de integración, diríjase al PDF que se encuentra en http://opensees.berkeley.edu/wiki/index.php/Force-Based_Beam-Column_Element

Page 41: Guía para la modelación y análisis no lineal de muros de

41

A continuación, se presenta un ejemplo del comando:

#element forceBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol> <-integration $intType> element forceBeamColumn 1 1 2 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto

7.1.13. Linear Transformation Este comando sirve para ubicar un elemento, que se encuentra en un plano local, en el plano

global (Figura 29). El sistema de coordenadas local posee un eje x cuya dirección depende de

los nodos de inicio y fin del elemento (node i y node j). También, existe en el plano local un

vector llamado vecxz que no puede ser paralelo al eje x y que es proporcionado por el usuario.

El producto de cruz entre el eje x y el vecxz origina el eje local y (Vy = Vxz X Vx). El eje z local

es el resultado del producto cruz entre el eje x y el eje y (Vz = Vx X Vy). Por otro lado, la sección

del elemento permanece en el plano yz local que se encuentra en el sistema de coordenadas

propio del elemento.

Figura 29 Sistema de coordenadas del elemento. Imagen extraída de http://opensees.berkeley.edu/wiki/index.php/Linear_Transformation

geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ

$transfTag el identificador de la transformación lineal.

$vecxzX

$vecxzY

$vecxzZ

las componentes del vector vecxz, el cual define el plano local xz.

Estas componentes deben ser especificadas en el sistema global

de coordenadas.

Por ejemplo, para una columna (elemento 1) y una viga (elemento 2) de un pórtico debemos

aplicar diferentes transformaciones lineales (Figura 30).

Page 42: Guía para la modelación y análisis no lineal de muros de

42

Figura 170 Secciones transversales de cada elemento ubicadas en el plano local yz. Imagen modificada de http://opensees.berkeley.edu/wiki/index.php/Linear_Transformation

Para que la columna se ubique de manera correcta, el vector vecxz debe alinearse con el eje

-z global; es decir que sus componentes en el sistema global deben ser: (x=0, y=0, z=-1). Esto

se representa de la siguiente manera en OpenSees:

#Esta transformación lineal garantiza que el vector local z de la sección transversal se alinee con el eje -z global.

#geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ geomTransf Linear 1 0 0 -1 Por otro lado, para que la viga se ubique como se muestra en la Figura 31, el vector vecxz

debe ser paralelo al eje y global; es decir que sus componentes en el sistema global deben

ser: (x=0, y=1, z=0). Esto se representa de la siguiente manera en OpenSees:

#Esta transformación lineal garantiza que el vector local z de la sección transversal se alinee con el eje y global. #geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ geomTransf Linear 2 0 1 0

Figura 3118 Transformación lineal de los elementos de un pórtico. Imagen editada de http://opensees.berkeley.edu/wiki/index.php/Linear_Transformation

Page 43: Guía para la modelación y análisis no lineal de muros de

43

7.1.14. NodalLoad command Este comando sirve para aplicar una carga a un nodo en cualquiera de sus grados de

libertad.

load $nodeTag (ndf $LoadValues)

$nodeTag el identificador numérico del nodo sobre el cual se aplica la carga.

$LoadValues el valor de la carga que se aplica sobre alguno de los grados de

libertad.

Por ejemplo, si se desea aplicar una carga vertical se puede usar el siguiente código:

#Se aplica una carga vertical de -120 kN (dof 2) sobre el nodo 1. # Load nodeTag LoadValues load 1 0. -120 0 0 0 0;

7.1.15. Plain Pattern Este comando sirve para asociar varias cargas, es decir que estas sean aplicadas

simultáneamente, se mantengan constantes a lo largo del tiempo o se modifiquen (aumenten

o disminuyan).

pattern Plain $patternTag $tsTag <-fact $cFactor> {

load…

}

$patternTag el identificador del patrón de carga.

$tsTag el identificador del time series que le corresponde al patrón de carga.7

$cFactor el factor que modifica la carga, la cual se asigna dentro de las llaves ({}). Si

se quiere mantener la carga constante a lo largo del tiempo, se debe elegir

un valor igual a 1.

Por ejemplo, para asignar un patrón a la carga del anterior ejemplo se puede usar el siguiente

código:

#pattern Plain $patternTag $tsTag <-fact $cFactor> pattern Plain 1 1 1{ load 1 0. -120 0 0 0 0

7 Revisar la información del comando Linear TimeSeries que se encuentra en la parte inferior.

Page 44: Guía para la modelación y análisis no lineal de muros de

44

}

7.1.16. Linear TimeSeries Este comando sirve para crear un objeto llamado TimeSeries, el cual representa una relación

linealmente proporcional entre el tiempo t y el factor λ (Figura 32). Este factor λ es igual a

$cFactor*t.

timeSeries Linear $tag <-factor $cFactor> $tag el identificador del timeSeries.

$cFactor el factor que modifica la carga. Este valor es opcional y por defecto

OpenSees toma un valor igual a 1.

Figura 192 Relación lineal entre el tiempo y λ. Imagen extraída de http://opensees.berkeley.edu/wiki/index.php/Linear_TimeSeries

Por ejemplo, para crear un patrón de carga como el del ejemplo anterior, es necesario haber

creado previamente un time series.

#El time series se identifica con el número 1. #timeSeries Linear $tag <-factor $cFactor> timeSeries Linear 1 1 #El time series que usa el patrón de carga es el número 1. #La carga se mantendrá constante en el tiempo pues $cFactor es igual a 1. #pattern Plain $patternTag $tsTag <-fact $cFactor> pattern Plain 1 1 1{ load 1 0. -120 0 0 0 0 }

7.1.17. Uniform Excitation Pattern Este comando se usa para aplicar una excitación sísmica al modelo en cualquier dirección.

pattern UniformExcitation $patternTag $dir -accel $tsTag <-vel0 $vel0> <-fact $cFactor>

$patternTag el identificador del patrón de carga.

Page 45: Guía para la modelación y análisis no lineal de muros de

45

$dir la dirección en la que se aplica la excitación sísmica.

1: desplazamiento en el eje x global.

2: desplazamiento del eje y global.

3: desplazamiento del eje z global.

4: rotación alrededor del eje x global.

5: rotación alrededor del eje y global.

6: rotación alrededor del eje z global.

$tsTag el identificador del time series del patrón de carga.8

$vel0 la velocidad inicial. Este parámetro es opcional y por defecto es igual a

0.

$cFactor el factor que modifica la magnitud de la excitación sísmica. Este

parámetro es opcional y por defecto es igual a 1 (constante).

#Se aplica una excitación sísmica en x. #El time series que usa es el número 2. #pattern UniformExcitation $patternTag $dir -accel $tsTag pattern UniformExcitation 1 1 -accel 2

7.1.18. Path TimeSeries Este comando sirve para crear un objeto llamado Path TimeSeries, el cual representa una

relación el tiempo t y el factor λ que es proporcionada por el usuario como una serie de puntos

en el espacio 2D (factor de carga, tiempo). Los datos que pertenecen a los factores de carga

provienen de un bloc de notas (archivo txt) o de un archivo tcl generado en Cypress. Mientras

que el intervalo de tiempo dt es proporcionado por el usuario. Además, esta función es útil

cuando se quiere aplicar una excitación sísmica.

timeSeries Path $tag -dt $dt -filePath $filePath <-factor $cFactor>

$tag el identificador del time series.

8 Revisar la información del comando Path TimeSeries que se encuentra en la parte inferior.

Page 46: Guía para la modelación y análisis no lineal de muros de

46

$dt el intervalo de tiempo que corresponde a los datos del archivo.

$filePath el nombre del archivo que contiene los factores de carga.

$cFactor la constante que modifica los factores de carga.

Por ejemplo, para aplicar una excitación sinusoidal se usó el siguiente código:

#timeSeries Path $tag -dt $dt -filePath $filePath <-factor $cFactor> timeSeries Path 2 -dt 0.005 -filePath seno.tcl -factor 1 #El time series que usa es el número 2. #pattern UniformExcitation $patternTag $dir -accel $tsTag pattern UniformExcitation 1 1 -accel 2

7.2. Analysis Commands

Para ejecutar un análisis de aun modelo de OpenSees es necesario definir seis componentes

(Figura 33):

• Constraint Handler: determina cómo se incluirán las restricciones de movimiento en

el análisis

• DOF Numberer: relaciona los grados de libertad de los nodos con el número de

ecuaciones.

• Integrator: calcula el incremento del tiempo t+dt.

• Solution Algorithm: determina cuáles son los pasos necesarios para resolver el sistema

de ecuaciones no-lineal.

• System of Equations/Solver: especifica cómo almacenar y resolver el sistema de

ecuaciones no-lineal durante el análisis del modelo.

• Convergence Test: determina cuando se alcanza la convergencia.

Cada componente posee variantes que determinan qué tipo de análisis se va a realizar. En el

gráfico inferior, se observa los componentes para un análisis estático (pushover) y dinámico

respectivamente.

Page 47: Guía para la modelación y análisis no lineal de muros de

47

Figura 203 Gráfico con los componentes de un análisis estático y dinámico.

7.2.1. Plain Constraints Este comando se usa para incluir en el análisis las restricciones de movimiento que han sido creadas usando fix command.

constraints Plain

7.2.2. Transformation Method Este comando sirve para incluir en el análisis las restricciones de movimiento que han sido

creadas usando fix command, EqualDOF command y RigidDiaphragm command.

constraints Transformation

7.2.3. BandGeneral SOE Esta función almacena un sistema lineal de ecuaciones en forma de matriz banda. Todos los

elementos de una matriz banda son iguales a 0, a excepción de los que se encuentran junto a

la diagonal. Por ejemplo, una matriz 6x6 con un ancho de banda igual a 3 se ve así:

Page 48: Guía para la modelación y análisis no lineal de muros de

48

La anterior matriz es almacenada como una matriz de menor dimensión gracias a la función

BandGeneral SOE.

La sintaxis de este comando es la siguiente:

system BandGeneral

7.2.4. Plain Numberer Este comando relaciona el número de grados de libertad de los nodos con el número de

ecuaciones.

numberer Plain

7.2.5. RCM Numberer Este comando renumera los grados de libertad para minimizar el ancho de banda y, así,

optimizar el almacenamiento de los datos. (Mazzoni y McKenna, 2006)

numberer RCM

7.2.6. Energy Increment Test Este comando sirve para construir una prueba de convergencia que utiliza el producto punto

entre los desplazamientos y la fuerza para evaluar la convergencia (Quintero, 2018, p.55).

test EnergyIncr $tol $iter

Page 49: Guía para la modelación y análisis no lineal de muros de

49

$tol el valor de tolerancia que se usa para verificar si la solución converge.

$iter el número de iteraciones que se deben realizar antes de arrojar un error en la

prueba de convergencia.

7.2.7. Norm Displacement Increment Test Este comando establece una prueba de convergencia teniendo en cuenta los

desplazamientos. Esta función es útil cuando se desea ejecutar un análisis pushover.

test NormDispIncr $tol $iter

$tol el valor de tolerancia que se usa para verificar si la solución converge.

$iter el número de iteraciones que se deben realizar antes de arrojar un error en la

prueba de convergencia.

7.2.8. Linear Algorithm

Este comando se usa para crear un algoritmo que resuelva un sistema de ecuaciones usando

una iteración.

algorithm Linear

7.2.9. Newton Algorithm Esta función permite resolver un sistema de ecuaciones no lineal usando el método Newton-

Raphson. Este método es ampliamente usado debido a su sencillez y encuentra una solución

aproximada usando la derivada en cada iteración.

algorithm Newton

7.2.10. Broyden Algorithm Este comando permite realizar varias iteraciones antes de encontrar la tangente durante la

iteración actual. Este método de solución es más refinado que Newton-Raphson y se

recomienda usarlo cuando se presenten problemas de convergencia.

algorithm Broyden <$count>

Page 50: Guía para la modelación y análisis no lineal de muros de

50

$count el número de iteraciones que se deben realizar hasta encontrar una nueva

tangente.

7.2.11. Analysis Command Esa función sirve para definir el tipo de análisis que se va a ejecutar.

analysis $analysisType

$analysisType Static: esta es la opción adecuada para pushover.

Transient: esta opción se usa cuando se realiza un análisis dinámico con un

paso de tiempo constante.

VariableTransient: esta opción se utiliza cuando se realiza un análisis

dinámico con un paso de tiempo variable.

7.2.12. Analyze Command Este comando sirve para inicializar el análisis del modelo, después que se han establecido los

seis componentes mencionados.

analyze $numIncr <$dt>

$numIncr el número de veces que se realizará el análisis.

$dt el incremento en el paso del tiempo. Esta variable debe incluirse cuando se

realiza un análisis tipo Transient.

7.2.13. Load Control Este comando controla el factor de incremento λ y el número de iteraciones en que se aplicará

la carga. Este comando es útil cuando se quiere aplicar una carga vertical.

integrator LoadControl $lambda <$numIter $minLambda $maxLambda>

$lambda el factor de incremento de carga.

$numIter el número de iteraciones en que se aplicará la carga. Este parámetro es

opcional y por defecto OpenSees toma un valor igual a 1.

Page 51: Guía para la modelación y análisis no lineal de muros de

51

$minLambda el tamaño de paso mínimo que el usuario permitirá. Este parámetro es

opcional. Si no se incluye, se asume que λmín= λ

$maxLambda el tamaño de paso máximo que el usuario permitirá. . Este parámetro es

opcional. Si no se incluye, se asume que λmáx= λ

Por ejemplo, para aplicar una carga sobre un muro de concreto se usó el siguiente código:

#Se usa esta opción porque en el modelo de un solo muro no hay diafragma rígido. # Constraint Handler constraints Plain # DOF Numberer numberer Plain # System of Equations system BandGeneral # Convergence Test #test NormDispIncr $tol $iter test NormDispIncr +1.000E-08 6 # Solution Algorithm algorithm Newton # Integrator #El factor lambda es igual a 0.1; es decir que en cada iteración se aplicara 0.1 de la carga total. #integrator LoadControl $lambda integrator LoadControl 0.1 # Analysis Type analysis Static # Analyze model #Se realizará 10 veces el análisis. #Se aplica 10 veces una carga igual a 0.1*carga total (10*0.1=1) analyze 10

Nota: es muy importante que el número de veces que se ejecute el análisis garantice que se

aplique la totalidad de la carga.

7.2.14. Displacement Control

Esta función determina cuál es el paso de tiempo necesario para que incremente el

desplazamiento de un nodo en alguno de sus grados de libertad.

integrator DisplacementControl $node $dof $incr <$numIter $ΔUmin $ΔUmax>

$node el nodo que controla la solución.

$dof el grado de libertad que se analizará.

$incr el primer incremento del desplazamiento.

Page 52: Guía para la modelación y análisis no lineal de muros de

52

$numIter el número de iteraciones que ocurrirán hasta que se alcance el

desplazamiento deseado.

$ΔUmin el tamaño del paso mínimo. Este parámetro es opcional. Si no se incluye,

OpenSees asume que ΔUmín = ΔUinicial.

$ΔUmax el tamaño del paso máximo. Este parámetro es opcional. Si no se incluye,

OpenSees asume que ΔUmáx = ΔUinicial.

Por ejemplo, para realizar un análisis pushover de un edificio con muros de concreto se usó el

siguiente código:

# Constraint Handler #Se usa esta opción porque en el modelo hay diafragma rígido. constraints Transformation # DOF Numberer numberer Plain # System of Equations system BandGeneral # Convergence Test #test NormDispIncr $tol $iter test NormDispIncr +1.000E-05 100 # Solution Algorithm #algorithm Broyden <$count> algorithm Broyden 8 # Integrator #integrator DisplacementControl $node $dof $incr <$numIter $ΔUmin $ΔUmax> integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-4 +2.000E-3 # Analysis Type analysis Static

7.2.15. Newmark Method Este comando crea un integrador que modifica la aceleración y se usa en cuando se aplica una

excitación sísmica.

integrator Newmark $gamma $beta

$gamma factor γ

$beta factor β

Los valores más comunes de los factores γ y β son los siguientes:

• γ= 0.5, β= 0.25. Estos valores se usan si se desea que el método use una aceleración

promedio.

Page 53: Guía para la modelación y análisis no lineal de muros de

53

• γ= 0.5, β= 0.16. Estos valores se usan si se desea que el método use una aceleración

lineal.

Por ejemplo, para realizar una excitación sísmica de un edificio con muros de concreto se usó

el siguiente código:

# Constraint Handler #Se usa esta opción porque en el modelo hay diafragma rígido. constraints Transformation; # DOF Numberer numberer Plain; # System of Equations system BandGeneral; # Convergence Test #test NormDispIncr $tol $iter test EnergyIncr 1.0e-8 6 algorithm Linear #integrator Newmark $gamma $beta integrator Newmark 0.5 0.25 ; analysis Transient; #analyze $numIncr <$dt> analyze 500 0.01;

7.2.16. Eigen Command Este comando retorna los valores propios que el usuario requiera y se usa para calcular la

frecuencia de una edificación.

eigen <$solver> $numEigenvalues $solver el método que se va a aplicar para obtener los valores propios. Este

parámetro es opcional. Existen las siguientes opciones:

-genBandArpack (por defecto), -symmBandLapack, -fullGenLapack

$numEigenvalues el número requerido de vectores propios que el usuario desea

obtener.

#El comando eigen retorna un solo valor propio. #La frecuencia del edificio se calcula como el valor propio elevado a la 0.5 set freq [expr [eigen -fullGenLapack 1]**0.5]

Page 54: Guía para la modelación y análisis no lineal de muros de

54

7.3. Output Commands Este tipo de comandos son útiles para obtener información a partir del modelo después que

el análisis haya sido ejecutado.

7.3.1. LogFile Esta función crea un bloc de notas donde se guarda la información que aparece en el

Monitoring Output (pantalla azul).

logFile $fileName

$fileName el nombre del archivo.

logFile "P2.log"

7.3.2. File mkdir Ese comando sirve para crear una carpeta donde se almacena los resultados del análisis del

modelo. Este archivo se guardará en la misma ubicación del archivo tcl.

file mkdir $name $name el nombre del archivo.

set nombre Resultados #Se crea un archivo llamado Resultados file mkdir $nombre

7.3.3. Node Recorder Después de haber construir el modelo usando los comandos descritos anteriormente, es

necesario crear los recorders. Estos elementos sirven para guardar los resultados del análisis

en archivos txt.

recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType $fileName el nombre del archivo.

-time el dominio del tiempo aparece en la primera columna. Este

parámetro es opcional.

Page 55: Guía para la modelación y análisis no lineal de muros de

55

$node1 $node2… los identificadores numéricos de los nodos cuya respuesta va a ser

grabada.

dof1 $dof2 … los grados de libertad de los nodos.

$respType el tipo de respuesta que va a ser grabada. En el caso de los nodos, las

opciones más usadas son:

disp desplazamiento vel velocidad accel aceleración reaction reacción

Por ejemplo, para almacenar las reacciones y el desplazamiento del nodo 1 en el grado de

libertad 1 se puede usar el siguiente código:

set nombre Resultados file mkdir $nombre #Se graban las reacciones del nodo 1 en dirección x. recorder Node -file $nombre/Node1_RBase_RFrc.out -time -node 1 -dof 1 reaction #Se graba el desplazamiento del nodo 1 en dirección x. recorder Node -file $nombre/Node1_DFree_Dsp.out -time -node 1 -dof disp #Después de crear los recorders se definen los parámetros del análisis #Análisis constraints ... numberer .... system ... test ... algorithm ... integrator ... analysis ...

7.3.4. Record Command

Después de establecer los parámetros del análisis, el comando record permite inicializar el

registro de los datos.

record

set nombre Resultados file mkdir $nombre #Se crean los recorders recorder Node -file $nombre/Node1_RBase_RFrc.out -time -node 1 -dof 1 reaction recorder Node -file $nombre/Node1_DFree_Dsp.out -time -node 1 -dof 1 disp #Parámetros del análisis constraints ... numberer ...

Page 56: Guía para la modelación y análisis no lineal de muros de

56

system ... test ... algorithm ... integrator ... analysis ... #Se inicializa el almacenamiento de datos record

7.4. Misc Commands

Estos comandos sirven para modificar propiedades de elementos o nodos que ya han sido

creados.

7.4.1. SetTime Command Este comando sirve para asignarle al tiempo el valor que el usuario desee.

setTime $pseudoTime $pseudoTime el valor del tiempo que el usuario desee establecer.

Por ejemplo, se puede reiniciar el tiempo usando este comando: #El tiempo se reinicia setTime 0.0

7.4.2. LoadConst Command Esta función mantiene constante la carga impuesta y, también, modifica el valor del tiempo.

loadConst <-time $pseudoTime> $pseudoTime el valor del tiempo que el usuario desee establecer. Este parámetro es

opcional.

7.4.3. Remove Command Este comando sirve para eliminar los componentes del modelo que el usuario desee.

Para eliminar un elemento:

remove element $eleTag

$eleTag el identificador del elemento que quiere removerse.

Para eliminar un nodo:

remove node $nodeTag

Page 57: Guía para la modelación y análisis no lineal de muros de

57

$nodeTag el identificador del nodo que quiere removerse.

Para eliminar todos los recorders:

remove recorders

Nota: el hecho de eliminar los recorders no implica que se borren los resultados que han sido grabados en los archivos txt.

7.4.4. WipeAnalysis Command Esta función se usa para eliminar los parámetros del análisis (integrator, numberer, system,

etc.).

wipeAnalysis Por ejemplo, para iniciar un nuevo análisis es necesario aplicar este comando: #Análisis 1 constraints ... numberer .... system ... test ... algorithm ... integrator ... analysis ... record analyze 10 # Reset para empezar un nuevo análisis #Se reinicia el tiempo setTime 0.0 #Las cargas se mantienen constantes loadConst #Los recorders dejan de grabar remove recorders #Se eliminar los parámetros del análisis anterior wipeAnalysis #Se inicia un nuevo análisis #Análisis 2 . . .

7.4.5. Wipe Command Esta función se usa para eliminar todos los objetos creados como nodos, recorders, vigas,

columnas, fuerzas, etc. Además, este comando permite volver a ejecutar el modelo sin tener

que salir y reiniciar el software. (Mazzonni et al., p. 359).

wipe

Page 58: Guía para la modelación y análisis no lineal de muros de

58

#Se borra la información guardada. wipe #Construcción del modelo model BasicBuilder -ndm 3 -ndf 6

7.4.6. Mass Command Este comando sirve para asignar masa a los nodos.

mass $nodeTag (ndf $massValues) $nodeTag el identificador del nodo al cual se le va a asignar masa.

$massValues los valores de masa en cada uno de los grados de libertad del nodo.

Por ejemplo, para asignar masa al nodo 1 que posee 6 grados de libertad se usa el siguiente

código:

#Se asigna al nodo 1 un valor de masa igual a 0.5 Mg en x y z. mass 1 0.5 0 0.5 0 0 0

7.4.7. NodeDisp Command Esta función retorna el valor del desplazamiento del nodo que el usuario desee.

nodeDisp $nodeTag <$dof>

$nodeTag el identificador del nodo del cual se desea conocer el desplazamiento.

$dof el grado de libertad del nodo. Este parámetro es opcional. Si no se

incluye esta opción, la función retorna el desplazamiento del nodo en

todos los grados de libertad.

#Desplazamiento del nodo 1 en z. nodeDisp 1 1

7.4.8. Rayleigh Damping Command Este comando se usa para amortiguamiento a los elementos y nodos creados. La matriz de

amortiguamiento D se calcula se la siguiente manera:

D = $alphaM * M + $betaK * Kcurrent +$betaKinit * Kinit + $betaKcomm * KlastCommit

Page 59: Guía para la modelación y análisis no lineal de muros de

59

rayleigh $alphaM $betaK $betaKinit $betaKcomm

$alphaM el factor aplicado a la matriz de masa de los elementos o nodos.

$betaK el factor aplicado a la matriz de rigidez actual de los elementos.

$betaKinit el factor aplicado a la matriz inicial de rigidez de los elementos.

$betaKcomm el factor aplicado a la matriz de rigidez de los elementos.

#rayleigh $alphaM $betaK $betaKinit $betaKcomm rayleigh 0.01 0.02 0.0 0.0

7.4.9. Exit Command Este comando sirve para terminar con el análisis del modelo y para asegurarse que todos los

archivos se cierren correctamente.

exit

Page 60: Guía para la modelación y análisis no lineal de muros de

60

8. Ejemplos 8.1. Ejemplo 1: Ciclo de histéresis

El modelo usado para generar un ciclo de histéresis fue el de un muro de concreto reforzado.

Este espécimen posee las siguientes características:

Tabla 2 Características del muro modelado en OpenSees

Altura 4.6 m Largo 2.0 m Ancho 0.15 m Materiales

Concreto f’c=40.9 MPa

Ref. Ø8 mm fy =583.7 MPa Ref. Ø12 mm fy =576.0 MPa

Tipo de muro Esbelto Relación de aspecto 2.3 Carga axial 695 kN

A continuación, se muestra en la Figura 34 el despiece del muro que fue modelado en

OpenSees (WSH4).

Figura 214 Despiece del muro WSH4. Imagen extraída de Dazio, A. Beyer, K. y Bachmann, H. (2009). Quasi-static cyclic tests and plastic hinge analysis of RC

structural walls.

Page 61: Guía para la modelación y análisis no lineal de muros de

61

Además, el muro WSH4 fue sometido a un ensayo cíclico cuasi-estático junto con otros 5

especímenes en Zúrich. (Figura 35)

8.1.1. Pasos Para generar el ciclo de histéresis se realizaron las siguientes etapas:

1. Construcción del muro

1.1. Nodos: se construye dos nodos, uno se ubica en la base y otro a 4.6 m(ver

Anexo 1.1).

1.2. Empotramiento de la base: se restrinje el movimiento en todas las direcciones

del nodo de la base (ver Anexo 1.1).

1.3. Materiales: se usa los comandos Concrete02 y Steel02 para representar el

concreto y el acero respectivamente. Los parámetros de estos comandos se

muestran en la tabla inferior (ver Anexo 1.2).

Figura 35 Ciclo de histéresis del muro WSH4. Imagen extraída de Dazio, A. Beyer, K. y Bachmann, H. (2009). Quasi-static cyclic tests and plastic hinge

analysis of RC structural walls.

Page 62: Guía para la modelación y análisis no lineal de muros de

62

Tabla 3 Parámetros de los caomandos usados para representar los materiales

Concrete02 Steel02 Ø8 mm Steel02 Ø12 mm fc (MPa) 40,9 Fy (MPa) 583,7 Fy (MPa) 576 epsc0 -0,003 E (MPa) 2,E+08 E (MPa) 2,E+08 fcu (MPa) 8,18 b 0,01 b 0,01 epsu -0.05 R0 18 R0 18 lambda 0,100 cR1 0,93 cR1 0,93 ft (MPa) -5,726 cR2 0,15 cR2 0,15 Ets (MPa) -2863 a1 0 a1 0

a2 1 a2 1

a3 0 a3 0

a4 1 a4 1

sig0 0 sig0 0

1.4. Sección transversal: se construye una sección de concreto de 2 m de largo y

0.15 m de ancho (ver Anexo 1.3).

1.5. Transformación lineal: se alinea eje local z con el eje global -z (ver Anexo 1.3).

1.6. Elementos: se crea un solo elemento para representar el muro (ver Anexo 1.4).

1.7. Asignación de carga vertical: se impone una carga de 695 kN axialmente (ver

Anexo 1.4).

2. Creación de recorders

2.1. Recorder para grabar el desplazamiento en el nodo superior (ver Anexo 1.4).

2.2. Recorder para grabar la reacción en la base (ver Anexo 1.4).

3. Análisis del modelo usando la carga vertical.

3.1. Asignación de parámetros del análisis estático (ver Anexo 1.5).

3.2. Inicia la grabación de los resultados de todos los nodos (ver Anexo 1.5).

3.3. Se reinicia el tiempo y los recorders dejan de grabar (ver Anexo 1.5).

4. Se asigna al nodo superior una fuerza horizontal 9 (ver Anexo 1.6).

5. Creación de nuevos recorders

5.1. Recorder para grabar el desplazamiento durante todo el ciclo de histéresis (ver

Anexo 1.6).

5.2. Recorder para grabar la reacción durante todo el ciclo de histéresis (ver Anexo

1.6).

9 Después de aplicar la carga vertical al muro es necesario desplazar el nodo superior hacia la derecha (+x) y hacia la izquierda (-x) para crear el ciclo de histéresis.

Page 63: Guía para la modelación y análisis no lineal de muros de

63

6. Análisis del modelo usando la carga horizontal en sentido positivo.

6.1. Asignación de parámetros del análisis push over (ver Anexo 1.6).

6.2. Inicia la grabación de los resultados y, simultáneamente, el muro empieza a

moverse en sentido positivo +x10 (ver Anexo 1.6).

6.3. Se reinicia el tiempo y los recorders dejan de grabar (ver Anexo 1.6).

7. Asignación de una nueva fuerza al nodo superior en x (ver Anexo 1.7).

8. Análisis del modelo usando la carga horizontal en sentido negativo (ver Anexo 1.7).

8.1. Asignación de parámetros del análisis push over (ver Anexo 1.7).

8.2. Inicia la grabación de los resultados y, simultáneamente, el muro empieza a

moverse en sentido negativo -x (ver Anexo 1.7).

8.3. Se reinicia el tiempo y los recorders dejan de grabar (ver Anexo 1.7).

9. Se repiten los pasos 7 y 8 hasta llegar al desplazamiento deseado (ver Anexo 1.8).

8.1.2. Resultados Después de ejecutar el código anterior se obtuvieron los resultados que se muestran en la

Figura 36.

10 El muro se mueve en sentido positivo si incremento del desplazamiento es positivo en el comando Displacement Control.

Page 64: Guía para la modelación y análisis no lineal de muros de

64

Figura 36 Ciclo de histéresis del muro WSH4 obtenido con OpenSees

Los resultados obtenidos en Opensees son cercanos a los experimentales (Figura 35). El valor

de fuerza más alto registrado en el laboratorio fue igual a 443 kN (Dazio, Beyer y Bachmann,

2019, p. 1563). Mientras que el modelo de OpenSees arrojó un valor igual a 439.521 kN

cuando el desplazamiento es igual a 75 mm.

8.2. Ejemplo 2: Análisis estático no lineal (pushover) Para ejecutar un análisis estático no lineal se construyó un modelo de un edifico de 6 pisos,

el cual se ubica en la ciudad de Bogotá. La edificación posee 41 muros de concreto reforzado

(DMO) por cada piso y 14 tipos de muros diferentes (revisar la carpeta de Anexos). Las

características principales de los muros se resumen en la siguiente tabla:

Page 65: Guía para la modelación y análisis no lineal de muros de

65

Tabla 4 Características de los muros del edificio modelado enOpenSees.

Materiales

Concreto f’c=21 MPa

Refuerzo malla Ø6.5 mm cada 15 cm fy =240 MPa

Refuerzo adicional

8 muros tienen refuerzo vertical adicional en cada piso.

Altura 2.45 m Ancho 0.10 m Largo 1.05≤lw≤4.93 Relación de aspecto11

2.98≤hw/lw≤14

Tipo Esbeltos

8.2.1. Pasos Para ejecutar el análisis pushover de un edificio se realizaron las siguientes etapas:

1. Construcción del edificio

1.1. Nodos: se crea 287 nodos en total (ver Anexo 2.1).

1.2. Empotramiento de la base: se restringe el movimiento de los nodos ubicados

en y=0 m (ver Anexo 2.1).

1.3. Cálculo de la masa y el peso: se calcula la carga muerta y el peso propio (ver

Anexo 2.2).

1.4. Materiales: se uso los comandos Concrete02 y Steel 02. Los parámetros de

cada función se muestran en la tabla inferior (ver Anexo 2.3).

Tabla 5 Parámetros de los comandos Concrete02 y Steel02

Concrete02 Steel02 Ø 6,5 mm fc (MPa) 21,0 Fy (MPa) 240 epsc0 -0,003 E (MPa) 2,0E+08 fcu (MPa) 4,20 b 0,01 epsu -0,050 R0 18 lambda 0,100 cR1 0,93 ft (MPa) -2,940 cR2 0,15 Ets (MPa) -1470 a1 0

a2 1

a3 0

a4 1

sig0 0

11 La relación de aspecto se calcula como el cociente entre la altura total del edificio (14,7 m) y el largo del muro.

Page 66: Guía para la modelación y análisis no lineal de muros de

66

1.5. Sección transversal: se crea una sección de 1.82 m de largo y 0.1 m de ancho

(ver Anexo 2.3).

1.6. Transformación lineal: se alinean los muros horizontales con el eje -z global y

los muros verticales se ubican paralelo al eje -x global (ver Anexo 2.4).

1.7. Elementos: se crea 41 muros por cada piso, es decir, 246 en total. (ver Anexo

2.4).

1.8. Creación del diafragma rígido para garantizar compatibilidad en los

desplazamientos (ver Anexo 2.5).

1.9. Asignación de carga vertical para cada muro (ver Anexo 2.6).

2. Creación de recorders

2.1. Recorder para grabar el desplazamiento (ver Anexo 2.7).

2.2. Recorder para grabar la reacción (ver Anexo 2.7).

3. Análisis del modelo usando la carga vertical.

3.1. Asignación de parámetros del análisis estático (ver Anexo 2.7).

3.2. Inicia la grabación de los resultados (ver Anexo 2.7).

3.3. Se reinicia el tiempo y los recorders dejan de grabar (ver Anexo 2.7).

4. Asignación de fuerza a los nodos maestros en x (ver Anexo 2.8).

5. Creación de nuevos recorders

5.1. Recorder para grabar el desplazamiento durante el pushover (ver Anexo 2.8).

5.2. Recorder para grabar la reacción durante el pushover (ver Anexo 2.8).

6. Análisis del modelo usando la carga horizontal.

6.1. Asignación de parámetros del análisis (ver Anexo 2.9).

6.2. Inicia la grabación de los resultados y, al mismo tiempo, la estructura empieza

a desplazarse (ver Anexo 2.9).

6.3. El análisis finaliza cuando se alcanza el desplazamiento deseado (ver Anexo

2.9).

Page 67: Guía para la modelación y análisis no lineal de muros de

67

8.2.2. Resultados En seguida, se grafican los resultados del análisis pushover para un muro paralelo al eje x y

otro paralelo al eje z. El cortante basal se obtuvo de dos nodos ubicados en la base del edificio:

nodo 1 (Figura 37) y nodo 14 (Figura 38). Mientras que el desplazamiento fue obtenido a partir

de los registros de dos nodos de la cubierta: nodo 247 (Figura 37) y nodo 260 (Figura 38).

Figura 37 Pushover de un muro horizontal (paralelo a x).12

Figura 38 Pushover de un muro vertical (paralelo a z).13

12 Se eliminaron los resultados que estuvieran dentro de los siguientes intervalos: 0.019975≤x≤0.023025 y x≥0.1426. 13Se eliminaron los resultados que estuvieran dentro de los siguientes intervalos: 0.019975≤x≤0.023025 y 0.1426≤x≤0.1428.

Page 68: Guía para la modelación y análisis no lineal de muros de

68

Por otro lado, se realizó un modelo del edificio y se ejecutó un análisis pushover en SAP 2000.

Los resultados que este software arrojó se mantuvieron dentro del rango lineal. Por lo tanto,

para realizar una comparación coherente, se calculó una regresión con los resultados de

OpenSees que se mantuvieran en un rango lineal.

Además, el modelo de SAP 2000 (Figura 39) incluye rótulas plásticas en los muros del primer

piso. La ubicación de las rótulas se calculó como la mitad de la longitud de cada muro: 𝑙𝑙𝑝𝑝 =

𝑙𝑙𝑤𝑤/2. Esta aproximación es aplicable para muros esbeltos según Segura (2017). Después de

calcular la ubicación de las rótulas, se encontró la relación de fuerza-deformación de cada

elemento usando la Tabla 10-19 de la ASCE-41-13 (ver Anexo 2.11). Los muros de este modelo

presentan una rigidez a flexión fisurada al 0.5 como lo indica la ASCE-41-13 (p.186, 2014). (ver

Anexo 2.11).

Figura 39 Modelo realizado en SAP 2000

Figura 220 Relación fuerza-deformación. Imagen extraída de ASCE-41-13 (2014)

Page 69: Guía para la modelación y análisis no lineal de muros de

69

En la tabla inferior se muestra los valores de a, b y c que se tomaron para calibrar las rótulas

plásticas que se usaron en SAP 2000.

Tabla 6 Variables obtenidas para calibrar la relación fuerza-deformación a partir de la Tabla 10-9 de la ASCE-41-13.

La comparación de los resultados de OpenSees y SAP 2000 se encuentra en la Figura 41 y 42.

Tabla 7 Comparación resultados SAP 2000 y OpenSees para el muro horizontal con sección transversal M-01

Resultados Pushover muro horizontal M-01

Desplazamiento (m) Cortante basal (kN) - SAP 2000

Cortante basal (kN)- Rango

elástico OpenSees

0.018 30.01 25.45 0.037 60.02 50.90 0.055 90.03 76.22 0.074 120.03 101.67 0.092 150.04 127.13 0.110 180.05 152.58 0.129 210.06 177.90 0.147 240.07 203.35

a 0.006

b 0.015

c 0.6

Page 70: Guía para la modelación y análisis no lineal de muros de

70

Figura 231 Comparación resultados SAP 2000 y OpenSees para el muro horizontal con sección transversal M-01

Tabla 8 Comparación resultados SAP 2000 y OpenSees para el muro horizontal con sección transversal M-13

Resultados Pushover M-13

Desplazamiento (m) Cortante basal (kN) - SAP 2000

Cortante basal (kN)- Regresión lineal OpenSees

0.018 0.34 0.22 0.037 0.67 0.43 0.055 1.01 0.65 0.074 1.35 0.87 0.092 1.68 1.09 0.110 2.02 1.30 0.129 2.36 1.52 0.147 2.69 1.74

Page 71: Guía para la modelación y análisis no lineal de muros de

71

Figura 42 Comparación resultados SAP 2000 y OpenSees para el muro horizontal con sección transversal M-13

Los resultados obtenidos con OpenSees y SAP 2000 son cercanos y presentan la misma

magnitud. Esto se debe a que en SAP 2000 no se incluyen todos los parámetros de los

materiales que se asignan en los comandos Steel02 y Concrete02. Además, en SAP 2000 no

fue posible incluir un refuerzo con barras de acero de diámetro 6.5 mm; puesto que no existe

esta opción.

8.3. Ejemplo 3: Excitación sísmica El modelo usado en el ejemplo anterior se sometió a dos análisis dinámicos (Figura 43 y 44)

que involucraron el movimiento del suelo en la dirección del eje z global. Para el primer

análisis se utilizó una señal sinusoidal con un dt igual a 0.005 segundos (ver archivo Anexos).

Para el segundo análisis se usó una señal sísmica denominada A 10000 extraída de OpenSees

Wiki (Terzic, 2012).

Page 72: Guía para la modelación y análisis no lineal de muros de

72

8.3.1. Pasos Para generar el análisis dinámico de un edificio se realizaron las siguientes etapas:

1. Construcción del edificio

1.1. Nodos: se construye 287 nodos (ver Anexo 3.1).

1.2. Empotramiento de la base: se restringe el movimiento de los nodos ubicados

en y=0 m (ver Anexo 3.1).

1.3. Se calcula la masa y el peso: se ecnuentra la carga muerta y el peso propio (ver

Anexo 3.2).

Figura 43 Señal sinusoidal

Figura 244 Señal sísmica A 10000

Page 73: Guía para la modelación y análisis no lineal de muros de

73

1.4. Se asigna masa a los nodos según los cálculos hechos en el paso 1.3 (ver Anexo

3.2).

1.5. Materiales: se uso los comandos Concrete02 y Steel 02. Los parámetros de

cada función se muestran en la tabla inferior (ver Anexo 3.3).

Tabla 9 Parámetros de los comandos Concrete02 y Steel02

Concrete02 Steel02 Ø 6,5 mm fc (MPa) 21,0 Fy (MPa) 240 epsc0 -0,003 E (MPa) 2,0E+08 fcu (MPa) 4,20 b 0,01 epsu -0,050 R0 18 lambda 0,100 cR1 0,93 ft (MPa) -2,940 cR2 0,15 Ets (MPa) -1470 a1 0

a2 1

a3 0

a4 1

sig0 0

1.6. Sección transversal: se crea una sección de 1.82 m de largo y 0.1 m de ancho

(ver Anexo 3.3).

1.7. Transformación lineal: se alinean los muros horizontales con el eje -z global y

los muros verticales se ubican paralelo al eje -x global (ver Anexo 3.4).

1.8. Elementos: se crea 41 muros por cada piso, es decir, 246 en total. (ver Anexo

3.4).

1.9. Creación del diafragma rígido para garantizar compatibilidad de los

desplazamientos (ver Anexo 3.5).

1.10. Asignación de carga vertical a todos los muros (ver Anexo 3.5).

2. Creación de recorders

2.1. Recorder para grabar el desplazamiento (ver Anexo 3.6).

2.2. Recorder para grabar la reacción (ver Anexo 3.6).

3. Análisis del modelo usando la carga vertical.

3.1. Asignación de parámetros del análisis estático (ver Anexo 3.6).

3.2. Inicia la grabación de los resultados (ver Anexo 3.6).

3.3. Se reinicia el tiempo y los recorders dejan de grabar (ver Anexo 3.6).

4. Creación de nuevos recorders

Page 74: Guía para la modelación y análisis no lineal de muros de

74

4.1. Recorder para grabar el desplazamiento durante la excitación sísmica (ver

Anexo 3.7).

4.2. Recorder para grabar la reacción durante la excitación sísmica (ver Anexo 3.7).

5. Se importa de la señal sísmica (ver Anexo 3.8).

6. Se incluye el amortiguamiento de Rayleigh (ver Anexo 3.8).

7. Análisis del modelo.

7.1. Asignación de parámetros del análisis dinámico (ver Anexo 3.9).

7.2. Inicia la grabación de los resultados y, simultáneamente, el edificio se somete

al sismo (ver Anexo 3.9).

8.3.2. Resultados

Figura 4525 Excitación sísmica usando una señal sinusoidal

Page 75: Guía para la modelación y análisis no lineal de muros de

75

Figura 4626 Excitación sísmica usando la señal A 10000

Page 76: Guía para la modelación y análisis no lineal de muros de

76

9. Anexos – Ejemplo 1

9.1. Anexo 1.1 #CICLO DE HISTÉRESIS DEL MURO WSH4 #Unidades: kN, kPa, m, seg. #Se crea un archivo donde se guarda la información del Monitoring Output logFile "modelo WSH4.log" #Las unidades del tiempo son segundos. set systemTime [clock seconds] # Inicia a contarse el tiempo de duración del análisis en milisegundos. set tStart [clock clicks -milliseconds] # Construcción del modelo #Se limpia la memoria. wipe; #El modelo se encuentra en un espacio 3D y los nodos poseen 6 grados de libertad. model BasicBuilder -ndm 3 -ndf 6 set nombre Resultados #Los resultados se guardan en un archivo llamado Resultados. file mkdir $nombre # Se definen los nodos # El nodo 1 se encuentra en la base. node 1 0 0 0 #El nodo 2 se encuentra en la parte superior del muro. node 2 0 4.6 0 #Se definen las restricciones de movimiento de los nodos (single point constraints) #El muro está empotrado en la base. fix 1 1 1 1 1 1 1 #El nodo 2 no puede desplazarse en z y no puede rotar alrededor del eje x. fix 2 0 0 1 1 0 0

9.2. Anexo 1.2 #Se calculan las propiedades del concreto. #Resistencia a compresión. #Este valor debe ser negativo porque OpenSees asume que la compresión es negativa. set fc -4.09E+04 #Resistencia última del concreto a compresión. set fcu [expr 0.2*$fc] #Resistencia a tensión. set ft [expr -0.14*$fc] #Pendiente del tramo de la gráfica esfuerzo-deformación donde se presenta tensión. set Ets [expr $ft/0.002] #Se definen los materiales # Material "acero8mm": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0> uniaxialMaterial Steel02 2 +5.837E+05 +2E+08 +1E-02 +1.8E+01 +9.25E-01 +1.5E-01 +0 +1 +0 +1 +0

Page 77: Guía para la modelación y análisis no lineal de muros de

77

# Material "concreto": matTag fc' epsc0 fcu' epsu lambda ft Ets uniaxialMaterial Concrete02 3 $fc -3E-03 $fcu -5E-02 +1E-01 $ft $Ets # Material "acero12mm": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0> uniaxialMaterial Steel02 4 +5.76E+05 +2E+08 +1.0E-02 +1.8E+01 +9.25E-01 +1.5E-01 +0 +1 +0 +1 +0

9.3. Anexo 1.3 #Se crea la sección transversal del muro section fiberSec 1 { #Se construye una sección rectangular de concreto. Largo: 2 m. Ancho:0.15 m. # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 3 40 1 -1 -7.5E-02 +1 -7.5E-02 +1 +7.5E-02 -1 +7.5E-02 #Se añade el refuerzo de acero. # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 4 3 +1.131E-04 +9.7E-01 -4.5E-02 +7.7E-01 -4.5E-02 # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 11 +5.03E-05 +0.645 -4.5E-02 -0.645 -4.5E-02 # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 4 3 +1.131E-04 -7.7E-01 -4.5E-02 -9.7E-01 -4.5E-02 # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 4 3 +1.131E-04 +9.7E-01 +4.5E-02 +7.7E-01 +4.5E-02 # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 11 +5.03E-05 +0.645 +4.5E-02 -0.645 +4.5E-02 # LayerStraight matTag numBar areaBar yStart zStart yEnd zEnd layer straight 4 3 +1.131E-04 -7.7E-01 +4.5E-02 -9.7E-01 +4.5E-02 } # Se define la transformación lineal necesaria para orientar de forma correcta el muro. (Revisar el comando Linear Transformation) #Esta transformación lineal garantiza que el vector local z de la sección transversal se alinee con el eje -z global. #geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ geomTransf Linear 1 0 0 -1

9.4. Anexo 1.4 #Se define un elemento con la sección transversal y la transformación lineal creadas previamente. # Element "Elemento": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol> element forceBeamColumn 1 1 2 6 1 1 -mass +0.000E+00 -iter 10 +1.000E-12 -integration Lobatto #Se define un timeSeries. # TimeSeries "LinearDefault": tsTag cFactor timeSeries Linear 1 -factor +1.000E+00 puts "o Analysis: Carga vertical"

Page 78: Guía para la modelación y análisis no lineal de muros de

78

# LoadPattern patternTag tsTag factor pattern Plain 1 1 -fact +1.000E+00 { #Se asigna una carga vertical igual a 695 kN # Load nodeTag LoadValues load 2 +0.000E+00 -6.95000E+02 +0.000E+00 0 0 0 } #Se crean los recorders para grabar el desplazamiento del nodo 2 y las reacciones en el nodo 1. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node_DFree_Dsp.out -time -node 2 -dof 1 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node_RBase_RFrc.out -time -node 1 -dof 1 2 3 reaction

9.5. Anexo 1.5 #Se definen los parámetros del análisis estático # Constraint Handler constraints Plain # DOF Numberer numberer Plain # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.0E-05 6 0 2 # Solution Algorithm algorithm Newton # Integrator #En cada paso del análisis se aplica 0.1 de la carga total. integrator LoadControl +1.0E-01 # Analysis Type analysis Static #Se inicializa la grabación. record #La carga vertical se aplicará en 10 pasos. analyze 10 # Reset para empezar un nuevo análisis. #El tiempo reinicia. setTime 0.0 #La carga aplicada permanece constante. loadConst #Los recorders dejan de grabar los resultados. remove recorders #Se eliminar los parámetros del análisis anterior wipeAnalysis

Page 79: Guía para la modelación y análisis no lineal de muros de

79

9.6. Anexo 1.6

puts "o Analysis: Push01_11.6mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. #El valor de la carga es arbitrario para este tipo de análisis. # LoadPattern "Push": patternTag tsTag factor pattern Plain 2 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen unos nuevos recorders para grabar el desplazamiento del nodo 2 y las reacciones en el nodo 1. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Push01_Node_DFree_Dsp.out -time -node 2 -dof 1 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/ResPush01_Node_RBase_RFrc.out -time -node 1 -dof 1 2 3 reaction #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl #Inicia la grabación de los resultados. record set delU 0.0155 #maxU es igual a 11.6 mm. set maxU [expr $delU*3/4] #El desplazamiento actual del nodo 2 es 0 mm. set currentDisp 0.0 #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 11.6 mm (maxU). while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp # Reset para iniciar un nuevo análisis. #Los recorders no se eliminan, porque grabaran todos los resultados de ahora en adelante. setTime 0.0 loadConst wipeAnalysis

Page 80: Guía para la modelación y análisis no lineal de muros de

80

9.7. Anexo 1.7 puts "o Analysis: Push02_-11.6mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 3 1 -fact +1.E+00 { # Load nodeTag LoadValues load 2 +4.375E+02 0 0 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -11.6 mm. set maxU [expr -1*$delU*3/4]; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -11.6 mm (maxU). while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp # Reset para el siguiente análisis. setTime 0.0 loadConst wipeAnalysis

9.8. Anexo 1.8

puts "o Analysis: Push03_11.6mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 4 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record

Page 81: Guía para la modelación y análisis no lineal de muros de

81

#maxU es igual a 11.6 mm. set maxU [expr $delU*3/4] #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 11.6 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp # Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push04_-11.6mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 5 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -11.6 mm. set maxU [expr -1*$delU*3/4] #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -11.6 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push05_31mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 6 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0

Page 82: Guía para la modelación y análisis no lineal de muros de

82

} #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 31 mm. set maxU [expr $delU*2] #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 31 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push06_-31mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 7 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -31 mm. set maxU [expr -1*$delU*2]; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -31 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp

Page 83: Guía para la modelación y análisis no lineal de muros de

83

#Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push07_31mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 8 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 31 mm. set maxU [expr $delU*2] #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 31 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push08_-31mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 9 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -31 mm. set maxU -0.031; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -31 mm. while {$currentDisp > $maxU} {

Page 84: Guía para la modelación y análisis no lineal de muros de

84

analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push09_45mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 10 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 45 mm. set maxU 0.045; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 45 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push10_-45mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 11 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record

Page 85: Guía para la modelación y análisis no lineal de muros de

85

#maxU es igual a -45 mm. set maxU -0.045; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -45 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push11_45mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -11.6 mm. # LoadPattern "Push": patternTag tsTag factor pattern Plain 12 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 45 mm. set maxU 0.045; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 45 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push_12_-45" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 13 1 -fact +1.000E+00 {

Page 86: Guía para la modelación y análisis no lineal de muros de

86

# Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -45 mm. set maxU -0.045; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -45 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push13_62mm" #Se aplica una carga horizontal (sentido x global) al nodo superior. # LoadPattern "Push": patternTag tsTag factor pattern Plain 14 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 62 mm. set maxU 0.062; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 62 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0

Page 87: Guía para la modelación y análisis no lineal de muros de

87

loadConst wipeAnalysis puts "o Analysis: Push14_-62m" #Se aplica una carga horizontal (eje x) al nodo 2. # LoadPattern "Push": patternTag tsTag factor pattern Plain 15 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -62 mm. set maxU -0.062; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -62 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push15_62m" #Se aplica una carga horizontal (eje x) al nodo 2. # LoadPattern "Push": patternTag tsTag factor pattern Plain 16 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl record #maxU es igual a 62 mm. set maxU 0.062; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 62 mm. while {$currentDisp < $maxU} { analyze 1

Page 88: Guía para la modelación y análisis no lineal de muros de

88

set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push16_-62m" #Se aplica una carga horizontal (eje x) al nodo 2. # LoadPattern "Push": patternTag tsTag factor pattern Plain 17 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_30.tcl source AnalysisOptn_30.tcl record #maxU es igual a -62 mm. set maxU -0.062; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -62 mm. while {$currentDisp > $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp #Reset para ejecutar el siguiente análisis. setTime 0.0 loadConst wipeAnalysis puts "o Analysis: Push17_75mm" #Se aplica una carga horizontal (eje x) al nodo 2. #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a -62 mm. # LoadPattern "Push": patternTag tsTag factor pattern Plain 18 1 -fact +1.000E+00 { # Load nodeTag LoadValues load 2 +4.375000E+02 +0.000E+00 +0.000E+00 0 0 0 } #Se definen los parámetros del análisis en el archivo llamado AnalysisOptn_40.tcl source AnalysisOptn_40.tcl

Page 89: Guía para la modelación y análisis no lineal de muros de

89

record #maxU es igual a 75 mm. set maxU 0.075; #Este análisis finalizará cuando el nodo 2 alcance un desplazamiento igual a 75 mm. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 2 1] } puts $currentDisp

Page 90: Guía para la modelación y análisis no lineal de muros de

90

10. Anexos – Ejemplo 2

10.1. Anexo 2.1 #PUSHOVER EDIFICIO #Unidades: kN, kPa, m, seg. #Se crea un archivo donde se guarda la información del Monitoring Output logFile "P2.log" #Las unidades del tiempo son segundos. set systemTime [clock seconds] #Creación del modelo. wipe; #Limpia la memoria si el modelo ha sido corrido anteriormente #Se crea un modelo 3d con 3 dimensiones y 6 grados de libertad. model BasicBuilder -ndm 3 -ndf 6 set nombre Resultados #Se crea un directorio llamado Resultados file mkdir $nombre #Altura de cada piso desde la base. set y1 2.45 set y2 4.9 set y3 7.35 set y4 9.8 set y5 12.25 set y6 14.7 #Creación de los nodos de los muros horizontales # Nodos del muro 1 horizontal node 1 1.78 0 3.13 node 42 1.78 $y1 3.13 node 83 1.78 $y2 3.13 node 124 1.78 $y3 3.13 node 165 1.78 $y4 3.13 node 206 1.78 $y5 3.13 node 247 1.78 $y6 3.13 # Nodos del muro 2 horizontal node 2 18.61 0 3.13 node 43 18.61 $y1 3.13 node 84 18.61 $y2 3.13 node 125 18.61 $y3 3.13 node 166 18.61 $y4 3.13 node 207 18.61 $y5 3.13 node 248 18.61 $y6 3.13 # Nodos del muro 3 horizontal node 3 7.48 0 6.27 node 44 7.48 $y1 6.27 node 85 7.48 $y2 6.27 node 126 7.48 $y3 6.27 node 167 7.48 $y4 6.27 node 208 7.48 $y5 6.27 node 249 7.48 $y6 6.27

Page 91: Guía para la modelación y análisis no lineal de muros de

91

# Nodos del muro 4 horizontal node 4 12.8 0 6.27 node 45 12.8 $y1 6.27 node 86 12.8 $y2 6.27 node 127 12.8 $y3 6.27 node 168 12.8 $y4 6.27 node 209 12.8 $y5 6.27 node 250 12.8 $y6 6.27 # Nodos del muro 5 horizontal node 5 1.94 0 7.52 node 46 1.94 $y1 7.52 node 87 1.94 $y2 7.52 node 128 1.94 $y3 7.52 node 169 1.94 $y4 7.52 node 210 1.94 $y5 7.52 node 251 1.94 $y6 7.52 # Nodos del muro 6 horizontal node 6 18.45 0 7.52 node 47 18.45 $y1 7.52 node 88 18.45 $y2 7.52 node 129 18.45 $y3 7.52 node 170 18.45 $y4 7.52 node 211 18.45 $y5 7.52 node 252 18.45 $y6 7.52 # Nodos del muro 7 horizontal node 7 7.48 0 8.77 node 48 7.48 $y1 8.77 node 89 7.48 $y2 8.77 node 130 7.48 $y3 8.77 node 171 7.48 $y4 8.77 node 212 7.48 $y5 8.77 node 253 7.48 $y6 8.77 # Nodos del muro 8 horizontal node 8 12.8 0 8.77 node 49 12.8 $y1 8.77 node 90 12.8 $y2 8.77 node 131 12.8 $y3 8.77 node 172 12.8 $y4 8.77 node 213 12.8 $y5 8.77 node 254 12.8 $y6 8.77 # Nodos del muro 9 horizontal node 9 1.78 0 11.91 node 50 1.78 $y1 11.91 node 91 1.78 $y2 11.91 node 132 1.78 $y3 11.91 node 173 1.78 $y4 11.91 node 214 1.78 $y5 11.91 node 255 1.78 $y6 11.91 # Nodos del muro 10 horizontal node 10 18.61 0 11.91 node 51 18.61 $y1 11.91 node 92 18.61 $y2 11.91 node 133 18.61 $y3 11.91 node 174 18.61 $y4 11.91 node 215 18.61 $y5 11.91 node 256 18.61 $y6 11.91

Page 92: Guía para la modelación y análisis no lineal de muros de

92

#Creación de los nodos de los muros verticales # Nodos del muro 11 vertical node 11 0.92 0 1.62 node 52 0.92 $y1 1.62 node 93 0.92 $y2 1.62 node 134 0.92 $y3 1.62 node 175 0.92 $y4 1.62 node 216 0.92 $y5 1.62 node 257 0.92 $y6 1.62 # Nodos del muro 12 vertical node 12 3.55 0 1.56 node 53 3.55 $y1 1.56 node 94 3.55 $y2 1.56 node 135 3.55 $y3 1.56 node 176 3.55 $y4 1.56 node 217 3.55 $y5 1.56 node 258 3.55 $y6 1.56 # Nodos del muro 13 vertical node 13 5.98 0 1.62 node 54 5.98 $y1 1.62 node 95 5.98 $y2 1.62 node 136 5.98 $y3 1.62 node 177 5.98 $y4 1.62 node 218 5.98 $y5 1.62 node 259 5.98 $y6 1.62 # Nodos del muro 14 vertical node 14 10.19 0 3.255 node 55 10.19 $y1 3.255 node 96 10.19 $y2 3.255 node 137 10.19 $y3 3.255 node 178 10.19 $y4 3.255 node 219 10.19 $y5 3.255 node 260 10.19 $y6 3.255 # Nodos del muro 15 vertical node 15 14.4 0 1.62 node 56 14.4 $y1 1.62 node 97 14.4 $y2 1.62 node 138 14.4 $y3 1.62 node 179 14.4 $y4 1.62 node 220 14.4 $y5 1.62 node 261 14.4 $y6 1.62 # Nodos del muro 16 vertical node 16 16.84 0 1.56 node 57 16.84 $y1 1.56 node 98 16.84 $y2 1.56 node 139 16.84 $y3 1.56 node 180 16.84 $y4 1.56 node 221 16.84 $y5 1.56 node 262 16.84 $y6 1.56 # Nodos del muro 17 vertical node 17 19.47 0 1.62 node 58 19.47 $y1 1.62 node 99 19.47 $y2 1.62 node 140 19.47 $y3 1.62 node 181 19.47 $y4 1.62 node 222 19.47 $y5 1.62 node 263 19.47 $y6 1.62

Page 93: Guía para la modelación y análisis no lineal de muros de

93

# Nodos del muro 18 vertical node 18 0 0 5.265 node 59 0 $y1 5.265 node 100 0 $y2 5.265 node 141 0 $y3 5.265 node 182 0 $y4 5.265 node 223 0 $y5 5.265 node 264 0 $y6 5.265 # Nodos del muro 19 vertical node 19 3.89 0 4.79 node 60 3.89 $y1 4.79 node 101 3.89 $y2 4.79 node 142 3.89 $y3 4.79 node 183 3.89 $y4 4.79 node 224 3.89 $y5 4.79 node 265 3.89 $y6 4.79 # Nodos del muro 20 vertical node 20 5.98 0 4.64 node 61 5.98 $y1 4.64 node 102 5.98 $y2 4.64 node 143 5.98 $y3 4.64 node 184 5.98 $y4 4.64 node 225 5.98 $y5 4.64 node 266 5.98 $y6 4.64 # Nodos del muro 21 vertical node 21 14.4 0 4.64 node 62 14.4 $y1 4.64 node 103 14.4 $y2 4.64 node 144 14.4 $y3 4.64 node 185 14.4 $y4 4.64 node 226 14.4 $y5 4.64 node 267 14.4 $y6 4.64 # Nodos del muro 22 vertical node 22 16.49 0 4.79 node 63 16.49 $y1 4.79 node 104 16.49 $y2 4.79 node 145 16.49 $y3 4.79 node 186 16.49 $y4 4.79 node 227 16.49 $y5 4.79 node 268 16.49 $y6 4.79 # Nodos del muro 23 vertical node 23 20.39 0 5.265 node 64 20.39 $y1 5.265 node 105 20.39 $y2 5.265 node 146 20.39 $y3 5.265 node 187 20.39 $y4 5.265 node 228 20.39 $y5 5.265 node 269 20.39 $y6 5.265 # Nodos del muro 24 vertical node 24 3.89 0 7.52 node 65 3.89 $y1 7.52 node 106 3.89 $y2 7.52 node 147 3.89 $y3 7.52 node 188 3.89 $y4 7.52 node 229 3.89 $y5 7.52 node 270 3.89 $y6 7.52

Page 94: Guía para la modelación y análisis no lineal de muros de

94

# Nodos del muro 25 vertical node 25 5.98 0 6.745 node 66 5.98 $y1 6.745 node 107 5.98 $y2 6.745 node 148 5.98 $y3 6.745 node 189 5.98 $y4 6.745 node 230 5.98 $y5 6.745 node 271 5.98 $y6 6.745 # Nodos del muro 26 vertical node 26 5.98 0 8.295 node 67 5.98 $y1 8.295 node 108 5.98 $y2 8.295 node 149 5.98 $y3 8.295 node 190 5.98 $y4 8.295 node 231 5.98 $y5 8.295 node 272 5.98 $y6 8.295 # Nodos del muro 27 vertical node 27 12.63 0 7.52 node 68 12.63 $y1 7.52 node 109 12.63 $y2 7.52 node 150 12.63 $y3 7.52 node 191 12.63 $y4 7.52 node 232 12.63 $y5 7.52 node 273 12.63 $y6 7.52 # Nodos del muro 28 vertical node 28 16.49 0 7.52 node 69 16.49 $y1 7.52 node 110 16.49 $y2 7.52 node 151 16.49 $y3 7.52 node 192 16.49 $y4 7.52 node 233 16.49 $y5 7.52 node 274 16.49 $y6 7.52 # Nodos del muro 29 vertical node 29 0 0 9.775 node 70 0 $y1 9.775 node 111 0 $y2 9.775 node 152 0 $y3 9.775 node 193 0 $y4 9.775 node 234 0 $y5 9.775 node 275 0 $y6 9.775 # Nodos del muro 30 vertical node 30 3.89 0 10.25 node 71 3.89 $y1 10.25 node 112 3.89 $y2 10.25 node 153 3.89 $y3 10.25 node 194 3.89 $y4 10.25 node 235 3.89 $y5 10.25 node 276 3.89 $y6 10.25 # Nodos del muro 31 vertical node 31 5.98 0 10.4 node 72 5.98 $y1 10.4 node 113 5.98 $y2 10.4 node 154 5.98 $y3 10.4 node 195 5.98 $y4 10.4 node 236 5.98 $y5 10.4 node 277 5.98 $y6 10.4

Page 95: Guía para la modelación y análisis no lineal de muros de

95

# Nodos del muro 32 vertical node 32 10.19 0 11.785 node 73 10.19 $y1 11.785 node 114 10.19 $y2 11.785 node 155 10.19 $y3 11.785 node 196 10.19 $y4 11.785 node 237 10.19 $y5 11.785 node 278 10.19 $y6 11.785 # Nodos del muro 33 vertical node 33 14.4 0 10.4 node 74 14.4 $y1 10.4 node 115 14.4 $y2 10.4 node 156 14.4 $y3 10.4 node 197 14.4 $y4 10.4 node 238 14.4 $y5 10.4 node 279 14.4 $y6 10.4 # Nodos del muro 34 vertical node 34 16.49 0 10.25 node 75 16.49 $y1 10.25 node 116 16.49 $y2 10.25 node 157 16.49 $y3 10.25 node 198 16.49 $y4 10.25 node 239 16.49 $y5 10.25 node 280 16.49 $y6 10.25 # Nodos del muro 35 vertical node 35 20.39 0 9.775 node 76 20.39 $y1 9.775 node 117 20.39 $y2 9.775 node 158 20.39 $y3 9.775 node 199 20.39 $y4 9.775 node 240 20.39 $y5 9.775 node 281 20.39 $y6 9.775 # Nodos del muro 36 vertical node 36 0.92 0 13.42 node 77 0.92 $y1 13.42 node 118 0.92 $y2 13.42 node 159 0.92 $y3 13.42 node 200 0.92 $y4 13.42 node 241 0.92 $y5 13.42 node 282 0.92 $y6 13.42 # Nodos del muro 37 vertical node 37 3.55 0 13.48 node 78 3.55 $y1 13.48 node 119 3.55 $y2 13.48 node 160 3.55 $y3 13.48 node 201 3.55 $y4 13.48 node 242 3.55 $y5 13.48 node 283 3.55 $y6 13.48 # Nodos del muro 38 vertical node 38 5.98 0 13.42 node 79 5.98 $y1 13.42 node 120 5.98 $y2 13.42 node 161 5.98 $y3 13.42 node 202 5.98 $y4 13.42 node 243 5.98 $y5 13.42 node 284 5.98 $y6 13.42

Page 96: Guía para la modelación y análisis no lineal de muros de

96

# Nodos del muro 39 vertical node 39 14.4 0 13.42 node 80 14.4 $y1 13.42 node 121 14.4 $y2 13.42 node 162 14.4 $y3 13.42 node 203 14.4 $y4 13.42 node 244 14.4 $y5 13.42 node 285 14.4 $y6 13.42 # Nodos del muro 40 vertical node 40 16.84 0 13.48 node 81 16.84 $y1 13.48 node 122 16.84 $y2 13.48 node 163 16.84 $y3 13.48 node 204 16.84 $y4 13.48 node 245 16.84 $y5 13.48 node 286 16.84 $y6 13.48 # Nodos del muro 41 vertical node 41 19.47 0 13.42 node 82 19.47 $y1 13.42 node 123 19.47 $y2 13.42 node 164 19.47 $y3 13.42 node 205 19.47 $y4 13.42 node 246 19.47 $y5 13.42 node 287 19.47 $y6 13.42 #Se restringen los 6 grados de libertad de los nodos de la base. for {set i 1} {$i <=41 } {incr i 1} { fix $i 1 1 1 1 1 1 }

Page 97: Guía para la modelación y análisis no lineal de muros de

97

10.2. Anexo 2.2

Para calcular la carga vertical que debe asignarse a cada nodo se realizó el siguiente

procedimiento:

En primer lugar, se calcula el valor de la carga muerta de los elementos no estructurales.

𝐶𝐶𝑅𝑅𝐶𝐶𝐶𝐶𝑅𝑅 𝑚𝑚𝑚𝑚𝑅𝑅𝐶𝐶𝑡𝑡𝑅𝑅 = 3.4𝑘𝑘𝑘𝑘𝑚𝑚2 (𝑇𝑇𝑅𝑅𝑒𝑒𝑙𝑙𝑅𝑅 𝐵𝐵. 3.4.3 − 1)

Figura 27 Carga muerta para elementos no estructurales. Tomado del capítulo B de la NSR-10.

En segundo lugar, se calcula el peso propio de la placa:

𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝐶𝐶𝑎𝑎𝑎𝑎𝑅𝑅𝑎𝑎 = 0.1 ∗ 23.54 = 2.354𝑘𝑘𝑘𝑘𝑚𝑚2

En tercer lugar, se encuentra el peso total de la placa:

𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑡𝑡𝑎𝑎𝑡𝑡𝑅𝑅𝑙𝑙 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅 = (𝐶𝐶𝑅𝑅𝐶𝐶𝐶𝐶𝑅𝑅 𝑚𝑚𝑚𝑚𝑅𝑅𝐶𝐶𝑡𝑡𝑅𝑅 + 𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝐶𝐶𝑎𝑎𝑎𝑎𝑅𝑅𝑎𝑎) ∗ á𝐶𝐶𝑅𝑅𝑅𝑅 𝑑𝑑𝑅𝑅 𝑙𝑙𝑅𝑅 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅

= (3.4 + 2.354) ∗ 308.169 = 1773.20 𝑘𝑘𝑘𝑘

En seguida, se reparte el peso total de la placa entre todos los muros:

𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖 = 𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑡𝑡𝑎𝑎𝑡𝑡𝑅𝑅𝑙𝑙 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅 ∗á𝐶𝐶𝑅𝑅𝑅𝑅 𝑡𝑡𝐶𝐶𝑅𝑅𝑛𝑛𝑡𝑡𝑅𝑅𝐶𝐶𝑒𝑒𝑅𝑅𝑙𝑙𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖

á𝐶𝐶𝑅𝑅𝑅𝑅 𝑡𝑡𝐶𝐶𝑅𝑅𝑛𝑛𝑡𝑡𝑅𝑅𝐶𝐶𝑒𝑒𝑅𝑅𝑙𝑙 𝑡𝑡𝑎𝑎𝑡𝑡𝑅𝑅𝑙𝑙

En quinto lugar, se halla el peso propio de cada muro:

𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝐶𝐶𝑎𝑎𝑎𝑎𝑅𝑅𝑎𝑎𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖 = 23.54 ∗ á𝐶𝐶𝑅𝑅𝑅𝑅 𝑡𝑡𝐶𝐶𝑅𝑅𝑛𝑛𝑡𝑡𝑅𝑅𝐶𝐶𝑒𝑒𝑅𝑅𝑙𝑙𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖 ∗ ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑚𝑚𝑎𝑎𝑛𝑛𝑛𝑛𝑎𝑎

Finalmente, la carga vertical que le corresponde a cada nodo se encuentra así:

Page 98: Guía para la modelación y análisis no lineal de muros de

98

𝐶𝐶𝑅𝑅𝐶𝐶𝐶𝐶𝑅𝑅 𝑡𝑡𝑅𝑅𝐶𝐶𝑡𝑡𝑅𝑅𝑅𝑅𝑅𝑅𝑙𝑙 = 𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖 + 𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝐶𝐶𝑎𝑎𝑎𝑎𝑅𝑅𝑎𝑎𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖

Nota: cuando se incluyó la carga viva (1.8 kN/m2) en el cálculo de la carga vertical; el modelo

presentó una falla rotunda y no alcanzaba el desplazamiento deseado. Por lo tanto, se decidió

presentar el código sin incluir la carga viva. Esto demuestra los susceptible que puede llegar

a ser un modelo de OpenSees ante cambios pequeños.

#Existen 14 secciones transversales diferentes (M-01, M-02,M-03, etc.) #Masa sección transversal M-01 en los pisos 1, 2, 3, 4 y 5. set masa_1 4.024 #Masa sección transversal M-02 en los pisos 1, 2, 3, 4 y 5. set masa_2 6.854 #Masa sección transversal M-03 en los pisos 1, 2, 3, 4 y 5. set masa_3 7.296 #Masa sección transversal M-04 en los pisos 1, 2, 3, 4 y 5. set masa_4 8.8 #Masa sección transversal M-05 en los pisos 1, 2, 3, 4 y 5. set masa_5 9.751 #Masa sección transversal M-06 en los pisos 1, 2, 3, 4 y 5. set masa_6 6.899 #Masa sección transversal M-07 en los pisos 1, 2, 3, 4 y 5. set masa_7 6.633 #Masa sección transversal M-08 en los pisos 1, 2, 3, 4 y 5. set masa_8 3.582 #Masa sección transversal M-09 en los pisos 1, 2, 3, 4 y 5. set masa_9 2.653 #Masa sección transversal M-10 en los pisos 1, 2, 3, 4 y 5. set masa_10 2.322 #Masa sección transversal M-11 en los pisos 1, 2, 3, 4 y 5. set masa_11 2.919 #Masa sección transversal M-12 en los pisos 1, 2, 3, 4 y 5. set masa_12 6.899 #Masa sección transversal M-13 en los pisos 1, 2, 3, 4 y 5. set masa_13 10.901 #Masa sección transversal M-14 en los pisos 1, 2, 3, 4 y 5. set masa_14 5.749 #Masa del muro con la sección transversal M-01 en el piso 6. set masa_1_6 3.489 #Masa del muro con la sección transversal M-02 en el piso 6. set masa_2_6 5.943 #Masa del muro con la sección transversal M-03 en el piso 6. set masa_3_6 6.326 #Masa del muro con la sección transversal M-04 en el piso 6. set masa_4_6 7.630 #Masa del muro con la sección transversal M-05 en el piso 6. set masa_5_6 8.454 #Masa del muro con la sección transversal M-06 en el piso 6. set masa_6_6 5.981 #Masa del muro con la sección transversal M-07 en el piso 6. set masa_7_6 5.751 #Masa del muro con la sección transversal M-08 en el piso 6. set masa_8_6 3.106 #Masa del muro con la sección transversal M-09 en el piso 6.

Page 99: Guía para la modelación y análisis no lineal de muros de

99

set masa_9_6 2.301 #Masa del muro con la sección transversal M-10 en el piso 6. set masa_10_6 2.013 #Masa del muro con la sección transversal M-11 en el piso 6. set masa_11_6 2.531 #Masa del muro con la sección transversal M-12 en el piso 6. set masa_12_6 5.981 #Masa del muro con la sección transversal M-13 en el piso 6. set masa_13_6 9.451 #Masa del muro con la sección transversal M-14 en el piso 6. set masa_14_6 4.984 #Se calcula la carga vertical que tiene cada muro según su sección transversal. #Carga vertical del muro con la sección transversal M-01 en el piso 1,2,3,4 y 5. set peso_1 [expr -$masa_1*9.81] #Carga vertical del muro con la sección transversal M-02 en el piso 1,2,3,4 y 5. set peso_2 [expr -$masa_2*9.81] #Carga vertical del muro con la sección transversal M-03 en el piso 1,2,3,4 y 5. set peso_3 [expr -$masa_3*9.81] #Carga vertical del muro con la sección transversal M-04 en el piso 1,2,3,4 y 5. set peso_4 [expr -$masa_4*9.81] #Carga vertical del muro con la sección transversal M-05 en el piso 1,2,3,4 y 5. set peso_5 [expr -$masa_5*9.81] #Carga vertical del muro con la sección transversal M-06 en el piso 1,2,3,4 y 5. set peso_6 [expr -$masa_6*9.81] #Carga vertical del muro con la sección transversal M-07 en el piso 1,2,3,4 y 5. set peso_7 [expr -$masa_7*9.81] #Carga vertical del muro con la sección transversal M-08 en el piso 1,2,3,4 y 5. set peso_8 [expr -$masa_8*9.81] #Carga vertical del muro con la sección transversal M-09 en el piso 1,2,3,4 y 5. set peso_9 [expr -$masa_9*9.81] #Carga vertical del muro con la sección transversal M-10 en el piso 1,2,3,4 y 5. set peso_10 [expr -$masa_10*9.81] #Carga vertical del muro con la sección transversal M-11 en el piso 1,2,3,4 y 5. set peso_11 [expr -$masa_11*9.81] #Carga vertical del muro con la sección transversal M-12 en el piso 1,2,3,4 y 5. set peso_12 [expr -$masa_12*9.81] #Carga vertical del muro con la sección transversal M-13 en el piso 1,2,3,4 y 5. set peso_13 [expr -$masa_13*9.81] #Carga vertical del muro con la sección transversal M-14 en el piso 1,2,3,4 y 5. set peso_14 [expr -$masa_14*9.81] #Carga vertical del muro con la sección transversal M-01 en el piso 6. set peso_1_6 [expr -$masa_1_6*9.81] #Carga vertical del muro con la sección transversal M-02 en el piso 6. set peso_2_6 [expr -$masa_2_6*9.81] #Carga vertical del muro con la sección transversal M-03 en el piso 6. set peso_3_6 [expr -$masa_3_6*9.81] #Carga vertical del muro con la sección transversal M-04 en el piso 6. set peso_4_6 [expr -$masa_4_6*9.81] #Carga vertical del muro con la sección transversal M-05 en el piso 6. set peso_5_6 [expr -$masa_5_6*9.81] #Carga vertical del muro con la sección transversal M-06 en el piso 6. set peso_6_6 [expr -$masa_6_6*9.81] #Carga vertical del muro con la sección transversal M-07 en el piso 6. set peso_7_6 [expr -$masa_7_6*9.81] #Carga vertical del muro con la sección transversal M-08 en el piso 6. set peso_8_6 [expr -$masa_8_6*9.81]

Page 100: Guía para la modelación y análisis no lineal de muros de

100

#Carga vertical del muro con la sección transversal M-09 en el piso 6. set peso_9_6 [expr -$masa_9_6*9.81] #Carga vertical del muro con la sección transversal M-10 en el piso 6. set peso_10_6 [expr -$masa_10_6*9.81] #Carga vertical del muro con la sección transversal M-11 en el piso 6. set peso_11_6 [expr -$masa_11_6*9.81] #Carga vertical del muro con la sección transversal M-12 en el piso 6. set peso_12_6 [expr -$masa_12_6*9.81] #Carga vertical del muro con la sección transversal M-13 en el piso 6. set peso_13_6 [expr -$masa_13_6*9.81] #Carga vertical del muro con la sección transversal M-14 en el piso 6. set peso_14_6 [expr -$masa_14_6*9.81]

10.3. Anexo 2.3

#Se definen los materiales # Material "Concreto": matTag fc' epsc0 fcu' epsu lambda ft Ets uniaxialMaterial Concrete02 1 $fc -3.000E-03 $fcu -5.000E-02 +1.000E-01 $ft $Ets # Material "Acero 6.5mm": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0> uniaxialMaterial Steel02 2 +2.400E+05 +2.000E+08 +1.000E-02 +1.800E+01 +9.250E-01 +1.500E-01 +0.000E+00 +1.000E+00 +0.000E+00 +1.000E+00 +0.000E+00 #Creación de secciones transversales. Hay en total 14 secciones transversales diferentes. set recubrimiento 0.03 #El espaciamiento entre barras es una pulgada. set esp 0.0254 #El diámetro de una barra #3 es 0.0095 m. set diam3 0.0095 #El diámetro de una barra #4 es 0.0127 m. set diam4 0.0127 #El área transversal de una barra con diámetro de 6.5mm es 0.033183 m^2. set arearef 0.033183 #El área de una barra #3 es 0.071 m^2. set arearef3 0.071 #El área de una barra #4 es 0.000129 m^2. set arearef4 0.000129 #El ancho de todos los muros es igual set ancho 0.1 #Coordenada z para todos los muros set z [expr $ancho/2] #Datos de la sección transversal del muro M-01 set largo 1.82 set y [expr $largo/2] #La coordenada y donde se ubica el refuerzo. set refy [expr $y-$recubrimiento] #El número de barras de refuerzo que tiene esta sección es 12. set numbar 12 #Se crea la sección transversal del muro M-01 section fiberSec 1 {

Page 101: Guía para la modelación y análisis no lineal de muros de

101

#Se crea una sección transversal de concreto con 4 fibras en dirección del eje z y 20 en dirección del eje y. # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y -$z $y -$z $y $z -$y $z #Se crea el refuerzo de acero de la sección que consiste en 12 barras #que se ubican desde (y,z)=(-0.88,0) hasta (y,z)=(0.88,0) # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar $arearef $refy 0 -$refy 0 } #Datos la sección transversal del muro M-02 set largo2 3.10 set y2 [expr $largo2/2] set refy2 [expr $y2-$recubrimiento] set numbar2 21 #Se crea la sección transversal del muro M-02 section fiberSec 2 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y2 -$z $y2 -$z $y2 $z -$y2 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar2 $arearef $refy2 0 -$refy2 0 } #Datos de la sección transversal del muro M-03 set largo3 3.3 set y3 [expr $largo3/2] set refy3 [expr $y3-$recubrimiento] set numbar3 22 #Se crea la sección transversal del muro M-03 section fiberSec 3 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y3 -$z $y3 -$z $y3 $z -$y3 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar3 $arearef $refy3 0 -$refy3 0 } #Datos de la sección transversal del muro M-04 #Este muro contiene un refuerzo vertical adicional: 3#4 en cada extremo. set largo4 3.98 set y4 [expr $largo4/2] #yi4 es la coordenada y donde inicia el refuerzo vertical adicional. set yi4 [expr $y4-$recubrimiento] #yf4 es la coordenada y donde termina el refuerzo vertical adicional. #Existen 3 barras #4 y 2 espaciamientos entre ellas. set yf4 [expr $yi4-3*$diam4-2*$esp] #refy4 esa coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la tercera barra #4 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy4 [expr $yf4-$esp]

Page 102: Guía para la modelación y análisis no lineal de muros de

102

set numbar4 25 #Se crea la sección transversal del muro M-04 section fiberSec 4 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y4 -$z $y4 -$z $y4 $z -$y4 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar4 $arearef $refy4 0 -$refy4 0 #Se ubican 3 barras #4 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef4 $yi4 0 $yf4 0 #Se ubican 3 barras #4 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef4 -$yi4 0 -$yf4 0 } #Datos de la sección transversal del muro M-05 set largo5 4.41 set y5 [expr $largo5/2] set refy5 [expr $y5-$recubrimiento] set numbar5 30 #Se crea la sección transversal del muro M-05 section fiberSec 5 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y5 -$z $y5 -$z $y5 $z -$y5 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar5 $arearef $refy5 0 -$refy5 0 } #Datos de la sección transversal del muro M-06 set largo6 3.12 set y6 [expr $largo6/2] set refy6 [expr $y6-$recubrimiento] set numbar6 21 #Se crea la sección transversal del muro M-06 section fiberSec 6 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y6 -$z $y6 -$z $y6 $z -$y6 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar6 $arearef $refy6 0 -$refy6 0 } #Datos de la sección transversal del muro M-07 set largo7 3 set y7 [expr $largo7/2] set refy7 [expr $y7-$recubrimiento] set numbar7 20 #Se crea la sección transversal del muro M-07 section fiberSec 7 {

Page 103: Guía para la modelación y análisis no lineal de muros de

103

# PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y7 -$z $y7 -$z $y7 $z -$y7 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar7 $arearef $refy7 0 -$refy7 0 } #Datos de la sección transversal del muro M-08 set largo8 1.62 set y8 [expr $largo8/2] set refy8 [expr $y8-$recubrimiento] set numbar8 11 #Se crea la sección transversal del muro M-08 section fiberSec 8 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y8 -$z $y8 -$z $y8 $z -$y8 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar8 $arearef $refy8 0 -$refy8 0 } #Datos de la sección transversal del muro M-09 #Este muro contiene un refuerzo vertical adicional: 3#3 en cada extremo. set largo9 1.2 set y9 [expr $largo9/2] #yi9 es la coordenada y donde inicia el refuerzo vertical adicional. set yi9 [expr $y9-$recubrimiento] #yf9 es la coordenada y donde finaliza el refuerzo vertical adicional. #Existen 3 barras #3 y 2 espaciamientos entre ellas. set yf9 [expr $yi9-3*$diam3-2*$esp] #refy9 es la coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la tercera barra #3 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy9 [expr $yf9-$recubrimiento] set numbar9 7 #Se crea la sección transversal del muro M-09 section fiberSec 9 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y9 -$z $y9 -$z $y9 $z -$y9 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar9 $arearef $refy9 0 -$refy9 0 #Se ubican 3 barras #3 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef3 $yi9 0 $yf9 0 #Se ubican 3 barras #3 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef3 -$yi9 0 -$yf9 0 } #Datos de la sección transversal del muro M-10 set largo10 1.05

Page 104: Guía para la modelación y análisis no lineal de muros de

104

set y10 [expr $largo10/2] set refy10 [expr $y10-$recubrimiento] set numbar10 7 #Se crea la sección transversal del muro M-10 section fiberSec 10 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y10 -$z $y10 -$z $y10 $z -$y10 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar10 $arearef $refy10 0 -$refy10 0 } #Datos de la sección transversal del muro M-11 set largo11 1.32 set y11 [expr $largo11/2] set refy11 [expr $y11-$recubrimiento] set numbar11 9 #Se crea la sección transversal del muro M-11 section fiberSec 11 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y11 -$z $y11 -$z $y11 $z -$y11 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar11 $arearef $refy11 0 -$refy11 0 } #Datos de la sección transversal del muro M-12 #Este muro contiene un refuerzo vertical adicional: 1#3 en cada extremo. set largo12 3.12 set y12 [expr $largo12/2] #yi12 es la coordenada y donde inicia el refuerzo vertical adicional. set yi12 [expr $y12-$recubrimiento] #yf12 es la coordenada y donde finaliza el refuerzo vertical adicional. set yf12 [expr $yi12-$diam3] #refy12 es la coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la barra #3 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy12 [expr $yf12-$esp] set numbar12 20 #Se crea la sección transversal del muro M-12 section fiberSec 12 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y12 -$z $y12 -$z $y12 $z -$y12 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar12 $arearef $refy12 0 -$refy12 0 #Se ubica 1 barra #3 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 1 $arearef3 $yi12 0 $yf12 0 #Se ubica 1 barra #3 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 1 $arearef3 -$yi12 0 -$yf12 0

Page 105: Guía para la modelación y análisis no lineal de muros de

105

} #Datos de la sección transversal del muro M-13 set largo13 4.93 set y13 [expr $largo13/2] set refy13 [expr $y13-$recubrimiento] set numbar13 33 #Se crea la sección transversal del muro M-13 section fiberSec 13 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y13 -$z $y13 -$z $y13 $z -$y13 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar13 $arearef $refy13 0 -$refy13 0 } #Datos de la sección transversal del muro M-14 set largo14 2.6 set y14 [expr $largo14/2] set refy14 [expr $y14-$recubrimiento] set numbar14 17 #Se crea la sección transversal del muro M-14 section fiberSec 14 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y14 -$z $y14 -$z $y14 $z -$y14 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar14 $arearef $refy14 0 -$refy14 0 }

10.4. Anexo 2.4 #Transformación lineal 1 para los muros paralelos al eje x global (horizontales). #Esta transformación lineal garantiza que el vector local z de la sección transversal se alínee con el eje -z global. #geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ geomTransf Linear 1 0 0 -1 #Transformación lineal 2 para los muros paralelos al eje z global (verticales). #Esta transformación lineal garantiza que el vector local z de la sección transversal se alínee con el eje -x global. geomTransf Linear 2 -1 0 0 #Creación de elementos. Existen en total 41 elementos por piso. #Cada elemento representa un muro. #Elementos con una sección transversal horizontal. Hay en total 10 muros con orientación horizontal por piso. #Para que los muros se ubiquen horizontalmente es necesario usar la transformación lineal 1. #Muro 1 #Existe un muro denominado "muro 1" en cada piso.

Page 106: Guía para la modelación y análisis no lineal de muros de

106

#Los elementos 1, 42, 83, 124, 166 y 206 tienen 6 puntos de integración y la transformación lineal para muros horizontales. #El elemento 1 está en el piso 1, el elemento 42 en el piso 2, el elemento 83 en el piso 3, el elemento 124 en el piso 4, #el elemento 166 en el piso 5 y el elemento 206 en el piso 6. #Se definen 6 elementos con la sección transversal M-01 for {set i 1} {$i <= 206} {incr i 41} { #element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol> <-integration $intType> element nonlinearBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 2 #Existe un muro denominado "muro 2" en cada piso. #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales. for {set i 2} {$i <= 207} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 3 #Se definen 6 elementos con la sección transversal M-02 y la transformación lineal para muros horizontales. for {set i 3} {$i <= 208} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 2 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 4 #Se definen 6 elementos con la sección transversal M-03 y la transformación lineal para muros horizontales. for {set i 4} {$i <= 209} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 3 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 5 #Se definen 6 elementos con la sección transversal M-04 y la transformación lineal para muros horizontales for {set i 5} {$i <= 210} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 4 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 6 #Se definen 6 elementos con la sección transversal M-04 y la transformación lineal para muros horizontales for {set i 6} {$i <= 211} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 4 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 7 #Se definen 6 elementos con la sección transversal M-02 y la transformación lineal para muros horizontales for {set i 7} {$i <= 212} {incr i 41} {

Page 107: Guía para la modelación y análisis no lineal de muros de

107

element nonlinearBeamColumn $i $i [expr $i+41] 6 2 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 8 #Se definen 6 elementos con la sección transversal M-03 y la transformación lineal para muros horizontales for {set i 8} {$i <= 213} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 3 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 9 #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales for {set i 9} {$i <= 214} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 10 #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales for {set i 10} {$i <= 215} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Elementos con una sección transversal vertical. Hay en total 31 muros con orientación vertical por piso. #Para que los muros se ubiquen verticalmente es necesario usar la transformación lineal 2. #Muro 11 #Se definen 6 elementos con la sección transversal M-06 y la transformación lineal para muros verticales for {set i 11} {$i <= 216} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 12 #Se definen 6 elementos con la sección transversal M-07 y la transformación lineal para muros verticales for {set i 12} {$i <= 217} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 13 #Se definen 6 elementos con la sección transversal M-12 for {set i 13} {$i <= 218} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 14 #Se definen 6 elementos con la sección transversal M-13

Page 108: Guía para la modelación y análisis no lineal de muros de

108

for {set i 14} {$i <= 219} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 13 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 15 #Se definen 6 elementos con la sección transversal M-12 for {set i 15} {$i <= 220} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 16 #Se definen 6 elementos con la sección transversal M-07 for {set i 16} {$i <= 221} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 17 #Se definen 6 elementos con la sección transversal M-06 for {set i 17} {$i <= 222} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 18 #Se definen 6 elementos con la sección transversal M-05 for {set i 18} {$i <= 223} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 19 #Se definen 6 elementos con la sección transversal M-08 for {set i 19} {$i <= 224} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 20 #Se definen 6 elementos con la sección transversal M-11 for {set i 20} {$i <= 225} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 21 #Se definen 6 elementos con la sección transversal M-11 for {set i 21} {$i <= 226} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 22 #Se definen 6 elementos con la sección transversal M-08

Page 109: Guía para la modelación y análisis no lineal de muros de

109

for {set i 22} {$i <= 227} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 23 #Se definen 6 elementos con la sección transversal M-05 for {set i 23} {$i <= 228} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 24 #Se definen 6 elementos con la sección transversal M-09 for {set i 24} {$i <= 229} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 9 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 25 #Se definen 6 elementos con la sección transversal M-10 for {set i 25} {$i <= 230} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 10 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 26 #Se definen 6 elementos con la sección transversal M-10 for {set i 26} {$i <= 231} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 10 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 27 #Se definen 6 elementos con la sección transversal M-14 for {set i 27} {$i <= 232} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 14 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 28 #Se definen 6 elementos con la sección transversal M-09 for {set i 28} {$i <= 233} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 9 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 29 #Se definen 6 elementos con la sección transversal M-05 for {set i 29} {$i <= 234} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 30 #Se definen 6 elementos con la sección transversal M-08

Page 110: Guía para la modelación y análisis no lineal de muros de

110

for {set i 30} {$i <= 235} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 31 #Se definen 6 elementos con la sección transversal M-11 for {set i 31} {$i <= 236} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 32 #Se definen 6 elementos con la sección transversal M-13 for {set i 32} {$i <= 237} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 13 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 33 #Se definen 6 elementos con la sección transversal M-11 for {set i 33} {$i <= 238} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 34 #Se definen 6 elementos con la sección transversal M-08 for {set i 34} {$i <= 239} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 35 #Se definen 6 elementos con la sección transversal M-05 for {set i 35} {$i <= 240} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 36 #Se definen 6 elementos con la sección transversal M-06 for {set i 36} {$i <= 241} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 37 #Se definen 6 elementos con la sección transversal M-07 for {set i 37} {$i <= 242} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 38 #Se definen 6 elementos con la sección transversal M-12

Page 111: Guía para la modelación y análisis no lineal de muros de

111

for {set i 38} {$i <= 243} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 39 #Se definen 6 elementos con la sección transversal M-12 for {set i 39} {$i <= 244} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 40 #Se definen 6 elementos con la sección transversal M-07 for {set i 40} {$i <= 245} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 41 #Se definen 6 elementos con la sección transversal M-06 for {set i 41} {$i <= 246} {incr i 41} { element nonlinearBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

10.5. Anexo 2.5

#Todos los nodos maestros pertenecer al muro 1. #Diafragma rígido del primer piso. for {set i 43} {$i <= 82} {incr i 1} { #El nodo 42 es el nodo maestro. equalDOF 42 $i 1 3 } #Diafragma rígido del segundo piso. for {set i 84} {$i <= 123} {incr i 1} { #El nodo 83 es el nodo maestro. equalDOF 83 $i 1 3 } #Diafragma rígido del tercer piso. for {set i 125} {$i <= 164} {incr i 1} { #El nodo 124 es el nodo maestro. equalDOF 124 $i 1 3 } #Diafragma rígido del cuarto piso. for {set i 166} {$i <= 205} {incr i 1} { #El nodo 165 es el nodo maestro. equalDOF 165 $i 1 3 } #Diafragma rígido del quinto piso. for {set i 207} {$i <= 246} {incr i 1} { #El nodo 206 es el nodo maestro. equalDOF 206 $i 1 3 } #Diafragma rígido del sexto piso. for {set i 248} {$i <= 287} {incr i 1} {

Page 112: Guía para la modelación y análisis no lineal de muros de

112

#El nodo 247 es el nodo maestro. equalDOF 247 $i 1 3 }

10.6. Anexo 2.6

# Se define un time series # TimeSeries "LinearDefault": tsTag cFactor timeSeries Linear 1 -factor +1.000E+00 #Asignación de las cargas verticales #Se asigna la carga vertical al nodo superior del muro 1 en los pisos 1,2,3,4 y 5. for {set i 1} {$i <= 165} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 2 en los pisos 1,2,3,4 y 5. for {set i 2} {$i <= 166} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 3 en los pisos 1,2,3,4 y 5. for {set i 3} {$i <= 167} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_2 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 4 en los pisos 1,2,3,4 y 5. for {set i 4} {$i <= 168} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_3 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 5 en los pisos 1,2,3,4 y 5. for {set i 5} {$i <= 169} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_4 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 6 en los pisos 1,2,3,4 y 5. for {set i 6} {$i <= 170} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 {

Page 113: Guía para la modelación y análisis no lineal de muros de

113

load [expr 41+$i] 0. $peso_4 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 7 en los pisos 1,2,3,4 y 5. for {set i 7} {$i <= 171} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_2 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 8 en los pisos 1,2,3,4 y 5. for {set i 8} {$i <= 172} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_3 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 9 en los pisos 1,2,3,4 y 5. for {set i 9} {$i <= 173} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 10 en los pisos 1,2,3,4 y 5. for {set i 10} {$i <= 174} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 11 en los pisos 1,2,3,4 y 5. for {set i 11} {$i <= 175} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 12 en los pisos 1,2,3,4 y 5. for {set i 12} {$i <= 176} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 13 en los pisos 1,2,3,4 y 5. for {set i 13} {$i <= 177} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 14 en los pisos 1,2,3,4 y 5. for {set i 14} {$i <= 178} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_13 0 0 0 0; }

Page 114: Guía para la modelación y análisis no lineal de muros de

114

} #Se asigna la carga vertical al nodo superior del muro 15 en los pisos 1,2,3,4 y 5. for {set i 15} {$i <= 179} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 16 en los pisos 1,2,3,4 y 5. for {set i 16} {$i <= 180} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 17 en los pisos 1,2,3,4 y 5. for {set i 17} {$i <= 181} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 18 en los pisos 1,2,3,4 y 5. for {set i 18} {$i <= 182} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 19 en los pisos 1,2,3,4 y 5. for {set i 19} {$i <= 183} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 20 en los pisos 1,2,3,4 y 5. for {set i 20} {$i <= 184} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 21 en los pisos 1,2,3,4 y 5. for {set i 21} {$i <= 185} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 22 en los pisos 1,2,3,4 y 5. for {set i 22} {$i <= 186} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 23 en los pisos 1,2,3,4 y 5.

Page 115: Guía para la modelación y análisis no lineal de muros de

115

for {set i 23} {$i <= 187} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 24 en los pisos 1,2,3,4 y 5. for {set i 24} {$i <= 188} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_9 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 25 en los pisos 1,2,3,4 y 5. for {set i 25} {$i <= 189} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_10 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 26 en los pisos 1,2,3,4 y 5. for {set i 26} {$i <= 190} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_10 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 27 en los pisos 1,2,3,4 y 5. for {set i 27} {$i <= 191} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_14 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 28 en los pisos 1,2,3,4 y 5. for {set i 28} {$i <= 192} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_9 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 29 en los pisos 1,2,3,4 y 5. for {set i 29} {$i <= 193} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 30 en los pisos 1,2,3,4 y 5. for {set i 30} {$i <= 194} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 31 en los pisos 1,2,3,4 y 5.

Page 116: Guía para la modelación y análisis no lineal de muros de

116

for {set i 31} {$i <= 195} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 32 en los pisos 1,2,3,4 y 5. for {set i 32} {$i <= 196} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_13 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 33 en los pisos 1,2,3,4 y 5. for {set i 33} {$i <= 197} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 34 en los pisos 1,2,3,4 y 5. for {set i 34} {$i <= 198} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 35 en los pisos 1,2,3,4 y 5. for {set i 35} {$i <= 199} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 36 en los pisos 1,2,3,4 y 5. for {set i 36} {$i <= 200} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 37 en los pisos 1,2,3,4 y 5. for {set i 37} {$i <= 201} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 38 en los pisos 1,2,3,4 y 5. for {set i 38} {$i <= 202} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 39 en los pisos 1,2,3,4 y 5.

Page 117: Guía para la modelación y análisis no lineal de muros de

117

for {set i 39} {$i <= 203} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 40 en los pisos 1,2,3,4 y 5. for {set i 40} {$i <= 204} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 41 en los pisos 1,2,3,4 y 5. for {set i 41} {$i <= 205} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical a los nodos del sexto piso. #Carga vertical asignada al nodo del piso 6 que pertenece al muro 1 con sección transversal M-01. pattern Plain 247 1 -fact +1.000E+00 { load 247 0. $peso_1_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 2 con sección transversal M-01. pattern Plain 248 1 -fact +1.000E+00 { load 248 0. $peso_1_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 3 con sección transversal M-02. pattern Plain 249 1 -fact +1.000E+00 { load 249 0. $peso_2_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 4 con sección transversal M-03. pattern Plain 250 1 -fact +1.000E+00 { load 250 0. $peso_3_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 5 con sección transversal M-04. pattern Plain 251 1 -fact +1.000E+00 { load 251 0. $peso_4_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 6 con sección transversal M-04. pattern Plain 252 1 -fact +1.000E+00 { load 252 0. $peso_4_6 0 0 0 0; }

Page 118: Guía para la modelación y análisis no lineal de muros de

118

#Carga vertical asignada al nodo del piso 6 que pertenece al muro 7 con sección transversal M-02. pattern Plain 253 1 -fact +1.000E+00 { load 253 0. $peso_2_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 8 con sección transversal M-03. pattern Plain 254 1 -fact +1.000E+00 { load 254 0. $peso_3_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 9 con sección transversal M-01. pattern Plain 255 1 -fact +1.000E+00 { load 255 0. $peso_1_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 10 con sección transversal M-01. pattern Plain 256 1 -fact +1.000E+00 { load 256 0. $peso_1_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 11 con sección transversal M-06. pattern Plain 257 1 -fact +1.000E+00 { load 257 0. $peso_6_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 12 con sección transversal M-07. pattern Plain 258 1 -fact +1.000E+00 { load 258 0. $peso_7_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 13 con sección transversal M-12. pattern Plain 259 1 -fact +1.000E+00 { load 259 0. $peso_12_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 14 con sección transversal M-13. pattern Plain 260 1 -fact +1.000E+00 { load 260 0. $peso_13_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 15 con sección transversal M-12. pattern Plain 261 1 -fact +1.000E+00 { load 261 0. $peso_12_6 0 0 0 0; }

Page 119: Guía para la modelación y análisis no lineal de muros de

119

#Carga vertical asignada al nodo del piso 6 que pertenece al muro 16 con sección transversal M-07. pattern Plain 262 1 -fact +1.000E+00 { load 262 0. $peso_7_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 17 con sección transversal M-06. pattern Plain 263 1 -fact +1.000E+00 { load 263 0. $peso_6_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 18 con sección transversal M-05. pattern Plain 264 1 -fact +1.000E+00 { load 264 0. $peso_5_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 19 con sección transversal M-08. pattern Plain 265 1 -fact +1.000E+00 { load 265 0. $peso_8_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 20 con sección transversal M-11. pattern Plain 266 1 -fact +1.000E+00 { load 266 0. $peso_11_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 21 con sección transversal M-11. pattern Plain 267 1 -fact +1.000E+00 { load 267 0. $peso_11_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 22 con sección transversal M-08. pattern Plain 268 1 -fact +1.000E+00 { load 268 0. $peso_8_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 23 con sección transversal M-05. pattern Plain 269 1 -fact +1.000E+00 { load 269 0. $peso_5_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 24 con sección transversal M-09. pattern Plain 270 1 -fact +1.000E+00 { load 270 0. $peso_9_6 0 0 0 0; }

Page 120: Guía para la modelación y análisis no lineal de muros de

120

#Carga vertical asignada al nodo del piso 6 que pertenece al muro 25 con sección transversal M-10. pattern Plain 271 1 -fact +1.000E+00 { load 271 0. $peso_10_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 26 con sección transversal M-10. pattern Plain 272 1 -fact +1.000E+00 { load 272 0. $peso_10_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 27 con sección transversal M-14. pattern Plain 273 1 -fact +1.000E+00 { load 273 0. $peso_14_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 28 con sección transversal M-09. pattern Plain 274 1 -fact +1.000E+00 { load 274 0. $peso_9_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 29 con sección transversal M-05. pattern Plain 275 1 -fact +1.000E+00 { load 275 0. $peso_5_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 30 con sección transversal M-08. pattern Plain 276 1 -fact +1.000E+00 { load 276 0. $peso_8_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 31 con sección transversal M-11. pattern Plain 277 1 -fact +1.000E+00 { load 277 0. $peso_11_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 32 con sección transversal M-13. pattern Plain 278 1 -fact +1.000E+00 { load 278 0. $peso_13_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 33 con sección transversal M-11. pattern Plain 279 1 -fact +1.000E+00 { load 279 0. $peso_11_6 0 0 0 0; }

Page 121: Guía para la modelación y análisis no lineal de muros de

121

#Carga vertical asignada al nodo del piso 6 que pertenece al muro 34 con sección transversal M-08. pattern Plain 280 1 -fact +1.000E+00 { load 280 0. $peso_8_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 35 con sección transversal M-05. pattern Plain 281 1 -fact +1.000E+00 { load 281 0. $peso_5_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 36 con sección transversal M-06. pattern Plain 282 1 -fact +1.000E+00 { load 282 0. $peso_6_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 37 con sección transversal M-07. pattern Plain 283 1 -fact +1.000E+00 { load 283 0. $peso_7_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 38 con sección transversal M-12. pattern Plain 284 1 -fact +1.000E+00 { load 284 0. $peso_12_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 39 con sección transversal M-12. pattern Plain 285 1 -fact +1.000E+00 { load 285 0. $peso_12_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 40 con sección transversal M-07. pattern Plain 286 1 -fact +1.000E+00 { load 286 0. $peso_7_6 0 0 0 0; } #Carga vertical asignada al nodo del piso 6 que pertenece al muro 41 con sección transversal M-06. pattern Plain 287 1 -fact +1.000E+00 { load 287 0. $peso_6_6 0 0 0 0; }

Page 122: Guía para la modelación y análisis no lineal de muros de

122

10.7. Anexo 2.7

#Se crean los recorders para grabar el desplazamiento del nodo 247 y las reacciones en el nodo 1. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node_DFree_Dsp.out -time -node 247 -dof 1 2 3 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node_RBase_RFrc.out -time -node 1 -dof 1 2 3 reaction #Se definen los parámetros del análisis estático que involucra la carga vertical. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-08 6 0 2 # Solution Algorithm algorithm Newton # Integrator #En cada paso del análisis se aplica a cada nodo 0.1 de la carga total que le pertenece. integrator LoadControl 0.1 # Analysis Type analysis Static #Se inicializa la grabación. record #La carga vertical se aplicará en 10 pasos. analyze 10 # Reset para empezar un nuevo análisis. #El tiempo reinicia. setTime 0.0 #La carga aplicada permanece constante. loadConst #Los recorders dejan de grabar los resultados. remove recorders #Se eliminar los parámetros del análisis anterior wipeAnalysis

Page 123: Guía para la modelación y análisis no lineal de muros de

123

10.8. Anexo 2.8

Después de aplicar la carga vertical a cada nodo es necesario aplicar una carga lateral a los

nodos maestros para lograr que el nodo superior 247 se desplace 0.147 m (1% de la altura

total).

set Hload 100; #Se definen los nodos a los cuales se aplica la carga lateral. #Todos estos nodos pertenecen al muro 1. set iPushNode "42 83 124 165 206 247"; pattern Plain 300 Linear {; #Se aplica una carga horizontal (sentido x global) a los nodos maestros:41, 83, 124, 165, 206, 247. #El valor de la carga es arbitrario para este tipo de análisis. foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } } #Se definen unos nuevos recorders para grabar el desplazamiento del nodo 247 y las reacciones en el nodo 1. #El nodo 1 está en la base del muro 1 en el piso 1. El nodo 247 está en la parte superior del muro 1 del piso 6. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Push_Node247_DFree_Dsp.out -time -node 247 -dof 1 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Push_Node1_RBase_RFrc.out -time -node 1 -dof 1 reaction #Se definen unos nuevos recorders para grabar el desplazamiento del nodo 260 y las reacciones en el nodo 14. #El nodo 14 está en la base del muro 14 en el piso 1. El nodo 260 está en la parte superior del muro 14 del piso 6. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Push_Node260_DFree_Dsp.out -time -node 260 -dof 1 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Push_Node14_RBase_RFrc.out -time -node 14 -dof 1 reaction

10.9. Anexo 2.9

#Se definen los parámetros del análisis pushover. # Constraint Handler

Page 124: Guía para la modelación y análisis no lineal de muros de

124

constraints Transformation # DOF Numberer numberer RCM #renumera los grados de libertad para minimizar el ancho de banda. # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator #El nodo de control es el número 247. integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-4 +2.000E-3 # Analysis Type analysis Static #Inicia la grabación de los resultados. record #El desplazamiento actual del nodo 247 es 0 mm. set currentDisp 0; #maxU es igual a 0.02027 m. set maxU [expr 0.02027]; #Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a 0.02027 m (maxU). while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] } # Reset para iniciar un nuevo análisis. #Los recorders no se eliminan, porque grabaran todos los resultados de ahora en adelante. setTime 0.0 loadConst wipeAnalysis #Se aplica una carga horizontal (sentido x global) a los nodos maestros. # LoadPattern "Push": patternTag tsTag factor pattern Plain 400 1 -fact +1.000E+00 { # Load nodeTag LoadValues foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } } #Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations

Page 125: Guía para la modelación y análisis no lineal de muros de

125

system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-10 +2.000E-3 # Analysis Type analysis Static record #maxU es igual a 0.02037 m. set maxU [expr 0.02037]; #Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a maxU. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] } #Reset para iniciar un nuevo análisis. setTime 0.0 loadConst wipeAnalysis #Se aplica una carga horizontal (sentido x global) a los nodos maestros. # LoadPattern "Push": patternTag tsTag factor pattern Plain 500 1 -fact +1.000E+00 { # Load nodeTag LoadValues foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } } #Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-4 +2.000E-3 # Analysis Type analysis Static record #maxU es igual a 0.029574999 m. set maxU [expr 0.029574999];

Page 126: Guía para la modelación y análisis no lineal de muros de

126

#Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a maxU. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] } # Reset para iniciar un nuevo análisis. setTime 0.0 loadConst wipeAnalysis #Se aplica una carga horizontal (sentido x global) a los nodos maestros. # LoadPattern "Push": patternTag tsTag factor pattern Plain 600 1 -fact +1.000E+00 { # Load nodeTag LoadValues foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } } #Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-10 +2.000E-3 # Analysis Type analysis Static record #maxU es igual a 0.029674999 m. set maxU [expr 0.029674999]; #Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a maxU. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] } #Reset para iniciar un nuevo análisis. setTime 0.0

Page 127: Guía para la modelación y análisis no lineal de muros de

127

loadConst wipeAnalysis #Se aplica una carga horizontal (sentido x global) a los nodos maestros. # LoadPattern "Push": patternTag tsTag factor pattern Plain 700 1 -fact +1.000E+00 { # Load nodeTag LoadValues foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } } #Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-4 +2.000E-3 # Analysis Type analysis Static record #maxU es igual a 0.134533 m. set maxU [expr 0.134533]; #Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a maxU. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] } #Reset para iniciar un nuevo análisis. setTime 0.0 loadConst wipeAnalysis #Se aplica una carga horizontal (sentido x global) a los nodos maestros. # LoadPattern "Push": patternTag tsTag factor pattern Plain 800 1 -fact +1.000E+00 { # Load nodeTag LoadValues foreach PushNode $iPushNode { load $PushNode $Hload 0.0 0.0 0.0 0.0 0.0 } }

Page 128: Guía para la modelación y análisis no lineal de muros de

128

#Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation # DOF Numberer numberer RCM # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-05 100 0 2 # Solution Algorithm algorithm Broyden 8 # Integrator integrator DisplacementControl 247 1 +1.000E-3 1 +1.000E-4 +2.000E-3 # Analysis Type analysis Static record #maxU es igual a 0.147 m (1% de la altura del edificio) set maxU [expr 0.147]; #Este análisis finalizará cuando el nodo 247 alcance un desplazamiento igual a maxU. while {$currentDisp < $maxU} { analyze 1 set currentDisp [nodeDisp 247 1] }

9.18. Anexo 2.10

Figura 48 Excitación sísmica-seno obtenida aplicando la carga viva y muerta

Page 129: Guía para la modelación y análisis no lineal de muros de

129

Figura 49 Excitación sísmica-A 10000 obtenida aplicando la carga viva y muerta

9.19 . Anexo 2.11

Figura 50 Tabla usada para encontrar la relación fuerza-elemento. Extraída de ASCE 41-13 (2014)

Page 130: Guía para la modelación y análisis no lineal de muros de

130

Figura 51 Tabla con los valores de rigidez efectiva para varios componentes estructurales. Extraída de ASCE 41-13 (2014)

Page 131: Guía para la modelación y análisis no lineal de muros de

131

11. Anexos –Ejemplo 3

11.1. Anexo 3.1

#SISMO #Unidades: kN, kPa, m, seg, Mg. #Se crea un archivo donde se guarda la información del Monitoring Output logFile "P2 SISMO.log" #Creación del modelo. wipe; #Limpia la memoria si el modelo ha sido corrido anteriormente #Se crea un modelo 3d con 3 dimensiones y 6 grados de libertad. model BasicBuilder -ndm 3 -ndf 6 set nombre Resultados #Se crea un directorio llamado Resultados file mkdir $nombre #Altura de cada piso desde la base. set y1 2.45 set y2 4.9 set y3 7.35 set y4 9.8 set y5 12.25 set y6 14.7 #Creación de los nodos de los muros horizontales # Nodos del muro 1 horizontal node 1 1.78 0 3.13 node 42 1.78 $y1 3.13 node 83 1.78 $y2 3.13 node 124 1.78 $y3 3.13 node 165 1.78 $y4 3.13 node 206 1.78 $y5 3.13 node 247 1.78 $y6 3.13 # Nodos del muro 2 horizontal node 2 18.61 0 3.13 node 43 18.61 $y1 3.13 node 84 18.61 $y2 3.13 node 125 18.61 $y3 3.13 node 166 18.61 $y4 3.13 node 207 18.61 $y5 3.13 node 248 18.61 $y6 3.13 # Nodos del muro 3 horizontal node 3 7.48 0 6.27 node 44 7.48 $y1 6.27 node 85 7.48 $y2 6.27 node 126 7.48 $y3 6.27 node 167 7.48 $y4 6.27 node 208 7.48 $y5 6.27 node 249 7.48 $y6 6.27 # Nodos del muro 4 horizontal node 4 12.8 0 6.27 node 45 12.8 $y1 6.27

Page 132: Guía para la modelación y análisis no lineal de muros de

132

node 86 12.8 $y2 6.27 node 127 12.8 $y3 6.27 node 168 12.8 $y4 6.27 node 209 12.8 $y5 6.27 node 250 12.8 $y6 6.27 # Nodos del muro 5 horizontal node 5 1.94 0 7.52 node 46 1.94 $y1 7.52 node 87 1.94 $y2 7.52 node 128 1.94 $y3 7.52 node 169 1.94 $y4 7.52 node 210 1.94 $y5 7.52 node 251 1.94 $y6 7.52 # Nodos del muro 6 horizontal node 6 18.45 0 7.52 node 47 18.45 $y1 7.52 node 88 18.45 $y2 7.52 node 129 18.45 $y3 7.52 node 170 18.45 $y4 7.52 node 211 18.45 $y5 7.52 node 252 18.45 $y6 7.52 # Nodos del muro 7 horizontal node 7 7.48 0 8.77 node 48 7.48 $y1 8.77 node 89 7.48 $y2 8.77 node 130 7.48 $y3 8.77 node 171 7.48 $y4 8.77 node 212 7.48 $y5 8.77 node 253 7.48 $y6 8.77 # Nodos del muro 8 horizontal node 8 12.8 0 8.77 node 49 12.8 $y1 8.77 node 90 12.8 $y2 8.77 node 131 12.8 $y3 8.77 node 172 12.8 $y4 8.77 node 213 12.8 $y5 8.77 node 254 12.8 $y6 8.77 # Nodos del muro 9 horizontal node 9 1.78 0 11.91 node 50 1.78 $y1 11.91 node 91 1.78 $y2 11.91 node 132 1.78 $y3 11.91 node 173 1.78 $y4 11.91 node 214 1.78 $y5 11.91 node 255 1.78 $y6 11.91 # Nodos del muro 10 horizontal node 10 18.61 0 11.91 node 51 18.61 $y1 11.91 node 92 18.61 $y2 11.91 node 133 18.61 $y3 11.91 node 174 18.61 $y4 11.91 node 215 18.61 $y5 11.91 node 256 18.61 $y6 11.91 #Creación de los nodos Nodos del muro s verticales # Nodos del muro 11 vertical node 11 0.92 0 1.62 node 52 0.92 $y1 1.62

Page 133: Guía para la modelación y análisis no lineal de muros de

133

node 93 0.92 $y2 1.62 node 134 0.92 $y3 1.62 node 175 0.92 $y4 1.62 node 216 0.92 $y5 1.62 node 257 0.92 $y6 1.62 # Nodos del muro 12 vertical node 12 3.55 0 1.56 node 53 3.55 $y1 1.56 node 94 3.55 $y2 1.56 node 135 3.55 $y3 1.56 node 176 3.55 $y4 1.56 node 217 3.55 $y5 1.56 node 258 3.55 $y6 1.56 # Nodos del muro 13 vertical node 13 5.98 0 1.62 node 54 5.98 $y1 1.62 node 95 5.98 $y2 1.62 node 136 5.98 $y3 1.62 node 177 5.98 $y4 1.62 node 218 5.98 $y5 1.62 node 259 5.98 $y6 1.62 # Nodos del muro 14 vertical node 14 10.19 0 3.255 node 55 10.19 $y1 3.255 node 96 10.19 $y2 3.255 node 137 10.19 $y3 3.255 node 178 10.19 $y4 3.255 node 219 10.19 $y5 3.255 node 260 10.19 $y6 3.255 # Nodos del muro 15 vertical node 15 14.4 0 1.62 node 56 14.4 $y1 1.62 node 97 14.4 $y2 1.62 node 138 14.4 $y3 1.62 node 179 14.4 $y4 1.62 node 220 14.4 $y5 1.62 node 261 14.4 $y6 1.62 # Nodos del muro 16 vertical node 16 16.84 0 1.56 node 57 16.84 $y1 1.56 node 98 16.84 $y2 1.56 node 139 16.84 $y3 1.56 node 180 16.84 $y4 1.56 node 221 16.84 $y5 1.56 node 262 16.84 $y6 1.56 # Nodos del muro 17 vertical node 17 19.47 0 1.62 node 58 19.47 $y1 1.62 node 99 19.47 $y2 1.62 node 140 19.47 $y3 1.62 node 181 19.47 $y4 1.62 node 222 19.47 $y5 1.62 node 263 19.47 $y6 1.62 # Nodos del muro 18 vertical node 18 0 0 5.265 node 59 0 $y1 5.265 node 100 0 $y2 5.265 node 141 0 $y3 5.265

Page 134: Guía para la modelación y análisis no lineal de muros de

134

node 182 0 $y4 5.265 node 223 0 $y5 5.265 node 264 0 $y6 5.265 # Nodos del muro 19 vertical node 19 3.89 0 4.79 node 60 3.89 $y1 4.79 node 101 3.89 $y2 4.79 node 142 3.89 $y3 4.79 node 183 3.89 $y4 4.79 node 224 3.89 $y5 4.79 node 265 3.89 $y6 4.79 # Nodos del muro 20 vertical node 20 5.98 0 4.64 node 61 5.98 $y1 4.64 node 102 5.98 $y2 4.64 node 143 5.98 $y3 4.64 node 184 5.98 $y4 4.64 node 225 5.98 $y5 4.64 node 266 5.98 $y6 4.64 # Nodos del muro 21 vertical node 21 14.4 0 4.64 node 62 14.4 $y1 4.64 node 103 14.4 $y2 4.64 node 144 14.4 $y3 4.64 node 185 14.4 $y4 4.64 node 226 14.4 $y5 4.64 node 267 14.4 $y6 4.64 # Nodos del muro 22 vertical node 22 16.49 0 4.79 node 63 16.49 $y1 4.79 node 104 16.49 $y2 4.79 node 145 16.49 $y3 4.79 node 186 16.49 $y4 4.79 node 227 16.49 $y5 4.79 node 268 16.49 $y6 4.79 # Nodos del muro 23 vertical node 23 20.39 0 5.265 node 64 20.39 $y1 5.265 node 105 20.39 $y2 5.265 node 146 20.39 $y3 5.265 node 187 20.39 $y4 5.265 node 228 20.39 $y5 5.265 node 269 20.39 $y6 5.265 # Nodos del muro 24 vertical node 24 3.89 0 7.52 node 65 3.89 $y1 7.52 node 106 3.89 $y2 7.52 node 147 3.89 $y3 7.52 node 188 3.89 $y4 7.52 node 229 3.89 $y5 7.52 node 270 3.89 $y6 7.52 # Nodos del muro 25 vertical node 25 5.98 0 6.745 node 66 5.98 $y1 6.745 node 107 5.98 $y2 6.745 node 148 5.98 $y3 6.745

Page 135: Guía para la modelación y análisis no lineal de muros de

135

node 189 5.98 $y4 6.745 node 230 5.98 $y5 6.745 node 271 5.98 $y6 6.745 # Nodos del muro 26 vertical node 26 5.98 0 8.295 node 67 5.98 $y1 8.295 node 108 5.98 $y2 8.295 node 149 5.98 $y3 8.295 node 190 5.98 $y4 8.295 node 231 5.98 $y5 8.295 node 272 5.98 $y6 8.295 # Nodos del muro 27 vertical node 27 12.63 0 7.52 node 68 12.63 $y1 7.52 node 109 12.63 $y2 7.52 node 150 12.63 $y3 7.52 node 191 12.63 $y4 7.52 node 232 12.63 $y5 7.52 node 273 12.63 $y6 7.52 # Nodos del muro 28 vertical node 28 16.49 0 7.52 node 69 16.49 $y1 7.52 node 110 16.49 $y2 7.52 node 151 16.49 $y3 7.52 node 192 16.49 $y4 7.52 node 233 16.49 $y5 7.52 node 274 16.49 $y6 7.52 # Nodos del muro 29 vertical node 29 0 0 9.775 node 70 0 $y1 9.775 node 111 0 $y2 9.775 node 152 0 $y3 9.775 node 193 0 $y4 9.775 node 234 0 $y5 9.775 node 275 0 $y6 9.775 # Nodos del muro 30 vertical node 30 3.89 0 10.25 node 71 3.89 $y1 10.25 node 112 3.89 $y2 10.25 node 153 3.89 $y3 10.25 node 194 3.89 $y4 10.25 node 235 3.89 $y5 10.25 node 276 3.89 $y6 10.25 # Nodos del muro 31 vertical node 31 5.98 0 10.4 node 72 5.98 $y1 10.4 node 113 5.98 $y2 10.4 node 154 5.98 $y3 10.4 node 195 5.98 $y4 10.4 node 236 5.98 $y5 10.4 node 277 5.98 $y6 10.4 # Nodos del muro 32 vertical node 32 10.19 0 11.785 node 73 10.19 $y1 11.785 node 114 10.19 $y2 11.785 node 155 10.19 $y3 11.785

Page 136: Guía para la modelación y análisis no lineal de muros de

136

node 196 10.19 $y4 11.785 node 237 10.19 $y5 11.785 node 278 10.19 $y6 11.785 # Nodos del muro 33 vertical node 33 14.4 0 10.4 node 74 14.4 $y1 10.4 node 115 14.4 $y2 10.4 node 156 14.4 $y3 10.4 node 197 14.4 $y4 10.4 node 238 14.4 $y5 10.4 node 279 14.4 $y6 10.4 # Nodos del muro 34 vertical node 34 16.49 0 10.25 node 75 16.49 $y1 10.25 node 116 16.49 $y2 10.25 node 157 16.49 $y3 10.25 node 198 16.49 $y4 10.25 node 239 16.49 $y5 10.25 node 280 16.49 $y6 10.25 # Nodos del muro 35 vertical node 35 20.39 0 9.775 node 76 20.39 $y1 9.775 node 117 20.39 $y2 9.775 node 158 20.39 $y3 9.775 node 199 20.39 $y4 9.775 node 240 20.39 $y5 9.775 node 281 20.39 $y6 9.775 # Nodos del muro 36 vertical node 36 0.92 0 13.42 node 77 0.92 $y1 13.42 node 118 0.92 $y2 13.42 node 159 0.92 $y3 13.42 node 200 0.92 $y4 13.42 node 241 0.92 $y5 13.42 node 282 0.92 $y6 13.42 # Nodos del muro 37 vertical node 37 3.55 0 13.48 node 78 3.55 $y1 13.48 node 119 3.55 $y2 13.48 node 160 3.55 $y3 13.48 node 201 3.55 $y4 13.48 node 242 3.55 $y5 13.48 node 283 3.55 $y6 13.48 # Nodos del muro 38 vertical node 38 5.98 0 13.42 node 79 5.98 $y1 13.42 node 120 5.98 $y2 13.42 node 161 5.98 $y3 13.42 node 202 5.98 $y4 13.42 node 243 5.98 $y5 13.42 node 284 5.98 $y6 13.42 # Nodos del muro 39 vertical node 39 14.4 0 13.42 node 80 14.4 $y1 13.42 node 121 14.4 $y2 13.42 node 162 14.4 $y3 13.42

Page 137: Guía para la modelación y análisis no lineal de muros de

137

node 203 14.4 $y4 13.42 node 244 14.4 $y5 13.42 node 285 14.4 $y6 13.42 # Nodos del muro 40 vertical node 40 16.84 0 13.48 node 81 16.84 $y1 13.48 node 122 16.84 $y2 13.48 node 163 16.84 $y3 13.48 node 204 16.84 $y4 13.48 node 245 16.84 $y5 13.48 node 286 16.84 $y6 13.48 # Nodos del muro 41 vertical node 41 19.47 0 13.42 node 82 19.47 $y1 13.42 node 123 19.47 $y2 13.42 node 164 19.47 $y3 13.42 node 205 19.47 $y4 13.42 node 246 19.47 $y5 13.42 node 287 19.47 $y6 13.42 #Se restringen los 6 grados de libertad de los nodos de la base. for {set i 1} {$i <=41 } {incr i 1} { fix $i 1 1 1 1 1 1 }

Page 138: Guía para la modelación y análisis no lineal de muros de

138

11.2. Anexo 3.2

En este tipo de análisis es esencial agregar masa en la dirección de análisis (z) a los nodos.

Esta variable se calculó de la siguiente manera (ver carpeta de Anexos):

𝑀𝑀𝑅𝑅𝑒𝑒𝑅𝑅 =𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝑙𝑙𝑅𝑅𝑅𝑅𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖

𝐶𝐶+𝑃𝑃𝑅𝑅𝑒𝑒𝑎𝑎 𝑎𝑎𝐶𝐶𝑎𝑎𝑎𝑎𝑅𝑅𝑎𝑎𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖

𝐶𝐶

#Existen 14 secciones transversales diferentes (M-01, M-02,M-03, etc.) #Masa sección transversal M-01 en los pisos 1, 2, 3, 4 y 5. #Para el cálculo de la masa no se tuvo en cuenta la carga viva. set masa_1 4.024 #Masa sección transversal M-02 en los pisos 1, 2, 3, 4 y 5. set masa_2 6.854 #Masa sección transversal M-03 en los pisos 1, 2, 3, 4 y 5. set masa_3 7.296 #Masa sección transversal M-04 en los pisos 1, 2, 3, 4 y 5. set masa_4 8.8 #Masa sección transversal M-05 en los pisos 1, 2, 3, 4 y 5. set masa_5 9.751 #Masa sección transversal M-06 en los pisos 1, 2, 3, 4 y 5. set masa_6 6.899 #Masa sección transversal M-07 en los pisos 1, 2, 3, 4 y 5. set masa_7 6.633 #Masa sección transversal M-08 en los pisos 1, 2, 3, 4 y 5. set masa_8 3.582 #Masa sección transversal M-09 en los pisos 1, 2, 3, 4 y 5. set masa_9 2.653 #Masa sección transversal M-10 en los pisos 1, 2, 3, 4 y 5. set masa_10 2.322 #Masa sección transversal M-11 en los pisos 1, 2, 3, 4 y 5. set masa_11 2.919 #Masa sección transversal M-12 en los pisos 1, 2, 3, 4 y 5. set masa_12 6.899 #Masa sección transversal M-13 en los pisos 1, 2, 3, 4 y 5. set masa_13 10.901 #Masa sección transversal M-14 en los pisos 1, 2, 3, 4 y 5. set masa_14 5.749 #Masa del muro con la sección transversal M-01 en el piso 6. set masa_1_6 3.489 #Masa del muro con la sección transversal M-02 en el piso 6. set masa_2_6 5.943 #Masa del muro con la sección transversal M-03 en el piso 6. set masa_3_6 6.326 #Masa del muro con la sección transversal M-04 en el piso 6. set masa_4_6 7.630 #Masa del muro con la sección transversal M-05 en el piso 6. set masa_5_6 8.454 #Masa del muro con la sección transversal M-06 en el piso 6. set masa_6_6 5.981 #Masa del muro con la sección transversal M-07 en el piso 6. set masa_7_6 5.751 #Masa del muro con la sección transversal M-08 en el piso 6.

Page 139: Guía para la modelación y análisis no lineal de muros de

139

set masa_8_6 3.106 #Masa del muro con la sección transversal M-09 en el piso 6. set masa_9_6 2.301 #Masa del muro con la sección transversal M-10 en el piso 6. set masa_10_6 2.013 #Masa del muro con la sección transversal M-11 en el piso 6. set masa_11_6 2.531 #Masa del muro con la sección transversal M-12 en el piso 6. set masa_12_6 5.981 #Masa del muro con la sección transversal M-13 en el piso 6. set masa_13_6 9.451 #Masa del muro con la sección transversal M-14 en el piso 6. set masa_14_6 4.984 Después de haber calculado la masa, es necesario calcular la carga vertical que le corresponde

a cada nodo. Inicialmente, para realizar este cálculo se tuvo en cuenta la carga viva; sin

embargo, los resultados arrojados por este modelo fueron inferiores a los esperados (ver

Anexo 2.10). Por tanto, a continuación, se muestra el código que no incluye la carga viva en

el cálculo de la carga vertical. Sin embargo, en la carpeta donde se alberga este archivo se

encuentra el modelo que incluye el valor de la carga viva.

#Se calcula la carga vertical que tiene cada muro según su sección transversal. #En este cálculo no se incluye la carga viva. #Carga vertical del muro con la sección transversal M-01 en el piso 1,2,3,4 y 5. set peso_1 [expr -$masa_1*9.81] #Carga vertical del muro con la sección transversal M-02 en el piso 1,2,3,4 y 5. set peso_2 [expr -$masa_2*9.81] #Carga vertical del muro con la sección transversal M-03 en el piso 1,2,3,4 y 5. set peso_3 [expr -$masa_3*9.81] #Carga vertical del muro con la sección transversal M-04 en el piso 1,2,3,4 y 5. set peso_4 [expr -$masa_4*9.81] #Carga vertical del muro con la sección transversal M-05 en el piso 1,2,3,4 y 5. set peso_5 [expr -$masa_5*9.81] #Carga vertical del muro con la sección transversal M-06 en el piso 1,2,3,4 y 5. set peso_6 [expr -$masa_6*9.81] #Carga vertical del muro con la sección transversal M-07 en el piso 1,2,3,4 y 5. set peso_7 [expr -$masa_7*9.81] #Carga vertical del muro con la sección transversal M-08 en el piso 1,2,3,4 y 5. set peso_8 [expr -$masa_8*9.81] #Carga vertical del muro con la sección transversal M-09 en el piso 1,2,3,4 y 5. set peso_9 [expr -$masa_9*9.81] #Carga vertical del muro con la sección transversal M-10 en el piso 1,2,3,4 y 5. set peso_10 [expr -$masa_10*9.81] #Carga vertical del muro con la sección transversal M-11 en el piso 1,2,3,4 y 5. set peso_11 [expr -$masa_11*9.81] #Carga vertical del muro con la sección transversal M-12 en el piso 1,2,3,4 y 5. set peso_12 [expr -$masa_12*9.81] #Carga vertical del muro con la sección transversal M-13 en el piso 1,2,3,4 y 5. set peso_13 [expr -$masa_13*9.81] #Carga vertical del muro con la sección transversal M-14 en el piso 1,2,3,4 y 5. set peso_14 [expr -$masa_14*9.81]

Page 140: Guía para la modelación y análisis no lineal de muros de

140

#Carga vertical del muro con la sección transversal M-01 en el piso 6. set peso_1_6 [expr -$masa_1_6*9.81] #Carga vertical del muro con la sección transversal M-02 en el piso 6. set peso_2_6 [expr -$masa_2_6*9.81] #Carga vertical del muro con la sección transversal M-03 en el piso 6. set peso_3_6 [expr -$masa_3_6*9.81] #Carga vertical del muro con la sección transversal M-04 en el piso 6. set peso_4_6 [expr -$masa_4_6*9.81] #Carga vertical del muro con la sección transversal M-05 en el piso 6. set peso_5_6 [expr -$masa_5_6*9.81] #Carga vertical del muro con la sección transversal M-06 en el piso 6. set peso_6_6 [expr -$masa_6_6*9.81] #Carga vertical del muro con la sección transversal M-07 en el piso 6. set peso_7_6 [expr -$masa_7_6*9.81] #Carga vertical del muro con la sección transversal M-08 en el piso 6. set peso_8_6 [expr -$masa_8_6*9.81] #Carga vertical del muro con la sección transversal M-09 en el piso 6. set peso_9_6 [expr -$masa_9_6*9.81] #Carga vertical del muro con la sección transversal M-10 en el piso 6. set peso_10_6 [expr -$masa_10_6*9.81] #Carga vertical del muro con la sección transversal M-11 en el piso 6. set peso_11_6 [expr -$masa_11_6*9.81] #Carga vertical del muro con la sección transversal M-12 en el piso 6. set peso_12_6 [expr -$masa_12_6*9.81] #Carga vertical del muro con la sección transversal M-13 en el piso 6. set peso_13_6 [expr -$masa_13_6*9.81] #Carga vertical del muro con la sección transversal M-14 en el piso 6. set peso_14_6 [expr -$masa_14_6*9.81] #Se asigna masas a los nodos del primer, segundo, tercer, cuarto y quinto piso según el área transversal del muro al cual pertenezcan. #Masas del muro 1 con sección transversal M-01 for {set i 42} {$i <= 165} {incr i 41} { mass $i $masa_1 $masa_1 $masa_1 0 0 0 } #Masa del muro 2 con sección transversal M-01 for {set i 43 } {$i <= 166} {incr i 41} { mass $i $masa_1 $masa_1 $masa_1 0 0 0 } #Masa del muro 3 con sección transversal M-02 for {set i 44 } {$i <= 167} {incr i 41} { mass $i $masa_2 $masa_2 $masa_2 0 0 0 } #Masa del muro 4 con sección transversal M-03 for {set i 45 } {$i <= 168} {incr i 41} { mass $i $masa_3 $masa_3 $masa_3 0 0 0 } #Masa del muro 5 con sección transversal M-04 for {set i 46 } {$i <= 169} {incr i 41} { mass $i $masa_4 $masa_4 $masa_4 0 0 0 } #Masa del muro 6 con sección transversal M-04 for {set i 47 } {$i <= 170} {incr i 41} { mass $i $masa_4 $masa_4 $masa_4 0 0 0 } #Masa del muro 7 con sección transversal M-02

Page 141: Guía para la modelación y análisis no lineal de muros de

141

for {set i 48 } {$i <= 171} {incr i 41} { mass $i $masa_2 $masa_2 $masa_2 0 0 0 } #Masa del muro 8 con sección transversal M-03 for {set i 49 } {$i <= 172} {incr i 41} { mass $i $masa_3 $masa_3 $masa_3 0 0 0 } #Masa del muro 9 con sección transversal M-01 for {set i 50 } {$i <= 173} {incr i 41} { mass $i $masa_1 $masa_1 $masa_1 0 0 0 } #Masa del muro 10 con sección transversal M-01 for {set i 51 } {$i <= 174} {incr i 41} { mass $i $masa_1 $masa_1 $masa_1 0 0 0 } #Masa del muro 11 con sección transversal M-06 for {set i 52 } {$i <= 175} {incr i 41} { mass $i $masa_6 $masa_6 $masa_6 0 0 0 } #Masa del muro 12 con sección transversal M-07 for {set i 53 } {$i <= 176} {incr i 41} { mass $i $masa_7 $masa_7 $masa_7 0 0 0 } #Masa del muro 13 con sección transversal M-12 for {set i 54 } {$i <= 177} {incr i 41} { mass $i $masa_12 $masa_12 $masa_12 0 0 0 } #Masa del muro 14 con sección transversal M-13 for {set i 55 } {$i <= 178} {incr i 41} { mass $i $masa_13 $masa_13 $masa_13 0 0 0 } #Masa del muro 15 con sección transversal M-12 for {set i 56 } {$i <= 179} {incr i 41} { mass $i $masa_12 $masa_12 $masa_12 0 0 0 } #Masa del muro 16 con sección transversal M-07 for {set i 57 } {$i <= 180} {incr i 41} { mass $i $masa_7 $masa_7 $masa_7 0 0 0 } #Masa del muro 17 con sección transversal M-06 for {set i 58 } {$i <= 181} {incr i 41} { mass $i $masa_6 $masa_6 $masa_6 0 0 0 } #Masa del muro 18 con sección transversal M-05 for {set i 59 } {$i <= 182} {incr i 41} { mass $i $masa_5 $masa_5 $masa_5 0 0 0 } #Masa del muro 19 con sección transversal M-08 for {set i 60 } {$i <= 183} {incr i 41} { mass $i $masa_8 $masa_8 $masa_8 0 0 0 } #Masa del muro 20 con sección transversal M-11 for {set i 61 } {$i <= 184} {incr i 41} { mass $i $masa_11 $masa_11 $masa_11 0 0 0 } #Masa del muro 21 con sección transversal M-11 for {set i 62 } {$i <= 185} {incr i 41} { mass $i $masa_11 $masa_11 $masa_11 0 0 0

Page 142: Guía para la modelación y análisis no lineal de muros de

142

} #Masa del muro 22 con sección transversal M-08 for {set i 63 } {$i <= 186} {incr i 41} { mass $i $masa_8 $masa_8 $masa_8 0 0 0 } #Masa del muro 23 con sección transversal M-05 for {set i 64 } {$i <= 187} {incr i 41} { mass $i $masa_5 $masa_5 $masa_5 0 0 0 } #Masa del muro 24 con sección transversal M-09 for {set i 65 } {$i <= 188} {incr i 41} { mass $i $masa_9 $masa_9 $masa_9 0 0 0 } #Masa del muro 25 con sección transversal M-10 for {set i 66 } {$i <= 189} {incr i 41} { mass $i $masa_10 $masa_10 $masa_10 0 0 0 } #Masa del muro 26 con sección transversal M-10 for {set i 67} {$i <= 190} {incr i 41} { mass $i $masa_10 $masa_10 $masa_10 0 0 0 } #Masa del muro 27 con sección transversal M-14 for {set i 68} {$i <= 191} {incr i 41} { mass $i $masa_14 $masa_14 $masa_14 0 0 0 } #Masa del muro 28 con sección transversal M-09 for {set i 69} {$i <= 192} {incr i 41} { mass $i $masa_9 $masa_9 $masa_9 0 0 0 } #Masa del muro 29 con sección transversal M-05 for {set i 70} {$i <= 193} {incr i 41} { mass $i $masa_5 $masa_5 $masa_5 0 0 0 } #Masa del muro 30 con sección transversal M-08 for {set i 71} {$i <= 194} {incr i 41} { mass $i $masa_8 $masa_8 $masa_8 0 0 0 } #Masa del muro 31 con sección transversal M-11 for {set i 72} {$i <= 195} {incr i 41} { mass $i $masa_11 $masa_11 $masa_11 0 0 0 } #Masa del muro 32 con sección transversal M-13 for {set i 73} {$i <= 196} {incr i 41} { mass $i $masa_13 $masa_13 $masa_13 0 0 0 } #Masa del muro 33 con sección transversal M-11 for {set i 74} {$i <= 197} {incr i 41} { mass $i $masa_11 $masa_11 $masa_11 0 0 0 } #Masa del muro 34 con sección transversal M-08 for {set i 75} {$i <= 198} {incr i 41} { mass $i $masa_8 $masa_8 $masa_8 0 0 0 } #Masa del muro 35 con sección transversal M-05 for {set i 76} {$i <= 199} {incr i 41} { mass $i $masa_5 $masa_5 $masa_5 0 0 0

Page 143: Guía para la modelación y análisis no lineal de muros de

143

} #Masa del muro 36 con sección transversal M-06 for {set i 77} {$i <= 200} {incr i 41} { mass $i $masa_6 $masa_6 $masa_6 0 0 0 } #Masa del muro 37 con sección transversal M-07 for {set i 78} {$i <= 201} {incr i 41} { mass $i $masa_7 $masa_7 $masa_7 0 0 0 } #Masa del muro 38 con sección transversal M-12 for {set i 79} {$i <= 202} {incr i 41} { mass $i $masa_12 $masa_12 $masa_12 0 0 0 } #Masa del muro 39 con sección transversal M-12 for {set i 80} {$i <= 203} {incr i 41} { mass $i $masa_12 $masa_12 $masa_12 0 0 0 } #Masa del muro 40 con sección transversal M-07 for {set i 81} {$i <= 204} {incr i 41} { mass $i $masa_7 $masa_7 $masa_7 0 0 0 } #Masa del muro 41 con sección transversal M-06 for {set i 82} {$i <= 205} {incr i 41} { mass $i $masa_6 $masa_6 $masa_6 0 0 0 } #Se asigna masas a los nodos del sexto piso según el área transversal del muro al cual pertenezcan. #Masa asignada al nodo del piso 6 que pertenece al muro 1 con sección transversal M-01. mass 247 $masa_1_6 $masa_1_6 $masa_1_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 2 con sección transversal M-01. mass 248 $masa_1_6 $masa_1_6 $masa_1_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 3 con sección transversal M-02. mass 249 $masa_2_6 $masa_2_6 $masa_2_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 4 con sección transversal M-03. mass 250 $masa_3_6 $masa_3_6 $masa_3_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 5 con sección transversal M-04. mass 251 $masa_4_6 $masa_4_6 $masa_4_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 6 con sección transversal M-04. mass 252 $masa_4_6 $masa_4_6 $masa_4_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 7 con sección transversal M-02. mass 253 $masa_2_6 $masa_2_6 $masa_2_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 8 con sección transversal M-03. mass 254 $masa_3_6 $masa_3_6 $masa_3_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 9 con sección transversal M-01. mass 255 $masa_1_6 $masa_1_6 $masa_1_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 10 con sección transversal M-01.

Page 144: Guía para la modelación y análisis no lineal de muros de

144

mass 256 $masa_1_6 $masa_1_6 $masa_1_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 11 con sección transversal M-06. mass 257 $masa_6_6 $masa_6_6 $masa_6_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 12 con sección transversal M-07. mass 258 $masa_7_6 $masa_7_6 $masa_7_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 13 con sección transversal M-12. mass 259 $masa_12_6 $masa_12_6 $masa_12_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 14 con sección transversal M-13. mass 260 $masa_13_6 $masa_13_6 $masa_13_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 15 con sección transversal M-12. mass 261 $masa_12_6 $masa_12_6 $masa_12_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 16 con sección transversal M-07. mass 262 $masa_7_6 $masa_7_6 $masa_7_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 17 con sección transversal M-06. mass 263 $masa_6_6 $masa_6_6 $masa_6_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 18 con sección transversal M-05. mass 264 $masa_5_6 $masa_5_6 $masa_5_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 19 con sección transversal M-08. mass 265 $masa_8_6 $masa_8_6 $masa_8_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 20 con sección transversal M-11. mass 266 $masa_11_6 $masa_11_6 $masa_11_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 21 con sección transversal M-11. mass 267 $masa_11_6 $masa_11_6 $masa_11_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 22 con sección transversal M-08. mass 268 $masa_8_6 $masa_8_6 $masa_8_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 23 con sección transversal M-05. mass 269 $masa_5_6 $masa_5_6 $masa_5_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 24 con sección transversal M-09. mass 270 $masa_9_6 $masa_9_6 $masa_9_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 25 con sección transversal M-10. mass 271 $masa_10_6 $masa_10_6 $masa_10_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 26 con sección transversal M-10. mass 272 $masa_10_6 $masa_10_6 $masa_10_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 27 con sección transversal M-14. mass 273 $masa_14_6 $masa_14_6 $masa_14_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 28 con sección transversal M-09. mass 274 $masa_9_6 $masa_9_6 $masa_9_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 29 con sección transversal M-05. mass 275 $masa_5_6 $masa_5_6 $masa_5_6 0 0 0

Page 145: Guía para la modelación y análisis no lineal de muros de

145

#Masa asignada al nodo del piso 6 que pertenece al muro 30 con sección transversal M-08. mass 276 $masa_8_6 $masa_8_6 $masa_8_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 31 con sección transversal M-11. mass 277 $masa_11_6 $masa_11_6 $masa_11_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 32 con sección transversal M-13. mass 278 $masa_13_6 $masa_13_6 $masa_13_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 33 con sección transversal M-11. mass 279 $masa_11_6 $masa_11_6 $masa_11_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 34 con sección transversal M-08. mass 280 $masa_8_6 $masa_8_6 $masa_8_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 35 con sección transversal M-05. mass 281 $masa_5_6 $masa_5_6 $masa_5_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 36 con sección transversal M-06. mass 282 $masa_6_6 $masa_6_6 $masa_6_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 37 con sección transversal M-07. mass 283 $masa_7_6 $masa_7_6 $masa_7_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 38 con sección transversal M-12. mass 284 $masa_12_6 $masa_12_6 $masa_12_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 39 con sección transversal M-12. mass 285 $masa_12_6 $masa_12_6 $masa_12_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 40 con sección transversal M-07. mass 286 $masa_7_6 $masa_7_6 $masa_7_6 0 0 0 #Masa asignada al nodo del piso 6 que pertenece al muro 41 con sección transversal M-06. mass 287 $masa_6_6 $masa_6_6 $masa_6_6 0 0 0

11.3. Anexo 3.3

#Se calculan las propiedades del concreto. #Resistencia a compresión. #Este valor debe ser negativo porque OpenSees asume que la compresión es negativa. set fc -2.10E+04 #Resistencia última del concreto a compresión. set fcu [expr 0.2*$fc] #Resistencia a tensión. set ft [expr -0.14*$fc] #Pendiente del tramo de la gráfica esfuerzo-deformación donde se presenta tensión. set Ets [expr $ft/0.002] #Se definen los materiales # Material "Concreto": matTag fc' epsc0 fcu' epsu lambda ft Ets

Page 146: Guía para la modelación y análisis no lineal de muros de

146

uniaxialMaterial Concrete02 1 $fc -3.000E-03 $fcu -5.000E-02 +1.000E-01 $ft $Ets # Material "Acero 6.5mm": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0> uniaxialMaterial Steel02 2 +2.400E+05 +2.000E+08 +1.000E-02 +1.800E+01 +9.250E-01 +1.500E-01 +0.000E+00 +1.000E+00 +0.000E+00 +1.000E+00 +0.000E+00 #Creación de secciones transversales. Hay en total 14 secciones transversales diferentes. set recubrimiento 0.03 #El espaciamiento entre barras es una pulgada. set esp 0.0254 #El diámetro de una barra #3 es 0.0095 m. set diam3 0.0095 #El diámetro de una barra #4 es 0.0127 m. set diam4 0.0127 #El área transversal de una barra con diámetro de 6.5mm es 0.033183 m^2. set arearef 0.033183 #El área de una barra #3 es 0.071 m^2. set arearef3 0.071 #El área de una barra #4 es 0.000129 m^2. set arearef4 0.000129 #El ancho de todos los muros es igual set ancho 0.1 #Coordenada z para todos los muros set z [expr $ancho/2] #Datos de la sección transversal del muro M-01 set largo 1.82 set y [expr $largo/2] #La coordenada y donde se ubica el refuerzo. set refy [expr $y-$recubrimiento] #El número de barras de refuerzo que tiene esta sección es 12. set numbar 12 #Se crea la sección transversal del muro M-01 section fiberSec 1 { #Se crea una sección transversal de concreto con 4 fibras en dirección del eje z y 20 en dirección del eje y. # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y -$z $y -$z $y $z -$y $z #Se crea el refuerzo de acero de la sección que consiste en 12 barras #que se ubican desde (y,z)=(-0.88,0) hasta (y,z)=(0.88,0) #LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar $arearef $refy 0 -$refy 0 } #Datos la sección transversal del muro M-02 set largo2 3.10 set y2 [expr $largo2/2] set refy2 [expr $y2-$recubrimiento] set numbar2 21 #Se crea la sección transversal del muro M-02 section fiberSec 2 {

Page 147: Guía para la modelación y análisis no lineal de muros de

147

# PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y2 -$z $y2 -$z $y2 $z -$y2 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar2 $arearef $refy2 0 -$refy2 0 } #Datos de la sección transversal del muro M-03 set largo3 3.3 set y_3 [expr $largo3/2] set refy3 [expr $y_3-$recubrimiento] set numbar3 22 #Se crea la sección transversal del muro M-03 section fiberSec 3 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y_3 -$z $y_3 -$z $y_3 $z -$y_3 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar3 $arearef $refy3 0 -$refy3 0 } #Datos de la sección transversal del muro M-04 #Este muro contiene un refuerzo vertical adicional: 3#4 en cada extremo. set largo4 3.98 set y_4 [expr $largo4/2] #yi4 es la coordenada y donde inicia el refuerzo vertical adicional. set yi4 [expr $y_4-$recubrimiento] #yf4 es la coordenada y donde termina el refuerzo vertical adicional. #Existen 3 barras #4 y 2 espaciamientos entre ellas. set yf4 [expr $yi4-3*$diam4-2*$esp] #refy4 esa coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la tercera barra #4 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy4 [expr $yf4-$esp] set numbar4 25 #Se crea la sección transversal del muro M-04 section fiberSec 4 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y_4 -$z $y_4 -$z $y_4 $z -$y_4 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar4 $arearef $refy4 0 -$refy4 0 #Se ubican 3 barras #4 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef4 $yi4 0 $yf4 0 #Se ubican 3 barras #4 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef4 -$yi4 0 -$yf4 0 } #Datos de la sección transversal del muro M-05 set largo5 4.41 set y_5 [expr $largo5/2]

Page 148: Guía para la modelación y análisis no lineal de muros de

148

set refy5 [expr $y_5-$recubrimiento] set numbar5 30 #Se crea la sección transversal del muro M-05 section fiberSec 5 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y_5 -$z $y_5 -$z $y_5 $z -$y_5 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar5 $arearef $refy5 0 -$refy5 0 } #Datos de la sección transversal del muro M-06 set largo6 3.12 set y_6 [expr $largo6/2] set refy6 [expr $y_6-$recubrimiento] set numbar6 21 #Se crea la sección transversal del muro M-06 section fiberSec 6 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y_6 -$z $y_6 -$z $y_6 $z -$y_6 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar6 $arearef $refy6 0 -$refy6 0 } #Datos de la sección transversal del muro M-07 set largo7 3 set y7 [expr $largo7/2] set refy7 [expr $y7-$recubrimiento] set numbar7 20 #Se crea la sección transversal del muro M-07 section fiberSec 7 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y7 -$z $y7 -$z $y7 $z -$y7 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar7 $arearef $refy7 0 -$refy7 0 } #Datos de la sección transversal del muro M-08 set largo8 1.62 set y8 [expr $largo8/2] set refy8 [expr $y8-$recubrimiento] set numbar8 11 #Se crea la sección transversal del muro M-08 section fiberSec 8 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y8 -$z $y8 -$z $y8 $z -$y8 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar8 $arearef $refy8 0 -$refy8 0 }

Page 149: Guía para la modelación y análisis no lineal de muros de

149

#Datos de la sección transversal del muro M-09 #Este muro contiene un refuerzo vertical adicional: 3#3 en cada extremo. set largo9 1.2 set y9 [expr $largo9/2] #yi9 es la coordenada y donde inicia el refuerzo vertical adicional. set yi9 [expr $y9-$recubrimiento] #yf9 es la coordenada y donde finaliza el refuerzo vertical adicional. #Existen 3 barras #3 y 2 espaciamientos entre ellas. set yf9 [expr $yi9-3*$diam3-2*$esp] #refy9 es la coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la tercera barra #3 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy9 [expr $yf9-$recubrimiento] set numbar9 7 #Se crea la sección transversal del muro M-09 section fiberSec 9 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y9 -$z $y9 -$z $y9 $z -$y9 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar9 $arearef $refy9 0 -$refy9 0 #Se ubican 3 barras #3 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef3 $yi9 0 $yf9 0 #Se ubican 3 barras #3 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 3 $arearef3 -$yi9 0 -$yf9 0 } #Datos de la sección transversal del muro M-10 set largo10 1.05 set y10 [expr $largo10/2] set refy10 [expr $y10-$recubrimiento] set numbar10 7 #Se crea la sección transversal del muro M-10 section fiberSec 10 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y10 -$z $y10 -$z $y10 $z -$y10 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar10 $arearef $refy10 0 -$refy10 0 } #Datos de la sección transversal del muro M-11 set largo11 1.32 set y11 [expr $largo11/2] set refy11 [expr $y11-$recubrimiento] set numbar11 9 #Se crea la sección transversal del muro M-11 section fiberSec 11 {

Page 150: Guía para la modelación y análisis no lineal de muros de

150

# PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y11 -$z $y11 -$z $y11 $z -$y11 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar11 $arearef $refy11 0 -$refy11 0 } #Datos de la sección transversal del muro M-12 #Este muro contiene un refuerzo vertical adicional: 1#3 en cada extremo. set largo12 3.12 set y12 [expr $largo12/2] #yi12 es la coordenada y donde inicia el refuerzo vertical adicional. set yi12 [expr $y12-$recubrimiento] #yf12 es la coordenada y donde finaliza el refuerzo vertical adicional. set yf12 [expr $yi12-$diam3] #refy12 es la coordenada y donde se ubica la primera barra de diámetro 6.5 mm. #Entre la barra #3 y la primera barra de diámetro 6.5 mm existe un espaciamiento de 1 pulgada. set refy12 [expr $yf12-$esp] set numbar12 20 #Se crea la sección transversal del muro M-12 section fiberSec 12 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y12 -$z $y12 -$z $y12 $z -$y12 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar12 $arearef $refy12 0 -$refy12 0 #Se ubica 1 barra #3 a la derecha. # LayerStraight "refuerzo adicional a la derecha": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 1 $arearef3 $yi12 0 $yf12 0 #Se ubica 1 barra #3 a la izquierda. # LayerStraight "refuerzo adicional a la izquierda": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 1 $arearef3 -$yi12 0 -$yf12 0 } #Datos de la sección transversal del muro M-13 set largo13 4.93 set y13 [expr $largo13/2] set refy13 [expr $y13-$recubrimiento] set numbar13 33 #Se crea la sección transversal del muro M-13 section fiberSec 13 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y13 -$z $y13 -$z $y13 $z -$y13 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar13 $arearef $refy13 0 -$refy13 0 } #Datos de la sección transversal del muro M-14 set largo14 2.6 set y14 [expr $largo14/2] set refy14 [expr $y14-$recubrimiento]

Page 151: Guía para la modelación y análisis no lineal de muros de

151

set numbar14 17 #Se crea la sección transversal del muro M-14 section fiberSec 14 { # PatchQuad "patch": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz patch quad 1 4 20 -$y14 -$z $y14 -$z $y14 $z -$y14 $z # LayerStraight "refuerzo": matTag numBar areaBar yStart zStart yEnd zEnd layer straight 2 $numbar14 $arearef $refy14 0 -$refy14 0 }

11.4. Anexo 3.4

#Transformación lineal 1 para los muros paralelos al eje x global (horizontales). #Esta transformación lineal garantiza que el vector local z de la sección transversal se alinee con el eje -z global. #geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ geomTransf Linear 1 0 0 -1 #Transformación lineal 2 para los muros paralelos al eje z global (verticales). #Esta transformación lineal garantiza que el vector local z de la sección transversal se alinee con el eje -x global. geomTransf Linear 2 -1 0 0 #Creación de elementos. Existen en total 41 elementos por piso. #Cada elemento representa un muro. #Elementos con una sección transversal horizontal. Hay en total 10 muros con orientación horizontal por piso. #Para que los muros se ubiquen horizontalmente es necesario usar la transformación lineal 1. #Muro 1 #Existe un muro denominado "muro 1" en cada piso. #Los elementos 1, 42, 83, 124, 166 y 206 tienen 6 puntos de integración y la transformación lineal para muros horizontales. #El elemento 1 está en el piso 1, el elemento 42 en el piso 2, el elemento 83 en el piso 3, el elemento 124 en el piso 4, #el elemento 166 en el piso 5 y el elemento 206 en el piso 6. #Se definen 6 elementos con la sección transversal M-01 for {set i 1} {$i <= 206} {incr i 41} { #element forceBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol> <-integration $intType> element forceBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 2 #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales. for {set i 2} {$i <= 207} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

Page 152: Guía para la modelación y análisis no lineal de muros de

152

#Muro 3 #Se definen 6 elementos con la sección transversal M-02 y la transformación lineal para muros horizontales. for {set i 3} {$i <= 208} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 2 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 4 #Se definen 6 elementos con la sección transversal M-03 y la transformación lineal para muros horizontales. for {set i 4} {$i <= 209} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 3 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 5 #Se definen 6 elementos con la sección transversal M-04 y la transformación lineal para muros horizontales for {set i 5} {$i <= 210} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 4 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 6 #Se definen 6 elementos con la sección transversal M-04 y la transformación lineal para muros horizontales for {set i 6} {$i <= 211} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 4 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 7 #Se definen 6 elementos con la sección transversal M-02 y la transformación lineal para muros horizontales for {set i 7} {$i <= 212} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 2 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 8 #Se definen 6 elementos con la sección transversal M-03 y la transformación lineal para muros horizontales for {set i 8} {$i <= 213} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 3 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 9 #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales for {set i 9} {$i <= 214} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

Page 153: Guía para la modelación y análisis no lineal de muros de

153

#Muro 10 #Se definen 6 elementos con la sección transversal M-01 y la transformación lineal para muros horizontales for {set i 10} {$i <= 215} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 1 1 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Elementos con una sección transversal vertical. Hay en total 31 muros con orientación vertical por piso. #Para que los muros se ubiquen verticalmente es necesario usar la transformación lineal 2. #Muro 11 #Se definen 6 elementos con la sección transversal M-06 y la transformación lineal para muros verticales for {set i 11} {$i <= 216} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 12 #Se definen 6 elementos con la sección transversal M-07 y la transformación lineal para muros verticales for {set i 12} {$i <= 217} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 13 #Se definen 6 elementos con la sección transversal M-12 for {set i 13} {$i <= 218} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 14 #Se definen 6 elementos con la sección transversal M-13 for {set i 14} {$i <= 219} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 13 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 15 #Se definen 6 elementos con la sección transversal M-12 for {set i 15} {$i <= 220} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 16 #Se definen 6 elementos con la sección transversal M-07 for {set i 16} {$i <= 221} {incr i 41} {

Page 154: Guía para la modelación y análisis no lineal de muros de

154

element forceBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 17 #Se definen 6 elementos con la sección transversal M-06 for {set i 17} {$i <= 222} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 18 #Se definen 6 elementos con la sección transversal M-05 for {set i 18} {$i <= 223} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 19 #Se definen 6 elementos con la sección transversal M-08 for {set i 19} {$i <= 224} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 20 #Se definen 6 elementos con la sección transversal M-11 for {set i 20} {$i <= 225} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 21 #Se definen 6 elementos con la sección transversal M-11 for {set i 21} {$i <= 226} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 22 #Se definen 6 elementos con la sección transversal M-08 for {set i 22} {$i <= 227} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

Page 155: Guía para la modelación y análisis no lineal de muros de

155

#Muro 23 #Se definen 6 elementos con la sección transversal M-05 for {set i 23} {$i <= 228} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 24 #Se definen 6 elementos con la sección transversal M-09 for {set i 24} {$i <= 229} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 9 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 25 #Se definen 6 elementos con la sección transversal M-10 for {set i 25} {$i <= 230} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 10 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 26 #Se definen 6 elementos con la sección transversal M-10 for {set i 26} {$i <= 231} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 10 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 27 #Se definen 6 elementos con la sección transversal M-14 for {set i 27} {$i <= 232} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 14 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 28 #Se definen 6 elementos con la sección transversal M-09 for {set i 28} {$i <= 233} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 9 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 29 #Se definen 6 elementos con la sección transversal M-05 for {set i 29} {$i <= 234} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 30

Page 156: Guía para la modelación y análisis no lineal de muros de

156

#Se definen 6 elementos con la sección transversal M-08 for {set i 30} {$i <= 235} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 31 #Se definen 6 elementos con la sección transversal M-11 for {set i 31} {$i <= 236} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 32 #Se definen 6 elementos con la sección transversal M-13 for {set i 32} {$i <= 237} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 13 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 33 #Se definen 6 elementos con la sección transversal M-11 for {set i 33} {$i <= 238} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 11 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 34 #Se definen 6 elementos con la sección transversal M-08 for {set i 34} {$i <= 239} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 8 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 35 #Se definen 6 elementos con la sección transversal M-05 for {set i 35} {$i <= 240} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 5 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 36 #Se definen 6 elementos con la sección transversal M-06 for {set i 36} {$i <= 241} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 37 #Se definen 6 elementos con la sección transversal M-07 for {set i 37} {$i <= 242} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

Page 157: Guía para la modelación y análisis no lineal de muros de

157

#Muro 38 #Se definen 6 elementos con la sección transversal M-12 for {set i 38} {$i <= 243} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 39 #Se definen 6 elementos con la sección transversal M-12 for {set i 39} {$i <= 244} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 12 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 40 #Se definen 6 elementos con la sección transversal M-07 for {set i 40} {$i <= 245} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 7 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto } #Muro 41 #Se definen 6 elementos con la sección transversal M-06 for {set i 41} {$i <= 246} {incr i 41} { element forceBeamColumn $i $i [expr $i+41] 6 6 2 -mass 0 -iter 10 +1.000E-12 -integration Lobatto }

11.5. Anexo 3.5

#Todos los nodos maestros pertenecer al muro 1. #Diafragma rígido del primer piso. for {set i 43} {$i <= 82} {incr i 1} { #El nodo 42 es el nodo maestro. equalDOF 42 $i 1 3 } #Diafragma rígido del segundo piso. for {set i 84} {$i <= 123} {incr i 1} { #El nodo 83 es el nodo maestro. equalDOF 83 $i 1 3 } #Diafragma rígido del tercer piso. for {set i 125} {$i <= 164} {incr i 1} { #El nodo 124 es el nodo maestro. equalDOF 124 $i 1 3 } #Diafragma rígido del cuarto piso. for {set i 166} {$i <= 205} {incr i 1} { #El nodo 165 es el nodo maestro. equalDOF 165 $i 1 3 } #Diafragma rígido del quinto piso. for {set i 207} {$i <= 246} {incr i 1} { #El nodo 206 es el nodo maestro.

Page 158: Guía para la modelación y análisis no lineal de muros de

158

equalDOF 206 $i 1 3 } #Diafragma rígido del sexto piso. for {set i 248} {$i <= 287} {incr i 1} { #El nodo 247 es el nodo maestro. equalDOF 247 $i 1 3 } # Se define un time series # TimeSeries "LinearDefault": tsTag cFactor timeSeries Linear 1 -factor +1.000E+00 #Asignación de las cargas verticales #Asignación de las cargas verticales #Se asigna la carga vertical al nodo superior del muro 1 en los pisos 1,2,3,4 y 5. for {set i 1} {$i <= 165} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 2 en los pisos 1,2,3,4 y 5. for {set i 2} {$i <= 166} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 3 en los pisos 1,2,3,4 y 5. for {set i 3} {$i <= 167} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_2 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 4 en los pisos 1,2,3,4 y 5. for {set i 4} {$i <= 168} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_3 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 5 en los pisos 1,2,3,4 y 5. for {set i 5} {$i <= 169} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { # Load nodeTag LoadValues load [expr 41+$i] 0. $peso_4 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 6 en los pisos 1,2,3,4 y 5. for {set i 6} {$i <= 170} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_4 0 0 0 0; } }

Page 159: Guía para la modelación y análisis no lineal de muros de

159

#Se asigna la carga vertical al nodo superior del muro 7 en los pisos 1,2,3,4 y 5. for {set i 7} {$i <= 171} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_2 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 8 en los pisos 1,2,3,4 y 5. for {set i 8} {$i <= 172} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_3 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 9 en los pisos 1,2,3,4 y 5. for {set i 9} {$i <= 173} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 10 en los pisos 1,2,3,4 y 5. for {set i 10} {$i <= 174} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_1 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 11 en los pisos 1,2,3,4 y 5. for {set i 11} {$i <= 175} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 12 en los pisos 1,2,3,4 y 5. for {set i 12} {$i <= 176} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 13 en los pisos 1,2,3,4 y 5. for {set i 13} {$i <= 177} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 14 en los pisos 1,2,3,4 y 5. for {set i 14} {$i <= 178} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_13 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 15 en los pisos 1,2,3,4 y 5. for {set i 15} {$i <= 179} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 16 en los pisos 1,2,3,4 y 5.

Page 160: Guía para la modelación y análisis no lineal de muros de

160

for {set i 16} {$i <= 180} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 17 en los pisos 1,2,3,4 y 5. for {set i 17} {$i <= 181} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 18 en los pisos 1,2,3,4 y 5. for {set i 18} {$i <= 182} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 19 en los pisos 1,2,3,4 y 5. for {set i 19} {$i <= 183} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 20 en los pisos 1,2,3,4 y 5. for {set i 20} {$i <= 184} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 21 en los pisos 1,2,3,4 y 5. for {set i 21} {$i <= 185} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 22 en los pisos 1,2,3,4 y 5. for {set i 22} {$i <= 186} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 23 en los pisos 1,2,3,4 y 5. for {set i 23} {$i <= 187} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 24 en los pisos 1,2,3,4 y 5. for {set i 24} {$i <= 188} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_9 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 25 en los pisos 1,2,3,4 y 5.

Page 161: Guía para la modelación y análisis no lineal de muros de

161

for {set i 25} {$i <= 189} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_10 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 26 en los pisos 1,2,3,4 y 5. for {set i 26} {$i <= 190} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_10 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 27 en los pisos 1,2,3,4 y 5. for {set i 27} {$i <= 191} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_14 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 28 en los pisos 1,2,3,4 y 5. for {set i 28} {$i <= 192} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_9 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 29 en los pisos 1,2,3,4 y 5. for {set i 29} {$i <= 193} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 30 en los pisos 1,2,3,4 y 5. for {set i 30} {$i <= 194} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 31 en los pisos 1,2,3,4 y 5. for {set i 31} {$i <= 195} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 32 en los pisos 1,2,3,4 y 5. for {set i 32} {$i <= 196} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_13 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 33 en los pisos 1,2,3,4 y 5. for {set i 33} {$i <= 197} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_11 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 34 en los pisos 1,2,3,4 y 5.

Page 162: Guía para la modelación y análisis no lineal de muros de

162

for {set i 34} {$i <= 198} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_8 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 35 en los pisos 1,2,3,4 y 5. for {set i 35} {$i <= 199} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_5 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 36 en los pisos 1,2,3,4 y 5. for {set i 36} {$i <= 200} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 37 en los pisos 1,2,3,4 y 5. for {set i 37} {$i <= 201} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 38 en los pisos 1,2,3,4 y 5. for {set i 38} {$i <= 202} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 39 en los pisos 1,2,3,4 y 5. for {set i 39} {$i <= 203} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_12 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 40 en los pisos 1,2,3,4 y 5. for {set i 40} {$i <= 204} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_7 0 0 0 0; } } #Se asigna la carga vertical al nodo superior del muro 41 en los pisos 1,2,3,4 y 5. for {set i 41} {$i <= 205} {incr i 41} { pattern Plain $i 1 -fact +1.000E+00 { load [expr 41+$i] 0. $peso_6 0 0 0 0; } } #Se asigna peso a los nodos del sexto piso. #Peso asignado al nodo del piso 6 que pertenece al muro 1 con sección transversal M-01. pattern Plain 247 1 -fact +1.000E+00 { load 247 0. $peso_1_6 0 0 0 0; }

Page 163: Guía para la modelación y análisis no lineal de muros de

163

#Peso asignado al nodo del piso 6 que pertenece al muro 2 con sección transversal M-01. pattern Plain 248 1 -fact +1.000E+00 { load 248 0. $peso_1_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 3 con sección transversal M-02. pattern Plain 249 1 -fact +1.000E+00 { load 249 0. $peso_2_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 4 con sección transversal M-03. pattern Plain 250 1 -fact +1.000E+00 { load 250 0. $peso_3_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 5 con sección transversal M-04. pattern Plain 251 1 -fact +1.000E+00 { load 251 0. $peso_4_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 6 con sección transversal M-04. pattern Plain 252 1 -fact +1.000E+00 { load 252 0. $peso_4_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 7 con sección transversal M-02. pattern Plain 253 1 -fact +1.000E+00 { load 253 0. $peso_2_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 8 con sección transversal M-03. pattern Plain 254 1 -fact +1.000E+00 { load 254 0. $peso_3_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 9 con sección transversal M-01. pattern Plain 255 1 -fact +1.000E+00 { load 255 0. $peso_1_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 10 con sección transversal M-01. pattern Plain 256 1 -fact +1.000E+00 { load 256 0. $peso_1_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 11 con sección transversal M-06. pattern Plain 257 1 -fact +1.000E+00 { load 257 0. $peso_6_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 12 con sección transversal M-07. pattern Plain 258 1 -fact +1.000E+00 { load 258 0. $peso_7_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 13 con sección transversal M-12. pattern Plain 259 1 -fact +1.000E+00 {

Page 164: Guía para la modelación y análisis no lineal de muros de

164

load 259 0. $peso_12_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 14 con sección transversal M-13. pattern Plain 260 1 -fact +1.000E+00 { load 260 0. $peso_13_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 15 con sección transversal M-12. pattern Plain 261 1 -fact +1.000E+00 { load 261 0. $peso_12_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 16 con sección transversal M-07. pattern Plain 262 1 -fact +1.000E+00 { load 262 0. $peso_7_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 17 con sección transversal M-06. pattern Plain 263 1 -fact +1.000E+00 { load 263 0. $peso_6_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 18 con sección transversal M-05. pattern Plain 264 1 -fact +1.000E+00 { load 264 0. $peso_5_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 19 con sección transversal M-08. pattern Plain 265 1 -fact +1.000E+00 { load 265 0. $peso_8_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 20 con sección transversal M-11. pattern Plain 266 1 -fact +1.000E+00 { load 266 0. $peso_11_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 21 con sección transversal M-11. pattern Plain 267 1 -fact +1.000E+00 { load 267 0. $peso_11_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 22 con sección transversal M-08. pattern Plain 268 1 -fact +1.000E+00 { load 268 0. $peso_8_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 23 con sección transversal M-05. pattern Plain 269 1 -fact +1.000E+00 { load 269 0. $peso_5_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 24 con sección transversal M-09. pattern Plain 270 1 -fact +1.000E+00 { load 270 0. $peso_9_6 0 0 0 0;

Page 165: Guía para la modelación y análisis no lineal de muros de

165

} #Peso asignado al nodo del piso 6 que pertenece al muro 25 con sección transversal M-10. pattern Plain 271 1 -fact +1.000E+00 { load 271 0. $peso_10_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 26 con sección transversal M-10. pattern Plain 272 1 -fact +1.000E+00 { load 272 0. $peso_10_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 27 con sección transversal M-14. pattern Plain 273 1 -fact +1.000E+00 { load 273 0. $peso_14_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 28 con sección transversal M-09. pattern Plain 274 1 -fact +1.000E+00 { load 274 0. $peso_9_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 29 con sección transversal M-05. pattern Plain 275 1 -fact +1.000E+00 { load 275 0. $peso_5_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 30 con sección transversal M-08. pattern Plain 276 1 -fact +1.000E+00 { load 276 0. $peso_8_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 31 con sección transversal M-11. pattern Plain 277 1 -fact +1.000E+00 { load 277 0. $peso_11_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 32 con sección transversal M-13. pattern Plain 278 1 -fact +1.000E+00 { load 278 0. $peso_13_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 33 con sección transversal M-11. pattern Plain 279 1 -fact +1.000E+00 { load 279 0. $peso_11_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 34 con sección transversal M-08. pattern Plain 280 1 -fact +1.000E+00 { load 280 0. $peso_8_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 35 con sección transversal M-05. pattern Plain 281 1 -fact +1.000E+00 { load 281 0. $peso_5_6 0 0 0 0; }

Page 166: Guía para la modelación y análisis no lineal de muros de

166

#Peso asignado al nodo del piso 6 que pertenece al muro 36 con sección transversal M-06. pattern Plain 282 1 -fact +1.000E+00 { load 282 0. $peso_6_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 37 con sección transversal M-07. pattern Plain 283 1 -fact +1.000E+00 { load 283 0. $peso_7_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 38 con sección transversal M-12. pattern Plain 284 1 -fact +1.000E+00 { load 284 0. $peso_12_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 39 con sección transversal M-12. pattern Plain 285 1 -fact +1.000E+00 { load 285 0. $peso_12_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 40 con sección transversal M-07. pattern Plain 286 1 -fact +1.000E+00 { load 286 0. $peso_7_6 0 0 0 0; } #Peso asignado al nodo del piso 6 que pertenece al muro 41 con sección transversal M-06. pattern Plain 287 1 -fact +1.000E+00 { load 287 0. $peso_6_6 0 0 0 0; }

11.6. Anexo 3.6

#Se crean los recorders para grabar el desplazamiento del nodo 247 y las reacciones en el nodo 1. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node247_DFree_Dsp.out -time -node 247 -dof 1 2 3 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node1_RBase_RFrc.out -time -node 1 -dof 1 2 3 reaction #Se crean los recorders para grabar el desplazamiento del nodo 260 y las reacciones en el nodo 14. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node260_DFree_Dsp.out -time -node 260 -dof 1 2 3 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Gravedad_Node14_RBase_RFrc.out -time -node 14 -dof 1 2 3 reaction

Page 167: Guía para la modelación y análisis no lineal de muros de

167

#Se definen los parámetros del análisis estático que involucra la carga vertical. # Constraint Handler constraints Transformation # DOF Numberer numberer Plain # System of Equations system BandGeneral # Convergence Test test NormDispIncr +1.000E-08 6 # Solution Algorithm algorithm Newton # Integrator #En cada paso del análisis se aplica a cada nodo 0.1 de la carga total que le pertenece. integrator LoadControl 0.1 # Analysis Type analysis Static #Se inicializa la grabación. record #La carga vertical se aplicará en 10 pasos. analyze 10 # Reset para empezar un nuevo análisis. #El tiempo reinicia y la carga se mantiene constante. loadConst -time 0.0 #Los recorders dejan de grabar los resultados. remove recorders

11.7. Anexo 3.7

#Se definen unos nuevos recorders para grabar el desplazamiento del nodo 247 y las reacciones en el nodo 1. #El nodo 1 está en la base del muro 1 en el piso 1. El nodo 247 está en la parte superior del muro 1 del piso 6. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Sismo_Node247_DFree_Dsp.out -time -node 247 -dof 1 2 3 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Sismo_Node1_RBase_RFrc.out -time -node 1 -dof 1 2 3 reaction #Se definen unos nuevos recorders para grabar el desplazamiento del nodo 260 y las reacciones en el nodo 14. #El nodo 14 está en la base del muro 14 en el piso 1. El nodo 260 está en la parte superior del muro 14 del piso 6. #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType recorder Node -file $nombre/Sismo_Node260_DFree_Dsp.out -time -node 260 -dof 1 2 3 disp #recorder Node -file $fileName -time -node $node1 $node2… -dof $dof1 $dof2 … $respType

Page 168: Guía para la modelación y análisis no lineal de muros de

168

recorder Node -file $nombre/Sismo_Node14_RBase_RFrc.out -time -node 14 -dof 1 2 3 reaction

11.8. Anexo 3.8

En este momento, es necesario importar una señal sísmica que alberga datos de

aceleraciones. La señal sinusoidal y la señal A 10000 deben aplicarse al edificio por aparte.

Los códigos creados para realizar los dos análisis dinámicos pueden ejecutarse desde

OpenSees o Matlab.

#SISMO SEÑAL A 10000 #El amortiguamiento es 5% set AMORT 0.05 #El factor por el cual se multiplica los datos de la señal es 9.81, pues la aceleración está en [g]. set G 9.81 #Se creo un timeSeries usando el archivo A10000.tcl timeSeries Path 2 -dt 0.005 -filePath A10000.tcl -factor $G #Se calcula la frecuencia fundamental usando un valor propio. set freq [expr [eigen -fullGenLapack 1]**0.5] #El movimiento del suelo actua en la dirección z (3) #El timeSeries que usa el comando UniformExcitation se identifica con el número 2. #pattern UniformExcitation $patternTag $dir -accel $tsTag pattern UniformExcitation 5000 3 -accel 2 #rayleigh $alphaM $betaK $betaKinit $betaKcomm rayleigh 0 0 0 [expr (2*$AMORT)/$freq]

Page 169: Guía para la modelación y análisis no lineal de muros de

169

11.9. Anexo 3.9

#Se borran los parámetros del analisis previo wipeAnalysis; #Se definen los parámetros del análisis pushover. # Constraint Handler constraints Transformation; # DOF Numberer numberer Plain; # System of Equations system BandGeneral; # Solution Algorithm algorithm Linear # Integrator integrator Newmark 0.5 0.25 ; # Analysis Type analysis Transient; record #El análisis se hace en 3995 pasos con incremento de tiempo igual a 0.01 seg. #La duración del movimiento del suelo es igual a 3995*0.01=39.95 seg. analyze 3995 0.01; #SISMO SEÑAL SENO #El factor por el cual se multiplica los datos de la señal es 1, pues la aceleración no está en [g]. set G 1 #Se creo un timeSeries usando el archivo seno.tlc timeSeries Path 2 -dt 0.005 -filePath seno.tcl -factor $G #Se calcula la frecuencia fundamental usando un valor propio. set freq [expr [eigen -fullGenLapack 1]**0.5] #El movimiento del suelo actua en la dirección z (3) #El timeSeries que usa el comando UniformExcitation se identifica con el número 2. #pattern UniformExcitation $patternTag $dir -accel $tsTag pattern UniformExcitation 5000 3 -accel 2 #rayleigh $alphaM $betaK $betaKinit $betaKcomm rayleigh 0 0 0 0.0 [expr (2*$AMORT)/$freq] #Se borran los parámetros del analisis previo wipeAnalysis; constraints Transformation; numberer Plain; system FullGeneral; test EnergyIncr 1.0e-8 6 algorithm Linear integrator Newmark 0.5 0.25 ; analysis Transient; record #El análisis se hace en 500 pasos con incremento de tiempo igual a 0.01 seg. #El movimiento del suelo dura 500*0.01=5 seg analyze 500 0.01;

Page 170: Guía para la modelación y análisis no lineal de muros de

170

REFERENCIAS

Dazio, A. Beyer, K. y Bachmann, H. (2009). Quasi-static cyclic tests and plastic hinge analysis

of RC structural walls. Engineering Structures, 31, 1556-1571. Recuperado desde

https://www.journals.elsevier.com/engineering-structures

Leslie, R. (s.f.). The Pushover Analysis, explained in its Simplicity, Building Design. Kerala PWD.

Recuperado de https://www.alacero.org/sites/default/files/u16/ci_23_-

24_the_pushover_analysis_explained.pdf

Ochoa, R. (2014). Reorganización del ACI 318-14. Revista Construcción y Tecnología en

Concreto, 46-49. Recuperado desde

http://www.imcyc.com/revistacyt/pdf/enero2014/normatividad.pdf

Zhang, P., Restrepo, J. y Conte, J. (2017). Nonlinear finite element modeling and response

analysis of the collapsed Alto Rio building in the 2010 Chile Maule earthquake, Struct Design

Tall Spec Build, 26, 175-187. Recuperado de

https://onlinelibrary.wiley.com/doi/abs/10.1002/tal.1364

Arteta, C., Blandón, C., Bonett, R., Carrillo, J., Beyer, K. y Almeida, J. (2018). Response of thin

lightly-reinforced concrete walls under cyclic loading, Engineering Structures, 176, 175-

187. Recuperado de https://doi.org/10.1016/j.engstruct.2018.08.089

Priestley, M. J. N., Calvi, G. M. y Kowalsky, M. J. (2007). Displacement-Based Seismic Design of

Structures. Pavia: IUSS Press.

Quintero, I. (2018). Manual de OpenSees (tesis de pregrado). Universidad de Los Andes,

Bogotá, Colombia.

Trujillo, A. (2018). Modelaciones computacionales no lineales de diferentes tipologías de

edificaciones de muros de concreto industrializados en Bogotá D.C. sometidas a diversas

señales sísmicas (tesis de pregrado). Universidad de Los Andes, Bogotá, D.C. Colombia.

Arteta, C., Blandón, C., Bonett, R., Carrillo, J. (2018). Estudio del Comportamiento Sísmico de

Edificios de Muros Delgados de Concreto Reforzado (Reporte). CEER-Colombian Earthquake

Engineering Research Network.

Page 171: Guía para la modelación y análisis no lineal de muros de

171

Carrillo, J. (2012). Acceptance limits for performance-based seismic design of RC walls for

low-rise housing, Earthquake Engineering & Structural Dynamics, 41 (15), 2273-2288.

Recuperado de https://www.researchgate.net/publication/249644831_Acceptance_limits_

for_performance -based_seismic_design_of_RC_walls_for_low-rise_housing

Wallace, J. y Moehle, J. (2012). Behavior and Design of Structural Walls-Lessons from recent

laboratory tests & earthquakes. Recuperado de

https://www.researchgate.net/publication/267559889_BEHAVIOR_AND_DESIGN_OF

STRUCUTRAL_WALLS__LESSONS_FROM_RECENT_LABORATORY_TESTS_EARTHQUAKES

Parra, P. y Moehle. J. (2014). Lateral Buckling in Reinforced Concrete Walls. Conference: 10

th National Conference in Earthquake Engineering. Recuperado de

https://www.researchgate.net/publication/321749134_Lateral_buckling_in_reinforced_con

crete_walls

Arango, S., Paz, A. y Duque, M. (2009). Propuesta metodológica para la evaluación del

desempeño estructural de una estantería metálica. Revista EIA.

Recuperado de http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S1794-

12372009000200011

Moehle, J. (2015). Seismic Design of Reinforced Concrete Buildings (Edición electrónica). Mc

Graw Hill. Recuperado de http://accessengineeringlibrary.com/browse/seismic-design-of-

reinforced-concrete-buildings

Mazzoni, S., McKenna, F., Scott, M. y Fenves, G. (2006). OpenSees Command Language

Manual. Recuperado de http://openseesnavigator.berkeley.edu/downloads/matlab-p-code/

CypressEditor, (s.f.). Cypress Editor Documentation. Recuperado de

http://cypress.hrshojaie.com/en-us/help/documentation

Thewalt, C. Y Stojadinovic, B. (1996). Energy Balanced Hysteresis Models. Eleventh World

Conference on Earthquake Engineering. Recuperado desde

http://www.iitk.ac.in/nicee/wcee/article/11_1734.PDF

OpenSees, (2011). Modeling Commands. UC Berkeley. Recuperado desde

http://opensees.berkeley.edu/wiki/index.php/Modeling_Commands

Page 172: Guía para la modelación y análisis no lineal de muros de

172

Townsend, W. y Hanson R. (1974). Hysteresis loops for Reinforced Concrete Beam-Column

Connections. Fifth World Conference on Earthquake. Recuperado de

http://www.iitk.ac.in/nicee/wcee/article/5_vol1_1131.pdf

OpenSees Navigator, Matlab P-code. UC Berkeley. Recuperado de

http://openseesnavigator.berkeley.edu/downloads/matlab-p-code/

Terzic, V. (2011). Force-based Element vs. Displacement-based Element. NEES. Recuperado

de http://opensees.berkeley.edu/wiki/images/c/c5/FBEvsDBE.pdf

UNIVIA, (2012). Planos tridimensionales. Recuperado de

https://matematicas1univia.wordpress.com/2012/03/27/planos-tridimensionales/

SIMULIA, Abaqus Basics. Recupado de

https://www.sharcnet.ca/Software/Abaqus/6.14.2/v6.14/books/gsk/default.htm?startat=ch

02s03.html

Hisham, M. y Yassin, M. (1994). Nonlinear Analysis of Prestressed Concrete Structures under

Monotonic and Cycling Loads (tesis doctoral). University of California, Berkeley. Recuperado

de https://www.worldcat.org/title/nonlinear-analysis-of-prestressed-concrete-structures-

under-monotonic-and-cyclic-loads/oclc/222312210

Zhu, M. (2019). Model Commands: Steel02. UC Berkeley. Recuperado de

https://openseespydoc.readthedocs.io/en/latest/src/steel02.html

Riley, W. y Sturges, L. (2004). Ingeniería Mecánica Estática. Barcelona: Editorial Reverté.

Recuperado de https://books.google.com.co/books?isbn=842914255X

Otani, S. (2012). Modelos de histéresis (Ronald J. Purca trad.). Obra original publicada en

1981. Recuperado de https://es.slideshare.net/ronaldpurca3/modelos-de-histeresis-drotani-

traduccin-personal

Otani, S. (1981). Hysteresis Models of Reinforced Concrete for Earthquake Response Analysis.

Journal Faculty of Engineering, University of Tokio, 36 (2), 125-156. Recuperado de

https://es.slideshare.net/manuelmiranda3591/hysteresis-models-otani

Mazzoni, S. y McKenna, F. (2006). OpenSees Example 7. 3D Frame, 3-story 3-bayX 3-bayZ,

Reinforced-Concrete Section & Steel W-Section. Recuperado de

Page 173: Guía para la modelación y análisis no lineal de muros de

173

http://opensees.berkeley.edu/wiki/index.php/OpenSees_Example_7._3D_Frame,_3-

story_3-bayX_3-bayZ,_Reinforced-Concrete_Section_%26_Steel_W-Section#Introduction

Terzic, V. (2012). Time History Analysis of a 2D Elastic Cantilever Column. Recuperado de

http://opensees.berkeley.edu/wiki/index.php/Time_History_Analysis_of_a_2D_Elastic_Cant

ilever_Column

Asociación Colombiana de Ingeniería Sísmica (2010). Reglamento Colombiano de

Construcción Sismo Resistente NSR-10 Título B-Cargas. Recuperado de

https://www.idrd.gov.co/sitio/idrd/sites/default/files/imagenes/2titulo-b-nsr-100.pdf

PEER (2006), OpenSees. Recuperado de http://opensees.berkeley.edu/

Segura, C. (2017). Seismic Performance Limitation of Slender Reinforced Concrete Structural

Walls (tesis doctoral). University of California

American Society of Engineers (2014), Seismic Evaluation and Retrofit of Existing Building

(ASCE-41-13). Reston, Virginia.

Carrillo, M. (2004), Paquete de Cálculo de Columnas de Concreto Reforzado (tesis de

pregrado). Escuela de Ingeniería, Universidad de las Américas Puebla.

Page 174: Guía para la modelación y análisis no lineal de muros de

174

Agradezco a:

Andrés Rengifo por su constante compañía;

Juan Francisco Correal por su exigencia;

Juan Carlos Reyes por su asesoría;

Pablo Ramírez por su apoyo incondicional;

Iván Salazar por compartir su conocimiento;

Mis padres por su inmenso cariño;

Alberto Patiño por su paciencia.