api sap2000 tesis

125
Universidad Nacional San Crist ´ obal de Huamanga Facultad de Ingenier ´ ıa de Minas, Geolog ´ ıa y Civil Escuela de Formaci ´ on Profesional de Ingenier ´ ıa Civil Tesis Para Optar el T ´ ıtulo de Ingeniero Civil ”Interfaz de Programaci ´ on para Aplicaciones del Sap2000 y Visual C# Fundamentado en MathCad” Por: Edmundo Canchari Guti ´ errez Dirigido Por: Ing. Cristian Castro P ´ erez Ayacucho - Marzo 2009

Upload: helmer-reynaldo-vilca-apaza

Post on 06-Aug-2015

147 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: API Sap2000 Tesis

Universidad Nacional San Cristobal deHuamanga

Facultad de Ingenierıa de Minas, Geologıa y

Civil

Escuela de Formacion Profesional de

Ingenierıa Civil

Tesis Para Optar el Tıtulo de Ingeniero Civil

”Interfaz de Programacion para Aplicaciones del

Sap2000 y Visual C# Fundamentado en MathCad”

Por:

Edmundo Canchari Gutierrez

Dirigido Por:

Ing. Cristian Castro Perez

Ayacucho - Marzo 2009

Page 2: API Sap2000 Tesis

Presentacion

Esta tesis es presentada como parte de los requisitos para optar el tıtulo academi-

co de Ingeniero Civil, de la Universidad Nacional San Cristobal de Huamanga, la

misma contiene los resultados obtenidos en investigaciones llevadas a cabo en el

periodo 2007-2009.

Edmundo Canchari Gutierrez

http://cgedmundo.wordpress.com

[email protected]

Escuela Profesional de Ingenierıa Civil

Universidad Nacional San Cristobal de Huamanga

Ayacucho, marzo del 2009

i

Page 3: API Sap2000 Tesis

Dedicatoria

Dedico esta Tesis a mis padres Juan y Emilia y a

mis hermanos.

ii

Page 4: API Sap2000 Tesis

Agradecimientos

A la Universidad Nacional San Cristobal de Huamanga y todos los Catedrati-

cos de la Escuela Profesional de Ingenierıa Civil.

A mis padres, por su apoyo constante en mi vida.

A Carla Marilyn, por brindarme esta tranquilidad en mis momentos de deses-

peracion por culminar esta tesis.

Mis agradecimientos a la empresa Computers and Structures, INC por libe-

rar a disposicion de los usuarios, de manera totalmente gratuita, la Interfaz

de Programacion para Aplicaciones del programa Sap2000, a disposicion de

cualquier usuario interesado.

Agradezco tambien a la empresa Microsoft por la distribucion gratuita del

entorno de desarrollo integrado Microsoft Visual Studio 2009 Express Edition,

sin la cual hubiera sido mas tedioso todavıa el desarrollo del presente trabajo.

A los usuarios de los foros de discusion http://foros.construaprende.com/,

http://forum.4downloader.ir/ y la comunidad para la ingenierıa civil

http://www.arivte.com/Comunidad/

A la comunidad de usuarios de LATEX, al grupo que mantiene la distribucion

para el sistema operativo Windows y a los creadores del editor WinEdt 6.0,

sin la cual hubiera sido casi imposible el cuidado y la presentacion impecable

de la presente tesis.

iii

Page 5: API Sap2000 Tesis

Resumen

El objetivo principal de la presente Tesis es mostrar la utilidad de la Interfaz de

Programacion para Aplicaciones de Sap2000 11.0.4 con la debida justificacion de los

resultados obtenidos; entre los varios lenguajes de programacion desde la que puede

ser integrada se ha elegido Microsoft Visual C#, por ser un lenguaje orientado a

objetos y estar completamente integrado con la plataforma .NET, en el desarrollo

del programa es utilizado el entorno de desarrollo integrado Microsoft Visual Studio

2009 Express Edition, en la que se encuentra un ambiente comodo para realizar

aplicaciones en computadoras. Se justifica detalladamente los resultados de Sap2000

mediante el metodo de los elementos finitos desde MathCad 14, para estructuras

que cumplan las condiciones para ser modelado como un solido axisimetrico. La

aplicacion practica de la presente Tesis es el techo del Auditorio de la Facultad de

Ciencias de la Educacion de la Universidad Nacional San Cristobal de Huamanga.

Es importante advertir al interesado que en la presente tesis no se desarrolla

la formulacion del metodo de los elementos finitos, se presenta un resumen de lo

necesario para su programacion; la teorıa se utiliza en un nivel superior, aplicando

directamente al analisis de estructuras justificando los resultados de Sap2000 deta-

lladamente, surgiendo ası, un complemento ideal en el proceso de aprendizaje del

referido metodo.

iv

Page 6: API Sap2000 Tesis

Indice general

Presentacion I

Dedicatoria II

Agradecimientos III

Resumen IV

Indice general V

Indice de figuras XII

Indice de cuadros XV

I Introduccion 1

1. Introduccion 2

1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Motivacion de la investigacion . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . 4

1.6. Organizacion del estudio . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.7. Metodologıa aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

v

Page 7: API Sap2000 Tesis

II Marco teorico 8

2. Analisis de estructuras con elementos finitos 9

2.1. Metodo de los elementos finitos . . . . . . . . . . . . . . . . . . . . . 9

2.1.1. Perspectiva historica . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.2. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.3. Esquema de presentacion . . . . . . . . . . . . . . . . . . . . . 10

2.2. Modelamiento de elementos estructurales . . . . . . . . . . . . . . . . 11

2.2.1. Elementos adimensionales . . . . . . . . . . . . . . . . . . . . 11

2.2.2. Elementos unidimensionales . . . . . . . . . . . . . . . . . . . 11

2.2.3. Elementos bidimensionales . . . . . . . . . . . . . . . . . . . 12

2.2.4. Elementos tridimensionales . . . . . . . . . . . . . . . . . . . 13

2.3. Solido axisimetrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.1. Estructuras de simetrıa axial . . . . . . . . . . . . . . . . . . . 14

2.3.2. Modelo como solido axisimetrico . . . . . . . . . . . . . . . . . 14

2.3.3. Campo de desplazamientos . . . . . . . . . . . . . . . . . . . . 14

2.3.4. Campo de deformaciones . . . . . . . . . . . . . . . . . . . . . 15

2.3.5. Campo de tensiones . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.6. Ecuacion constitutiva . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.7. Expresion del principio de la energıa potencial mınima . . . . 16

2.4. Formulacion de elementos finitos . . . . . . . . . . . . . . . . . . . . . 17

2.4.1. Funciones de forma . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.1.1. Elemento rectangular . . . . . . . . . . . . . . . . . . 17

2.4.2. Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.3. Matriz jacobiano . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.4. Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . 19

3. Programacion en C# con API Sap2000 21

3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2. Microsoft Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3. Microsoft .NET framework . . . . . . . . . . . . . . . . . . . . . . . . 22

vi

Page 8: API Sap2000 Tesis

3.4. El lenguaje de programacion Visual c# . . . . . . . . . . . . . . . . 22

3.4.1. Clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.2. Espacio de nombre . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.3. Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.4. Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.5. Objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.6. Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5. Interfaz de programacion para aplicaciones de sap2000 . . . . . . . . 24

3.5.1. Instalacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5.2. Utilidad ¿Para que sirve? . . . . . . . . . . . . . . . . . . . . . 24

3.6. Procedimientos generales . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6.1. Integrar interface de Sap2000 a Visual Studio . . . . . . . . . 26

3.6.2. Implementar interface de Sap2000 en un objeto . . . . . . . . 27

3.6.3. Accediendo al objeto que implementa la interface . . . . . . . 27

3.6.4. Inicializando un archivo nuevo . . . . . . . . . . . . . . . . . . 28

3.6.5. Apoderarse de un Archivo Existente . . . . . . . . . . . . . . 28

3.6.6. Cerrando la Aplicacion . . . . . . . . . . . . . . . . . . . . . . 29

3.6.7. La funcion magica . . . . . . . . . . . . . . . . . . . . . . . . 29

III Materiales y metodos 30

4. Analisis se Solidos Axisimetricos con FEM 31

4.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1. Sap2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1.1.1. Metodo de analisis . . . . . . . . . . . . . . . . . . . 32

4.1.1.2. Metodo de elementos finitos . . . . . . . . . . . . . . 32

4.1.2. Estructuras de simetrıa axial . . . . . . . . . . . . . . . . . . . 33

4.1.2.1. Estructura a analizar . . . . . . . . . . . . . . . . . . 33

4.1.2.2. Modelo de la estructura . . . . . . . . . . . . . . . . 33

4.2. Implementacion de Funciones en MathCad Para el analisis de solidos

axisimetricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

vii

Page 9: API Sap2000 Tesis

4.2.1. Pre-procesador . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.1.1. Nudos . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.1.2. Elementos . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.1.3. Propiedades . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.1.4. Soportes . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.1.5. Cargas . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.2. Procesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.2.1. Funciones generales . . . . . . . . . . . . . . . . . . . 38

4.2.2.1.1. Coordenadas de nudos . . . . . . . . . . . . 38

4.2.2.1.2. Matriz de propiedades . . . . . . . . . . . . 38

4.2.2.1.3. Grados de libertad . . . . . . . . . . . . . . 39

4.2.2.2. Funciones para obtener la matriz de rigidez del ele-

mento . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.2.2.1. Funciones de forma . . . . . . . . . . . . . . 40

4.2.2.2.2. Coordenadas . . . . . . . . . . . . . . . . . 41

4.2.2.2.3. Desplazamientos . . . . . . . . . . . . . . . 41

4.2.2.2.4. Matriz Jacobiana . . . . . . . . . . . . . . . 41

4.2.2.2.5. Matriz deformacion unitaria - Desplazamiento 42

4.2.2.2.6. Matriz de rigidez del elemento . . . . . . . . 43

4.2.2.3. Funcion matriz de rigidez ensamblado . . . . . . . . 45

4.2.2.4. Funcion vector de fuerzas nodales equivalentes . . . . 46

4.2.2.5. Funcion desplazamientos en nudos . . . . . . . . . . 47

4.2.2.5.1. Comparacion de resultados con sap2000 . . 49

4.2.3. Post-procesador . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.3.1. Reacciones en los apoyos . . . . . . . . . . . . . . . . 49

4.2.3.1.1. Comparacion de resultados con sap2000 . . 50

4.2.3.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 50

5. Desarrollo del Programa ”esaSAP” 52

5.1. Organizacion para el programa . . . . . . . . . . . . . . . . . . . . . 52

5.2. Descripcion de la clase SapApi-Asolid . . . . . . . . . . . . . . . . . . 54

viii

Page 10: API Sap2000 Tesis

5.2.1. public void AbrirSap2000() . . . . . . . . . . . . . . . . . . . . 54

5.2.2. void Refrescar() . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.3. public void Cerrar() . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.4. Metodo DefinirPropiedad . . . . . . . . . . . . . . . . . . . . 54

5.2.5. Metodo ZUCS . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2.6. public void DefinirCargas() . . . . . . . . . . . . . . . . . . . 55

5.2.7. public void MasaEstructura() . . . . . . . . . . . . . . . . . . 55

5.2.8. Metodo ConoCompleto . . . . . . . . . . . . . . . . . . . . . . 55

5.2.9. Metodo ConoConAbertura . . . . . . . . . . . . . . . . . . . . 56

5.2.10. Metodo AsignarCargas . . . . . . . . . . . . . . . . . . . . . . 56

5.2.11. Metodo Rectangulo4Nodos . . . . . . . . . . . . . . . . . . . . 56

5.2.12. Metodo AsignarSoportesEnBase . . . . . . . . . . . . . . . . . 56

5.2.13. Metodo AsignarSoportesEnCentro . . . . . . . . . . . . . . . . 57

5.2.14. Metodo Analizar . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2.15. Codigo fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.3. Descripcion del programa esaSAP . . . . . . . . . . . . . . . . . . . . 57

5.3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.3.2. Opciones de analisis . . . . . . . . . . . . . . . . . . . . . . . 57

5.3.3. Controles utilizados . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.4. Espacio de nombre . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.5. La clase AsolidCono . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.6. Descripcion de metodos . . . . . . . . . . . . . . . . . . . . . 60

5.3.7. Descripcion de eventos . . . . . . . . . . . . . . . . . . . . . . 61

5.3.8. Codigo fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

IV Resultados 62

6. Caso de estudio a un proyecto local 63

6.1. Descripcion del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.2. Argumentos requeridos para el analisis . . . . . . . . . . . . . . . . . 63

6.2.1. Dimensiones de la estructura . . . . . . . . . . . . . . . . . . . 64

ix

Page 11: API Sap2000 Tesis

6.2.2. Material utilizado . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.2.3. Cargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.2.4. Parametros para la funcion de aceleracion pseudo espectral . . 64

6.3. Modelo de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.4. Analisis de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.4.1. Resultados obtenidos sin utilizar esaSAP . . . . . . . . . . . . 67

6.4.1.1. Desplazamientos . . . . . . . . . . . . . . . . . . . . 67

6.4.1.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 68

6.4.1.3. Fuerzas . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.4.2. Resultados obtenidos utilizando esaSAP . . . . . . . . . . . . 69

6.4.2.1. Desplazamientos . . . . . . . . . . . . . . . . . . . . 71

6.4.2.1.1. Desplazamientos en la direccion radial . . . 72

6.4.2.1.2. Desplazamientos en la direccion axial . . . . 73

6.4.2.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 73

6.4.2.2.1. Tensiones en la direccion radial . . . . . . . 74

6.4.2.2.2. Tensiones en la direccion circunferencial . . 75

6.4.2.2.3. Tensiones en la direccion axial . . . . . . . . 76

6.4.2.2.4. Tension tangencial . . . . . . . . . . . . . . 76

6.4.2.3. Fuerzas . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.4.2.3.1. Fuerzas radiales . . . . . . . . . . . . . . . . 78

6.4.2.3.2. Fuerzas axiales . . . . . . . . . . . . . . . . 79

6.4.3. Comparacion de resultados . . . . . . . . . . . . . . . . . . . . 79

6.5. Obtencion de refuerzos . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.5.1. Diseno por esfuerzo radial S11 . . . . . . . . . . . . . . . . . . 80

6.5.2. Diseno por esfuerzo Axial S33 . . . . . . . . . . . . . . . . . . 82

6.6. Justificacion de los resultados . . . . . . . . . . . . . . . . . . . . . . 82

V Conclusiones 84

7. Conclusiones y recomendaciones 85

7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

x

Page 12: API Sap2000 Tesis

7.1.1. De la metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . 85

7.1.2. De los resultados . . . . . . . . . . . . . . . . . . . . . . . . . 86

7.1.3. Aplicaciones utilizados . . . . . . . . . . . . . . . . . . . . . . 86

7.1.4. Lenguajes de programacion . . . . . . . . . . . . . . . . . . . 87

7.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

7.3. Desarrollos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Bibliografıa 89

VI Anexos 92

A. Codigo fuente ”esaSAP” 93

A.1. Codigo fuente clase SapApi-Asolid . . . . . . . . . . . . . . . . . . . . 93

A.2. Codigo fuente ”esaSAP” . . . . . . . . . . . . . . . . . . . . . . . . . 99

B. Fotografıas 106

C. Planos de la construccion 109

xi

Page 13: API Sap2000 Tesis

Indice de figuras

2.1. Portico en el espacio, nudos y elementos . . . . . . . . . . . . . . . . 11

2.2. Muro de contencion, nudos y elementos . . . . . . . . . . . . . . . . . 12

2.3. Estructura general con simetrıa axial . . . . . . . . . . . . . . . . . . 13

2.4. Tensiones actuando sobre un elemento diferencial de un solido de

revolucion con cargas de revolucion . . . . . . . . . . . . . . . . . . . 15

2.5. Sistema de coordenada cartesiana y normalizado . . . . . . . . . . . . 18

3.1. Ventana principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. Referencia desde C# al API de Sap2000 11.0.4 . . . . . . . . . . . . . 26

3.3. Integrar API Sap2000 11.0.4 . . . . . . . . . . . . . . . . . . . . . . . 27

4.1. Vista en planta techo en forma de cono con abertura . . . . . . . . . 32

4.2. Vista en elevacion techo en forma de cono con abertura . . . . . . . . 33

4.3. Modelo de la seccion caracterıstica de revolucion . . . . . . . . . . . . 34

4.4. Seccion caracterıstica de revolucion . . . . . . . . . . . . . . . . . . . 34

4.5. Identificacion de nudos y elementos . . . . . . . . . . . . . . . . . . . 35

4.6. Funcion para obtener coordenadas . . . . . . . . . . . . . . . . . . . 39

4.7. Funcion para obtener gdl . . . . . . . . . . . . . . . . . . . . . . . . 40

4.8. Funcion para obtener K . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.9. Funcion para obtener F . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.10. Funcion para obtener Km . . . . . . . . . . . . . . . . . . . . . . . . 48

4.11. Funcion para obtener desplazamientos . . . . . . . . . . . . . . . . . 48

4.12. Funcion para ordenar desplazamientos . . . . . . . . . . . . . . . . . 48

4.13. Funcion para ordenar reacciones . . . . . . . . . . . . . . . . . . . . 50

xii

Page 14: API Sap2000 Tesis

4.14. Funcion desplazamientos de un elemento . . . . . . . . . . . . . . . . 51

5.1. Diagrama de Flujo general . . . . . . . . . . . . . . . . . . . . . . . . 53

5.2. Ventana principal de la aplicacion esaSAP . . . . . . . . . . . . . . . 58

5.3. Opciones de analisis esaSAP . . . . . . . . . . . . . . . . . . . . . . 58

5.4. Seccion de revolucion cono completo . . . . . . . . . . . . . . . . . . 59

5.5. Seccion de revolucion cono con abertura . . . . . . . . . . . . . . . . 59

5.6. Argumentos generales para el analisis . . . . . . . . . . . . . . . . . 59

6.1. Vista en planta del techo en forma de cono . . . . . . . . . . . . . . . 65

6.2. Vista en 3D del techo en forma de cono . . . . . . . . . . . . . . . . . 65

6.3. Seccion de revolucion de la estructura . . . . . . . . . . . . . . . . . . 66

6.4. Modelo de la estructura como solido axisimetrico . . . . . . . . . . . 66

6.5. Dimensiones de la Seccion de Revolucion . . . . . . . . . . . . . . . . 70

6.6. Argumentos para esaSAP . . . . . . . . . . . . . . . . . . . . . . . . 71

6.7. Desplazamiento radial maximo en funcion de la discretizacion . . . . 73

6.8. Desplazamiento axial maximo en funcion de la discretizacion . . . . . 73

6.9. Tension radial maximo en funcion de la discretizacion . . . . . . . . 75

6.10. Tension circunferencial maximo en funcion de la discretizacion . . . . 75

6.11. Tension axial maximo en funcion de la discretizacion . . . . . . . . . 76

6.12. Tension tangencial maximo en funcion de la discretizacion . . . . . . 76

6.13. Fuerza radial maximo en funcion de la discretizacion . . . . . . . . . 78

6.14. Fuerza axial maximo en funcion de la discretizacion . . . . . . . . . . 79

6.15. Esfuerzo radial maximo en la zona inferior de la estructura . . . . . 80

6.16. Esfuerzo radial maximo en la zona zona intermedia y superior . . . . 81

6.17. Esfuerzo axial maximo en la zona inferior . . . . . . . . . . . . . . . 82

6.18. Refuerzos obtenidos para la estructura . . . . . . . . . . . . . . . . . 83

B.1. Encofrado del techo del auditorio de la Facultad de Ciencias de la

Educacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

B.2. Encofrado del techo del auditorio de la Facultad de Ciencias de la

Educacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

xiii

Page 15: API Sap2000 Tesis

B.3. Refuerzos del techo del auditorio de la Facultad de Ciencias de la

educacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

B.4. Auditorio Facultad Ciencias de la Educacion U.N.S.C.H . . . . . . . . 108

B.5. Auditorio Facultad Ciencias de la Educacion U.N.S.C.H . . . . . . . . 108

xiv

Page 16: API Sap2000 Tesis

Indice de cuadros

3.1. Cuadro de elementos utilizados . . . . . . . . . . . . . . . . . . . . . 25

4.1. Identificacion de nudos . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2. Identificacion de los elementos . . . . . . . . . . . . . . . . . . . . . . 36

4.3. Identificacion de soportes . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4. Cargas en nudos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.5. Desplazamientos en los nudos . . . . . . . . . . . . . . . . . . . . . . 49

4.6. Reacciones en los soportes . . . . . . . . . . . . . . . . . . . . . . . . 50

6.1. Desplazamientos maximos en los nudos de la estructura sin utilizar

la extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2. Tensiones maximos en elementos sin utilizar la extension . . . . . . . 69

6.3. Fuerzas maximos en nudos de elementos sin utilizar la extension . . . 70

6.4. Desplazamientos maximos en los nudos utilizando la extension . . . . 72

6.5. Tensiones maximos en elementos utilizando la extension . . . . . . . . 74

6.6. Fuerzas maximos en nudos de elementos utilizando la extension . . . 78

xv

Page 17: API Sap2000 Tesis

Parte I

Introduccion

1

Page 18: API Sap2000 Tesis

Capıtulo 1

Introduccion

1.1. Generalidades

Sap2000, programa desarrollado por la empresa Computers and Structures, Inc.

destinado para el analisis y diseno de estructuras, posee desde su version 11.0.0 1

una Interfaz de Programacion para Aplicaciones (API - Application programming

Interface) con la cual el interesado puede ampliar las capacidades del programa con

finalidades particulares, para propositos especıficos. Siendo esta propiedad con que

dispone el programa la base en la que se centra la presente tesis.

En el presente trabajo se elaborara, personalizara y validara el uso de API

SAP2000 desde MICROSOFT VISUAL C#, producto del trabajo de investiga-

cion, donde se mostrara claramente las ventajas y las bondades de la Interfaz de

Programacion para Aplicaciones, el analisis estructural con el METODO DE LOS

ELEMENTOS FINITOS y la programacion orientada a objetos. Asimismo, como

elemento de trabajo y fundamentacion de los modelos numericos a utilizarse se em-

pleara el MATHCAD como modelo de aprendizaje.

1.2. Motivacion de la investigacion

Actualmente entender los fundamentos del Metodo de los Elementos Finitos es

muy importante en la vida profesional del Ingeniero Civil, ya que la gran mayorıa

1En el desarrollo de la presente tesis se utiliza el programa Sap2000 11.0.4

2

Page 19: API Sap2000 Tesis

de los programas, no solo en el area de estructuras, estan escritos basandose en

este metodo. Por lo tanto, se ha llegado a un nivel tal que es imposible evitar la

convivencia constante con estas aplicaciones, por lo que ofrece, por una parte las

grandes facilidades para modelar situaciones reales y por otra, exige al usuario tener

un conocimiento suficiente para el correcto uso de las aplicaciones.

Con la finalidad de utilizar el programa Sap2000 de manera responsable se in-

vestiga el Metodo de los Elementos Finitos para finalmente automatizar el analisis

estructural mediante su Interface de Programacion para Aplicaciones.

Es imposible programar en Sap2000 sin los conocimientos suficientes del Metodo

de los Elementos Finitos, cuanto mayor conocimiento se tenga del metodo de analisis

en que se fundamenta, mejor sera la convivencia entre el usuario y el programa y

como consecuencia natural con su Interface de Programacion para Aplicaciones.

1.3. Planteamiento del problema

El principal inconveniente surge en utilizar aplicaciones para el Analisis Estruc-

tural sin conocimiento suficiente de los metodos de analisis en que se fundamenta

el programa; consciente de esta realidad, en la presente tesis se justifica el uso del

Metodo de los Elementos Finitos en el programa Sap2000, para luego automatizar

el procedimiento mediante la Interfaz de Programacion para Aplicaciones.

Los interesados en utilizar el programa Sap2000 para sus analisis, tendran en la

presente tesis las bases justificadas para su adecuado uso.

1.4. Justificacion

Se hace uso de aplicaciones de muy alto nivel como son Sap2000 11.0.4, Math-

Cad 14 y Microsoft Visual Studio 2009 Express Edition, ademas de utilizar tecnicas

y lenguajes de programacion actuales, lo que permite enlazar la Interfaz de Pro-

gramacion para Aplicaciones que posee Sap2000 con el lenguaje de programacion

Microsoft Visual C# para acceder al programa, con la finalidad de realizar una

serie de extensiones para cada proposito. De igual manera se utiliza el Metodo do los

3

Page 20: API Sap2000 Tesis

Elementos Finitos para justificar los resultados, metodo numerico que actualmente

es el mas idoneo para el analisis de estructuras.

1.5. Objetivos

1.5.1. Objetivos generales

Crear una aplicacion con la finalidad de automatizar el proceso de analisis en el

programa Sap2000 mediante su Interfaz de Programacion para Aplicaciones.

La aplicacion sera para automatizar el analisis de techos de edificaciones que

tienen la forma de cono, para el analisis se modelara la estructura como un

Solido de revolucion.

1.5.2. Objetivos especıficos

Los objetivos especıficos son los siguientes

Utilizar el Metodo de los Elementos Finitos en su formulacion para estructuras

modeladas como Solidos de Revolucion.

Crear una plantilla mediante programacion en MathCad 14 para el analisis de

cualquier estructura que pueda ser modelado como un Solido de Revolucion

mediante el Metodo de los Elementos Finitos.

Analizar una estructura que pueda ser modelada como Solido de Revolucion

en Sap2000 y en la plantilla creada de MathCad 14 y lograr que los resultados

sean los mismos.

Programar una aplicacion para automatizar el analisis estructural en Sap2000

desde el lenguaje de programacion Microsoft Visual c#

1.6. Organizacion del estudio

El hecho de tomar los resultados obtenidos de Sap2000 y modificarlo o ampliarlo

convenientemente, lleva a la necesidad de tener un conocimiento adecuado de los

4

Page 21: API Sap2000 Tesis

fundamentos teoricos en que se basa el programa, solo ası se estara en la capacidad

de entender el funcionamiento y ser capaz de interpretar correctamente los resul-

tados obtenidos, por esta razon se investiga el Metodo de los Elementos Finitos,

con el proposito de justificar el analisis y crear una extension para modelar y ana-

lizar estructuras que cumplen las condiciones para ser modeladas como solidos de

revolucion.

Por la misma naturaleza de calculo y convencido de que no existe mejor manera

de aprender el Metodo de los Elementos Finitos sino programandolo y la necesidad

de observar el proceso de calculo paso a paso conlleva a utilizar los medios adecuados

para este fin, MathCad 14 es una herramienta ideal especıficamente disenado para

elaborar informes tecnicos detallados y sera aprovechado en esta oportunidad en el

analisis de estructuras.

Los resultados obtenidos mediante MathCad 14 para su validez deben de coinci-

dir con los del Sap2000, ya que la formulacion del Metodo de los Elementos Finitos,

sea por el principio que fuere, llega a un resultado unico. La igualdad de los resulta-

dos, los de MathCad 14 y Sap2000 11.0.4, en la presente tesis es la base que justifica

el uso del Metodo de los Elementos Finitos de manera apropiada, garantizando de

esta manera los resultados que ofrece el programa Sap2000.

Finalmente se crea una extension para Sap2000 desde Microsoft Visual c# para

el analisis de estructuras modeladas como Solidos de Revolucion, cuya aplicacion

practica es el techo en forma de cono del auditorio de la Facultad de Ciencias de la

Educacion de la Universidad Nacional San Cristobal de Huamanga.

Se consideran los siguientes capıtulos:

Capıtulo 1: Generalidades sobre la tesis.

Capıtulo 2: Analisis estructural con el metodo de los elementos finitos, modela-

miento de elementos estructurales y un resumen de lo necesario para su pro-

gramacion del metodo de los elementos finitos para el analisis de estructuras

axisimetricas.

Capıtulo 3: Los fundamentos para la programacion en Visual C# y la Interface

5

Page 22: API Sap2000 Tesis

de Sap2000. Descripcion de los procedimientos generales para interactuar con

la Interfaz de Programacion para Aplicaciones de Sap2000 desde Microsoft

Visual C#, para la edicion de la aplicacion se utiliza el entorno de de desarrollo

integrado Microsoft Visual Studio 2009 Express Edition.

capıtulo 4: Para entender el presente capıtulo el interesado debe tener el cono-

cimiento suficiente del metodo de los elementos finitos, ya que es utilizado

directamente en la creacion de una plantilla en MathCad 14 con la finalidad

de justificar los resultados de Sap2000 y obtener un procedimiento de analisis

detallado. La plantilla es para analizar mediante el metodo de los elementos

finitos de cualquier estructura que pueda ser modelado como un solido axi-

simetrico.

Capıtulo 5: Desarrollo de una extension para Sap2000 mediante su Interfaz de

Programacion para Aplicaciones desde Microsoft Visual c#. La extension

tendra la capacidad de modelar y analizar mediante el Metodo de los Ele-

mentos Finitos un tipo de estructura que cumple las condiciones para ser

modelado como Solido de Revolucion.

Capıtulo 6: Caso de estudio y aplicacion, discusion de resultados. Como aplicacion

practica se analiza el techo, en forma de cono, de la Aula Magna, de la Facultad

de Ciencias de la Educacion en la Ciudad Universitaria(Universidad Nacional

San Cristobal de Huamanga - UNSCH).

Capıtulo 7: Conclusiones y recomendaciones.

1.7. Metodologıa aplicada

La investigacion es analıtica. Consiste en investigar el Metodo de los Elemen-

tos Finitos para estructuras que cumplen las condiciones para ser modeladas como

Solidos de Revolucion, luego realizar un programa en MathCad 14 con la finalidad

de obtener un procedimiento de analisis detallado, los resultados obtenidos seran

comparados con los que se obtiene del programa Sap2000 11.0.4 ; establecido los

6

Page 23: API Sap2000 Tesis

fundamentos teoricos suficientes se podra realizar extensiones mediante la Interface

de Programacion para Aplicaciones que posee el programa.

7

Page 24: API Sap2000 Tesis

Parte II

Marco teorico

8

Page 25: API Sap2000 Tesis

Capıtulo 2

Analisis de estructuras con

elementos finitos

El presente capıtulo trata sobre el modelamiento de los elementos estructurales

mediante el Metodo de los Elementos Finitos1; bien se harıa al no tratar este capıtu-

lo, dedicando el trabajo completamente a interpretar las relaciones establecidas en

los libros de la referencia y justificar los resultados obtenidos, en lugar de estar re-

produciendo, lo que en cualquier libro que trate del tema se le puede encontrar y con

mucho mayor detalle, pero cumpliendo los requisitos para una ”tesis” es necesario

incluirlo.

2.1. Metodo de los elementos finitos

2.1.1. Perspectiva historica

La referencia [6](Paginas 01 al 05) narra de una manera extraordinaria, sus orıge-

nes, evolucion y el presente del metodo de los elementos finitos. Segun los entendidos

en el tema no es posible indicar con exactitud el momento en que se inicia el referido

metodo2.

1Los referencias [1], [2], [3], [4], [5], etc tratan a detalle sobre el metodo para el analisis de

estructuras.2Referencia [5] pagina 03

9

Page 26: API Sap2000 Tesis

2.1.2. Definicion

La definicion del metodo, para su veracidad se transcribe de los libros de la

referencia.

ANSYS-CivilFem(2003) el Metodo de los Elementos Finitos, es uno de los pro-

cedimientos que existen para aproximar el comportamiento de una estructura

con infinitos grados de libertad por el de otra, con aproximadamente las mis-

mas propiedades fısicas y geometricas, pero con un numero finito de grados

de libertad, cuyas ecuaciones de equilibrio pueden expresarse por un sistema

algebraico de ecuaciones simultaneas con un numero limitado de incognitas3.

O.C Zienkiewicz - R.L. Taylor(1993) es objeto de este texto presentar un pa-

norama del metodo de los elementos finitos como un procedimiento general de

discretizacion de los problemas continuos planteadas por expresiones definidas

matematicamente4.

2.1.3. Esquema de presentacion

En el presente trabajo se adopta el enfoque de la energıa potencial5 para la

formulacion del metodo de los elementos finitos.

Principio de la energıa potencial mınima Para sistemas conservativos, de to-

dos los campos de desplazamientos cinematicamente admisibles, aquellos que

corresponden a condiciones de equilibrio extremizan la energıa potencial total.

Si la condicion extrema es un mınimo, el estado de equilibrio es estable6.

3Referencia [7] pagina 034Referencia [5] pagina 025Los detalles del principio de la energıa potencial para la formulacion del metodo de los elementos

finitos, se encuentran en las referencias [8](Paginas 09 al 11), [6](Paginas 19 al 26), [9](Paginas 07

al 12)6Referencia [8] pagina 10

10

Page 27: API Sap2000 Tesis

2.2. Modelamiento de elementos estructurales

Debido a lo extenso del tema, se comenta brevemente los modelos7 para los

elementos estructurales en un analisis mediante el metodo de los elementos finitos.

2.2.1. Elementos adimensionales

Se consideran objetos adimensionales a los nudos. Mediante los nudos estan

conectados los elementos en una discretizacion para el analisis y representan los

puntos, sobre la estructura, en las cuales se desea obtener los resultados requeridos

figura(2.2 y 2.1).

2.2.2. Elementos unidimensionales

El elemento unidimensional, la lınea8, es un objeto que sirve para modelar el

comportamiento de los siguientes elementos estructurales: armaduras, vigas, colum-

nas, cables, etc, y todo elemento estructural en la que la longitud es mucho mayor

que las dimensiones que definen su seccion transversal, figura(2.1).

Figura 2.1: Portico en el espacio, nudos y elementos

7Los modelos estructurales para el analisis por elementos finitos en el programa Sap2000 se

encuentra en las referencias [10] y [11]8El metodo de los elementos finitos, detalladamente explicado para elementos estructurales que

puedan ser modelados con una lınea tratan las referencias [2], [3], [8] por citar algunos

11

Page 28: API Sap2000 Tesis

Inicialmente la tesis estaba orientado al analisis, la justificacion y la automati-

zacion para elementos estructurales unidimensionales en el programa Sap2000. En

el proceso de desarrollo se demostro que la formulacion del metodo de los elementos

finitos para este tipo de estructuras, finalmente termina siendo el metodo de la ri-

gidez, ademas de existir otros metodos con las cuales es posible obtener resultados

exactos y en menor tiempo; limitando exageradamente el uso verdadero del referido

metodo. Por esta razon no amerita la dedicacion exclusiva en la automatizacion de

procesos de analisis en Sap2000 mediante su Interfaz de Programacion para Aplica-

ciones, en su lugar se ha optado por el analisis, la justificacion y la automatizacion

para estructuras axisimetricas.

2.2.3. Elementos bidimensionales

Se utiliza para modelar elementos estructurales de superficie figura(2.2) y son9:

Figura 2.2: Muro de contencion, nudos y elementos

Cascaras(Shell) Las cascaras son utilizadas para modelar estructuras bidimensio-

nales o tridimensionales, como el comportamiento tipo cascara de tanques,

cupulas o bovedas; como el comportamiento tipo placa de las losas o como el

comportamiento tipo membrana de los muros de corte.

El plano Para modelar solidos bidimensionales, en el analisis del comportamiento

9Esta seccion esta transcrito completamente de la referencia [10] Paginas 248 al 252

12

Page 29: API Sap2000 Tesis

de esfuerzos planos en estructuras planas y delgadas, o tambien para modelar

el comportamiento de deformaciones planas en estructuras prismaticas largas.

Solido Axisimetrico Es usada para modelar solidos simetricos respecto a un eje10,

los cuales estan sujetos a cargas simetricas con respecto al mismo eje. Este es

el tipo de estructura que se analizara en la presente tesis.

2.2.4. Elementos tridimensionales

Para analizar estructuras utilizando modelos de solidos tridimensionales.

2.3. Solido axisimetrico

Seguidamente se realiza el resumen del metodo de los elementos finitos para

estructuras que cumplen las condiciones para ser modelo como un solido de revo-

lucion figura(2.3). Se estudiara unicamente el analisis de solidos con simetrıa axial

sometidos a cargas de revolucion.

Figura 2.3: Estructura general con simetrıa axial

Eugenio Onate(1992) consideraremos solidos en los que su geometrıa y propie-

dades mecanicas son independientes de la coordenada circunferencial θ figu-

ra(2.3). Aunque el comportamiento de dichos solidos es tridimensional, su es-

tudio matematico es generalmente bidimensional ya que en la mayorıa de los

10Para mayor detalle consultar las referencias [4], [12], [5], [13]

13

Page 30: API Sap2000 Tesis

casos puede efectuarse utilizando variables que dependen de dos coordenadas

cartesianas. Si las cargas exteriores son tambien de revolucion, el desplazamien-

to de un punto de una estructura considerada como un solido de revolucion

tiene solo componentes en direcciones radial(υ) y axial(w)11.

2.3.1. Estructuras de simetrıa axial

Las estructuras de revolucion representan un alto porcentaje en las estructuras

de uso comun en ingenierıa, entre ellos se puede mencionar: Los depositos para agua,

muros cilındricos, silos, techos de edificaciones especiales, etc.

2.3.2. Modelo como solido axisimetrico

La figura(2.3 a) muestra una estructura de revolucion general , debido a que la

estructura tiene una completa simetrıa respecto al eje z del sistema de orientacion

global, es posible modelar en el plano formado por su seccion caracterıstica de revo-

lucion figura(2.3 b); en el modelo, para obtener la estructura entera, sera necesario

girar una vuelta entera, 360 grados sexagesimales al rededor del eje z. Sobre esta

seccion de revolucion se plantea el metodo de los elementos finitos asignando todas

las condiciones a la que esta sometido la estructura completa figura(2.3 c).

2.3.3. Campo de desplazamientos

Para un solido que cumple las condiciones para ser modelado como un solido

axisimetrico, el movimiento de un punto, definido en la seccion caracterıstica de re-

volucion, queda perfectamente definido por las componentes de los desplazamientos

radial(υ) y axial(w) figura(2.3).

u =

υ(r, z)

w(r, z)

(2.1)

11Referencia [4] pagina 243

14

Page 31: API Sap2000 Tesis

2.3.4. Campo de deformaciones

El vector de deformaciones de un punto, tiene las cuatro componentes siguien-

tes: εr deformacion radial, εz deformacion axial, εθ deformacion circunferencial, εrz

deformacion tangencial.

ε =

εr

εz

εrz

εθ

ε =

∂υ∂r

∂w∂z

∂υ∂z

+ ∂w∂r

υr

(2.2)

2.3.5. Campo de tensiones

Las tensiones no nulas se corresponden con las deformaciones no nulas, ası, el

vector de tensiones se escribe como.

σ =(σr σz τrz σθ

)T(2.3)

donde σr, σz, σθ, τrz son respectivamente, las tensiones radial, axial, circunfe-

rencial y tangencial. La figura(2.4) muestra el convenio de signos para los tensiones

actuando sobre un elemento diferencial de un solido de revolucion.

Figura 2.4: Tensiones actuando sobre un elemento diferencial de un solido de revo-

lucion con cargas de revolucion

15

Page 32: API Sap2000 Tesis

2.3.6. Ecuacion constitutiva

La relacion entre tensiones y deformaciones, se deduce de la elasticidad tridi-

mensional, en presciencia de tensiones y deformaciones iniciales se obtiene.

σ = D(ε− εo) + σo (2.4)

para materiales isotropos, la matriz de propiedades del elemento esta dado por

la ecuacion(2.5), en la cual E es el modulo de elasticidad del material y ν es el

coeficiente de poisson.

D =E(1− ν)

(1 + ν)(1− 2ν)

1 ν

1−ν 0 ν1−ν

ν1−ν 1 0 ν

1−ν

0 0 1−2ν2(1−ν) 0

ν1−ν

ν1−ν 0 1

(2.5)

2.3.7. Expresion del principio de la energıa potencial mıni-

ma

Considerando el volumen elemental12 mostrado en la figura(2.4) la energıa po-

tencial puede escribirse en la forma.

Π =1

2

∫ 2π

0

∫A

σT εrdAdθ −∫ 2π

0

∫A

uTfrdAdθ −∫ 2π

0

∫L

uTTrdldθ − ΣuTi Pi (2.6)

Donde rdldθ es el area de la superficie elemental, y la carga puntual Pi representa

una carga lineal distribuida al rededor de un cırculo, T es una carga distribuida en la

superficie de la estructura y f es la fuerza del cuerpo; como se muestra en la figura(2.3

c) en la pagina(13). Todas las variables en las integrales son independientes de θ,

entonces la ecuacion(2.6) puede escribirse mediante la ecuacion(2.7).

Π = 2π

(1

2

∫A

σT εrdA−∫A

uTfrdA−∫L

uTTrdl

)− ΣuTi Pi (2.7)

12Segun la referencia [8]

16

Page 33: API Sap2000 Tesis

Se nota claramente de las ecuaciones(2.6 y 2.7), aunque el modelo analizado es

un elemento plano figura(2.3 c), matematicamente se toma en cuenta la estructura

completa en 3D.

2.4. Formulacion de elementos finitos

Se realiza una formulacion general del metodo de los elementos finitos para el

analisis de estructuras, para iniciar es necesario dividir el dominio completo del

modelo en analisis, con elementos para los cuales son conocidos sus funciones de

interpolacion, este procedimiento es conocido en los libros especializados como tec-

nologıa de elementos.

2.4.1. Funciones de forma

Las funciones de forma son las que proporcionan las formas que puede adoptar

localmente el campo incognita.

La eleccion de las funciones de forma esta condicionado no solo por la forma

que toman los dominios locales o elementos finitos, tambien por el tipo de problema

de campo que se intenta resolver, por ejemplo(por ejemplo: elasticidad, plasticidad,

transferencia de calor, electromagnetismo) y por la manera de abordarlo(numero de

campos independientes)13.

2.4.1.1. Elemento rectangular

Con la finalidad de trabajar sobre un sub dominio comun en los elementos en

que sera discretizado el dominio completo, se utiliza la formulacion izoparametri-

ca, en este dominio normalizado figura(2.5), las funciones de interpolacion para un

elemento cuadrilatero de cuatro nodos esta dado por la ecuacion(2.8).

13Referencia [6] pagina 35

17

Page 34: API Sap2000 Tesis

N1(ξ, η) =1

4(1− ξ)(1− η)

N2(ξ, η) =1

4(1 + ξ)(1− η)

N3(ξ, η) =1

4(1 + ξ)(1 + η)

N4(ξ, η) =1

4(1− ξ)(1 + η)

(2.8)

Figura 2.5: Sistema de coordenada cartesiana y normalizado

2.4.2. Coordenadas

Las coordenadas en el interior de cada elemento finito esta dado por la ecua-

cion(2.9).

r(ξ, η) = N1(ξ, η)r1 +N2(ξ, η)r2 + · · ·+Nn(ξ, η)rn

z(ξ, η) = N1(ξ, η)z1 +N2(ξ, η)z2 + · · ·+Nn(ξ, η)zn

(2.9)

2.4.3. Matriz jacobiano

El cambio desde el sistema de referencia global al sistema normalizado esta ex-

presado por la matriz jacobiana ecuacion(2.10).

18

Page 35: API Sap2000 Tesis

J(ξ, η) =

∂r(ξ,η)∂ξ

∂z(ξ,η)∂ξ

∂r(ξ,η)∂η

∂z(ξ,η)∂η

(2.10)

2.4.4. Matriz de rigidez

La matriz de rigidez se obtiene desde la ecuacion(2.7), desarrollando para un

elemento de ”n” nudos, el vector de desplazamientos para un elemento esta or-

denado convenientemente en la ecuacion(2.12) y el vector de funciones de forma

ecuacion(2.11) es.

N =

N1 0

0 N1

N2 0

0 N2

. . .

Nn 0

0 Nn

(2.11)

q =

υ1

w1

υ2

w2

...υnwn

(2.12)

La matriz deformacion unitaria desplazamiento.

B =

∂N1

∂r0

0 ∂N1

∂z

∂N1

∂z∂N1

∂r

N1

r0

∂N2

∂r0

0 ∂N2

∂z

∂N2

∂z∂N2

∂r

N2

r0

· · ·

∂Nn

∂r0

0 ∂Nn

∂z

∂Nn

∂z∂Nn

∂r

Nn

r0

(2.13)

Las deformaciones esta dado mediante ε = Bq, la matriz de rigidez en el sistema

normalizado para una estructura de simetrıa axial esta dado por la ecuacion(2.14),

para obtener las expresiones de las cargas se procede de manera similar.

k = t

∫ 1

−1

∫ 1

−1

BTDBrJdξdη (2.14)

Donde:

19

Page 36: API Sap2000 Tesis

t: representa el angulo de revolucion que gira cada elemento finito en que fue

discretizado el plano de la seccion caracterıstica de revolucion.

B: es la matriz deformacion unitaria desplazamiento [8] o simplemente matriz

de deformacion unitaria [4] ecuacion(2.13).

D: matriz de propiedades del elemento, ecuacion(2.5)

r: coordenada radial para cada punto del elemento finito, ecuacion(2.9).

J: matriz jacobiano, ecuacion(2.10).

La mejor manera de obtener la matriz de rigidez, es resolver la ecuacion(2.14)

numericamente14.

14Los detalles se encuentra en los libros de la referencia [14], [15], [16], [17], [18]

20

Page 37: API Sap2000 Tesis

Capıtulo 3

Programacion en C# con API

Sap2000

3.1. Generalidades

El presente capıtulo describe los fundamentos del lenguaje de programacion Mi-

crosoft Visual c# 1 y su integracion e implementacion de la Interfaz de Programacion

para Aplicaciones(API) de Sap2000 desde dicho lenguaje.

La Interfaz de Programacion para Aplicaciones de Sap2000 se puede utilizar

desde cualquier lenguaje de programacion que sea capaz de implementar una inter-

face, entre estos lenguajes de programacion se tiene: Visual Basic para Aplicacio-

nes(VBA), Visual Basic .net, Visual C++, Visual C#, Java, Intel Visual Fortran v9,

etc. En la presente Tesis se programara desde el lenguaje de programacion Visual

c# por ser un lenguaje orientado a objetos y estar completamente integrado con la

plataforma .NET.

3.2. Microsoft Visual Studio

Lo que Microsoft nos ofrece con Visual Studio 2009 Express Edition es un

entorno de desarrollo de ultima generacion, conjuntamente con el compilador de

1Microsoft presento c# al publico en la Professional Developer’s Conference en Orlando, Flo-

rida, en el verano del 2000. [19], pagina 37

21

Page 38: API Sap2000 Tesis

uno de los lenguajes de programacion mas avanzados que existe en la actualidad

C#2. Las versiones Express son de distribucion gratuita. El desarrollo del programa

para la tesis se realiza desde este editor.

3.3. Microsoft .NET framework

Microsoft .NET es el conjunto de nuevas tecnologıas en las que Microsoft a estado

trabajando durante los ultimos anos con el objetivo de obtener una plataforma

sencilla y potente para distribuir el software en forma de servicios que puedan ser

suministrados remotamente y que puedan comunicarse y combinarse unos con otros

de manera totalmente independiente de la plataforma, lenguaje de programacion y

modelo de componentes con los que hayan sido desarrollados. Esta es la llamada

plataforma .NET3.

3.4. El lenguaje de programacion Visual c#

Segun La Biblia C# combina las mejores ideas de lenguajes como C, C++ y

Java con las mejoras de productividad de .NET Framework de Microsoft y

brinda una experiencia de codificacion muy productiva tanto para los nuevos

programadores como para los veteranos . . . Microsoft diseno C# desde su base

para aprovechar el nuevo entorno .NET Framework. Como C# forma parte de

este nuevo mundo .NET debera comprender perfectamente lo que proporciona

.NET Framework y de que manera aumenta su productividad4.

Los fundamentos de programacion en Visual C# se encuentran detalladamente

escritos en los libros de la referencia, con fines de formalidad es necesario comprender

las siguientes definiciones.

2Referencia [20] pagina 053Referencia [21] pagina 094Reproducido completamente de la referencia [19] paginas 37 - 38

22

Page 39: API Sap2000 Tesis

3.4.1. Clase

Una clase es una coleccion de codigo y de variables, las clases gestionan el estado

en forma de variables que contienen, y comportamientos, en forma de los metodos

que contienen. Sin embargo una clase es solo una plantilla desde donde se crean

objetos. ([19] pagina 192). Todo el codigo y los datos deben ser incluidos en una

clase, no se puede definir una variable fuera de una clase y no se puede escribir

ningun codigo que no este en una clase.

3.4.2. Espacio de nombre

Todo programa en C# debe estar contenido en un espacio de nombre con la

finalidad de evitar confusiones en la utilizacion de variables, que pueden tambien

estar definidos con el mismo nombre en otras aplicaciones. C# permite agrupar clases

en una coleccion de clases llamada espacio de nombre. Los espacios de nombres tienen

nombres y sirven de ayuda para organizar colecciones de clases en agrupaciones

logicas.

3.4.3. Tipos de datos

C# permite trabajar con dos tipos de dato: de valor y de referencia. Los de

valor contiene valores reales, los de referencia contienen referencias a valores valores

almacenados en algun lugar de la memoria.

3.4.4. Metodo

Los metodos son bloques de instrucciones que devuelven algun tipo de valor

cuando se ejecutan( [19] pagina 149).

3.4.5. Objeto

C# es un lenguaje orientado a objetos, los objetos son instancias de una clase.

23

Page 40: API Sap2000 Tesis

3.4.6. Interface

Una interfaz de C# es un conjunto de firmas de metodos, propiedades, eventos o

indizadores agrupadas con un nombre comun. Las interfaces funcionan como conjun-

to de funcionalidades definidas que pueden implementarse en una clase o estructura

de c#( [19] pagina 301)

3.5. Interfaz de programacion para aplicaciones

de sap2000

Se ha definido lo que es una interface en la seccion(3.4.6), para el desarrollo de

la aplicacion se utiliza el editor Microsoft Visual Studio 9 Express Edition desde

la cual se integra la interfaz de programacion para aplicaciones(API) de Sap2000

11.0.4. Desde este punto, con las ordenes adecuadas, todos los metodos que soporte

la interfaz del programa Sap2000 11.0.4 estan libres para Visual C# a disposicion

para ser utilizados como si de sus propias ordenes se tratase5.

3.5.1. Instalacion

La interfaz de programacion para aplicaciones de Sap2000 se instala por defecto

con cualquier distribucion de Sap2000 desde su version 11.0.0.

3.5.2. Utilidad ¿Para que sirve?

En el proceso de modelamiento para el analisis mediante el metodo de los ele-

mentos finitos el procedimiento es repetitivo para cada tipo de estructura; el grupo

de programadores que mantiene Sap2000 conscientes de esta realidad liberan a dis-

posicion de los usuarios una interface de Sap2000 con la cual es posible automatizar

procedimientos completos para cada proposito, desde cualquier lenguaje de progra-

macion externo, dependiendo de las necesidades de cada usuario.

5La documentacion completa con ejemplos para cada orden se encuentra en su manual SAP2000

API Documentation[22]

24

Page 41: API Sap2000 Tesis

Control Propiedad Valor

Form name frmDiagnostico

text Sap2000Diagnostico

Button name cmdOpensap2000

text Abrir

Button name cmdCapturesap2000

text Capturar

Button name cmdCloseSap2000

text Cerrar

Button name cmdEvaluarSap2000

text Evaluar

Cuadro 3.1: Cuadro de elementos utilizados

Si alguna vez se penso tener el control absoluto de Sap2000 ahora ya es posible,

mediante la interface de programacion para aplicaciones se tiene un control total

sobre el programa. Tener a disposicion toda la capacidad de Sap2000 requiere una

preparacion adecuada, tanto en el conocimiento del metodo de los elementos finitos

y los modelos estructurales para su analisis.

3.6. Procedimientos generales

Seguidamente se realiza una descripcion general para integrar la Interfaz de Pro-

gramacion para Aplicaciones [22] de Sap2000 v11.0.4 Educacional en el entorno de

desarrollo integrado Microsoft Visual Studio 9 Express Edition, especıficamente pro-

gramando en el lenguaje Microsoft Visual c#6, para lo cual, se crea una aplicacion

y los elementos que se usan se detalla en la cuadro(3.1). El formulario creado se

muestra en la figura(3.1).

6Los fundamentos de programacion del lenguaje se encuentran en los libros de la referencia [20],

[23], [21], [19]

25

Page 42: API Sap2000 Tesis

Figura 3.1: Ventana principal

Figura 3.2: Referencia desde C# al API de Sap2000 11.0.4

3.6.1. Integrar interface de Sap2000 a Visual Studio

Desde la ventana Explorador de Soluciones, haciendo click derecho sobre el pro-

yecto creado, elegir del menu emergente Agregar referencia... como muestra la figu-

ra(3.2). Luego, se muestra la ventana Agregar referencia, entre las opciones elegir la

pestana etiquetada COM, entre los muchos componentes existentes en la lista elija

Sap2000 como indica la figura(3.3).

Agregando esta referencia, se le indica a Microsoft Visual c# que queremos

trabajar con la Interface Sap2000.SapObject, en este punto Microsoft Visual Studio

26

Page 43: API Sap2000 Tesis

Figura 3.3: Integrar API Sap2000 11.0.4

2009 Express Edition se encargara de integrar absolutamente todos su contenido de

la Interface Sap2000.SapObject.

3.6.2. Implementar interface de Sap2000 en un objeto

Para utilizar las ordenes de la interface se opta por implementar en un objeto

desde el lenguaje de programacion Microsoft Visual c#, desde este punto es visible

los metodos de la interface a traves del objeto. El siguiente programa muestra la

manera de implementar la interface de Sap2000 en un objeto de Visual c#.

1 // Implementa l a i n t e r f a z de Sap2000 a un ob je to2 Sap2000 . SapObject SapObjeto ;3 // i n i c i a l i z a e l ob j e to4 SapObjeto = new Sap2000 . SapObject ( ) ;

3.6.3. Accediendo al objeto que implementa la interface

El objeto que contendra la interface de la aplicacion Sap2000 se debe declarar

de modo que sea visible en todo el proyecto, mediante codigo deberemos referirnos

a este objeto para todos los propositos. Creado el objeto que contiene la aplicacion,

el siguiente paso es proporcionarle un archivo Sap2000 correspondiente, puede ser

inicializando un nuevo archivo o apoderandose de uno existente. Se tratara ambas

alternativas.

27

Page 44: API Sap2000 Tesis

3.6.4. Inicializando un archivo nuevo

Es posible desde Microsoft Visual c# inicializar el programa Sap2000, el siguiente

programa inicializa un nuevo entorno en Sap2000 y dibuja un muro en su espacio

modelo, asignando propiedades por defecto.

1 private void cmdOpenSap2000 Click ( object sender , EventArgs e )2 {3 // dec l a ra v a r i a b l e t i po Sap20004 Sap2000 . SapObject SapObjeto ;5 long r e t ;6 // i n i c i a l i z a r l a v a r i a b l e de l t i po Sap20007 SapObjeto = new Sap2000 . SapObject ( ) ;8 // i n i c i a l i z a l a a p l i c a c i o n9 SapObjeto . App l i c a t i onSta r t ( Sap2000 . eUnits . kgf m C , true , ”Prueba” ) ;

10 // crea e i n i c i a l i z a e l e spac i o modelo de sap200011 r e t = SapObjeto . SapModel . In i t i a l i z eNewMode l ( Sap2000 . eUnits . kgf m C )

;12 // d ibuja una muro13 r e t = SapObjeto . SapModel . F i l e . NewWall (3 , 3 , 3 , 3 , true , ”prueba” ) ;14 }

3.6.5. Apoderarse de un Archivo Existente

Otra alternativa muy frecuente es cuando mediante codigo se quiere apoderar de

un modelo Sap2000 existente y que este en ejecucion, a modo de prueba, el programa

culmina mostrando un mensaje del tipo de unidades actual utilizado.

1 private void cmdCaptureSap2000 Click ( object sender , EventArgs e )2 {3 // debe e x i s t i r un arch ivo sap2000 e j ecut andose actualmente4 // dec l a ra v a r i a b l e de l t i po Sap20005 Sap2000 . SapObject SapObjeto ;6 // i n i c i a l i z a l a v a r i a b l e de l t i po Sap20007 // e s ta acc i on se apodera automaticamente de un arch ivo e x i s t e n t e8 SapObjeto = new Sap2000 . SapObject ( ) ;9 //a modo de comparacion

10 // muestra l a s unidades de medida ac tua l de l e spac i o modelo11 Sap2000 . eUnits MyUnits ;12 MyUnits = SapObjeto . SapModel . GetPresentUnits ( ) ;13 string a = ”La unidad de medida ac tua l es : ” + MyUnits . ToString ( ) ;14 MessageBox . Show( a , ”APISap2000” , MessageBoxButtons .OK) ;15 }

28

Page 45: API Sap2000 Tesis

3.6.6. Cerrando la Aplicacion

Otro procedimiento habitual cuando se manipula programas desde aplicaciones

externas, es cerrar el programa mediante codigo, para el objeto del tipo Sap2000

la forma correcta de terminar la aplicacion es con las ordenes adecuadas como se

muestra.

1 private void cmdClosesap2000 Click ( object sender , EventArgs e )2 {3 // debe e x i s t i r un arch ivo sap2000 en e j e c u c i o n4 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;5 // c i e r r a l a a p l i c a c i o n6 SapObjeto . App l i ca t ionEx i t ( fa l se ) ;7 // de ja s i n conten ido a l e spac i o modelo8 SapObjeto . SapModel = null ;9 // de ja s i n conten ido a l ob j e to creado

10 SapObjeto = null ;11 }

3.6.7. La funcion magica

Finalmente, el programa debe ser capaz de decidir adecuadamente una u otra

alternativa, segun sea el caso, el programa siguiente cumple esta funcion.

1 private void cmdEvaluarSap2000 Click ( object sender , EventArgs e )2 {3 /∗ Este es e l modulo magico , encargado de ave r i guar e l estado4 ac tua l de Sap2000 en l a maquina ∗/5

6 // crea y as igna e l ob j e to Sap20007 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;8 bool Dianos t i co ;9 string mensaje ;

10 // s i un arch ivo se e j e c u t a e s t a v i s i b l e11 Dianos t i co = SapObjeto . v i s i b l e ( ) ;12 i f ( Dianos t i co )13 {14 // mensaje = ” es t rue : e s t a v i s i b l e en l a pa n ta l l a ” ;15 mensaje = ”No se e j e c u t a Sap2000” ;16 }17 else18 {19 // mensaje = ” es f a l s e : no e s t a v i s i b l e en l a pan ta l l a ” ;20 mensaje = ”Se e j e c u t a Sap2000” ;21 }22 MessageBox . Show( mensaje , ”API Sap2000” , MessageBoxButtons .OK) ;23 }

29

Page 46: API Sap2000 Tesis

Parte III

Materiales y metodos

30

Page 47: API Sap2000 Tesis

Capıtulo 4

Analisis se Solidos Axisimetricos

con el metodo de los elementos

finitos

4.1. Generalidades

El presenta capıtulo trata sobre el analisis de estructuras mediante el Metodo de

los Elementos Finitos, en su formulacion para estructuras con total simetrıa respecto

a un eje del sistema de referencia, los cuales pueden ser modelados en el plano de

su seccion caracterıstica de revolucion.

Para entender el presente capıtulo es necesario tener un conocimiento suficiente

del metodo de los elementos finitos1, ya que los terminos utilizados y su programa-

cion de una plantilla en MathCad 14 con la finalidad de justificar los resultados de

Sap2000 se realiza directamente. Para la justificacion de los resultados de Sap2000

se aprovechara la capacidad de manipulacion simbolica y numerica del programa

MathCad 14 2. La teorıa sera explicado detalladamente junto a su programacion a

1La teorıa del Metodo de los Elementos Finitos se encuentra en cualquiera de los libros de la

referencia [8], [12], [5], [4], la historia de su evolucion narrada de una manera magnıfica se encuentra

en la referencia [6]2mathcad 14 es un programa orientado para realizar informes tecnicos detallados, sus funciones

y la manera de utilizarlo se encuentra en las referencias [24], [25], [26]

31

Page 48: API Sap2000 Tesis

la vez que se desarrolla un ejemplo de aplicacion; por ser esta la manera natural de

proceder en un documento de MathCad 14.

4.1.1. Sap2000

Es un programa de computo desarrollado por la companıa Computers and Struc-

tures, Inc que puede ser aplicada en el analisis de estructuras de todo proposito.

4.1.1.1. Metodo de analisis

En en proceso de analisis de estructuras Sap2000 utiliza el metodo de los ele-

mentos finitos.

4.1.1.2. Metodo de elementos finitos

El metodo de los elementos finitos es uno de los procedimientos que existen pa-

ra aproximar el comportamiento de una estructura con infinitos grados de libertad

por el de otra, con aproximadamente las mismas propiedades fısicas y geometricas,

pero con un numero finito de grados de libertad, cuyas ecuaciones de equilibrio pue-

des expresarse por un sistema algebraico de ecuaciones simultaneas con un numero

limitado de incognitas3

Figura 4.1: Vista en planta techo en forma de cono con abertura

3Referencia [7] pagina 03).

32

Page 49: API Sap2000 Tesis

4.1.2. Estructuras de simetrıa axial

Las estructuras de revolucion representan un alto porcentaje en las estructuras

de uso comun en ingenierıa, entre ellos se puede mencionar: Los depositos para agua,

torres de enfriamiento, muros cilındricos, silos, cupulas, vasijas de presion, techos de

edificaciones especiales(referencia [4] pagina 244), etc.

4.1.2.1. Estructura a analizar

Para justificar los resultados de Sap2000 en la presente tesis se analizara un

modelo alternativo del techo en forma de cono con abertura figuras.(4.1 y 4.2 ), del

auditorio de la Facultad de Ciencia de la Educacion de la Universidad Nacional San

Cristobal de Huamanga, cuyo diametro de la base del cono es D1 = 16m, Altura

H = 1.96m, diametro de la abertura D2 = 2m.

Figura 4.2: Vista en elevacion techo en forma de cono con abertura

4.1.2.2. Modelo de la estructura

Es posible modelar la estructura con distintas formulaciones del Metodo de los

Elementos Finitos, una manera es considerando la formulacion como Solido de Re-

volucion4 debido a que la estructura es simetrico respecto al eje z del sistema de

referencia figura(4.2), en la cual se elige una seccion caracterıstica de revolucion tal

como muestra la figura fig.(4.3 ), para esta seccion sera necesario girar Arc = 360o

grados sexagesimales para formar la estructura entera. definido la seccion carac-

terıstica de revolucion se le asignara todas las condiciones a las que se encuentra

sometido la estructura completa figura(4.4) y se analizara sobre esta seccion plana.

4El tema se encuentra en los libros de la referencia [8] capıtulo 6, [4] capıtulo 6, [5] capıtulo 4,

[11] capıtulo 12, [7] capıtulo 7, [9] capıtulo 5, [12] capıtulo 6

33

Page 50: API Sap2000 Tesis

4.2. Implementacion de Funciones en MathCad

Para el analisis de solidos axisimetricos

Seguidamente se programara para el analisis de estructuras modeladas como

Solidos de Revolucion mediante el Metodo de los Elementos Finitos5. Solamente se

escriben las ecuaciones fundamentales necesarios para su programacion, las ecuacio-

nes detalladamente desarrolladas, se puede encontrar en los libros de la referencia.

4.2.1. Pre-procesador

El usuario es el encargado de ordenar adecuadamente los argumentos, luego de

definir el sistema de referencia global debe iniciar discretizando el dominio completo

5La receta del Metodo de los Elementos Finitos para su programacion se encuentra en la refe-

rencia [6] en el capıtulo 4, [9] capıtulo 1, las referencias [16], [17],[15], [14] tratan exclusivamente

de la programacion del Metodo de los Elementos Finitos

Figura 4.3: Modelo de la seccion caracterıstica de revolucion

Figura 4.4: Seccion caracterıstica de revolucion

34

Page 51: API Sap2000 Tesis

con elementos rectangulares de cuatro nudos figura(4.5) y ordenar los argumentos

de acuerdo a lo establecido para las coordenadas de los nudos en la pagina(35), iden-

tificacion de elementos pagina(35), asignacion de propiedades pagina(36), soportes

pagina(37) y las cargas en la pagina(37).

Figura 4.5: Identificacion de nudos y elementos

4.2.1.1. Nudos

Identificar las coordenadas de todos los nudos en la estructura figura(4.5), las

coordenadas deben ser establecidos en el sistema global, todos los nudos forman un

arreglo numerico con nombre NODE cuadro(4.1), cada fila identifica completamente

un nudo y cada columna representa.

columna 1: numero identificador del nudo

columna 2: coordenada radial

columna 3: coordenada axial

4.2.1.2. Elementos

Cada elemento debe quedar completamente identificado por sus cuatro nudos

figura(4.5), todos los elementos estan organizados en un arreglo numerico de nombre

MEMB cuadro(4.2), cada fila identifica plenamente a un elemento en el sistema, cada

columna representa.

35

Page 52: API Sap2000 Tesis

columna 1: numero identificador del elemento

columna 2: nudo global correspondiente al nudo local uno.

columna 3: nudo global correspondiente al nudo local dos.

columna 4: nudo global correspondiente al nudo local tres

columna 5: nudo global correspondiente al nudo local cuatro.

4.2.1.3. Propiedades

Para el analisis se considera que todos los elementos tienen las mismas propie-

dades, para los solidos de revolucion son requeridos.

E = 2.1 · 109, modulo de elasticidad del material en Kg/m2

ν = 0.3, coeficiente de poisson

t = 2π, espesor del solido de revolucion, expresado en radianes

Nudo Coordenada radial(m) Coordenada axial(m)

1 8.0 0

2 8.0 0.15

3 4.0 1.12

4 4.0 1.27

5 2.0 1.68

6 2.0 1.83

7 1.0 1.96

8 1.0 2.11

Cuadro 4.1: Identificacion de nudos

Elemento nudo1 nudo2 nudo3 nudo4

1 3 1 2 4

2 5 3 4 6

3 7 5 6 8

Cuadro 4.2: Identificacion de los elementos

36

Page 53: API Sap2000 Tesis

4.2.1.4. Soportes

Es necesario especificar las condiciones de contorno, para especificar los apoyos de

la estructura se estable un acuerdo: 0 para los grados de libertad libres de movimiento

y 1 para los grados de libertad restringido. Los apoyos se organizan en un arreglo

numerico con nombre SUPP cuadro(4.3), donde.

columna 1: numero identificador del soporte.

columna 2: numero del nudo con soportes.

columna 3: identificador del grado de libertad en la direccion radial, 0 si el

grado de libertad es libre y 1 si esta restringido.

Columna 4: lo mismo que la columna tres, pero para la direccion axial.

Soporte nudo ru? zu?

1 1 1 1

2 2 1 1

Cuadro 4.3: Identificacion de soportes

4.2.1.5. Cargas

Es requerido las cargas equivalentes en los nudos de la estructura, debe estar

organizado en un arreglo numerico de nombre NLF cuadro(4.4), cada fila define

cargas en un nudo y cada columna representa.

columna 1: numero identificador de la carga

columna 2: numero del nudo cargado

columna 3: componente radial de la carga

columna 4: componente axial de la carga

37

Page 54: API Sap2000 Tesis

4.2.2. Procesador

Con la finalidad de obtener el proceso de calculo detallado, se crean funciones en

MathCad 14 [24] que hacen uso intensivo de los argumentos ordenados en la etapa

de pre proceso pagina(34).

4.2.2.1. Funciones generales

Esta seccion contiene las funciones generales que participan en todo el proceso.

4.2.2.1.1. Coordenadas de nudos La funcion RZ(m) figura(4.6) obtiene las

coordenadas de todos los nudos para el elemento m, es posible obtener cada una

de las coordenadas, con ri(m) las coordenadas radiales y con zi(m) las coordenadas

axiales, teniendo i = 1 . . . 4

Evaluando las funciones para el elemento m = 1 se obtiene su coordenadas

radiales r1(1) = 1, r2(1) = 2, r3(1) = 2, r4(1) = 1 y sus coordenadas axiales

z1(1) = 1.96, z2(1) = 1.68, z3(1) = 1.83, z4(1) = 2.11.

4.2.2.1.2. Matriz de propiedades Segun [8] la matriz de propiedades para

solidos de revolucion esta representado mediante la ecuacion(4.1), donde E es el

modulo de elasticidad del material y ν es el coeficiente de Poisson.

Carga Nudo Fr(Kgf) Fz(Kgf)

1 8 0 -1570.00

2 6 0 -7873.00

3 4 0 -31415.00

4 2 0 -50265.00

Cuadro 4.4: Cargas en nudos

38

Page 55: API Sap2000 Tesis

D =E(1− ν)

(1 + ν)(1− 2ν)

1 ν

1−ν 0 ν1−ν

ν1−ν 1 0 ν

1−ν

0 0 1−2ν2(1−ν) 0

ν1−ν

ν1−ν 0 1

(4.1)

Evaluando las propiedades para los argumentos establecidos, se tiene:

D = 109

2.879 1.212 0 1.212

1.212 2.827 0 1.212

0 0 80.77 0

1.212 1.212 0 2.827

4.2.2.1.3. Grados de libertad Otra de las funciones fundamentales y muy

general es GDL(m), que tiene por funcion obtener los grados de libertad asociados

a los nudos de cada elemento figura(4.7), la funcion recibe como argumento un

numero identificador de cualquier elemento, luego establece los cuatro nudos desde

la matriz MEMB y con esto los grados de libertad para cada nudo. Para un nudo

Figura 4.6: Funcion para obtener coordenadas

39

Page 56: API Sap2000 Tesis

n, el grado de libertad en la direccion radial es 2n− 1 y en la direccion axial 2n.

Figura 4.7: Funcion para obtener gdl

Evaluando la funcion para el elemento m = 1 se obtiene los grados de libertad

asociados a los nudos del elemento. Para dos grados de libertad por nudo en total

se tienen 16 grados de libertad en toda la estructura.

GDL(1) =(

13 14 9 10 11 12 15 16)

4.2.2.2. Funciones para obtener la matriz de rigidez del elemento

Las funciones siguientes son para obtener la matriz de rigidez de cualquier ele-

mento.

4.2.2.2.1. Funciones de forma Las funciones de forma6 en el sistema norma-

lizado, para elementos cuadrilateros de cuatro nodos esta dado por.

6segun [2] pagina 142, [3] pagina 151, [1] pagina 193, [6] pagina 40, [8] pagina 211, [17] pagina

268, [4] pagina 219, [5] pagina 127

40

Page 57: API Sap2000 Tesis

N1(ξ, η) =1

4(1− ξ)(1− η)

N2(ξ, η) =1

4(1 + ξ)(1− η)

N3(ξ, η) =1

4(1 + ξ)(1 + η)

N4(ξ, η) =1

4(1− ξ)(1 + η)

(4.2)

Las funciones Ni(ξ, η) con i = 1 . . . 4 dependen unicamente de ξ y η que son las

coordenadas normalizadas.

4.2.2.2.2. Coordenadas Las coordenadas radial r y circunferencial z son ex-

presados [4] en funcion de las ecuaciones(4.2) y las coordenadas de los nudos en el

sistema global, mediante.

r(m, ξ, η) = N1(ξ, η)r1(m) +N2(ξ, η)r2(m) +N3(ξ, η)r3(m) +N4(ξ, η)r4(m)

z(m, ξ, η) = N1(ξ, η)z1(m) +N2(ξ, η)z2(m) +N3(ξ, η)z3(m) +N4(ξ, η)z4(m)(4.3)

4.2.2.2.3. Desplazamientos Los desplazamientos [8] en el interior del elemen-

to, son dependientes de las funciones de forma ecuaciones(4.2) y los desplazamientos

de los nudos y esta expresado mediante.

µ = N1q1 +N2q3 +N3q5 +N4q7

υ = N1q2 +N2q4 +N3q6 +N4q8

(4.4)

4.2.2.2.4. Matriz Jacobiana La matriz jacobiana ecuacion(4.5), que represen-

ta el cambio de coordenadas, depende de las derivadas parciales de las coordenadas

globales expresadas en funcion del sistema normalizado. No es necesario desarrollar

las derivadas parciales de la funcion jacobiano, se confiara todo el proceso matemati-

co a MathCad 14 [26], limitandonos a la formulacion matematica en su forma basica.

De igual manera que en las anteriores funciones la funcion J(m, ξ, η) depende del

elemento y las coordenadas normalizadas.

41

Page 58: API Sap2000 Tesis

J(m, ξ, η) =

∂r(m,ξ,η)∂ξ∂z(m,ξ,η)

∂ξ

∂r(m,ξ,η)∂η

∂z(m,ξ,η)∂η

(4.5)

4.2.2.2.5. Matriz deformacion unitaria - Desplazamiento Las deformacio-

nes unitarias [5] [4] para elementos estructurales modelados como solidos de revolu-

cion, esta dado por ecuacion(4.6), donde εr es la deformacion normal en la direccion

radial, εz es la deformacion normal en la direccion axial, γrz deformacion tangencial

en el plano rz y εθ es la deformacion normal en la direccion circunferencial.

ε =(εr εz γrz εθ

)T(4.6)

la relacion[5] entre las deformaciones unitarias ε y los desplazamientos u esta dado

mediante

ε =(

∂µ∂r

∂υ∂z

∂µ∂z

+ ∂υ∂r

µr

)T(4.7)

La matriz deformacion unitaria - desplazamiento[8] o simplemente matriz de-

formacion unitaria[4] ecuacion(4.8) depende de la inversa de la matriz jacobiana y

las derivadas parciales de los desplazamientos expresados en el sistema normalizado,

para cada elemento en cada direccion.

B =1

|J |

∂z∂η

∂Ni

∂ξ− ∂z

∂ξ∂Ni

∂η0

0 − ∂r∂η

∂Ni

∂ξ+ ∂r

∂ξ∂Ni

∂η

− ∂r∂η

∂Ni

∂ξ+ ∂r

∂ξ∂Ni

∂η∂z∂η

∂Ni

∂ξ− ∂z

∂ξ∂Ni

∂η

Ni

r|J | 0

(4.8)

La matriz B(m, ξ, η) ecuacion(4.8), se divide en cuatro sub matrices correspon-

diente a los cuatro nudos con B1(m, ξ, η) que se corresponde con el nudo uno,

B2(m, ξ, η) con el nudo dos, B3(m, ξ, η) con el nudo tres y B4(m, ξ, η) con el nu-

do cuatro. Las funciones siguientes se escriben como Bi que son iguales a Bi(m, ξ, η)

con i = 1 . . . 4, por comodidad.

42

Page 59: API Sap2000 Tesis

B1 =

∂z(m,ξ,η)∂η

∂N1(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N1(ξ,η)∂η

0

0 −∂r(m,ξ,η)∂η

∂N1(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N1(ξ,η)∂η

−∂r(m,ξ,η)∂η

∂N1(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N1(ξ,η)∂η

∂z(m,ξ,η)∂η

∂N1(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N1(ξ,η)∂η

N1(ξ,η)r(m,ξ,η)

|J(m, ξ, η)| 0

B2 =

∂z(m,ξ,η)∂η

∂N2(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N2(ξ,η)∂η

0

0 −∂r(m,ξ,η)∂η

∂N2(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N2(ξ,η)∂η

−∂r(m,ξ,η)∂η

∂N2(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N2(ξ,η)∂η

∂z(m,ξ,η)∂η

∂N2(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N2(ξ,η)∂η

N2(ξ,η)r(m,ξ,η)

|J(m, ξ, η)| 0

B3 =

∂z(m,ξ,η)∂η

∂N3(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N3(ξ,η)∂η

0

0 −∂r(m,ξ,η)∂η

∂N3(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N3(ξ,η)∂η

−∂r(m,ξ,η)∂η

∂N3(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N3(ξ,η)∂η

∂z(m,ξ,η)∂η

∂N3(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N3(ξ,η)∂η

N3(ξ,η)r(m,ξ,η)

|J(m, ξ, η)| 0

B4 =

∂z(m,ξ,η)∂η

∂N4(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N4(ξ,η)∂η

0

0 −∂r(m,ξ,η)∂η

∂N4(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N4(ξ,η)∂η

−∂r(m,ξ,η)∂η

∂N4(ξ,η)∂ξ

+ ∂r(m,ξ,η)∂ξ

∂N4(ξ,η)∂η

∂z(m,ξ,η)∂η

∂N4(ξ,η)∂ξ

− ∂z(m,ξ,η)∂ξ

∂N4(ξ,η)∂η

N4(ξ,η)r(m,ξ,η)

|J(m, ξ, η)| 0

Expresando todas las submatrices en una sola, se obtiene la matriz de deforma-

cion unitaria desplazamiento ecuacion(4.8) B(m, ξ, η)

B(m, ξ, η) =1

|J(m, ξ, η)|

[B1(m, ξ, η) B2(m, ξ, η) B3(m, ξ, η) B4(m, ξ, η)

]Donde, |J(m, ξ, η)| es el jacobiano, determinante de la matriz jacobiana ecua-

cion(4.5).

4.2.2.2.6. Matriz de rigidez del elemento Haciendo uso de las expresiones

anteriores, la matriz de rigidez [4] puede escribirse como

43

Page 60: API Sap2000 Tesis

k(m) = t

∫ 1

−1

∫ 1

−1

B(m, ξ, η)TDB(m, ξ, η)r(m, ξ, η)|J(m, ξ, η)|dξdη (4.9)

Evaluando en su forma explıcita incluso MathCad 14 encuentra pesado a esta

ecuacion, demorando mucho tiempo en encontrar la solucion, por esta razon se eva-

luara numericamente cada uno de los elementos mediante la cuadratura de Gauss [8],

para lo cual se toma dos puntos por cada direccion sobre el dominio normalizado,

los llamados puntos de Gauss, se evalua la matriz k(m) para los cuatro puntos

considerados, siendo la matriz de rigidez del elemento la sumatoria de las matrices

parciales.

Con la finalidad de evaluar numericamente la matriz de rigidez ecuacion(4.9), se

define k1(m, ξ, η) como.

k1(m, ξ, η) = B(m, ξ, η)TDB(m, ξ, η)r(m, ξ, η)|J(m, ξ, η)|

Los puntos de Gauss, ξξ en la direccion radial, ηη en la direccion axial y los

pesos asociados a cada punto, ωr en la direccion radial y ωz en la direccion axial.

Por comodidad se representan en vectores de cuatro elementos, bien no podrıa con-

siderarse los pesos para cada direccion, ya que coincidentemente para un elemento

cuadrilatero de cuatro nodos el factor peso es la unidad.

ξξ =

− 1√

3

1√3

1√3

− 1√3

ηη =

− 1√

3

− 1√3

1√3

1√3

ωr =

1

1

1

1

ωz =

1

1

1

1

Finalmente, la matriz de rigidez para un elemento m esta dado por.

k(m) = t4∑i=1

k1(m, ξξi, ηηi)

Evaluando la funcion para el elemento m = 1 se obtiene el resultado siempre una

matriz cuadrada y simetrica de orden 8. Se procede de la misma manera para todos

los elementos.

44

Page 61: API Sap2000 Tesis

k(m) = 1011

0.218

0.128 0.518 Simetrico

0.096 0.049 0.222

0.068 0.222 0.073 0.698

−0.151 0.073 −0.242 −0.161 0.319

−0.101 −0.242 −0.115 −0.704 0.204 0.722

−0.174 −0.115 −0.077 −0.017 0.095 0.051 0.166

−0.094 −0.503 −0.006 −0.289 0.070 0.298 0.069 0.499

4.2.2.3. Funcion matriz de rigidez ensamblado

La funcion K figura(4.8) es el encargado de ensamblar la matriz de rigidez de

la estructura completa, esta funcion hace uso de las funciones establecidas anterior-

mente, obtiene la matriz de rigidez para cada elemento con la funcion k(m) y para

ensamblarlo en la matriz general llama a la funcion de los grados de libertad pagi-

na(39), esto simplifica enormemente el codigo, como puede ver la manera compacta

de la funcion K figura(4.8). La funcion K devuelve siempre una matriz cuadrada de

orden 2n, siendo n en numero de nudos de la estructura.

Para la estructura analizada se obtiene una matriz cuadrada y simetrica de orden

igual a 16 y es.

k(m) = 1011

3.849

1.948 11.256 Simetrico

−4.015 −2.303 4.237

−2.117 −11.298 2.473 11.357

1.715 0.981 −1.880 −1.116 3.918

0.905 4.844 −1.159 −4.887 2.119 10.918

−1.582 −0.778 1.710 0.913 −3.865 −2.195 3.904

−0.736 −4.802 0.99 4.834 −2.068 −10.892 2.144 · · ·...

......

......

......

. . .

45

Page 62: API Sap2000 Tesis

4.2.2.4. Funcion vector de fuerzas nodales equivalentes

La funcion F figura(4.9) ensambla las cargas en un vector columna, ordena de

acuerdo a los grados de libertad desde el cuadro(4.4), este vector es de orden 2n,

siendo n el numero de nudos de la estructura discretizada.

El vector de cargas nodales equivalentes para la estructura es:

F =(

0 0 0 −5.027 ∗ 104 0 0 0 3.142 ∗ 104 0 · · ·)

Figura 4.8: Funcion para obtener K

Figura 4.9: Funcion para obtener F

46

Page 63: API Sap2000 Tesis

4.2.2.5. Funcion desplazamientos en nudos

Teniendo el vector de fuerzas equivalentes F figura(4.9) y la matriz de rigidez

K figura(4.8) ensamblado de la estructura, solo falta establecer las condiciones de

contorno para obtener los desplazamientos en los nudos. La matriz de rigidez de

la estructura entera ha sido ensamblado sin tener en cuenta los grados de libertad

restringidos, en los nudos donde existe soporte es conocido los desplazamientos,

generalmente cero, entonces, en la matriz K se debe modificar los grados de libertad

para los cuales estos desplazamientos son conocidos, hay maneras de establecer estas

modificaciones, en la presente se hara uso del metodo de la penalizacion7. La matriz

ası obtenido es Km cuya funcion se muestra en la figura(4.10). Para la estructura

analizada, la matriz modificado resulta.

km =

1 ∗ 10307

1.948 1 ∗ 10307 Simetrico

−4.015 −2.303 1 ∗ 10307

−2.117 −11.298 2.473 1 ∗ 10307

1.715 0.981 −1.880 −1.116 3.918

0.905 4.844 −1.159 −4.887 2.119 10.918

−1.582 −0.778 1.710 0.913 −3.865 −2.195 3.904

−0.736 −4.802 0.99 4.834 −2.068 −10.892 2.144 · · ·...

......

......

......

. . .

Teniendo la matriz Km como los coeficientes de las incognitas y el vector F el

termino independientes del sistema de ecuaciones formado para cada grado de liber-

tad, para obtener los desplazamientos solamente se debe resolver estas ecuaciones,

MathCad 14 dispone de funciones que ayudan estos requerimientos.

La funcion Q figura(4.11) es para obtener los desplazamientos en los nudos,

rref(), rows() y augment() son funciones de MathCad 14. Luego, para ordenar los

resultados es necesario la funcion Qo figura(4.12) en la que cada fila representa un

7que consiste en reemplazar la diagonal principal de la matriz de rigidez ensamblado, corres-

pondiente al grado de libertad restringido, por un numero muy grande, segun [8]

47

Page 64: API Sap2000 Tesis

nudo y las columnas son.

columna 1: numero del nudo

columna 2: desplazamiento radial

columna 3: desplazamiento axial

Para la estructura analizada, los desplazamientos para cada grado de libertad en

los nudos, en el sistema global, resulta cuadro(4.5), en cuyo cuadro la columna uno

representa el numero que identifica al nudo, la columna dos los desplazamientos en

la direccion radial y la columna tres los desplazamientos en la direccion axial.

Figura 4.10: Funcion para obtener Km

Figura 4.11: Funcion para obtener desplazamientos

Figura 4.12: Funcion para ordenar desplazamientos

48

Page 65: API Sap2000 Tesis

4.2.2.5.1. Comparacion de resultados con sap2000 Los resultados mostra-

dos en el cuadro(4.5) son iguales a los obtenidos con un analisis mediante el programa

Sap2000 11.0.4 Educacional para cada grado de libertad considerado. Para el anali-

sis en Sap2000 11.0.4 8 se hizo uso del elemento Asdolid sin considerar los modos

incompatibles, discretizando el dominio completo(la seccion caracterıstica de revo-

lucion) con elementos rectangulares de cuatro nudos, para las condiciones de carga

no se considera el peso propio de los elementos.

4.2.3. Post-procesador

4.2.3.1. Reacciones en los apoyos

Las reacciones en los apoyos esta dado por R = KQ−F , donde K es la matriz de

rigidez de toda la estructura figura(4.8), Q son los desplazamientos figura(4.11) y F

es el vector de cargas equivalencies figura(4.9). Luego queda ordenar las reacciones

convenientemente figura(4.13).

Donde cada columna representa.

columna 1: numero del nudo

8Aparte de sus propios manuales para el usuario de sap2000, la referencia [10] es una excelente

guıa

Nudo DespR(mm) DesplZ(mm)

1 0 0

2 0 0

3 0 -0.085892

4 0.000304 -0.085525

5 -0.004013 -0.147983

6 -0.007705 -0.14764

7 -0.011621 -0.1714

8 -0.016531 -0.170593

Cuadro 4.5: Desplazamientos en los nudos

49

Page 66: API Sap2000 Tesis

columna 2: reaccion en la direccion radial

columna 3: reaccion en la direccion axial

El resultado para la estructura analizada se muestra el el cuadro(4.6), donde: La

columna uno representa el nudo con soporte, la columna dos representa la reaccion

en la direccion radial y la columna tres representa la reaccion en la direccion axial.

Nudo Reacr(kgf) Reacz(kgf)

1 -793195.4 -191928.93

2 745963.55 283031.93

Cuadro 4.6: Reacciones en los soportes

4.2.3.1.1. Comparacion de resultados con sap2000 Las reacciones en los

apoyos resultan iguales a los obtenidos con un analisis en Sap2000 11.0.0 Educacio-

nal, por tal razon no es necesario reproducir los resultados de Sap2000 11.0.0 en la

presente tesis, ya que el cuadro(4.6) lo representa completamente.

4.2.3.2. Tensiones

para obtener las tensiones en un punto interior del elemento m se requiere los

desplazamientos en los nudos del elemento, la funcion q(m) figura(4.14) obtiene los

desplazamientos de los nudos de cualquier elemento.

Figura 4.13: Funcion para ordenar reacciones

50

Page 67: API Sap2000 Tesis

Figura 4.14: Funcion desplazamientos de un elemento

Las tensiones [8] para cualquier punto en el interior del elemento normalizado,

esta dado por σ(m, ξ, η) = DB(m, ξ, η)q(m). Las tensiones son evaluados en los

Puntos de Gauss y luego extendidos a todo el elemento

51

Page 68: API Sap2000 Tesis

Capıtulo 5

Desarrollo del Programa

”esaSAP”

En el presente capıtulo se crea una Extension para el Analisis Automatico de

Solidos Axisimetricos en Sap2000(esaSAP) 1 desde el lenguaje de programacion

Microsoft Visual c#. Se hace uso intensivo de la Interfaz de Programacion para

Aplicaciones de Sap2000 para el analisis automatico de estructuras modeladas como

Solidos de Revolucion. El programa esaSAP dispones de opciones para ser extendido

en el analisis de todas las estructuras de revolucion, en esta version solamente se

programara para automatizar el analisis en Sap2000 de techos de edificaciones en

forma de cono, cualquier interesado puede copiar el codigo y aumentar las estructuras

de revolucion que prefiere. El diagrama de flujo se muestra en la figura figura(5.1).

5.1. Organizacion para el programa

El procedimiento predefinido para el analisis mediante la Interfaz de Programa-

cion para Aplicaciones de Sap2000 estara implementado en un Clase de C# de

nombre SapApi-Asolid y conteniendo metodos para cada proposito con el fin de mo-

delar y analizar automaticamente la estructura de revolucion. El diagrama de flujo

general se muestra en la figura(5.1).

1esaSAP son las iniciales de Extension Solid Axisymmetric Analysis

52

Page 69: API Sap2000 Tesis

Figura 5.1: Diagrama de Flujo general

53

Page 70: API Sap2000 Tesis

5.2. Descripcion de la clase SapApi-Asolid

El objeto que implementa la Interfaz de Programacion para Aplicaciones de

Sap2000 es declarado de modo que sea visible para todos los metodos de la cla-

se. Los metodos creados en la clase SapApi-Asolid son los siguientes.

5.2.1. public void AbrirSap2000()

Por ser publico es visible para todos los objetos que puedan crearse desde la clase

SapApi-Asolid, el metodo es general e inicializa un archivo Sap2000 configurando el

espacio modelo sin elementos. No devuelve ningun resultado ya que el tipo devuelto

es void.

5.2.2. void Refrescar()

Metodo que sirve para actualizar el espacio modelo de Sap2000, este metodo no

esta visible desde los objetos que se crean a partir de la clase SapApi-Asolid, es

llamado por los metodos internamente.

5.2.3. public void Cerrar()

Metodo publico cuya finalidad es destruir el objeto creado a partir de la clase

SapApi-Asolid.

5.2.4. public void DefinirPropiedad(double Pe,double e,

double u)

Como su nombre indica es para definir la propiedad del elemento de revolucion de

nombre MyAsolid, antes crea un material de nombre MyMaterial cuyas propiedades

Pe Peso especıfico, e modulo de elasticidad y u coeficiente de Poisson es utilizado

en el analisis mediante el Metodo de los Elementos Finitos

54

Page 71: API Sap2000 Tesis

5.2.5. public void ZUCS(double Z, double Tp, double S,

double U, double R, double Ti, double vT, double

Tf)

Define la aceleracion pseudo espectral segun el Reglamento Nacional de Edi-

ficaciones2, requiere de argumentos: Z factor de zona, Tp Periodo que define la

plataforma del espectro para cada tipo de suelo, S Factor del suelo, U Factor de uso

e importancia, R Coeficiente de reduccion de solicitaciones sısmicas, Ti el tiempo

inicial, vT variacion del tiempo y Tf es el tiempo final.

5.2.6. public void DefinirCargas()

Metodo para definir los tipos de cargas, tipos de analisis y combinaciones de

carga, segun el reglamento Nacional de Edificaciones[27].

5.2.7. public void MasaEstructura()

Define las cargas que seran considerados para obtener la masa de la estructura[27]

para el analisis por respuesta espectral.

5.2.8. public string ConoCompleto(double R1, double Al-

tura, double Espesor)

Metodo que dibuja la seccion caracterıstica de revolucion de un cono completo

en el espacio modelo de Sap2000, requiere de argumentos R1 radio de la base del

cono, Altura total del cono y Espesor del cono. El metodo devuelve el nombre del

objeto area que dibuja.

2Referencia [27] Tomo 2

55

Page 72: API Sap2000 Tesis

5.2.9. public string ConoConAbertura(double R1,double

R2, double Altura, double Espesor)

Metodo que dibuja la seccion caracterıstica de revolucion de un cono con abertura

en el espacio modelo de Sap2000, requiere de argumentos R1 radio de la base del

cono, R2 radio de la abertura del cono, Altura altura total del cono y Espesor del

cono. El metodo devuelve el nombre del objeto area que dibuja.

5.2.10. public void AsignarCargas(string MyArea, double

CargaMuerta, double CargaViva )

Este es el encargado de asignar las cargas a la seccion caracterıstica de revolucion

de la estructura modelada, requiere de argumentos MyArea que es el nombre del

area de la seccion caracterıstica de revolucion, CargaMuerta es la carga muerta

actuando sobre la superficie superior del cono en kgf/m2, CargaV iva la sobrecarga

en kgf/m2.

5.2.11. public void Rectangulos4Nodos(string MyArea, int

NroDiv12,int NroDiv13)

Discretiza el dominio completo en subdominios rectangulares de cuatro nudos,

requiere de argumento MyArea que es el nombre de la superficie de revolucion que se

dibujo en el espacio modelo de Sap2000, NroDiv12 un numero entero que indica el

numero de divisiones en la cara formado por los nudos locales uno y dos, NroDiv13

un numero entero que indica el numero de divisiones en la cara formado por los

nudos locales uno y tres.

5.2.12. public void AsignarSopotesEnBase(double R1, dou-

ble Espesor, int NroDiv12)

Asigna los grados de libertad restringidos en los nudos considerados en el modelo,

en la base de la estrctura, requiere como argumento R1 radio de la base del cono,

56

Page 73: API Sap2000 Tesis

Espesor de la seccion de revolucion, NroDiv12 y el numero de divisiones.

5.2.13. public void AsignarSoportesEnCentro(double R1,

double Altura, double Espesor, int NroDiv12)

Asigna los grados de libertad restringidos en los nudos considerados en el modelo,

requiere como argumento R1 radio de la base del cono, Espesor de la seccion de

revolucion, Altura de del cono, NroDiv12 y el numero de divisiones. Este metodo

solo actua en modelos completos.

5.2.14. public void Analizar(string NombreArchivo)

Metodo que configura y ordena a sap2000 para iniciar con el anlisis del modelo

creado, es necesario el nombre del archivo con extension .SDB

5.2.15. Codigo fuente

el codigo fuente de la clase SapApi-Asolid se muestra en el ”Anexo A”.

5.3. Descripcion del programa esaSAP

5.3.1. Generalidades

El programa esaSAP esta preparado para ser implementado con todas las estruc-

turas que cumplen las condiciones para ser modeladas como solidos de revolucion,

el interesado no tiene mas que copiar el codigo y anadir las estructuras que prefiera

automatizar el analisis en Sap2000.

5.3.2. Opciones de analisis

La ventana principal del programa esaSAP se muestra en la figura(5.2), pa-

ra mostrar las opciones de analisis en la forma de la estructura, se elige desde el

menu Herramientas/nuevo figura(5.3) y se encuentra con las siguientes opciones.

57

Page 74: API Sap2000 Tesis

1. Cono Completo: para el analisis de un techo de edificacion en forma de cono

sin abertura, su seccion caracterıstica de revolucion sobre la cual se analiza

figura(5.4).

2. Cono con Abertura: para el analisis de un techo de edificacion en forma de cono

con abertura, su seccion caracterıstica de revolucion sobre la cual se analiza

figura(5.5).

Los argumentos generales para el analisis, que son comunes para todas las formas

de las estructuras se muestra en la figura(5.6)

Figura 5.2: Ventana principal de la aplicacion esaSAP

Figura 5.3: Opciones de analisis esaSAP

58

Page 75: API Sap2000 Tesis

Figura 5.4: Seccion de revolucion cono completo

Figura 5.5: Seccion de revolucion cono con abertura

Figura 5.6: Argumentos generales para el analisis

59

Page 76: API Sap2000 Tesis

5.3.3. Controles utilizados

El programa esta organizado en un Formulario Windows que es la base que

contiene a todos los controles comunes al entorno Visual Estudio.

5.3.4. Espacio de nombre

El espacio de nombre que contiene todo el codigo de la aplicacion es el que lo

crea por defecto el entorno de desarrollo integrado, con nombre AsolidCono.

5.3.5. La clase AsolidCono

Cuando se crea el formulario para la ventana principal de la aplicacion esta

hereda de la clase form y ademas contiene todos los metodos que se crean para el

tratamiento adecuado del programa.

5.3.6. Descripcion de metodos

Los metodo creados en la clase AsolidCono cumplen las funciones siguientes.

private static string Mensaje(int a) Metodo que devuelve una cadena depen-

diendo del argumento que se le brinde. Son los diferentes mensajes que el

programa muestra orientando al usuario, dependiendo de cada estado.

private static void MostrarMensaje(string texto) Muestra el mensaje defini-

do por el texto que se brinda de argumento.

private bool VerificarArgumentos() Metodo especializado en verificar la vera-

cidad de los argumentos, si algun dato esta fuera de lo establecido muestra el

mensaje y termina el programa.

void Procedimiento() Metodo para analizar la estructura, segun eleccion del

usuario.

Public AsolidCono() Metodo creado automaticamente por el editor.

60

Page 77: API Sap2000 Tesis

5.3.7. Descripcion de eventos

Un evento es la respuesta del programa a cualquier solicitacion del usuario. Los

eventos para el programa actual estan basados al hacer Click sobre uno de los ele-

mentos de menu, cada opcion del menu respondera convenientemente a lo solicitado.

Los eventos considerados en la aplicacion son las siguientes.

analizarEnSap20001104ToolStripMenuItem Al hacer un Click sobre el

menu Analizar en sap2000 11.0.4 el programa interactua con Sap200.

cerrarSap20001104ToolStripMenuItem Cierra Sap2000, en terminos de pro-

gramacion deshecha el objeto que contiene a la aplicacion Sap2000.

salirToolStripMenuItem Cierra la aplicacion AsolidCono.

conoCompletoToolStripMenuItem Establece la opcion de analisis para un

cono completo.

conoConAberturaToolStripMenuItem Establece las opciones de analisis pa-

ra un cono con abertura

5.3.8. Codigo fuente

El codigo fuente completo se muestra en el ”Anexo A”.

61

Page 78: API Sap2000 Tesis

Parte IV

Resultados

62

Page 79: API Sap2000 Tesis

Capıtulo 6

Caso de estudio a un proyecto

local

6.1. Descripcion del proyecto

La aplicacion practica en la presente Tesis es en la obra ”Construccion e Imple-

mentacion del Pabellon de Aulas, SS.HH y Modulos Administrativos de la Facultad

de Ciencias de la Educacion de la Universidad Nacional San Cristobal de Huaman-

ga”, en cuya construccion me desempene en el cargo de Asistente de Obra.

En la Tesis se analiza especıficamente el Techo de la Aula Magna, que esta cons-

truido de concreto armado y tiene la forma de un cono, para su analisis mediante el

Metodo de los Elementos Finitos se modela la estructura como un Solido de Revolu-

cion debido a la total simetrıa respecto al eje Z tanto en las cargas actuantes como

en la forma de la estructura. El analisis se realiza sobre un modelo de la seccion ca-

racterıstica de revolucion y se asignan todas las condiciones a la que esta sometido

la estructura entera.

6.2. Argumentos requeridos para el analisis

Los datos requeridos para el presente analisis estan en base al Expediente Tecnico

de la obra.

63

Page 80: API Sap2000 Tesis

6.2.1. Dimensiones de la estructura

Los planos de planta, elevacion y corte del auditorio se adjunta en el Apendice

B, las dimensiones de la seccion caracterıstica de revolucion para el techo en forma

de cono son:

Radio de la base, 8m.

Altura del techo, 2.25m

Espesor de la seccion de revolucion, 0.15m.

6.2.2. Material utilizado

Es el concreto armado, para el analisis se considera material homogeneo, con las

siguientes propiedades.

Peso especıfico del concreto armado, 2400kgf/m3

Resistencia del concreto a la compresion, 210Kgf/cm2

Modulo de poisson del material, 0.3

6.2.3. Cargas

Segun el Reglamento Nacional de Edificaciones [27] en la cual esta basado el

Expediente Tecnico de la obra, las cargas que actuan sobre el techo son.

Carga permanente, 200kgf/m2

carga viva, sobrecarga, 50kgf/m2

6.2.4. Parametros para la funcion de aceleracion pseudo es-

pectral

Para obtener la funcion, es necesario los siguientes argumentos.

Factor de zona(Z), 0.3

64

Page 81: API Sap2000 Tesis

periodo que define la plataforma del espectro para cada tipo de suelo (Tp), 0.6

Factor de suelo (S), 1.2

Factor de uso e importancia (U), 1.3

Coeficiente de reduccion de solicitaciones sısmicas (R), 8.0

6.3. Modelo de la estructura

La estructura para su analisis mediante el metodo de los elementos finitos

sera modelado como un solido axisimetrico. Con la finalidad de documentar de

manera detallada, la estructura en planta se muestra en la figura(6.1) y la elevacion

muestra la figura(6.2).

Figura 6.1: Vista en planta del techo en forma de cono

Figura 6.2: Vista en 3D del techo en forma de cono

Si se observa la figura(6.2) de la pagina(65) se nota claramente que la estructura

tiene una completa simetrıa respecto al eje z del sistema de orientacion global,

65

Page 82: API Sap2000 Tesis

en la que el origen de las coordenadas esta en el centro del plano formado por la

base de la estructura. Las cargas definidas en la seccion(6.2.3) que actuan en la

direccion de la gravedad son tambien simetricos respecto al mismo eje, por lo tanto

la estructura cumple las condiciones para ser modelado y analizado como un solido

axisimetrico. En este tipo de estructuras se analiza sobre sobre el plano formado

por la seccion caracterıstica de revolucion; en la estructura analizada la seccion de

revolucion muestra la figura(6.3), sobre esta seccion se asigna todas las solicitaciones

a la que esta impuesto la estructura real figura(6.4). A esta seccion sera necesario

girar sobre el eje z 360 grados sexagesimales para obtener la estructura entera.

Figura 6.3: Seccion de revolucion de la estructura

Figura 6.4: Modelo de la estructura como solido axisimetrico

6.4. Analisis de la estructura

Con la finalidad de mostrar la utilidad de la extension creada, el analisis de esta

estructura fue propuesto a varios Ingenieros que tuvieron el interes de colaborar en

el desarrollo del presente trabajo, se les propuso dos alternativas.

66

Page 83: API Sap2000 Tesis

1. Modelar y analizar la estructura en Sap2000 por sus propios medios.

2. Analizar la estructura con la extension creada esaSAP

Las combinaciones de las cargas se consideran de acuerdo al Reglamento Nacional

de Edificaciones - E060 y el resumen de los resultados mostrados en los cuadros son

los producidos por la envolvente.

6.4.1. Resultados obtenidos sin utilizar esaSAP

Los resultados obtenidos para la estructura por parte de los Ingenieros mo-

delandolo y analizando con sus propios procedimientos en Sap2000 se resume en las

siguientes secciones.

6.4.1.1. Desplazamientos

Los desplazamientos maximos obtenidos por cada uno de los Ingenieros se mues-

tra en el cuadro(6.1), donde.

#n Representa el numero de elementos en que es discretizado la seccion carac-

terıstica de revolucion.

U1 Desplazamientos en la direccion radial, eje x en el modelo analizado en Sap2000.

U2 Desplazamiento en la direccion circunferencial, como se espera no existe despla-

zamientos en esta direccion, debido a que las cargas actuan completamente en

le plano formado por los ejes radial y axial.

U3 Desplazamientos en la direccion axial, eje z en le modelo analizado en Sap2000.

Debido a la geometrıa y las cargas, los desplazamientos en los nudos considerados

de la estructura solamente existe en el plano que contiene a la seccion de revolu-

cion(Plano x-z) en Sap2000, donde eje x define la direccion radial y el eje z define

la direccion axial y es tambien el eje de revolucion de la estructura.

67

Page 84: API Sap2000 Tesis

Ing Tiempo #n U1 U2 U3

(minutos) (mm) (mm) (mm)

Ing(1) 35 144 0.01822 0 0

-0.320927 0 -1.498442

Ing(2) 20 144 0.017773 0 0

-0.321212 0 -1.500051

Ing(3) 50 180 0.018319 0 0

-0.321201 0 -1.499782

Ing(4) 16 90 0.016784 0 0

-0.321066 0 -1.497454

Ing(5) 40 48 0.018565 0 0

-0.322285 0 -1.20125

Cuadro 6.1: Desplazamientos maximos en los nudos de la estructura sin utilizar la

extension

6.4.1.2. Tensiones

Las tensiones maximos obtenidos por cada uno de los Ingenieros se muestra en

el cuadro(6.2), donde.

#n Representa el numero de elementos en que es dividido, la estructura entera,

para su analisis.

S11 Tension en la direccion radial para cada elemento, que coincide con el eje x del

modelo analizado en Sap2000.

S22 Tension en la direccion circunferencial, perpendicular a la seccion de revolucion.

S33 Tension en la direccion axial para cada elemento, que coincide con el eje z del

modelo analizado en Sap2000.

S12 Tension tangencial actuando el el plano formado por el eje radial y el eje

circunferencial en la direccion radial; o tension tangencia actuando en el plano

formado por los ejes axial y circunferencial en la direccion axial.

68

Page 85: API Sap2000 Tesis

Ing Tiempo #n S11 S22 S33 S12

(minutos) (kgf/m2) (kgf/m2) (kgf/m2) (kgf/m2)

Ing(1) 35 144 210088.2 56083.73 131617.9 37232.52

-269019 -94144.72 -108719.6 -83069.38

Ing(2) 20 144 216953.4 42378.14 131295.8 40209.00

-281035.7 -84471.42 -106275.1 -90422.93

Ing(3) 50 180 220095.1 58701.96 131414.2 38058.57

-271682.8 -94959.61 -109306.7 -85160.58

Ing(4) 16 90 186629.8 49485.5 132702.8 34645.77

-262627.7 -90954.99 -105687.6 -72901.46

Ing(5) 40 48 186131.6 14834.11 131693.8 42592.31

-294352.5 -40543.28 -100686.7 -91677.46

Cuadro 6.2: Tensiones maximos en elementos sin utilizar la extension

6.4.1.3. Fuerzas

Las fuerzas maximos obtenidos por cada uno de los Ingenieros se muestra en el

cuadro(6.3), donde.

#n Numero de elementos en es fue discretizado el dominio completo para su anali-

sis.

F1 Fuerza en la direccion axial que coincide con el eje x en el modelo de Sap2000

actuando en cada elemento.

F2 Fuerza en la direccion circunferencial.

F3 Fuerza en la direccion axial actuando en cada elemento.

6.4.2. Resultados obtenidos utilizando esaSAP

En esta seccion, para el analisis se utilizara la extension creada esaSAP con

la finalidad de automatizar el procedimiento en Sap2000 11.0.4. Debido a que el

tiempo de analisis se reduce en un 90 % al utilizar la extension, en el modelamiento

69

Page 86: API Sap2000 Tesis

Ing Tiempo #n F1 F2 F3

(minutos) (kgf) (kgf) (kgf)

Ing(1) 35 144 297274.7 0 596933.2

-297274.7 0 -129686.1

Ing(2) 20 144 400543.0 0 209366.7

-400543.0 0 -125272.2

Ing(3) 50 180 299733.5 0 220332.5

-299733.5 0 -107680.2

Ing(4) 16 90 281735.3 0 362330.2

-281735.3 0 -222215.0

Ing(5) 40 48 462005.0 0 219600.0

-535626.0 0 -155037.9

Cuadro 6.3: Fuerzas maximos en nudos de elementos sin utilizar la extension

y el analisis de la estructura analizada, es posible obtener con facilidad resultados

para distintas discretizaciones de la seccion de revolucion de la estructura.

Figura 6.5: Dimensiones de la Seccion de Revolucion

La extension esaSAP solamente crea el modelo de la estructura, es Sap2000 que

realiza todo el proceso de analisis, con la diferencia que todo lo ejecuta de mane-

ra automatica, culminado el proceso de calculo, se puede consultar los resultados

70

Page 87: API Sap2000 Tesis

requeridos desde el propio entorno de Sap2000.

Los argumentos requeridos para el analisis son:

Los argumentos de la geometrıa de la seccion caracterıstica de revolucion de

la estructura, como muestra la figura(6.5), en la cual es necesario indicar el

numero de elementos en que sera discretizado el dominio completo para su

analisis en Sap2000 11.0.4

Las cargas a la que esta sometido la estructura, el material utilizado con sus

propiedades y los parametros para obtener la funcion de aceleracion pseudo

espectral de acuerdo al reglamento nacional de edificaciones, figura(6.6).

Figura 6.6: Argumentos para esaSAP

6.4.2.1. Desplazamientos

Los desplazamientos obtenidos con la extension esaSAP desde Sap2000 11.0.4

se muestra el cuadro(6.4) para distintas discretizaciones de la seccion de revolucion

de la estructura.

#n U1 U2 U3

(mm) (mm) (mm)

3x1 = 3 0 0 0

-0.195411 0 -1.324294

71

Page 88: API Sap2000 Tesis

15x1 = 18 0.016806 0 0

-0.320859 0 -1.506002

48x2 = 96 0.018549 0 0

-0.321098 0 -1.498727

68x3 = 204 0.017703 0 0

-0.321163 0 -1.499838

158x3 = 474 0.01789 0 0

-0.321417 0 -1.500502

200x3 = 600 0.018018 0 0

-0.321432 0 -1.500617

220x3 = 660 0.017977 0 0

-0.321441 0 -1.500621

240x3 = 960 0.017906 0 0

-0.321405 0 -1.500582

300x4 = 1200 0.0179 0 0

-0.321439 0 -1.500667

330x4 = 1320 0.017898 0 0

-0.321448 0 -1.500709

360x4 = 1440 0.017899 0 0

-0.321454 0 -1.500702

Cuadro 6.4: Desplazamientos maximos en los nudos uti-

lizando la extension

6.4.2.1.1. Desplazamientos en la direccion radial De los resultados que se

muestra en el cuadro(6.4) se observa que la variacion de los desplazamientos maxi-

mos en la direccion radial converge rapidamente, basta dividir el dominio completo

con 204 elementos rectangulares de 4 nudos. Desde esta cantidad de elementos, los

desplazamientos en la direccion radial en los nudos considerados de la estructura

se mantiene constante cuando es analizado con discretizaciones mayores, la varia-

72

Page 89: API Sap2000 Tesis

cion de los desplazamientos maximos en la direccion radial del sistema de referencia

global se muestra en la figura(6.7).

-0.35

-0.3

-0.25

-0.2

-0.153 253 503 753 1003 1253

Figura 6.7: Desplazamiento radial maximo en funcion de la discretizacion

6.4.2.1.2. Desplazamientos en la direccion axial Los desplazamientos en

la direccion axial figura(6.8), se comporta de manera similar a los desplazamientos

radiales.

-1.55

-1.5

-1.45

-1.4

-1.35

-1.33 253 503 753 1003 1253

Figura 6.8: Desplazamiento axial maximo en funcion de la discretizacion

6.4.2.2. Tensiones

Las tensiones obtenidos con la extension esaSAP desde Sap2000 11.0.4 se mues-

tra el cuadro(6.5) para distintas discretizaciones de la seccion de revolucion de la

estructura.

73

Page 90: API Sap2000 Tesis

#n S11 S22 S33 S12

(kgf/m2) (kgf/m2) (kgf/m2) (kgf/m2)

3x1 = 3 27504.31 26624.36 168802.72 792.18

-126089.04 -30278.65 -33794.34 -30739.55

18x1 = 18 146712.92 15000.04 134216.86 31708.66

-257385.47 -35950.73 -89057.45 -79944

48x2 = 96 202451.16 39305.86 131613.64 38029.63

-269483.08 -82661.47 -105289.97 -85691.07

68x3 = 204 225465.29 60055.85 131326.33 38452.23

-276270.12 -95258.5 -109457.98 -85532.55

158x3 = 474 257272.71 67473.58 130894.12 42249.6

-288389.93 -95363.43 -108882.89 -88894.56

200x3 = 600 264519.35 69073.2 130825.27 42774.69

-290685.23 -95102.36 -108706.06 -87136.77

220x3 = 660 267207.38 69663.57 130800.39 42962.61

-290262.62 -94990.58 -108673.6 -86659.27

240x4 = 960 280668.26 82179.02 130805.69 44621.78

-287614.11 -99732.4 -109676.59 -86244.39

300x4 = 1200 291102.73 84595.92 130746.7 44800.37

-289695.21 -99417.96 -109793.03 -85445.57

330x4 = 1320 294012.49 85259.17 130732 44795.83

-288694.75 -99349.08 -109900.11 -85216

360x4 = 1440 296546.48 85833 130719 44765.02

-289070.94 -99298.16 -110024.39 -85274.09

Cuadro 6.5: Tensiones maximos en elementos utilizando

la extension

6.4.2.2.1. Tensiones en la direccion radial De los resultados que se muestra

en el cuadro(6.5) se observa que la variacion de los tensiones maximos en la direc-

74

Page 91: API Sap2000 Tesis

cion radial converge lentamente, es necesario dividir el dominio completo con 1200

elementos rectangulares de 4 nudos. Desde esta cantidad de elementos, las tensiones

en la direccion radial en los elementos considerados de la estructura se mantiene

constante cuando es analizado con discretizaciones mayores, la variacion de las ten-

siones maximas en la direccion radial del sistema de referencia local se muestra en

la figura(6.9).

0

50000

100000

150000

200000

250000

300000

350000

0 255 510 765 1020 1275

Figura 6.9: Tension radial maximo en funcion de la discretizacion

6.4.2.2.2. Tensiones en la direccion circunferencial Para encontrar resul-

tados adecuados de las tension circunferencial, es necesario la misma discretizacion

en la obtencion de las tensiones radiales. La variacion de la tension circunferencial

en funcion de la cantidad de elementos se muestra en la figura(6.10).

20000

30000

40000

50000

60000

70000

80000

90000

100000

110000

0 200 400 600 800 1000 1200 1400

Figura 6.10: Tension circunferencial maximo en funcion de la discretizacion

75

Page 92: API Sap2000 Tesis

6.4.2.2.3. Tensiones en la direccion axial Para encontrar resultados ade-

cuados de las tensiones axiales, es necesario una discretizacion menor que para la

obtencion de las tensiones radiales, para la estructura analizada basta con dividir

en 600 elementos. La variacion de la tension axial en funcion de la cantidad de

elementos se muestra en la figura(6.11).

120000

130000

140000

150000

160000

170000

180000

0 255 510 765 1020 1275

Figura 6.11: Tension axial maximo en funcion de la discretizacion

6.4.2.2.4. Tension tangencial Para encontrar resultados adecuados de las ten-

siones tangenciales, es necesario una discretizacion menor que para la obtencion de

las tensiones radiales, para la estructura analizada basta con dividir en 600 elemen-

tos. La variacion de la tension tangencial en funcion de la cantidad de elementos se

muestra en la figura(6.12).

20000

30000

40000

50000

60000

70000

80000

90000

100000

0 200 400 600 800 1000 1200 1400

Figura 6.12: Tension tangencial maximo en funcion de la discretizacion

76

Page 93: API Sap2000 Tesis

Evaluando la variacion de las tensiones:

Se observa para las tensiones en la direccion radial en figura(6.9) de la pagi-

na(6.9), que la convergencia hasta el resultado aceptable esta dado para dis-

cretizaciones mayores, tal es ası que a partir del analisis con 1200 elementos

los resultados ya no tienen tanta variacion.

Para la tension circunferencial, sucede lo mismo que para las tensiones radiales,

requiriendo discretizaciones muy finos para encontrar la solucion adecuada,

figura(6.10)

En cambio, las tensiones axiales convergen rapidamente, como se muestra en

la figura(6.11); cuando se analiza con 600 elementos finitos los resultados ya

son adecuados. Lo mismo sucede con la tension tangencial mostrada en la

figura(6.12)

6.4.2.3. Fuerzas

Las fuerzas obtenidos con la extension esaSAP desde Sap2000 11.0.4 se mues-

tra el cuadro(6.6) para distintas discretizaciones de la seccion de revolucion de la

estructura.

#n F1 F2 F3

(kgf) (kgf) (kgf)

3x1 = 3 430946.01 0 615217.56

-550145.06 0 -428229.97

18x1 = 18 357426.61 0 274920.88

-534720.09 0 -110349.95

48x2 = 96 388851.41 0 261715.37

-388851.41 0 -122229.15

38x3 = 204 300085.74 0 203011.83

-300085.74 0 -96529.17

158x3 = 474 298722.51 0 132854.26

-298722.51 0 -88593.28

77

Page 94: API Sap2000 Tesis

200x3 = 600 300454.29 0 123774.03

-300454.29 0 -90249.08

220x3 = 660 300329.81 0 120970.62

-300329.81 0 -90128.13

240x4 = 960 235455.16 0 107752.27

-235455.16 0 -71885.76

300x4 = 1200 235937.79 0 100008.18

-235937.79 0 -73315.91

330x4 = 1320 235562.95 0 98271.26

-235562.95 0 -73757.94

360x4 = 1440 235056.07 0 96891.13

-235056.07 0 -74135.75

Cuadro 6.6: Fuerzas maximos en nudos de elementos uti-

lizando la extension

6.4.2.3.1. Fuerzas radiales De los resultados que se muestra en el cuadro(6.6)

se observa que la variacion de los fuerzas maximas en la direccion radial converge len-

tamente, es necesario dividir el dominio completo con 1200 elementos rectangulares

de 4 nudos.

200000

250000

300000

350000

400000

450000

3 203 403 603 803 1003 1203 1403

Figura 6.13: Fuerza radial maximo en funcion de la discretizacion

78

Page 95: API Sap2000 Tesis

Desde esta cantidad de elementos, las Fuerzas en la direccion radial en los nudos

considerados de la estructura se mantiene constante cuando es analizado con dis-

cretizaciones mayores, la variacion de las fuerzas maximas en la direccion radial del

sistema de referencia local se muestra en la figura(6.13).

6.4.2.3.2. Fuerzas axiales Para encontrar resultados adecuados de las fuerzas

axiales, es necesario la misma discretizacion en la obtencion de las fuerzas radiales.

La variacion de las fuerzas axiales en funcion de la cantidad de elementos se muestra

en la figura(6.14).

0

100000

200000

300000

400000

500000

600000

3 208 413 618 823 1028 1233 1438

Figura 6.14: Fuerza axial maximo en funcion de la discretizacion

6.4.3. Comparacion de resultados

Comparando los resultados obtenidos por ambas alternativas propuesto en la

seccion(6.4) de la pagina(66), se observa que:

Los resultados obtenidos en la seccion(6.4.1) de la pagina(67) por parte de las

personas que colaboraron en el analisis de la estructura, difiere mucho de los

resultados esperados. Estos resultados fueron obtenidos por sus propios medios

desde el Sap2000 11.0.4

En cambio, los resultados obtenidos por el mismo personal, utilizando la ex-

tension creada ”esaSAP” mostrados desde la pagina(69) sı son los adecuados,

79

Page 96: API Sap2000 Tesis

en los graficos de la seccion(6.4.2) se muestra claramente la convergencia de

los resultados.

Ademas, la extension creada ”esaSAP” reduce el tiempo del modelamiento y

analisis de manera considerable, por esta razon es posible probar de manera au-

tomatica el comportamiento de la estructura para distintas discretizaciones de la

seccion caracterıstica de revolucion, eligiendo la respuesta conveniente.

6.5. Obtencion de refuerzos

La obtencion de refuerzos para la estructura, es solamente con fines ilustrativos,

ya que el principal objetivo de la tesis es crear una extension para automatizar

procedimientos de modelamiento y analisis de estructuras, la cual ya esta satisfecha.

6.5.1. Diseno por esfuerzo radial S11

Figura 6.15: Esfuerzo radial maximo en la zona inferior de la estructura

80

Page 97: API Sap2000 Tesis

Se considera dos zonas. Zona inferior del techo en forma de cono, en la cual se

presentan los mayores esfuerzos debido a los efectos de borde(esfuerzos de traccion y

momentos flectores no considerados) figura(6.15). Para el diseno S11 = 296.546Tonm2 es

la tension maxima, e = 0.15m es el espesor de la seccion caracterıstica de revolucion

de la estructura, b = 1.00m se considera una longitud de un metro con fines de

simplificar el analisis, Fy = 4.2Toncm2 es el esfuerzo de fluencia del acero. La fuerza

esta dado mediante T = S11 ∗ e ∗ b la cual evaluando resulta T = 44.481Ton, el

acero en la seccion analizada As = T0.9Fy

, evaluando As = 11.76cm2; el acero mınimo

esta dado por Asmin = 0.0035 ∗ b ∗ h evaluando Asmin = 5.25cm2, entonces se toma

de refuerzo As. Usar refuerzo de 12

′′a cada 20cm dos capas (10 ∗ 1.267 = 12.67cm2).

Figura 6.16: Esfuerzo radial maximo en la zona zona intermedia y superior

Zona intermedia y superior, en la cual los esfuerzos son de compresion pura, figu-

ra(6.16). La tension maxima es S11 = 57.643Tonm2 , el acero requerido As = 5.25cm2,

usar refuerzo de 12

′′a cada 20cm una capa (5 ∗ 1.267 = 6.335cm2).

81

Page 98: API Sap2000 Tesis

6.5.2. Diseno por esfuerzo Axial S33

En la zona inferior de la estructura figura(6.17). La tension maxima es S33 =

114.645Tonm2 , el acero requerido As = 5.25cm2, usar refuerzo de 1

2

′′a cada 30cm dos

capas (5 ∗ 1.267 = 6.335cm2).

Figura 6.17: Esfuerzo axial maximo en la zona inferior

De igual manera, para la parte central y superior el acero obtenido es el mınimo,

As = 5.25cm2, se usara refuerzo de 12

′′a cada 30cm en una sola capa. La figura(6.18)

muestra la distribucion de los refuerzos en la estructura.

6.6. Justificacion de los resultados

En la presente tesis los resultados obtenidos mediante el programa Sap2000

11.0.4 se ha demostrado en el Capıtulo 4 donde se presenta la justificacion de forma

detallada, mediante una plantilla programado en MathCad 14 con el metodo de los

elementos finitos ; en la cual, luego de analizar la estructura de revolucion(estructura

82

Page 99: API Sap2000 Tesis

de edificacion en forma de cono con abertura) se ha llegado a los mismos resultados

obtenidos en un analisis con Sap2000.

La extension ”esaSAP”1 ademas de automatizar el modelamiento y analisis de

techos de edificaciones especiales que tienen la forma del cono, esta implementado

tambien para automatizar los procedimientos de analisis de estructuras conicas con

abertura.

Figura 6.18: Refuerzos obtenidos para la estructura

1El nombre de la extension proviene de las iniciales de ”Extension Solid axisymmetric analysis”

83

Page 100: API Sap2000 Tesis

Parte V

Conclusiones

84

Page 101: API Sap2000 Tesis

Capıtulo 7

Conclusiones y recomendaciones

7.1. Conclusiones

7.1.1. De la metodologıa

Se justifica detalladamente los resultados del programa Sap2000 11.0.4. Con

esta finalidad se programo una plantilla mediante el Metodo de los Elemen-

tos Finitos en MathCad 14 para el analisis de estructuras que cumplen las

condiciones para ser modeladas como Solidos de Revolucion, cuyos resultados

obtenidos de un analisis efectuado en Sap2000 11.0.4 y la plantilla creada en

MathCad 14 coinciden totalmente; este es la justificacion del uso apropiado

que se tiene del programa sap2000 11.0.4.

Con esta justificacion, fue posible automatizar el proceso de analisis mediante

la Interface de Programacion para Aplicaciones de Sap2000 desde el lengua-

je de programacion Microsoft Visual c#, para estructuras que cumplen las

condiciones para ser modeladas como solidos axisimetricos. En la extension

esaSAP v1.2.0 solamente esta disponible estructuras de techos de edificacio-

nes especiales que tienen la forma de cono ya sea completo o con abertura,

mas estructuras de revolucion se ira anadiendo en las proximas versiones.

En la presente tesis se ha logrado implementar un modulo para el analisis

automatico en Sap2000 que por defecto no dispone de esta opcion.

85

Page 102: API Sap2000 Tesis

Se cumplio con todos los objetivos establecidos en el desarrollo de la presente

tesis.

7.1.2. De los resultados

Los resultados obtenidos mediante el Metodo de los Elementos Finitos son

aproximados, siendo el calculista el encargado de decidir sobre la respuesta

adecuada, y para esto, se debe tener el conocimiento suficiente sobre la meto-

dologıa aplicada.

Para encontrar la respuesta adecuada se procede refinando la malla de los

elementos finitos iniciando con una division conservador, el procedimiento se

repite hasta que entre los resultados de un analisis anterior y la actual la

diferencia sea el que establezca, a su juicio, el calculista.

En el analisis de estructuras modeladas como Solidos de Revolucion el pri-

mer resultado en converger son los desplazamientos en los nudos considerados,

requiriendo divisiones muy finos para encontrar una convergencia a nivel de

esfuerzos.

7.1.3. Aplicaciones utilizados

El desarrollo de la presente Tesis no hubiera sido posible sin el adecuado uso de

las siguientes aplicaciones.

MathCad 14 Programa especializado para la elaboracion de informes tecnicos de-

tallados. El programa Mathcad en su version 14 fue fundamental para el en-

tendimiento adecuado del Metodo de los Elementos Finitos, se aprovecho de

manera acertada para la documentacion de los procedimiento del analisis y la

justificacion de resultados de Sap2000 11.0.4.

Microsoft Visual Studio 2009 Express Edition Entorno de desarrollo integra-

do que hace facil y ameno la creacion de aplicaciones. Es desde este editor que

se programo esaSAP con el lenguaje de programacion Microsoft Visual c#

86

Page 103: API Sap2000 Tesis

enlazandolo con la Interface de Programacion para Aplicaciones de Sap2000

para automatizar el procedimiento de analisis.

Sap2000 11.0.4 Programa para el analisis y diseno de estructuras, en la tesis no

solo se utiliza Sap2000 en la manera comun; se justifica el resultado de analisis

mediante el Metodo de los elementos Finitos y se automatiza los procedimien-

tos.

7.1.4. Lenguajes de programacion

En el desarrollo de la Tesis fue necesario utilizar los siguientes lenguajes de

programacion.

Microsoft Visual C# Lenguaje de programacion completamente orientado a ob-

jetos, desde el cual se integro la Interface de Programacion para Aplicaciones

de Sap2000.

MathCad 14 Programming Para el analisis mediante el Metodo de los Elemen-

tos Finitos de estructuras modeladas como Solidos de Revolucion con la fina-

lidad de justificar los resultados de Sap2000.

APISap2000 Si bien la Interface de Programacion para Aplicaciones no es un

lenguaje de programacion propiamente dicho, sino un conjuntos de metodos,

funciones, variables,etc contenidos bajo un nombre comun, su aplicacion fue

decisivo para automatizar el proceso de analisis en Sap2000 desde aplicaciones

externas.

7.2. Recomendaciones

Para utilizar un programa computacional en el Analisis de Estructuras es con-

veniente tener un conocimiento adecuado de las bases numericas que se fundamenta

la aplicacion, solo ası se estara en la capacidad de interactuar correctamente con el

programa.

87

Page 104: API Sap2000 Tesis

7.3. Desarrollos futuros

Con la presente Tesis los interesados en crear extensiones para Sap2000 desde

cualquier lenguaje de programacion disponen de una documentacion detalla-

da, ademas la extension creada esaSAP v1.2.0 cuenta con opciones para ser

ampliada; el interesado no tiene mas que anadir la estructura de revolucion de

su preferencia.

Es posible implementar a la plantilla creada en MathCad 14 para el analisis de

estructuras con distintos elementos finitos y para todo proposito, con la finali-

dad de documentar los resultados y justificar el analisis de cualquier programa

que se fundamente en el Metodo de los Elementos Finitos.

88

Page 105: API Sap2000 Tesis

Bibliografıa

[1] David V. Hutton. Fundamentals of Finite Element Analysis. McGraw-Hill,

2004.

[2] G. R. Liu and S. S. Quek. The Finite Element Method, a Practical Course.

Butterworth-Heinemann, 2003.

[3] Singiresu R. Rao. The Finite Element Method in Engineering. Elsevier Science

- Tecnology Books, 2004.

[4] Eugenio Onate Ibanez de Navarra. Calculo de Estrucuras por el Metodo de

Elementos Finitos. Centro Internacional de Metodos Numericos en Ingenierıa

- CIMNE, 1992.

[5] O. C. Zienkiewicz R. L. taylor. El Metodo de los Elementos Finitos en Inge-

nierıa, Formulacion Basica y Problemas Lineales, volume 1. Centro Interna-

cional de Metodos Numericos en Ingenierıa - CIMNE, cuarta edition, 1993.

[6] Francisco Beltran. Teorıa general del Metodo de los Elementos Finitos. Depar-

tamento de Mecanica Estructural y construcciones Industriales - ETS Ingenieros

Industriales Madrid, notas de clase, curso doctorado 1998-99 edition, 1999.

[7] Ansys-CivilFem. Introduccion al Metodo de los Elementos Finitos, 2003.

[8] Tirupathi R. Chandrupatla ashok D. Belegundu. Introduccion al estudio del

Elemento Finito en Ingenierıa. Prentice Hall, 1999.

[9] Jorge Eduardo Hurtado. Introduccion al analisis estructural por elementos

finitos. Universidad nacional de Colombia - Sede Manizales, 1992.

89

Page 106: API Sap2000 Tesis

[10] Esteban Ortiz Bosmans. Modelamiento y Analisis de Estructuras en Sap2000

v10. Empresa editorial MACRO E.I.R.L, 2006.

[11] CSI Computers and Structures INC. CSI Analysis Reference manual For

Sap2000, Etabs, and Safe, June 2008.

[12] Robert D. Cook. Concepts and Applications of Finite Element Analysis. John

Wiley - Sons Inc., 1995.

[13] Jose Marıa Fornons. El Metodo de los Elementos Finitos en la Ingenierıa de

Estructuras. Universidad Politecnica de Barcelona, 1982.

[14] Young W. Kwan and Huochoong Bang. The Finite Element Method Using

MATLAB. CRC press LLC, 1997.

[15] I. M. Smith and D. V. Griffiths. Programming The Finite Element method.

Jhon Wiley - Sons Inc., 1988.

[16] Santiago Muelas Medrano. Curso Basico de Programacion del Metodo de los

Elementos Finitos, Julio 1999.

[17] Peter I. Kattan. Matlab Guide to Finite Elements, An Interactive Approach.

Springer, 2002.

[18] Sergio Gallegos Cazares. Analisis de Solidos y Estructural mediante el Metodo

de los Elementos Finitos. Limusa, 2008.

[19] Jason Beres Pierre Boutquin y Meeta gupta Jeff ferguson, Brian Patterson. La

biblia de c#. Anaya Multimedia, 2003.

[20] Francisco Charte Ojeda. Programacion, Microsoft Visual C# .NET. Anaya

Multimedia, 2003.

[21] Jose Antonio Gonzalez Seco. Programando en c#. 2002.

[22] Computers and Inc Structures. Sap2000 API Documentation, 2008.

90

Page 107: API Sap2000 Tesis

[23] Fco. Javier Ceballos. El Lenguaje de Programacion C#. Alfaomega Ra-Ma,

2002.

[24] Parametric Tecnology Corporation PTC. Manual de Usuario, mathcad 14.0.0.

Parametric Tecnology Corporation PTC, 2007.

[25] Metacontrol Ingenieros Ltda. mathsoft Capturing Imagination, 1998.

[26] MathSoft. Mathcad Reference Manual. MathSoft, 2001.

[27] Reglamento Nacional de Edificaciones. Institulo de la Construccion y Gerencia,

2006.

91

Page 108: API Sap2000 Tesis

Parte VI

Anexos

92

Page 109: API Sap2000 Tesis

Apendice A

Codigo fuente ”esaSAP”

A.1. Codigo fuente clase SapApi-Asolid

1 class SapApi Asol id2 {3 // Implementa l a i n t e r f a z en un ob je to4 SAP2000 . SapObject SapObjeto = new SAP2000 . SapObject ( ) ;5 long r e t ;6 public void AbrirSap2000 ( )7 {8 /∗9 ∗ Metodo para i n i c i a l i z a r SAP2000 y c r ea r un modelo nuevo en

blanco10 ∗ e s t e metodo es gene ra l11 ∗/12 SapObjeto . App l i c a t i onSta r t (SAP2000 . eUnits . kgf m C , true , ”” ) ;13 r e t = SapObjeto . SapModel . In i t i a l i z eNewMode l (SAP2000 . eUnits .

kgf m C ) ;14 r e t = SapObjeto . SapModel . F i l e . NewBlank ( ) ;15 }16

17 void Ref r e s ca r ( )18 {19 // a c t u a l i z a e l e spac i o modelo de SAP200020 bool Window = fa l se ;21 r e t = SapObjeto . SapModel . View . RefreshView (0 , ref Window) ;22 // r e t = SapObjeto . SapModel . View . RefreshWindow (0) ;23

24 }25

26 public void Cerrar ( )27 {28 // c i e r r a l a a p l i c a c i o n29 SapObjeto . App l i ca t ionEx i t ( fa l se ) ;30 SapObjeto . SapModel = null ;31 SapObjeto = null ;32 }33

93

Page 110: API Sap2000 Tesis

34 public void Def in i rProp iedad (double Pe , double e , double u)35 {36 /∗ Metodo para d e f i n i r una propiedad en 2D t ipo Aso l id37 ∗ Argumentos :38 ∗ name : nombre para l a propiedad39 ∗ Pe : peso e s p e c ı f i d e l mate r i a l40 ∗ e : modulo de e l a s t i c i d a d de l mate r i a l [ kg f /m2]41 ∗ u : c o e f i c i e n t e de po i s son42 ∗ a : c o e f i c i e n t e de expansi on t e rmico43 ∗ Temp:44 ∗/45 // crea e l mate r i a l46 SAP2000 . eMatType Mater ia l = SAP2000 . eMatType .MATERIAL CONCRETE;47 r e t = SapObjeto . SapModel . PropMateria l . Se tMater ia l ( ”MyMaterial ” ,

Mater ia l , −1, ”” , ”” ) ;48 // peso e s p e c ı f i c o de l concre to49 r e t = SapObjeto . SapModel . PropMateria l . SetWeightAndMass ( ”

MyMaterial ” , 1 , Pe , 0) ;50

51 // d e f i n e prop iedades para mate r i a l i s o t r o p o52 r e t = SapObjeto . SapModel . PropMateria l . SetMPIsotropic ( ”

MyMaterial ” , e , u , 9 .900E−06, 0) ;53 // d e f i n e propiedad de s o l i d o ax ixymetr i co54 r e t = SapObjeto . SapModel . propArea . SetAso l id ( ”MyAsolid” , ”

MyMaterial ” , 0 , 360 , true , ” Global ” , −1, ”” , ”” ) ;55

56 }57

58 public void ZUCS(double Z , double Tp, double S , double U, double R,double Ti , double vT , double Tf )

59 {60 /∗ Metodo para d e f i n i r l a a c e l e r a c i o n pseudo e s p e c t r a l con e l

reglamento peruano E03061 ∗ Z : Factor de zona62 ∗ Tp: Ace l e rac i o n fundamental de l su e l o63 ∗ S :64 ∗ C: Factor de a m p l i f i c a c i o n s ı sm i ca65 ∗ U: Categor ıa d e d i f i c a c i o n e s66 ∗ R:67 ∗/68

69 double C, n , Sao ;70 System . Array T; System . Array Sa ;71 //numero de e lementos de l a r r e g l o72 n = ( Tf − Ti ) / vT + 1 ;73 // i n i c i a l i z a n d o l o s v e c t o r e s con n elementos74 T = new double [ ( int )n ] ; Sa = new double [ ( int )n ] ;75 // i n s e r t a e lementos a l o s v e c t o r e s76 for ( int i = 0 ; i <= Sa . Length − 1 ; i++)77 {78 // tiempo79 T. SetValue ( Ti , i ) ;80 // c o e f i c i e n t e de a m p l i f i c a c i o n s ı sm i ca81 C = 2.5 ∗ (Tp / Ti ) ;82 i f (C > 2 . 5 )83 {84 C = 2 . 5 ;85 }

94

Page 111: API Sap2000 Tesis

86 // l a a c e l e r a c i o n pseudo e s p e c t r a l Sa [ ad imens iona l ]87 Sao = Z ∗ U ∗ C ∗ S / R;88 Sa . SetValue ( Sao , i ) ;89 // aumenta e l tiempo90 Ti = Ti + vT ;91 }92 // exporta a SAP200093 r e t = SapObjeto . SapModel . Func . FuncRS . SetUser ( ”ZUCS” , T. Length ,

ref T, ref Sa , 0 . 0 5 ) ;94

95 }96

97 public void Def in i rCargas ( )98 {99 /∗

100 ∗ Modulo gene ra l que d e f i n e cargas101 ∗/102 // 1 : Load patern , d e f i n e t i p o s de cargas103 // r e t = SapObjeto . SapModel . LoadPatterns . Add(”LIVE” , SAP2000 .

eLoadPatternType . LTYPE LIVE, 0 , t rue ) ;104 r e t = SapObjeto . SapModel . LoadCases . Add( ”LIVE” , SAP2000 .

eLoadcaseType . LTYPE LIVE, 0 , true ) ;105 // r e t = SapObjeto . SapModel . LoadPatterns . Add(”DEAD” , SAP2000 .

eLoadPatternType .LTYPE DEAD, 1 , t rue ) ;106 r e t = SapObjeto . SapModel . LoadCases . Add( ”DEAD” , SAP2000 .

eLoadcaseType .LTYPE DEAD, 1 , true ) ;107

108 // 2 : Load ca s e s , d e f i n e casos de a n a l i s i s , s o l o f a l t a porsismo

109 // d e f i n e caso de carga de e spe c t r o de repues ta110 // r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetCase (”

QUAKE”) ;111 r e t = SapObjeto . SapModel . Analys i sCases . ResponseSpectrum . SetCase

( ”QUAKE” ) ;112

113 // propiedades para e l caso de a n a l i s i s por r e spue s ta e s p e c t r a l114 System . Array MyLoadName , MyFunc , MySF, MyCSys , MyAng;115 MyLoadName = new string [ 3 ] {”U1” , ”U2” , ”U3” } ;116 //MyLoadName . SetValue (”U1” , 0) ; MyLoadName . SetValue (”U2” , 1) ;

MyLoadName . SetValue (”U3” , 2) ;117 MyFunc = new string [ 3 ] { ”ZUCS” , ”ZUCS” , ”ZUCS” } ;118 //MyFunc . SetValue (”ZUCS” , 0) ; MyFunc . SetValue (”ZUCS” , 1) ;

MyFunc . SetValue (”ZUCS” , 2) ;119 MyCSys = new string [ 3 ] { ” Global ” , ” Global ” , ” Global ” } ;120 //MyCSys . SetValue (” Global ” , 0) ; MyCSys . SetValue (” Global ” , 1) ;

MyCSys . SetValue (” Global ” , 2) ;121 MySF = new double [ 3 ] { 9 . 8 1 , 9 . 8 1 , 6 . 5 4 } ;122 //MySF. SetValue ( 9 . 8 1 , 0) ; MySF. SetValue ( 9 . 8 1 , 1) ; MySF. SetValue

( 6 . 5 4 , 2) ;123 MyAng = new double [ 3 ] ;124 // d e f i n e e l caso de carga por r e spue s ta e s p e c t r a l125 // r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetLoads

(”QUAKE” , 3 , r e f MyLoadName , r e f MyFunc , r e f MySF, r e fMyCSys , r e f MyAng) ;

126 r e t = SapObjeto . SapModel . Analys i sCases . ResponseSpectrum .SetLoads ( ”QUAKE” , 3 , ref MyLoadName , ref MyFunc , ref MySF,ref MyCSys , ref MyAng) ;

127

95

Page 112: API Sap2000 Tesis

128 // 3 : combinaciones de carga129 //SAP2000 . eCType TypeC = SAP2000 . eCType . LoadCase ;130 SAP2000 . eCType TypeC = SAP2000 . eCType . acase ;131 // 1 . 5 (CM) +1.8(CV)132 r e t = SapObjeto . SapModel . RespCombo . Add( ” 1 . 5 (CM) +1.8(CV) ” , 0) ;133 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 5 (CM) +1.8(CV)

” , ref TypeC , ”DEAD” , 1 . 5 ) ;134 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 5 (CM) +1.8(CV)

” , ref TypeC , ”LIVE” , 1 . 8 ) ;135 // 1 . 2 5 (CM+CV+CS)136 r e t = SapObjeto . SapModel . RespCombo . Add( ” 1 . 2 5 (CM+CV+CS) ” , 0) ;137 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV+CS) ”

, ref TypeC , ”DEAD” , 1 . 2 5 ) ;138 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV+CS) ”

, ref TypeC , ”LIVE” , 1 . 2 5 ) ;139 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV+CS) ”

, ref TypeC , ”QUAKE” , 1 . 2 5 ) ;140 // 1 . 2 5 (CM+CV−CS)141 r e t = SapObjeto . SapModel . RespCombo . Add( ” 1 . 2 5 (CM+CV−CS) ” , 0) ;142 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV−CS) ”

, ref TypeC , ”DEAD” , 1 . 2 5 ) ;143 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV−CS) ”

, ref TypeC , ”LIVE” , 1 . 2 5 ) ;144 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 1 . 2 5 (CM+CV−CS) ”

, ref TypeC , ”QUAKE” , −1.25) ;145 // 0 . 9 (CM) +1.25(CS)146 r e t = SapObjeto . SapModel . RespCombo . Add( ” 0 . 9 (CM) +1.25(CS) ” , 0) ;147 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 0 . 9 (CM) +1.25(CS

) ” , ref TypeC , ”DEAD” , 0 . 9 ) ;148 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 0 . 9 (CM) +1.25(CS

) ” , ref TypeC , ”QUAKE” , 1 . 2 5 ) ;149 // 0 . 9 (CM) −1.25(CS)150 r e t = SapObjeto . SapModel . RespCombo . Add( ” 0 . 9 (CM) −1.25(CS) ” , 0) ;151 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 0 . 9 (CM) −1.25(CS

) ” , ref TypeC , ”DEAD” , 0 . 9 ) ;152 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ” 0 . 9 (CM) −1.25(CS

) ” , ref TypeC , ”QUAKE” , −1.25) ;153 //ENVOLVENTE154 //TypeC = SAP2000 . eCType . LoadCombo ;155 TypeC = SAP2000 . eCType .RCombo;156 r e t = SapObjeto . SapModel . RespCombo . Add( ”ENVOLVENTE” , 1) ;157 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ”ENVOLVENTE” ,

ref TypeC , ” 1 . 5 (CM) +1.8(CV) ” , 1) ;158 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ”ENVOLVENTE” ,

ref TypeC , ” 1 . 2 5 (CM+CV+CS) ” , 1) ;159 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ”ENVOLVENTE” ,

ref TypeC , ” 1 . 2 5 (CM+CV−CS) ” , 1) ;160 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ”ENVOLVENTE” ,

ref TypeC , ” 0 . 9 (CM) +1.25(CS) ” , 1) ;161 r e t = SapObjeto . SapModel . RespCombo . SetCaseLi s t ( ”ENVOLVENTE” ,

ref TypeC , ” 0 . 9 (CM) −1.25(CS) ” , 1) ;162

163 }164

165 public void MasaEstructura ( )166 {167 /∗ Conf igura para l a s c o n s i d e r a c i o n e s de masa ∗/168 System . Array MyLoadPat = new string [ 2 ] { ”DEAD” , ”LIVE” } ;

96

Page 113: API Sap2000 Tesis

169 System . Array MySF = new double [ 2 ] { 1 , 0 .25 } ;170 r e t = SapObjeto . SapModel . PropMateria l . SetMassSource (3 , 2 , ref

MyLoadPat , ref MySF) ;171

172 }173

174 public string ConoCompleto (double R1 , double Altura , double Espesor)

175 {176 // Dibuja s e c c i o n de r e v o l u c i o n c a r a c t e r ı s t i c a de un cono

completo177 System . Array x = new double [ 4 ] { R1 , 0 , 0 , R1 } ;178 System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 } ;179 System . Array z = new double [ 4 ] { 0 , Altura , Altura + Espesor ,

Espesor } ;180 // d ibuja elemento A¡rea181 string MyArea = ”” ;182 r e t = SapObjeto . SapModel . AreaObj . AddByCoord (4 , ref x , ref y ,

ref z , ref MyArea , ”MyAsolid” , ”” , ” Global ” ) ;183 Re f r e s ca r ( ) ;184 return MyArea ;185 }186

187 public string ConoConAbertura (double R1 , double R2 , double Altura ,double Espesor )

188 {189 // Dibuja s e c c i o n de r e v o l u c i o n c a r a c t e r ı s t i c a de un cono con

abertura190 System . Array x = new double [ 4 ] { R1 , R2 , R2 , R1 } ;191 System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 } ;192 System . Array z = new double [ 4 ] { 0 , Altura , Altura + Espesor ,

Espesor } ;193 // d ibuja elemento A¡rea194 string MyArea = ”” ;195 r e t = SapObjeto . SapModel . AreaObj . AddByCoord (4 , ref x , ref y ,

ref z , ref MyArea , ”MyAsolid” , ”” , ” Global ” ) ;196 Re f r e s ca r ( ) ;197 return MyArea ;198 }199

200 public void AsignarCargas ( string MyArea , double CargaMuerta , doubleCargaViva )

201 {202 //modulo para a s i gna r cargas de pr e s i o n a s u p e r f i c i e s .203 // carga muerta204 r e t = SapObjeto . SapModel . AreaObj . SetLoadSur facePressure (MyArea ,

”DEAD” , 3 , CargaMuerta , ”” , true , SAP2000 . eItemType . Object) ;

205 r e t = SapObjeto . SapModel . AreaObj . SetLoadSur facePressure (MyArea ,”LIVE” , 3 , CargaViva , ”” , true , SAP2000 . eItemType . Object ) ;

206 Re f r e s ca r ( ) ;207 }208

209 public void Rectangulos4Nodos ( string MyArea , int NroDiv12 , intNroDiv13 )

210 {211 //Metodo para d ibu ja r e lementos r e c t a n g u l a r e s212 //mesh

97

Page 114: API Sap2000 Tesis

213 int NumberAreas = 1 ;214 System . Array AreaName = new string [ 1 0 ] ;215 r e t = SapObjeto . SapModel . EditArea . Divide (MyArea , 1 , ref

NumberAreas , ref AreaName , NroDiv12 , NroDiv13 , 2 , 2 , false, false , false , false , 0 , 0 , true , true , true , fa l se ) ;

216 Re f r e s ca r ( ) ;217 }218

219 public void AsignarSopotesEnBase (double R1 , double Espesor , intNroDiv12 )

220 {221

222 double Xmax, Ymax, Zmax , Xmin , Ymin , Zmin ;223 // Asigna sopo r t e s en l a base224 System . Array Value = new bool [ 6 ] { true , false , true , false ,

false , fa l se } ;225 double a = (R1 / NroDiv12 ) / 2 ;226 Xmax = R1 + a ; Xmin = R1 − a ;227 Ymax = 0 ; Ymin = 0 ;228 Zmax = Espesor ; Zmin = 0 ;229 r e t = SapObjeto . SapModel . Se lectObj . CoordinateRange (Xmin , Xmax,

Ymin , Ymax, Zmin , Zmax , false , ” Global ” , false , true , false, false , false , fa l se ) ;

230 r e t = SapObjeto . SapModel . PointObj . Se tRes t ra in t ( ” Al l ” , ref Value, SAP2000 . eItemType . Se l e c t edObje c t s ) ;

231 r e t = SapObjeto . SapModel . Se lectObj . C l e a r S e l e c t i o n ( ) ;232 Re f r e s ca r ( ) ;233 }234

235 public void AsignarSoportesEnCentro (double R1 , double Altura ,double Espesor , int NroDiv12 )

236 {237 double Xmax, Ymax, Zmax , Xmin , Ymin , Zmin ;238 // Asigna sopo r t e s en l a base239 System . Array Value = new bool [ 6 ] { true , false , false , false ,

false , fa l se } ;240 double a = (R1 / NroDiv12 ) / 2 ;241 Xmax = 0 + a ; Xmin = 0 − a ;242 Ymax = 0 ; Ymin = 0 ;243 Zmax = Altura + Espesor ; Zmin = Altura ;244 r e t = SapObjeto . SapModel . Se lectObj . CoordinateRange (Xmin , Xmax,

Ymin , Ymax, Zmin , Zmax , false , ” Global ” , false , true , false, false , false , fa l se ) ;

245 r e t = SapObjeto . SapModel . PointObj . Se tRes t ra in t ( ” Al l ” , ref Value, SAP2000 . eItemType . Se l e c t edObje c t s ) ;

246 r e t = SapObjeto . SapModel . Se lectObj . C l e a r S e l e c t i o n ( ) ;247 Re f r e s ca r ( ) ;248 }249

250 public void Anal i zar ( string NombreArchivo )251 {252 //Modulo para a n a l i z a r l a e s t r u c t u r a253 // grados de l i b e r t a d cons ide rados en e l a n A ¡ l i s i s254 System . Array GDL = new bool [ 6 ] { true , false , true , false , true

, fa l se } ;255 r e t = SapObjeto . SapModel . Analyze . SetActiveDOF ( ref GDL) ;256 // crea un modelo de a n a l i s i s257 r e t = SapObjeto . SapModel . Analyze . CreateAnalys isModel ( ) ;

98

Page 115: API Sap2000 Tesis

258 // opc iones de l s o luc i onador de ecuac ione s de SAP2000259 // r e t = SapObjeto . SapModel . Analyze . SetSo lverOpt ion (1 , true , ”

DEAD”) ;260 //Guarda modelo261 r e t = SapObjeto . SapModel . F i l e . Save ( ”D:\\FEM APISAP PRUEBA\\” +

NombreArchivo ) ;262 // a n a l i s i s263 r e t = SapObjeto . SapModel . Analyze . RunAnalysis ( ) ;264 // Sa l ida de r e s u l t a d o s265 r e t = SapObjeto . SapModel . Resu l t s . Setup .

DeselectAllCasesAndCombosForOutput ( ) ;266 r e t = SapObjeto . SapModel . Resu l t s . Setup . SetCaseSelectedForOutput

( ”DEAD” , true ) ;267 }268 }

A.2. Codigo fuente ”esaSAP”

1 using System ;2 using System . C o l l e c t i o n s . Gener ic ;3 using System . ComponentModel ;4 using System . Data ;5 using System . Drawing ;6 using System . Linq ;7 using System . Text ;8 using System . Windows . Forms ;9

10 namespace AsolidCono11 {12 public p a r t i a l class AsolidCono : Form13 {14 // ob j e to SAP2000 para toda l a c l a s e der ivada AsolidCono15 SapApi Asol id MySap ;16 // ind i cador para AbrirSAP2000 o c r ea r un modelo17 // i n t a = 0 ;18 // dimens iones de l cono19 public stat ic double Altura , R1 , Espesor , R2 ;20 // d i v i s i o n de l a s e c c i o n de r e v o l u c i o n21 // pub l i c s t a t i c double Var iac i on ; Este desaparece22 public stat ic int Nrodiv12 , Nrodiv13 ;23 // propiedad de m a t e r i a l e s24 public stat ic double PesoEsp , Rconcreto , Coe fpo i s son ; //

Coeftermico ;25 // cargas26 public stat ic double Cargamuerta , Cargaviva ;27 // func i on a c e l e r a c i o n pseudo e s p e c t r a l28 public stat ic double Z , Tp, S , U, R, vT , Tf ;29 // i n d i c a l a forma de l a e s t r u c t u r a30 /∗ 1 : cono completo31 ∗ 2 : cono con abertura32 ∗ 3 : domo completo33 ∗ 4 : como con abertura34 ∗ . . . . . y s i gue35 ∗/

99

Page 116: API Sap2000 Tesis

36 int FormaEstructura ;37

38 public AsolidCono ( )39 {40 In i t i a l i z eComponent ( ) ;41 // e s t r u c t u r a predeterminada cono completo42 FormaEstructura = 1 ;43 txtR2 . Enabled = fa l se ;44 }45

46 private stat ic string Mensaje ( int a )47 {48 switch ( a )49 {50 case 1 :51 return ” Altura de l cono , i n d e f i n i d o ” ;52 case 2 :53 return ”Radio ( r1 ) de l cono , i n d e f i n i d o ” ;54 case 3 :55 return ” Espesor de l cono , i n d e f i n i d o ” ;56 case 4 :57 return ”Numero de Div1−2, i n d e f i n i d o ” ;58 case 5 :59 return ”Numero de Div1−3, i n d e f i n i d o ” ;60 case 6 :61 return ” E l i j a l a forma de e s t r u c t u r a ” ; //ya no

e x i s t e v a r i a c i o n62 case 7 :63 return ”Peso E s p e c ı f i c o , i n d e f i n i d o ” ;64 case 8 :65 return ” f ’ c , i n d e f i n i d o ” ;66 case 9 :67 return ” C o e f i c i e n t e de Poisson , i n d e f i n i d o ” ;68 case 10 :69 return ”Radio ( r2 ) de l cono , i n d e f i n i d o ” ; // anadido

rad io 270 case 11 :71 return ” carga muerta , i n d e f i n i d o ” ;72 case 12 :73 return ” carga viva , i n d e f i n i d o ” ;74 case 13 :75 return ”Z , i n d e f i n i d o ” ;76 case 14 :77 return ”Tp, i n d e f i n i d o ” ;78 case 15 :79 return ”S , i n d e f i n i d o ” ;80 case 16 :81 return ”U, i n d e f i n i d o ” ;82 case 17 :83 return ”R, i n d e f i n i d o ” ;84 case 18 :85 return ”vT , i n d e f i n i d o ” ;86 case 19 :87 return ”Tf , i n d e f i n i d o ” ;88 case 20 :89 return ” . . . y s i gue ” ;90 default :91 return ”Todo Bien” ;

100

Page 117: API Sap2000 Tesis

92 }93 }94

95 private stat ic void MostrarMensaje ( string t exto )96 {97 MessageBox . Show( texto , ”AsolidCono” , MessageBoxButtons .OK,

MessageBoxIcon . In format ion ) ;98 }99

100 private bool Veri f i carArgumentos ( )101 {102 // ordena argumentos y v e r i f i c a103 // Def ine e l cono104 // Altura de l cono105 i f ( txtAltura . Text == ”” )106 {107 MostrarMensaje ( Mensaje (1 ) ) ;108 return true ;109 }110 Altura = double . Parse ( txtAltura . Text ) ;111 //Radio de l cono112 i f ( txtR1 . Text == ”” )113 {114 MostrarMensaje ( Mensaje (2 ) ) ;115 return true ;116 }117 R1 = double . Parse ( txtR1 . Text ) ;118 // Espesor de l cono119 i f ( txtEspesor . Text == ”” )120 {121 MostrarMensaje ( Mensaje (3 ) ) ;122 return true ;123 }124 Espesor = double . Parse ( txtEspesor . Text ) ;125 // D i v i s i o n e s de l dominio126 // D i v i s i o n e s en 1−2127 i f ( txtNrodiv12 . Text == ”” )128 {129 MostrarMensaje ( Mensaje (4 ) ) ;130 return true ;131 }132 Nrodiv12 = int . Parse ( txtNrodiv12 . Text ) ;133 // D i v i s i o n e s en 1−3134 i f ( txtNrodiv13 . Text == ”” )135 {136 MostrarMensaje ( Mensaje (5 ) ) ;137 return true ;138 }139 Nrodiv13 = int . Parse ( txtNrodiv13 . Text ) ;140 // Var iac i on Li / Lf141 /∗ i f ( tx tVar i ac i on . Text == ””)142 {143 MostrarMensaje ( Mensaje (6 ) ) ;144 re turn true ;145 }146 Var iac ion = double . Parse ( tx tVar iac i on . Text ) ; ∗/147 // Propiedades de l o s m a t e r i a l e s148 // Peso E s p e c ı f i c o

101

Page 118: API Sap2000 Tesis

149 i f ( t x t P e s o e s p e c i f i c o . Text == ”” )150 {151 MostrarMensaje ( Mensaje (7 ) ) ;152 return true ;153 }154 PesoEsp = double . Parse ( t x t P e s o e s p e c i f i c o . Text ) ;155 // R e s i s t e n c i a de l concre to156 i f ( txtRes i sConcreto . Text == ”” )157 {158 MostrarMensaje ( Mensaje (8 ) ) ;159 return true ;160 }161 Rconcreto = double . Parse ( txtRes i sConcreto . Text ) ;162 // C o e f i c i e n t e de Poisson163 i f ( tx tCoe fpo i s son . Text == ”” )164 {165 MostrarMensaje ( Mensaje (9 ) ) ;166 return true ;167 }168 Coefpo i s son = double . Parse ( tx tCoe fpo i s son . Text ) ;169 // C o e f i c i e n t e de expansi on t e rmico era170 // ahora es e l rad io f i n a l , r2171 i f ( txtR2 . Text == ”” )172 {173 MostrarMensaje ( Mensaje (10) ) ;174 return true ;175 }176 R2 = double . Parse ( txtR2 . Text ) ;177 // cargas178 // carga muerta179 i f ( txtCargamuerta . Text == ”” )180 {181 MostrarMensaje ( Mensaje (11) ) ;182 return true ;183 }184 Cargamuerta = double . Parse ( txtCargamuerta . Text ) ;185 //Carga viva186 i f ( txtCargaviva . Text == ”” )187 {188 MostrarMensaje ( Mensaje (12) ) ;189 return true ;190 }191 Cargaviva = double . Parse ( txtCargaviva . Text ) ;192 // pub l i c s t a t i c double Z , Tp, S , U, R, vT , Tf ;193 // Funcion a c e l e r a c i o n Pseudo e s p e c t r a l194 //Z195 i f ( txtZ . Text == ”” )196 {197 MostrarMensaje ( Mensaje (13) ) ;198 return true ;199 }200 Z = double . Parse ( txtZ . Text ) ;201 //Tp202 i f ( txtTp . Text == ”” )203 {204 MostrarMensaje ( Mensaje (14) ) ;205 return true ;206 }

102

Page 119: API Sap2000 Tesis

207 Tp = double . Parse ( txtTp . Text ) ;208 //S209 i f ( txtS . Text == ”” )210 {211 MostrarMensaje ( Mensaje (15) ) ;212 return true ;213 }214 S = double . Parse ( txtS . Text ) ;215 //U216 i f ( txtU . Text == ”” )217 {218 MostrarMensaje ( Mensaje (16) ) ;219 return true ;220 }221 U = double . Parse ( txtU . Text ) ;222 //R223 i f ( txtR . Text == ”” )224 {225 MostrarMensaje ( Mensaje (17) ) ;226 return true ;227 }228 R = double . Parse ( txtR . Text ) ;229 //vT230 i f ( txtVt . Text == ”” )231 {232 MostrarMensaje ( Mensaje (18) ) ;233 return true ;234 }235 vT = double . Parse ( txtVt . Text ) ;236 //Tf237 i f ( txtTf . Text == ”” )238 {239 MostrarMensaje ( Mensaje (19) ) ;240 return true ;241 }242 Tf = double . Parse ( txtTf . Text ) ;243 // . . . . . . . s i guen mas mensajes ( s )244 return fa l se ;245 }246

247 void Procedimiento ( )248 {249 //Metodo para a n a l i z a r en SAP2000250 // v e r i f i c a r argumentos251 i f ( Ver i f i carArgumentos ( ) )252 {253 return ;254 }255 // s i todos l o s argumentos son c o r r e c t o s se e j e c u t a256 // crea ob j e to MySAP2000257 MySap = new SapApi Asol id ( ) ;258 // I n i c i a l i z a o crea nuevo modelo de , segun259 MySap . AbrirSap2000 ( ) ;260 // d e f i n e propiedad de l elemento261 double ModE = 15E7 ∗ Math . Sqrt ( Rconcreto ) ;262 MySap . De f in i rProp iedad ( PesoEsp , ModE, Coe fpo i s son ) ;263 // d e f i n e func i on a c e l e r a c i o n pseudo e s p e c t r a l264 MySap .ZUCS(Z , Tp, S , U, R, 0 . 1 , vT , Tf ) ;

103

Page 120: API Sap2000 Tesis

265 // d e f i n e cargas , ca sos de a n a l i s i s y combinaciones de carga266 MySap . De f in i rCargas ( ) ;267 //masa de l a e s t r u c t u r a268 MySap . MasaEstructura ( ) ;269 //nombre de l A ¡rea270 string MyArea = ”” ;271

272 switch ( FormaEstructura )273 {274 case 1 : //Cono completo275 // obt i ene nombre de l o s frames r e s u l t a d o de

extrudar276 MyArea = MySap . ConoCompleto (R1 , Altura , Espesor ) ;277 // as igna cargas278 MySap . AsignarCargas (MyArea , Cargamuerta , Cargaviva )

;279 // devuelve l o s nombres de l o s e lementos cargados280 MySap . Rectangulos4Nodos (MyArea , Nrodiv12 , Nrodiv13 )

;281 // sopo s t e s en l a base282 MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;283 // sopo r t e s en e l cent ro284 MySap . AsignarSoportesEnCentro (R1 , Altura , Espesor ,

Nrodiv12 ) ;285 // Anal i zar286 MySap . Ana l i zar ( ”ConoCompleto .SDB” ) ;287 break ;288 case 2 : // cono con abertura289 // obt i ene nombre de l o s frames r e s u l t a d o de

extrudar290 MyArea = MySap . ConoConAbertura (R1 , R2 , Altura ,

Espesor ) ;291 // as igna cargas292 MySap . AsignarCargas (MyArea , Cargamuerta , Cargaviva )

;293 // devuelve l o s nombres de l o s e lementos cargados294 MySap . Rectangulos4Nodos (MyArea , Nrodiv12 , Nrodiv13 )

;295 // sopo s t e s en l a base296 MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;297 // sopo r t e s en e l cent ro298 //MySap . AsignarSoportesEnCentro (R1 , Altura , Espesor

, Nrodiv12 ) ;299 // Anal i zar300 MySap . Ana l i zar ( ”ConoConAbertura .SDB” ) ;301 break ;302 case 3 : //domo completo303 break ;304 case 4 : //domo con abertura305 break ;306 }307 }308

309 private void anal izarEnSap20001104ToolStr ipMenuItem Click (object sender , EventArgs e )

310 {311 // c l i k en a n a l i z a r l a e s t r u c t u r a312 // antes debe e l e g i r una opci on

104

Page 121: API Sap2000 Tesis

313 i f ( FormaEstructura == 0)314 {315 MostrarMensaje ( Mensaje (6 ) ) ;316 return ;317 }318

319 Procedimiento ( ) ;320 }321

322 private void cerrarSap20001104ToolStr ipMenuItem Click ( objectsender , EventArgs e )

323 {324 // c l i k en c e r r a r sap2000325 MySap . Cerrar ( ) ;326 }327

328 private void sa l i rToo lSt r ipMenuItem Cl i ck ( object sender ,EventArgs e )

329 {330 // s a l i r de l a a p l i c a c i o n331 this . Close ( ) ;332 }333

334 private void conoCompletoToolStripMenuItem Click ( object sender ,EventArgs e )

335 {336 // se e l i g e cono completo337 FormaEstructura = 1 ;338 txtR2 . Enabled = fa l se ;339

340 }341

342 private void conoConAberturaToolStripMenuItem Click ( objectsender , EventArgs e )

343 {344 // se e l i g e cono con abertura345 FormaEstructura = 2 ;346 txtR2 . Enabled = true ;347

348 }349

350 }351 }

105

Page 122: API Sap2000 Tesis

Apendice B

Fotografıas

Figura B.1: Encofrado del techo del auditorio de la Facultad de Ciencias de laEducacion

106

Page 123: API Sap2000 Tesis

Figura B.2: Encofrado del techo del auditorio de la Facultad de Ciencias de laEducacion

Figura B.3: Refuerzos del techo del auditorio de la Facultad de Ciencias de la edu-cacion

107

Page 124: API Sap2000 Tesis

Figura B.4: Auditorio Facultad Ciencias de la Educacion U.N.S.C.H

Figura B.5: Auditorio Facultad Ciencias de la Educacion U.N.S.C.H

108

Page 125: API Sap2000 Tesis

Apendice C

Planos de la construccion

Lamina L-01: Localizacion

Lamina U-01: Ubicacion

Lamina A-15: Arquitectura - Planta y Cortes.

Lamina A-16: Arquitectura - Elevaciones.

109