Está en la página 1de 125

bal de

Universidad Nacional San Cristo


Huamanga
Facultad de Ingeniera de Minas, Geologa y
Civil
n Profesional de
Escuela de Formacio
Ingeniera Civil

Tesis Para Optar el Ttulo de Ingeniero Civil


n para Aplicaciones del
Interfaz de Programacio
Sap2000 y Visual C# Fundamentado en MathCad

Por:
rrez
Edmundo Canchari Gutie
Dirigido Por:
rez
Ing. Cristian Castro Pe

Ayacucho - Marzo 2009

Presentaci
on
Esta tesis es presentada como parte de los requisitos para optar el ttulo academico 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.

rrez
Edmundo Canchari Gutie
http://cgedmundo.wordpress.com
cgedmundo@gmail.com
Escuela Profesional de Ingeniera Civil
bal de Huamanga
Universidad Nacional San Cristo
Ayacucho, marzo del 2009

Dedicatoria
Dedico esta Tesis a mis padres Juan y Emilia y a
mis hermanos.

ii

Agradecimientos
A la Universidad Nacional San Cristobal de Huamanga y todos los Catedraticos de la Escuela Profesional de Ingeniera Civil.
A mis padres, por su apoyo constante en mi vida.
A Carla Marilyn, por brindarme esta tranquilidad en mis momentos de desesperacion por culminar esta tesis.
Mis agradecimientos a la empresa Computers and Structures, INC por liberar 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 todava 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 ingeniera 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

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 teora se utiliza en un nivel superior, aplicando
directamente al analisis de estructuras justificando los resultados de Sap2000 detalladamente, surgiendo as, un complemento ideal en el proceso de aprendizaje del
referido metodo.

iv

Indice general
Presentaci
on

Dedicatoria

II

Agradecimientos

III

Resumen

IV

Indice general

Indice de figuras

XII

Indice de cuadros

XV

Introducci
on

1. Introducci
on

1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

1.4. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

1.5.2. Objetivos especficos . . . . . . . . . . . . . . . . . . . . . . .

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

1.7. Metodologa aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . .

II

Marco te
orico

2. An
alisis de estructuras con elementos finitos

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

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

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 simetra 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 energa potencial mnima . . . . 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. Programaci
on en C# con API Sap2000

21

3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Microsoft Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3. Microsoft .NET framework . . . . . . . . . . . . . . . . . . . . . . . . 22

vi

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 m
etodos

30

4. An
alisis se S
olidos Axisim
etricos 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 simetra 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

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 elemento . . . . . . . . . . . . . . . . . . . . . . . . . . 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
5.1. Organizacion para el programa

52

. . . . . . . . . . . . . . . . . . . . . 52

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


viii

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

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. Dise
no por esfuerzo radial S11 . . . . . . . . . . . . . . . . . . 80
6.5.2. Dise
no por esfuerzo Axial S33 . . . . . . . . . . . . . . . . . . 82
6.6. Justificacion de los resultados . . . . . . . . . . . . . . . . . . . . . . 82

Conclusiones

84

7. Conclusiones y recomendaciones

85

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

7.1.1. De la metodologa . . . . . . . . . . . . . . . . . . . . . . . . . 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
Bibliografa

89

VI

92

Anexos

A. C
odigo fuente esaSAP

93

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


A.2. Codigo fuente esaSAP . . . . . . . . . . . . . . . . . . . . . . . . . 99
B. Fotografas

106

C. Planos de la construcci
on

109

xi

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 simetra 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 caracterstica de revolucion . . . . . . . . . . . . 34
4.4. Seccion caracterstica de revolucion . . . . . . . . . . . . . . . . . . . 34
4.5. Identificacion de nudos y elementos . . . . . . . . . . . . . . . . . . . 35
4.6. Funcion para obtener coordenadas
4.7. Funcion para obtener gdl

. . . . . . . . . . . . . . . . . . . 39

. . . . . . . . . . . . . . . . . . . . . . . . 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

xii

. . . . . . . . . . . . . . . . . . . . 50

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

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

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

Parte I
Introducci
on

Captulo 1
Introducci
on
1.1.

Generalidades

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


destinado para el analisis y dise
no 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 especficos. 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 investigacion, 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 empleara el MATHCAD como modelo de aprendizaje.

1.2.

Motivaci
on de la investigaci
on

Actualmente entender los fundamentos del Metodo de los Elementos Finitos es


muy importante en la vida profesional del Ingeniero Civil, ya que la gran mayora
1

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

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 investiga 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 Estructural 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.

Justificaci
on

Se hace uso de aplicaciones de muy alto nivel como son Sap2000 11.0.4, MathCad 14 y Microsoft Visual Studio 2009 Express Edition, ademas de utilizar tecnicas
y lenguajes de programacion actuales, lo que permite enlazar la Interfaz de Programacion 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

Elementos Finitos para justificar los resultados, metodo numerico que actualmente
es el mas idoneo para el analisis de estructuras.

1.5.
1.5.1.

Objetivos
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 especficos

Los objetivos especficos 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.

Organizaci
on 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

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 resultados 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 analizar 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 especficamente dise
nado 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 coincidir con los del Sap2000, ya que la formulacion del Metodo de los Elementos Finitos,
sea por el principio que fuere, llega a un resultado u
nico. La igualdad de los resultados, 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 captulos:
Captulo 1: Generalidades sobre la tesis.
Captulo 2: Analisis estructural con el metodo de los elementos finitos, modelamiento de elementos estructurales y un resumen de lo necesario para su programacion del metodo de los elementos finitos para el analisis de estructuras
axisimetricas.
Captulo 3: Los fundamentos para la programacion en Visual C# y la Interface
5

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.
captulo 4: Para entender el presente captulo el interesado debe tener el conocimiento 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 axisimetrico.
Captulo 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 Elementos Finitos un tipo de estructura que cumple las condiciones para ser
modelado como Solido de Revolucion.
Captulo 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).
Captulo 7: Conclusiones y recomendaciones.

1.7.

Metodologa aplicada

La investigacion es analtica. Consiste en investigar el Metodo de los Elementos 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

fundamentos teoricos suficientes se podra realizar extensiones mediante la Interface


de Programacion para Aplicaciones que posee el programa.

Parte II
Marco te
orico

Captulo 2
An
alisis de estructuras con
elementos finitos
El presente captulo trata sobre el modelamiento de los elementos estructurales
mediante el Metodo de los Elementos Finitos 1 ; bien se hara al no tratar este captulo, dedicando el trabajo completamente a interpretar las relaciones establecidas en
los libros de la referencia y justificar los resultados obtenidos, en lugar de estar reproduciendo, 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.
2.1.1.

M
etodo de los elementos finitos
Perspectiva hist
orica

La referencia [6](Paginas 01 al 05) narra de una manera extraordinaria, sus orgenes, evolucion y el presente del metodo de los elementos finitos. Seg
un los entendidos
en el tema no es posible indicar con exactitud el momento en que se inicia el referido
metodo2 .
1

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

estructuras.
2
Referencia [5] p
agina 03

2.1.2.

Definici
on

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 procedimientos que existen para aproximar el comportamiento de una estructura
con infinitos grados de libertad por el de otra, con aproximadamente las mismas propiedades fsicas y geometricas, pero con un n
umero finito de grados
de libertad, cuyas ecuaciones de equilibrio pueden expresarse por un sistema
algebraico de ecuaciones simultaneas con un n
umero limitado de incognitas3 .
O.C Zienkiewicz - R.L. Taylor(1993) es objeto de este texto presentar un panorama del metodo de los elementos finitos como un procedimiento general de
discretizacion de los problemas continuos planteadas por expresiones definidas
matematicamente 4 .

2.1.3.

Esquema de presentaci
on

En el presente trabajo se adopta el enfoque de la energa potencial 5 para la


formulacion del metodo de los elementos finitos.
Principio de la energa potencial mnima Para sistemas conservativos, de todos los campos de desplazamientos cinematicamente admisibles, aquellos que
corresponden a condiciones de equilibrio extremizan la energa potencial total.
Si la condicion extrema es un mnimo, el estado de equilibrio es estable6 .
3

Referencia [7] p
agina 03
Referencia [5] p
agina 02
5
Los detalles del principio de la energa potencial para la formulacion del metodo de los elementos
4

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


al 12)
6
Referencia [8] p
agina 10

10

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 lnea 8 , es un objeto que sirve para modelar el


comportamiento de los siguientes elementos estructurales: armaduras, vigas, columnas, 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


7

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

encuentra en las referencias [10] y [11]


8
El metodo de los elementos finitos, detalladamente explicado para elementos estructurales que
puedan ser modelados con una lnea tratan las referencias [2], [3], [8] por citar algunos

11

Inicialmente la tesis estaba orientado al analisis, la justificacion y la automatizacion 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 rigidez, 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 Aplicaciones, 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


C
ascaras(Shell) Las cascaras son utilizadas para modelar estructuras bidimensionales o tridimensionales, como el comportamiento tipo cascara de tanques,
c
upulas 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
9

Esta secci
on est
a transcrito completamente de la referencia [10] Paginas 248 al 252

12

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


el comportamiento de deformaciones planas en estructuras prismaticas largas.
S
olido Axisim
etrico 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.

S
olido axisim
etrico

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


estructuras que cumplen las condiciones para ser modelo como un solido de revolucion figura(2.3). Se estudiara u
nicamente el analisis de solidos con simetra axial
sometidos a cargas de revolucion.

Figura 2.3: Estructura general con simetra axial


Eugenio O
nate(1992) consideraremos solidos en los que su geometra y propiedades mecanicas son independientes de la coordenada circunferencial figura(2.3). Aunque el comportamiento de dichos solidos es tridimensional, su estudio matematico es generalmente bidimensional ya que en la mayora de los
10

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

13

casos puede efectuarse utilizando variables que dependen de dos coordenadas


cartesianas. Si las cargas exteriores son tambien de revolucion, el desplazamiento 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 simetra axial

Las estructuras de revolucion representan un alto porcentaje en las estructuras


de uso com
un en ingeniera, entre ellos se puede mencionar: Los depositos para agua,
muros cilndricos, silos, techos de edificaciones especiales, etc.

2.3.2.

Modelo como s
olido axisim
etrico

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


estructura tiene una completa simetra respecto al eje z del sistema de orientacion
global, es posible modelar en el plano formado por su seccion caracterstica de revolucion 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 caracterstica de revolucion, queda perfectamente definido por las componentes de los desplazamientos
radial() y axial(w) figura(2.3).

u=
11

(r, z)

w(r, z)

Referencia [4] p
agina 243

14

(2.1)

2.3.4.

Campo de deformaciones

El vector de deformaciones de un punto, tiene las cuatro componentes siguientes: r deformacion radial, z deformacion axial,  deformacion circunferencial, rz
deformacion tangencial.

r

z

=

rz



2.3.5.

w
z
=

+ w
z
r

(2.2)

Campo de tensiones

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


vector de tensiones se escribe como.

T
= r z rz

(2.3)

donde r , z , , rz son respectivamente, las tensiones radial, axial, circunferencial 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 revolucion con cargas de revolucion

15

2.3.6.

Ecuaci
on constitutiva

La relacion entre tensiones y deformaciones, se deduce de la elasticidad tridimensional, 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.


E(1 )
1
D=

(1 + )(1 2) 0

2.3.7.

12
2(1)

(2.5)

Expresi
on del principio de la energa potencial mnima

Considerando el volumen elemental12 mostrado en la figura(2.4) la energa potencial puede escribirse en la forma.

1
=
2

rdAd
0

u f rdAd
0

uT T rdld 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 crculo, 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).
 Z

Z
Z
1
T
T
T
= 2
rdA
u f rdA u T rdl uTi Pi
2 A
A
L
12

Seg
un la referencia [8]

16

(2.7)

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.

Formulaci
on 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 tecnologa 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(n
umero de
campos independientes)13 .
2.4.1.1.

Elemento rectangular

Con la finalidad de trabajar sobre un sub dominio com


un en los elementos en
que sera discretizado el dominio completo, se utiliza la formulacion izoparametrica, 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).
13

Referencia [6] p
agina 35

17

1
N1 (, ) = (1 )(1 )
4
1
N2 (, ) = (1 + )(1 )
4
1
N3 (, ) = (1 + )(1 + )
4
1
N4 (, ) = (1 )(1 + )
4

(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 ecuacion(2.9).
r(, ) = N1 (, )r1 + N2 (, )r2 + + Nn (, )rn

(2.9)

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

2.4.3.

Matriz jacobiano

El cambio desde el sistema de referencia global al sistema normalizado esta expresado por la matriz jacobiana ecuacion(2.10).

18


J(, ) =

2.4.4.

r(,)

r(,)

z(,)

(2.10)

z(,)

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 ordenado convenientemente en la ecuacion(2.12) y el vector de funciones de forma
ecuacion(2.11) es.

N1 0
N2 0
Nn 0

...

N =
0 N1
0 N2
0 Nn

w1

q=
w
2
.
.
.

n

wn

(2.11)

(2.12)

La matriz deformacion unitaria desplazamiento.

N1
r

B =
N1
z

N1
r

N2
r

N1
z

N1
r

N2
z

N2
r

N2
z

N2
r

Nn
r

Nn
z

Nn
r

Nn
z

Nn
r

(2.13)

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


normalizado para una estructura de simetra axial esta dado por la ecuacion(2.14),
para obtener las expresiones de las cargas se procede de manera similar.
Z

B T DBrJdd

k=t
1

Donde:
19

(2.14)

t: representa el angulo de revolucion que gira cada elemento finito en que fue
discretizado el plano de la seccion caracterstica 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 .

14

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

20

Captulo 3
Programaci
on en C# con API
Sap2000
3.1.

Generalidades

El presente captulo describe los fundamentos del lenguaje de programacion Microsoft 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 interface, entre estos lenguajes de programacion se tiene: Visual Basic para Aplicaciones(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 u
ltima generacion, conjuntamente con el compilador de
1

Microsoft present
o c# al p
ublico en la Professional Developers Conference en Orlando, Flo-

rida, en el verano del 2000. [19], p


agina 37

21

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 tecnologas en las que Microsoft a estado


trabajando durante los u
ltimos a
nos 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 programaci
on Visual c#

Seg
un 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 dise
no 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.
2

Referencia [20] p
agina 05
Referencia [21] p
agina 09
4
Reproducido completamente de la referencia [19] paginas 37 - 38
3

22

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
ning
un 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 alg
un lugar de la memoria.

3.4.4.

M
etodo

Los metodos son bloques de instrucciones que devuelven alg


un 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

3.4.6.

Interface

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


indizadores agrupadas con un nombre com
un. Las interfaces funcionan como conjunto de funcionalidades definidas que pueden implementarse en una clase o estructura
de c#( [19] pagina 301)

3.5.

Interfaz de programaci
on 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.

Instalaci
on

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 qu
e sirve?

En el proceso de modelamiento para el analisis mediante el metodo de los elementos finitos el procedimiento es repetitivo para cada tipo de estructura; el grupo
de programadores que mantiene Sap2000 conscientes de esta realidad liberan a disposicion de los usuarios una interface de Sap2000 con la cual es posible automatizar
procedimientos completos para cada proposito, desde cualquier lenguaje de programacion externo, dependiendo de las necesidades de cada usuario.
5

La documentaci
on completa con ejemplos para cada orden se encuentra en su manual SAP2000

API Documentation[22]

24

Control

Propiedad

Valor

Form

name

frmDiagnostico

text

Sap2000Diagnostico

name

cmdOpensap2000

text

Abrir

name

cmdCapturesap2000

text

Capturar

name

cmdCloseSap2000

text

Cerrar

name

cmdEvaluarSap2000

text

Evaluar

Button

Button

Button

Button

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 Programacion para Aplicaciones[22] de Sap2000 v11.0.4 Educacional en el entorno de
desarrollo integrado Microsoft Visual Studio 9 Express Edition, especficamente programando 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).
6

Los fundamentos de programaci


on del lenguaje se encuentran en los libros de la referencia [20],

[23], [21], [19]

25

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 proyecto creado, elegir del menu emergente Agregar referencia... como muestra la figura(3.2). Luego, se muestra la ventana Agregar referencia, entre las opciones elegir la
pesta
na 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

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
2
3
4

// Implementa l a i n t e r f a z de Sap2000 a un o b j e t o
Sap2000 . SapObject SapObjeto ;
// i n i c i a l i z a e l o b j e t o
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

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
2
3
4
5
6
7
8
9
10
11

12
13
14

private void cmdOpenSap2000 Click ( object s e n d e r , EventArgs e )


{
// d e c l a r a v a r i a b l e t i p o Sap2000
Sap2000 . SapObject SapObjeto ;
long r e t ;
// i n i c i a l i z a r l a v a r i a b l e d e l t i p o Sap2000
SapObjeto = new Sap2000 . SapObject ( ) ;
// i n i c i a l i z a l a a p l i c a c i o n
SapObjeto . A p p l i c a t i o n S t a r t ( Sap2000 . e U n i t s . kgf m C , true , Prueba ) ;
// c r e a e i n i c i a l i z a e l e s p a c i o modelo de sap2000
r e t = SapObjeto . SapModel . I n i t i a l i z e N e w M o d e l ( Sap2000 . e U n i t s . kgf m C )
;
// d i b u j a una muro
r e t = SapObjeto . SapModel . F i l e . NewWall ( 3 , 3 , 3 , 3 , true , prueba ) ;
}

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15

private void cmdCaptureSap2000 Click ( object s e n d e r , EventArgs e )


{
// debe e x i s t i r un a r c h i v o sap2000 e j e c u t a n d o s e a c t u a l m e n t e
// d e c l a r a v a r i a b l e d e l t i p o Sap2000
Sap2000 . SapObject SapObjeto ;
// i n i c i a l i z a l a v a r i a b l e d e l t i p o Sap2000
// e s t a a c c i
o n s e apodera automa ticamente de un a r c h i v o e x i s t e n t e
SapObjeto = new Sap2000 . SapObject ( ) ;
// a modo de comparaci
on
// muestra l a s u n i d a d e s de medida a c t u a l d e l e s p a c i o modelo
Sap2000 . e U n i t s MyUnits ;
MyUnits = SapObjeto . SapModel . G e t P r e s e n t U n i t s ( ) ;
string a = La unidad de medida a c t u a l e s : + MyUnits . T o S t r i n g ( ) ;
MessageBox . Show ( a , APISap2000 , MessageBoxButtons .OK) ;
}

28

3.6.6.

Cerrando la Aplicaci
on

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
2
3
4
5
6
7
8
9
10
11

private void c m d C l o s e s a p 2 0 0 0 C l i c k ( object s e n d e r , EventArgs e )


{
// debe e x i s t i r un a r c h i v o sap2000 en e j e c u c i o n
Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
// c i e r r a l a a p l i c a c i
on
SapObjeto . A p p l i c a t i o n E x i t ( f a l s e ) ;
// d e j a s i n c o n t e n i d o a l e s p a c i o modelo
SapObjeto . SapModel = null ;
// d e j a s i n c o n t e n i d o a l o b j e t o c r e a d o
SapObjeto = null ;
}

3.6.7.

La funci
on m
agica

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


alternativa, seg
un sea el caso, el programa siguiente cumple esta funcion.
1
2
3
4

private void cmdEvaluarSap2000 Click ( object s e n d e r , EventArgs e )


{
/ Este e s e l m
o dulo ma gico , e n c a r g a d o de a v e r i g u a r e l e s t a d o
a c t u a l de Sap2000 en l a ma quina /

// c r e a y a s i g n a e l o b j e t o Sap2000
Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
bool D i a n o s t i c o ;
string mensaje ;
// s i un a r c h i v o s e e j e c u t a e s t a v i s i b l e
D i a n o s t i c o = SapObjeto . v i s i b l e ( ) ;
i f ( Dianostico )
{
// mensaje = e s t r u e : e s t a v i s i b l e en l a p a n t a l l a ;
mensaje = No s e e j e c u t a Sap2000 ;
}
else
{
// mensaje = e s f a l s e : no e s t a v i s i b l e en l a p a n t a l l a ;
mensaje = Se e j e c u t a Sap2000 ;
}
MessageBox . Show ( mensaje , API Sap2000 , MessageBoxButtons .OK) ;

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

29

Parte III
Materiales y m
etodos

30

Captulo 4
An
alisis se S
olidos Axisim
etricos
con el m
etodo de los elementos
finitos
4.1.

Generalidades

El presenta captulo trata sobre el analisis de estructuras mediante el Metodo de


los Elementos Finitos, en su formulacion para estructuras con total simetra respecto
a un eje del sistema de referencia, los cuales pueden ser modelados en el plano de
su seccion caracterstica de revolucion.
Para entender el presente captulo es necesario tener un conocimiento suficiente
del metodo de los elementos finitos 1 , ya que los terminos utilizados y su programacion 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 teora sera explicado detalladamente junto a su programacion a
1

La teora 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 magnfica se encuentra
en la referencia [6]
2
mathcad 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

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 compa


na Computers and Structures, Inc que puede ser aplicada en el analisis de estructuras de todo proposito.
4.1.1.1.

M
etodo de an
alisis

En en proceso de analisis de estructuras Sap2000 utiliza el metodo de los elementos finitos.


4.1.1.2.

M
etodo de elementos finitos

El metodo de los elementos finitos es uno de los procedimientos que existen para aproximar el comportamiento de una estructura con infinitos grados de libertad
por el de otra, con aproximadamente las mismas propiedades fsicas y geometricas,
pero con un n
umero finito de grados de libertad, cuyas ecuaciones de equilibrio puedes expresarse por un sistema algebraico de ecuaciones simultaneas con un n
umero
limitado de incognitas3

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


3

Referencia [7] p
agina 03).

32

4.1.2.

Estructuras de simetra axial

Las estructuras de revolucion representan un alto porcentaje en las estructuras


de uso com
un en ingeniera, entre ellos se puede mencionar: Los depositos para agua,
torres de enfriamiento, muros cilndricos, silos, c
upulas, 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 Revolucion 4 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 caracterstica 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 caracterstica 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.
4

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

[11] captulo 12, [7] captulo 7, [9] captulo 5, [12] captulo 6

33

4.2.

Implementaci
on de Funciones en MathCad
Para el an
alisis de s
olidos axisim
etricos

Seguidamente se programara para el analisis de estructuras modeladas como


Solidos de Revolucion mediante el Metodo de los Elementos Finitos 5 . Solamente se
escriben las ecuaciones fundamentales necesarios para su programacion, las ecuaciones 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
5

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

rencia [6] en el captulo 4, [9] captulo 1, las referencias [16], [17],[15], [14] tratan exclusivamente
de la programaci
on del Metodo de los Elementos Finitos

Figura 4.3: Modelo de la seccion caracterstica de revolucion

Figura 4.4: Seccion caracterstica de revolucion


34

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), identificacion 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: n
umero 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

columna 1: n
umero 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 propiedades, 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)

8.0

8.0

0.15

4.0

1.12

4.0

1.27

2.0

1.68

2.0

1.83

1.0

1.96

1.0

2.11

Cuadro 4.1: Identificacion de nudos


Elemento nudo1

nudo2

nudo3

nudo4

Cuadro 4.2: Identificacion de los elementos


36

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: n
umero identificador del soporte.
columna 2: n
umero 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 ?

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: n
umero identificador de la carga
columna 2: n
umero del nudo cargado
columna 3: componente radial de la carga
columna 4: componente axial de la carga

37

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 Seg


un [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 )

-1570.00

-7873.00

-31415.00

-50265.00

Cuadro 4.4: Cargas en nudos

38


E(1 )
1
D=

(1 + )(1 2) 0

12
2(1)

(4.1)

Evaluando las propiedades para los argumentos establecidos, se tiene:

0
1.212
2.879 1.212

1.212 2.827

0
1.212

D = 109

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
n
umero identificador de cualquier elemento, luego establece los cuatro nudos desde
la matriz M EM B y con esto los grados de libertad para cada nudo. Para un nudo

Figura 4.6: Funcion para obtener coordenadas

39

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 elemento.
4.2.2.2.1.

Funciones de forma Las funciones de forma 6 en el sistema norma-

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


6

seg
un [2] p
agina 142, [3] p
agina 151, [1] pagina 193, [6] pagina 40, [8] pagina 211, [17] pagina

268, [4] p
agina 219, [5] p
agina 127

40

1
N1 (, ) = (1 )(1 )
4
1
N2 (, ) = (1 + )(1 )
4
(4.2)
1
N3 (, ) = (1 + )(1 + )
4
1
N4 (, ) = (1 )(1 + )
4
Las funciones Ni (, ) con i = 1 . . . 4 dependen u
nicamente 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)

(4.3)

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


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.
= N1 q1 + N2 q3 + N3 q5 + N4 q7

(4.4)

= N1 q2 + N2 q4 + N3 q6 + N4 q8
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 matematico 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


J(m, , ) =

4.2.2.2.5.

z(m,,)

r(m,,)

r(m,,)

(4.5)

z(m,,)

Matriz deformaci
on unitaria - Desplazamiento Las deformacio-

nes unitarias [5] [4] para elementos estructurales modelados como solidos de revolucion, 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

=

T

(4.7)

La matriz deformacion unitaria - desplazamiento[8] o simplemente matriz deformacion 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.

z Ni

z Ni

N
N
r
r
0
i + i
1

B=

|J| r Ni + r Ni z Ni z Ni



Ni
|J|
0
r

(4.8)

La matriz B(m, , ) ecuacion(4.8), se divide en cuatro sub matrices correspondiente 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 nudo cuatro. Las funciones siguientes se escriben como Bi que son iguales a Bi (m, , )
con i = 1 . . . 4, por comodidad.

42

z(m,,) N1 (,)

z(m,,) N1 (,)

z(m,,) N2 (,)

z(m,,) N2 (,)

z(m,,) N3 (,)

z(m,,) N3 (,)

z(m,,) N4 (,)

z(m,,) N4 (,)

r(m,,) N1 (,)
r(m,,) N1 (,)

0

+

B1 =

r(m,,) N1 (,) + r(m,,) N1 (,) z(m,,) N1 (,) z(m,,) N1 (,)

N1 (,)
|J(m, , )|
0
r(m,,)

r(m,,) N2 (,)
r(m,,) N2 (,)

B2 =

r(m,,) N2 (,) + r(m,,) N2 (,) z(m,,) N2 (,) z(m,,) N2 (,)

N2 (,)
|J(m, , )|
0
r(m,,)

r(m,,) N3 (,)
r(m,,) N3 (,)

B3 =

r(m,,) N3 (,) + r(m,,) N3 (,) z(m,,) N3 (,) z(m,,) N3 (,)

N3 (,)
|J(m,
,
)|
0
r(m,,)

N
(,)
r(m,,)
N
(,)
r(m,,)
4
4

+
0

B4 =

r(m,,) N4 (,) + r(m,,) N4 (,) z(m,,) N4 (,) z(m,,) N4 (,)

N4 (,)
|J(m,
,
)|
0
r(m,,)
Expresando todas las submatrices en una sola, se obtiene la matriz de deformacion unitaria desplazamiento ecuacion(4.8) B(m, , )

h
i
1
B(m, , ) =
B (m, , ) B2 (m, , ) B3 (m, , ) B4 (m, , )
|J(m, , )| 1
Donde, |J(m, , )| es el jacobiano, determinante de la matriz jacobiana ecuacion(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

k(m) = t
1

B(m, , )T DB(m, , )r(m, , )|J(m, , )|dd

(4.9)

Evaluando en su forma explcita incluso MathCad 14 encuentra pesado a esta


ecuacion, demorando mucho tiempo en encontrar la solucion, por esta razon se evaluara 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 eval
ua 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, , )T DB(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 podra considerarse los pesos para cada direccion, ya que coincidentemente para un elemento
cuadrilatero de cuatro nodos el factor peso es la unidad.

= 3
1
3

= 3
1
3

1
3


1

1

r =
1


1


1

1

z =
1


1

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

k(m) = t

4
X

k1 (m, i , i )

i=1

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

0.218

0.128

0.518
Sim
e
trico

0.096

0.049
0.222

0.068
0.222
0.073
0.698
11

k(m) = 10

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.

Funci
on 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 anteriormente, 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 pagina(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 n
umero de nudos de la estructura.
Para la estructura analizada se obtiene una matriz cuadrada y simetrica de orden
igual a 16 y es.

3.849

1.948

11.256
Sim
e
trico

4.015 2.303 4.237

2.117 11.298 2.473 11.357

k(m) = 1011 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

4.2.2.4.

Funci
on 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 n
umero 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

4.2.2.5.

Funci
on 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.

307

1 10

1.948

4.015

2.117

km = 1.715

0.905

1.582

0.736

..
.

1 10307
2.303

1 10307

11.298

2.473

1 10307

0.981

1.880

1.116

4.844

1.159

4.887

0.778

1.710

0.913

4.802
..
.

0.99
..
.

4.834
..
.

Simetrico

3.918

2.119
10.918

3.865
2.195 3.904

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 libertad, 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
7

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

pondiente al grado de libertad restringido, por un n


umero muy grande, seg
un [8]

47

nudo y las columnas son.


columna 1: n
umero 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 n
umero 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

4.2.2.5.1.

Comparaci
on 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 analisis en Sap2000 11.0.4 8 se hizo uso del elemento Asdolid sin considerar los modos
incompatibles, discretizando el dominio completo(la seccion caracterstica de revolucion) 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 = KQF , 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: n
umero del nudo
8

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

gua

Nudo DespR(mm)

DesplZ(mm)

-0.085892

0.000304

-0.085525

-0.004013

-0.147983

-0.007705

-0.14764

-0.011621

-0.1714

-0.016531

-0.170593

Cuadro 4.5: Desplazamientos en los nudos

49

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 )

-793195.4

-191928.93

745963.55

283031.93

Cuadro 4.6: Reacciones en los soportes

4.2.3.1.1.

Comparaci
on de resultados con sap2000 Las reacciones en los

apoyos resultan iguales a los obtenidos con un analisis en Sap2000 11.0.0 Educacional, 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

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

Captulo 5
Desarrollo del Programa
esaSAP
En el presente captulo se crea una Extension para el Analisis Automatico de
Solidos Axisimetricos en Sap2000(esaSAP)

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.

Organizaci
on para el programa

El procedimiento predefinido para el analisis mediante la Interfaz de Programacion 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 modelar y analizar automaticamente la estructura de revolucion. El diagrama de flujo
general se muestra en la figura(5.1).
1

esaSAP son las iniciales de Extension Solid Axisymmetric Analysis

52

Figura 5.1: Diagrama de Flujo general


53

5.2.

Descripci
on 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 clase. Los metodos creados en la clase SapApi-Asolid son los siguientes.

5.2.1.

public void AbrirSap2000()

Por ser p
ublico 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 ning
un 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 p
ublico 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
P e Peso especfico, e modulo de elasticidad y u coeficiente de Poisson es utilizado
en el analisis mediante el Metodo de los Elementos Finitos

54

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 seg


un el Reglamento Nacional de Edificaciones2 , requiere de argumentos: Z factor de zona, T p 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 ssmicas, T i el tiempo
inicial, vT variacion del tiempo y T f es el tiempo final.

5.2.6.

public void DefinirCargas()

Metodo para definir los tipos de cargas, tipos de analisis y combinaciones de


carga, seg
un 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 Altura, double Espesor)

Metodo que dibuja la seccion caracterstica 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.
2

Referencia [27] Tomo 2

55

5.2.9.

public string ConoConAbertura(double R1,double


R2, double Altura, double Espesor)

Metodo que dibuja la seccion caracterstica 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 caracterstica de revolucion
de la estructura modelada, requiere de argumentos M yArea que es el nombre del
area de la seccion caracterstica de revolucion, CargaM uerta 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 M yArea que es el nombre de la superficie de revolucion que se
dibujo en el espacio modelo de Sap2000, N roDiv12 un n
umero entero que indica el
n
umero de divisiones en la cara formado por los nudos locales uno y dos, N roDiv13
un n
umero entero que indica el n
umero de divisiones en la cara formado por los
nudos locales uno y tres.

5.2.12.

public void AsignarSopotesEnBase(double R1, double 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

Espesor de la seccion de revolucion, N roDiv12 y el n


umero 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, N roDiv12 y el n
umero de divisiones. Este metodo
solo act
ua 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.

C
odigo fuente

el codigo fuente de la clase SapApi-Asolid se muestra en el Anexo A.

5.3.
5.3.1.

Descripci
on del programa esaSAP
Generalidades

El programa esaSAP esta preparado para ser implementado con todas las estructuras que cumplen las condiciones para ser modeladas como solidos de revolucion,
el interesado no tiene mas que copiar el codigo y a
nadir las estructuras que prefiera
automatizar el analisis en Sap2000.

5.3.2.

Opciones de an
alisis

La ventana principal del programa esaSAP se muestra en la figura(5.2), para mostrar las opciones de analisis en la forma de la estructura, se elige desde el
men
u Herramientas/nuevo figura(5.3) y se encuentra con las siguientes opciones.

57

1. Cono Completo: para el analisis de un techo de edificacion en forma de cono


sin abertura, su seccion caracterstica 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 caracterstica 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

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

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.

Descripci
on de m
etodos

Los metodo creados en la clase AsolidCono cumplen las funciones siguientes.


private static string Mensaje(int a) Metodo que devuelve una cadena dependiendo 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 definido por el texto que se brinda de argumento.
private bool VerificarArgumentos() Metodo especializado en verificar la veracidad de los argumentos, si alg
un dato esta fuera de lo establecido muestra el
mensaje y termina el programa.
void Procedimiento() Metodo para analizar la estructura, seg
un eleccion del
usuario.
Public AsolidCono() Metodo creado automaticamente por el editor.

60

5.3.7.

Descripci
on 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 elementos de men
u, cada opcion del men
u respondera convenientemente a lo solicitado.
Los eventos considerados en la aplicacion son las siguientes.
analizarEnSap20001104ToolStripMenuItem Al hacer un Click sobre el
men
u Analizar en sap2000 11.0.4 el programa interact
ua con Sap200.
cerrarSap20001104ToolStripMenuItem Cierra Sap2000, en terminos de programacion 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 para un cono con abertura

5.3.8.

C
odigo fuente

El codigo fuente completo se muestra en el Anexo A.

61

Parte IV
Resultados

62

Captulo 6
Caso de estudio a un proyecto
local
6.1.

Descripci
on del proyecto

La aplicacion practica en la presente Tesis es en la obra Construccion e Implementacion del Pabellon de Aulas, SS.HH y Modulos Administrativos de la Facultad
de Ciencias de la Educacion de la Universidad Nacional San Cristobal de Huamanga, en cuya construccion me desempe
ne en el cargo de Asistente de Obra.
En la Tesis se analiza especficamente el Techo de la Aula Magna, que esta construido 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 Revolucion debido a la total simetra 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 caracterstica de revolucion y se asignan todas las condiciones a la que esta sometido
la estructura entera.

6.2.

Argumentos requeridos para el an


alisis

Los datos requeridos para el presente analisis estan en base al Expediente Tecnico
de la obra.

63

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 caracterstica 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 especfico del concreto armado, 2400kgf /m3
Resistencia del concreto a la compresion, 210Kgf /cm2
Modulo de poisson del material, 0.3

6.2.3.

Cargas

Seg
un el Reglamento Nacional de Edificaciones[27] en la cual esta basado el
Expediente Tecnico de la obra, las cargas que act
uan sobre el techo son.
Carga permanente, 200kgf /m2
carga viva, sobrecarga, 50kgf /m2

6.2.4.

Par
ametros para la funci
on de aceleraci
on pseudo espectral

Para obtener la funcion, es necesario los siguientes argumentos.


Factor de zona(Z), 0.3
64

periodo que define la plataforma del espectro para cada tipo de suelo (T p), 0.6
Factor de suelo (S), 1.2
Factor de uso e importancia (U ), 1.3
Coeficiente de reduccion de solicitaciones ssmicas (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 simetra respecto al eje z del sistema de orientacion global,
65

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 act
uan 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 caracterstica 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.

An
alisis 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

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 modelandolo 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 muestra en el cuadro(6.1), donde.
#n Representa el n
umero de elementos en que es discretizado la seccion caracterstica 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 desplazamientos en esta direccion, debido a que las cargas act
uan 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 geometra y las cargas, los desplazamientos en los nudos considerados
de la estructura solamente existe en el plano que contiene a la seccion de revolucion(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

Ing

Tiempo

#n

(minutos)
Ing(1)

Ing(2)

Ing(3)

Ing(4)

Ing(5)

35

20

50

16

40

144

144

180

90

48

U1

U2

U3

(mm)

(mm)

(mm)

0.01822

-0.320927

-1.498442

0.017773

-0.321212

-1.500051

0.018319

-0.321201

-1.499782

0.016784

-0.321066

-1.497454

0.018565

-0.322285

-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 n
umero 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

Ing

Tiempo

#n

(minutos)
Ing(1)

35

S11

S22

S33

S12

(kgf /m2 )

(kgf /m2 )

(kgf /m2 )

(kgf /m2 )

56083.73

131617.9

37232.52

-94144.72

-108719.6

-83069.38

42378.14

131295.8

40209.00

-84471.42

-106275.1

-90422.93

58701.96

131414.2

38058.57

-271682.8

-94959.61

-109306.7

-85160.58

186629.8

49485.5

132702.8

34645.77

-262627.7

-90954.99

-105687.6

-72901.46

186131.6

14834.11

131693.8

42592.31

-294352.5

-40543.28

-100686.7

-91677.46

144 210088.2
-269019

Ing(2)

20

144 216953.4
-281035.7

Ing(3)

Ing(4)

Ing(5)

50

16

40

180 220095.1

90

48

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 N
umero de elementos en es fue discretizado el dominio completo para su analisis.
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

Ing

Tiempo

#n

(minutos)
Ing(1)

Ing(2)

Ing(3)

Ing(4)

Ing(5)

35

20

50

16

40

144

144

180

90

48

F1

F2

F3

(kgf )

(kgf )

(kgf )

297274.7

596933.2

-297274.7

-129686.1

400543.0

209366.7

-400543.0

-125272.2

299733.5

220332.5

-299733.5

-107680.2

281735.3

362330.2

-281735.3

-222215.0

462005.0

219600.0

-535626.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 manera automatica, culminado el proceso de calculo, se puede consultar los resultados
70

requeridos desde el propio entorno de Sap2000.


Los argumentos requeridos para el analisis son:
Los argumentos de la geometra de la seccion caracterstica de revolucion de
la estructura, como muestra la figura(6.5), en la cual es necesario indicar el
n
umero 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

3x1 = 3

U1

U2

U3

(mm)

(mm)

(mm)

-0.195411

-1.324294

71

15x1 = 18

48x2 = 96

68x3 = 204

158x3 = 474

200x3 = 600

220x3 = 660

240x3 = 960

300x4 = 1200

330x4 = 1320

360x4 = 1440

0.016806

-0.320859

-1.506002

0.018549

-0.321098

-1.498727

0.017703

-0.321163

-1.499838

0.01789

-0.321417

-1.500502

0.018018

-0.321432

-1.500617

0.017977

-0.321441

-1.500621

0.017906

-0.321405

-1.500582

0.0179

-0.321439

-1.500667

0.017898

-0.321448

-1.500709

0.017899

-0.321454

-1.500702

Cuadro 6.4: Desplazamientos maximos en los nudos utilizando la extension

6.4.2.1.1.

Desplazamientos en la direcci
on radial De los resultados que se

muestra en el cuadro(6.4) se observa que la variacion de los desplazamientos maximos 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 varia72

cion de los desplazamientos maximos en la direccion radial del sistema de referencia


global se muestra en la figura(6.7).
-0.15
3

253

503

753

1003

1253

-0.2

-0.25

-0.3

-0.35

Figura 6.7: Desplazamiento radial maximo en funcion de la discretizacion

6.4.2.1.2.

Desplazamientos en la direcci
on axial Los desplazamientos en

la direccion axial figura(6.8), se comporta de manera similar a los desplazamientos


radiales.
-1.3
3

253

503

753

1003

1253

-1.35

-1.4

-1.45

-1.5

-1.55

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 muestra el cuadro(6.5) para distintas discretizaciones de la seccion de revolucion de la
estructura.
73

#n

3x1 = 3

18x1 = 18

48x2 = 96

68x3 = 204

158x3 = 474

200x3 = 600

220x3 = 660

240x4 = 960

300x4 = 1200

330x4 = 1320

360x4 = 1440

S11

S22

S33

S12

(kgf /m2 )

(kgf /m2 )

(kgf /m2 )

(kgf /m2 )

27504.31

26624.36

168802.72

792.18

-126089.04

-30278.65

-33794.34

-30739.55

146712.92

15000.04

134216.86

31708.66

-257385.47

-35950.73

-89057.45

-79944

202451.16

39305.86

131613.64

38029.63

-269483.08

-82661.47

-105289.97

-85691.07

225465.29

60055.85

131326.33

38452.23

-276270.12

-95258.5

-109457.98

-85532.55

257272.71

67473.58

130894.12

42249.6

-288389.93

-95363.43

-108882.89

-88894.56

264519.35

69073.2

130825.27

42774.69

-290685.23

-95102.36

-108706.06

-87136.77

267207.38

69663.57

130800.39

42962.61

-290262.62

-94990.58

-108673.6

-86659.27

280668.26

82179.02

130805.69

44621.78

-287614.11

-99732.4

-109676.59

-86244.39

291102.73

84595.92

130746.7

44800.37

-289695.21

-99417.96

-109793.03

-85445.57

294012.49

85259.17

130732

44795.83

-288694.75

-99349.08

-109900.11

-85216

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 direcci
on radial De los resultados que se muestra

en el cuadro(6.5) se observa que la variacion de los tensiones maximos en la direc74

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 tensiones maximas en la direccion radial del sistema de referencia local se muestra en
la figura(6.9).
350000
300000
250000
200000
150000
100000
50000
0
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 direcci
on 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).
110000
100000
90000
80000
70000
60000
50000
40000
30000
20000
0

200

400

600

800

1000

1200

1400

Figura 6.10: Tension circunferencial maximo en funcion de la discretizacion


75

6.4.2.2.3.

Tensiones en la direcci
on 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).
180000
170000
160000
150000
140000
130000
120000
0

255

510

765

1020

1275

Figura 6.11: Tension axial maximo en funcion de la discretizacion

6.4.2.2.4.

Tensi
on 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 elementos. La variacion de la tension tangencial en funcion de la cantidad de elementos se
muestra en la figura(6.12).
100000
90000
80000
70000
60000
50000
40000
30000
20000
0

200

400

600

800

1000

1200

1400

Figura 6.12: Tension tangencial maximo en funcion de la discretizacion


76

Evaluando la variacion de las tensiones:


Se observa para las tensiones en la direccion radial en figura(6.9) de la pagina(6.9), que la convergencia hasta el resultado aceptable esta dado para discretizaciones 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 muestra el cuadro(6.6) para distintas discretizaciones de la seccion de revolucion de la
estructura.
#n

3x1 = 3

18x1 = 18

48x2 = 96

38x3 = 204

158x3 = 474

F1

F2

F3

(kgf )

(kgf )

(kgf )

430946.01

615217.56

-550145.06

-428229.97

357426.61

274920.88

-534720.09

-110349.95

388851.41

261715.37

-388851.41

-122229.15

300085.74

203011.83

-300085.74

-96529.17

298722.51

132854.26

-298722.51

-88593.28

77

200x3 = 600

220x3 = 660

240x4 = 960

300x4 = 1200

330x4 = 1320

360x4 = 1440

300454.29

123774.03

-300454.29

-90249.08

300329.81

120970.62

-300329.81

-90128.13

235455.16

107752.27

-235455.16

-71885.76

235937.79

100008.18

-235937.79

-73315.91

235562.95

98271.26

-235562.95

-73757.94

235056.07

96891.13

-235056.07

-74135.75

Cuadro 6.6: Fuerzas maximos en nudos de elementos utilizando 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 lentamente, es necesario dividir el dominio completo con 1200 elementos rectangulares
de 4 nudos.
450000
400000
350000
300000
250000
200000
3

203

403

603

803

1003

1203

1403

Figura 6.13: Fuerza radial maximo en funcion de la discretizacion


78

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 discretizaciones 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).
600000
500000
400000
300000
200000
100000
0
3

208

413

618

823

1028

1233

1438

Figura 6.14: Fuerza axial maximo en funcion de la discretizacion

6.4.3.

Comparaci
on 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 extension creada esaSAP mostrados desde la pagina(69) s son los adecuados,

79

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 automatica el comportamiento de la estructura para distintas discretizaciones de la
seccion caracterstica de revolucion, eligiendo la respuesta conveniente.

6.5.

Obtenci
on 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.

Dise
no por esfuerzo radial S11

Figura 6.15: Esfuerzo radial maximo en la zona inferior de la estructura

80

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 dise
no S11 = 296.546 Tmon
2 es
la tension maxima, e = 0.15m es el espesor de la seccion caracterstica de revolucion
de la estructura, b = 1.00m se considera una longitud de un metro con fines de
simplificar el analisis, Fy = 4.2 Tcmon2 es el esfuerzo de fluencia del acero. La fuerza
esta dado mediante T = S11 e b la cual evaluando resulta T = 44.481T on, el
acero en la seccion analizada As =

T
,
0.9Fy

evaluando As = 11.76cm2 ; el acero mnimo

esta dado por Asmin = 0.0035 b h evaluando Asmin = 5.25cm2 , entonces se toma
de refuerzo As . Usar refuerzo de

1
2

00

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, figu2
ra(6.16). La tension maxima es S11 = 57.643 Tmon
2 , el acero requerido As = 5.25cm ,

usar refuerzo de

1
2

00

a cada 20cm una capa (5 1.267 = 6.335cm2 ).

81

6.5.2.

Dise
no por esfuerzo Axial S33

En la zona inferior de la estructura figura(6.17). La tension maxima es S33 =


2
114.645 Tmon
2 , el acero requerido As = 5.25cm , usar refuerzo de

1
2

00

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 mnimo,
As = 5.25cm2 , se usara refuerzo de

1
2

00

a cada 30cm en una sola capa. La figura(6.18)

muestra la distribucion de los refuerzos en la estructura.

6.6.

Justificaci
on de los resultados

En la presente tesis los resultados obtenidos mediante el programa Sap2000


11.0.4 se ha demostrado en el Captulo 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

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

El nombre de la extensi
on proviene de las iniciales de Extension Solid axisymmetric analysis

83

Parte V
Conclusiones

84

Captulo 7
Conclusiones y recomendaciones
7.1.
7.1.1.

Conclusiones
De la metodologa

Se justifica detalladamente los resultados del programa Sap2000 11.0.4. Con


esta finalidad se programo una plantilla mediante el Metodo de los Elementos 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 lenguaje 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 edificaciones especiales que tienen la forma de cono ya sea completo o con abertura,
mas estructuras de revolucion se ira a
nadiendo 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

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 metodologa 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 primer 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 detallados. El programa Mathcad en su version 14 fue fundamental para el entendimiento 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 integrado 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

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 dise
no de estructuras, en la tesis no
solo se utiliza Sap2000 en la manera com
un; se justifica el resultado de analisis
mediante el Metodo de los elementos Finitos y se automatiza los procedimientos.

7.1.4.

Lenguajes de programaci
on

En el desarrollo de la Tesis fue necesario utilizar los siguientes lenguajes de


programacion.
Microsoft Visual C# Lenguaje de programacion completamente orientado a objetos, desde el cual se integro la Interface de Programacion para Aplicaciones
de Sap2000.
MathCad 14 Programming Para el analisis mediante el Metodo de los Elementos Finitos de estructuras modeladas como Solidos de Revolucion con la finalidad 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 com
un, 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 conveniente 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

7.3.

Desarrollos futuros

Con la presente Tesis los interesados en crear extensiones para Sap2000 desde
cualquier lenguaje de programacion disponen de una documentacion detallada, ademas la extension creada esaSAP v1.2.0 cuenta con opciones para ser
ampliada; el interesado no tiene mas que a
nadir 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 finalidad de documentar los resultados y justificar el analisis de cualquier programa
que se fundamente en el Metodo de los Elementos Finitos.

88

Bibliografa
[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 O
nate Iban
ez de Navarra. Calculo de Estrucuras por el Metodo de
Elementos Finitos. Centro Internacional de Metodos Numericos en Ingeniera
- CIMNE, 1992.
[5] O. C. Zienkiewicz R. L. taylor. El Metodo de los Elementos Finitos en Ingeniera, Formulacion Basica y Problemas Lineales, volume 1. Centro Internacional de Metodos Numericos en Ingeniera - CIMNE, cuarta edition, 1993.
[6] Francisco Beltran. Teora general del Metodo de los Elementos Finitos. Departamento 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 Ingeniera. Prentice Hall, 1999.
[9] Jorge Eduardo Hurtado. Introduccion al analisis estructural por elementos
finitos. Universidad nacional de Colombia - Sede Manizales, 1992.
89

[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 Mara Fornons. El Metodo de los Elementos Finitos en la Ingeniera 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

[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

Parte VI
Anexos

92

Ap
endice A
C
odigo fuente esaSAP
A.1.
1
2
3
4
5
6
7
8
9

10
11
12
13

14
15

C
odigo fuente clase SapApi-Asolid

class SapApi Asolid


{
// Implementa l a i n t e r f a z en un o b j e t o
SAP2000 . SapObject SapObjeto = new SAP2000 . SapObject ( ) ;
long r e t ;
public void AbrirSap2000 ( )
{
/
Metodo para i n i c i a l i z a r SAP2000 y c r e a r un modelo nuevo en
blanco
e s t e metodo e s g e n e r a l
/
SapObjeto . A p p l i c a t i o n S t a r t ( SAP2000 . e U n i t s . kgf m C , true , ) ;
r e t = SapObjeto . SapModel . I n i t i a l i z e N e w M o d e l ( SAP2000 . e U n i t s .
kgf m C ) ;
r e t = SapObjeto . SapModel . F i l e . NewBlank ( ) ;
}

16
17
18
19
20
21
22

void R e f r e s c a r ( )
{
// a c t u a l i z a e l e s p a c i o modelo de SAP2000
bool Window = f a l s e ;
r e t = SapObjeto . SapModel . View . RefreshView ( 0 , r e f Window ) ;
// r e t = SapObjeto . SapModel . View . RefreshWindow ( 0 ) ;

23
24

25
26
27
28
29
30
31
32

public void C e r r a r ( )
{
// c i e r r a l a a p l i c a c i o n
SapObjeto . A p p l i c a t i o n E x i t ( f a l s e ) ;
SapObjeto . SapModel = null ;
SapObjeto = null ;
}

33

93

34
35
36
37
38
39
40
41
42
43
44
45
46
47

48
49

public void D e f i n i r P r o p i e d a d ( double Pe , double e , double u )


{
/ Metodo para d e f i n i r una p r o p i e d a d en 2D t i p o A s o l i d
Argumentos :
name : nombre para l a p r o p i e d a d
Pe : p e s o e s p e c f i d e l m a t e r i a l
e : m
o dulo de e l a s t i c i d a d d e l m a t e r i a l [ k g f /m2 ]
u : c o e f i c i e n t e de p o i s s o n
a : c o e f i c i e n t e de e x p a n s i o n te r m i c o
Temp :
/
// c r e a e l m a t e r i a l
SAP2000 . eMatType M a t e r i a l = SAP2000 . eMatType .MATERIAL CONCRETE;
r e t = SapObjeto . SapModel . P r o p M a t e r i a l . S e t M a t e r i a l ( MyMaterial ,
M a t e r i a l , 1, , ) ;
// p e s o e s p e c f i c o d e l c o n c r e t o
r e t = SapObjeto . SapModel . P r o p M a t e r i a l . SetWeightAndMass (
MyMaterial , 1 , Pe , 0 ) ;

50

// d e f i n e p r o p i e d a d e s para m a t e r i a l i s o t r o p o
r e t = SapObjeto . SapModel . P r o p M a t e r i a l . S e t M P I s o t r o p i c (
MyMaterial , e , u , 9 . 9 0 0E06 , 0 ) ;
// d e f i n e p r o p i e d a d de s o l i d o a x i x y me t r i c o
r e t = SapObjeto . SapModel . propArea . S e t A s o l i d ( MyAsolid ,
MyMaterial , 0 , 3 6 0 , true , G l o b a l , 1, , ) ;

51
52

53
54

55
56

57
58

59
60

61
62
63
64
65
66
67

public void ZUCS( double Z , double Tp , double S , double U, double R,


double Ti , double vT , double Tf )
{
/ 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
r e g l a m e n t o peruano E030
Z : F a c t o r de zona
Tp : A c e l e r a c i
o n fundamental d e l s u e l o
S:
C : F a c t o r de a m p l i f i c a c i o n ss m i c a
U: C a t e g o ra d e d i f i c a c i o n e s
R:
/

68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

double C, n , Sao ;
System . Array T ; System . Array Sa ;
// n
u mero de e l e m e n t o s d e l a r r e g l o
n = ( Tf Ti ) / vT + 1 ;
// 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 e l e m e n t o s
T = new double [ ( int ) n ] ; Sa = new double [ ( int ) n ] ;
// i n s e r t a e l e m e n t o s a l o s v e c t o r e s
f o r ( int i = 0 ; i <= Sa . Length 1 ; i ++)
{
// tiempo
T . SetValue ( Ti , i ) ;
// 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 ss m i c a
C = 2 . 5 (Tp / Ti ) ;
i f (C > 2 . 5 )
{
C = 2.5;
}

94

// l a a c e l e r a c i o n pseudo e s p e c t r a l Sa [ a d i m e n s i o n a l ]
Sao = Z U C S / R;
Sa . SetValue ( Sao , i ) ;
// aumenta e l tiempo
Ti = Ti + vT ;

86
87
88
89
90

}
// e x p o r t a a SAP2000
r e t = SapObjeto . SapModel . Func . FuncRS . S e t U s e r ( ZUCS , T . Length ,
r e f T, r e f Sa , 0 . 0 5 ) ;

91
92
93

94
95

96
97
98
99
100
101
102
103

104

105

106

public void D e f i n i r C a r g a s ( )
{
/
M
o dulo g e n e r a l que d e f i n e c a r g a s
/
// 1 : Load patern , d e f i n e t i p o s de c a r g a s
// r e t = SapObjeto . SapModel . LoadPatterns . Add( LIVE , SAP2000 .
eLoadPatternType . LTYPE LIVE , 0 , t r u e ) ;
r e t = SapObjeto . SapModel . LoadCases . Add( LIVE , SAP2000 .
eLoadcaseType . LTYPE LIVE , 0 , true ) ;
// r e t = SapObjeto . SapModel . LoadPatterns . Add( DEAD , SAP2000 .
eLoadPatternType .LTYPE DEAD, 1 , t r u e ) ;
r e t = SapObjeto . SapModel . LoadCases . Add( DEAD , SAP2000 .
eLoadcaseType .LTYPE DEAD, 1 , true ) ;

107
108

109
110

111

// 2 : Load c a s e s , d e f i n e c a s o s de a n a l i s i s , s o l o f a l t a por
sismo
// d e f i n e c a s o de c a r g a de e s p e c t r o de r e p u e s t a
// r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetCase (
QUAKE ) ;
r e t = SapObjeto . SapModel . A n a l y s i s C a s e s . ResponseSpectrum . SetCase
( QUAKE ) ;

112
113
114
115
116

117
118

119
120

121
122

123
124
125

126

// p r o p i e d a d e s para e l c a s o de a n a l i s i s por r e s p u e s t a e s p e c t r a l
System . Array MyLoadName , MyFunc , MySF, MyCSys , MyAng ;
MyLoadName = new string [ 3 ] { U1 , U2 , U3 } ;
//MyLoadName . SetValue ( U1 , 0 ) ; MyLoadName . SetValue ( U2 , 1 ) ;
MyLoadName . SetValue ( U3 , 2 ) ;
MyFunc = new string [ 3 ] { ZUCS , ZUCS , ZUCS } ;
//MyFunc . SetValue ( ZUCS , 0 ) ; MyFunc . SetValue ( ZUCS , 1 ) ;
MyFunc . SetValue ( ZUCS , 2 ) ;
MyCSys = new string [ 3 ] { G l o b a l , G l o b a l , G l o b a l } ;
//MyCSys . SetValue ( G l o b a l , 0 ) ; MyCSys . SetValue ( G l o b a l , 1 ) ;
MyCSys . SetValue ( G l o b a l , 2 ) ;
MySF = new double [ 3 ] { 9 . 8 1 , 9 . 8 1 , 6 . 5 4 } ;
//MySF . SetValue ( 9 . 8 1 , 0 ) ; MySF . SetValue ( 9 . 8 1 , 1 ) ; MySF . SetValue
( 6 . 5 4 , 2) ;
MyAng = new double [ 3 ] ;
// d e f i n e e l c a s o de c a r g a por r e s p u e s t a e s p e c t r a l
// r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetLoads
( QUAKE , 3 , r e f MyLoadName , r e f MyFunc , r e f MySF, r e f
MyCSys , r e f MyAng) ;
r e t = SapObjeto . SapModel . A n a l y s i s C a s e s . ResponseSpectrum .
SetLoads ( QUAKE , 3 , r e f MyLoadName , r e f MyFunc , r e f MySF,
r e f MyCSys , r e f MyAng) ;

127

95

// 3 : c o m b i n a c i o n e s de c a r g a
//SAP2000 . eCType TypeC = SAP2000 . eCType . LoadCase ;
SAP2000 . eCType TypeC = SAP2000 . eCType . a c a s e ;
// 1 . 5 (CM) +1.8(CV)
r e t = SapObjeto . SapModel . RespCombo . Add( 1 . 5 (CM) +1.8(CV) , 0 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 5 (CM) +1.8(CV)
, r e f TypeC , DEAD , 1 . 5 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 5 (CM) +1.8(CV)
, r e f TypeC , LIVE , 1 . 8 ) ;
// 1 . 2 5 (CM+CV+CS)
r e t = SapObjeto . SapModel . RespCombo . Add( 1 . 2 5 (CM+CV+CS) , 0 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CV+CS)
, r e f TypeC , DEAD , 1 . 2 5 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CV+CS)
, r e f TypeC , LIVE , 1 . 2 5 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CV+CS)
, r e f TypeC , QUAKE , 1 . 2 5 ) ;
// 1 . 2 5 (CM+CVCS)
r e t = SapObjeto . SapModel . RespCombo . Add( 1 . 2 5 (CM+CVCS) , 0 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CVCS)
, r e f TypeC , DEAD , 1 . 2 5 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CVCS)
, r e f TypeC , LIVE , 1 . 2 5 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 1 . 2 5 (CM+CVCS)
, r e f TypeC , QUAKE , 1.25) ;
// 0 . 9 (CM) +1.25(CS)
r e t = SapObjeto . SapModel . RespCombo . Add( 0 . 9 (CM) +1.25(CS) , 0 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 0 . 9 (CM) +1.25(CS
) , r e f TypeC , DEAD , 0 . 9 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 0 . 9 (CM) +1.25(CS
) , r e f TypeC , QUAKE , 1 . 2 5 ) ;
// 0 . 9 (CM) 1.25(CS)
r e t = SapObjeto . SapModel . RespCombo . Add( 0 . 9 (CM) 1.25(CS) , 0 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 0 . 9 (CM) 1.25(CS
) , r e f TypeC , DEAD , 0 . 9 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( 0 . 9 (CM) 1.25(CS
) , r e f TypeC , QUAKE , 1.25) ;
//ENVOLVENTE
//TypeC = SAP2000 . eCType . LoadCombo ;
TypeC = SAP2000 . eCType . RCombo ;
r e t = SapObjeto . SapModel . RespCombo . Add( ENVOLVENTE , 1 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ENVOLVENTE ,
r e f TypeC , 1 . 5 (CM) +1.8(CV) , 1 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ENVOLVENTE ,
r e f TypeC , 1 . 2 5 (CM+CV+CS) , 1 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ENVOLVENTE ,
r e f TypeC , 1 . 2 5 (CM+CVCS) , 1 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ENVOLVENTE ,
r e f TypeC , 0 . 9 (CM) +1.25(CS) , 1 ) ;
r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ENVOLVENTE ,
r e f TypeC , 0 . 9 (CM) 1.25(CS) , 1 ) ;

128
129
130
131
132
133

134

135
136
137

138

139

140
141
142

143

144

145
146
147

148

149
150
151

152

153
154
155
156
157

158

159

160

161

162
163

164
165
166
167
168

public void MasaEstructura ( )


{
/ C o n f i g u r a para l a s c o n s i d e r a c i o n e s de masa /
System . Array MyLoadPat = new string [ 2 ] { DEAD , LIVE } ;

96

System . Array MySF = new double [ 2 ] { 1 , 0 . 2 5 } ;


r e t = SapObjeto . SapModel . P r o p M a t e r i a l . SetMassSource ( 3 , 2 , r e f
MyLoadPat , r e f MySF) ;

169
170

171
172

173
174

175
176

177
178
179

180
181
182

183
184
185

public string ConoCompleto ( double R1 , double Altura , double E s p e s o r


)
{
// 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
completo
System . Array x = new double [ 4 ] { R1 , 0 , 0 , R1 } ;
System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 } ;
System . Array z = new double [ 4 ] { 0 , Altura , A l t u r a + Espesor ,
Espesor } ;
rea
// d i b u j a e l e m e n t o A
string MyArea = ;
r e t = SapObjeto . SapModel . AreaObj . AddByCoord ( 4 , r e f x , r e f y ,
r e f z , r e f MyArea , MyAsolid , , G l o b a l ) ;
Refrescar () ;
return MyArea ;
}

186
187

188
189

190
191
192

193
194
195

196
197
198

public string ConoConAbertura ( double R1 , double R2 , double Altura ,


double E s p e s o r )
{
// 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
abertura
System . Array x = new double [ 4 ] { R1 , R2 , R2 , R1 } ;
System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 } ;
System . Array z = new double [ 4 ] { 0 , Altura , A l t u r a + Espesor ,
Espesor } ;
rea
// d i b u j a e l e m e n t o A
string MyArea = ;
r e t = SapObjeto . SapModel . AreaObj . AddByCoord ( 4 , r e f x , r e f y ,
r e f z , r e f MyArea , MyAsolid , , G l o b a l ) ;
Refrescar () ;
return MyArea ;
}

199
200

201
202
203
204

205

206
207

public void A s i g n a r C a r g a s ( string MyArea , double CargaMuerta , double


CargaViva )
{
// m
o dulo para a s i g n a r c a r g a s de p r e s i o n a s u p e r f i c i e s .
// c a r g a muerta
r e t = SapObjeto . SapModel . AreaObj . S e t L o a d S u r f a c e P r e s s u r e ( MyArea ,
DEAD , 3 , CargaMuerta , , true , SAP2000 . eItemType . Object
);
r e t = SapObjeto . SapModel . AreaObj . S e t L o a d S u r f a c e P r e s s u r e ( MyArea ,
LIVE , 3 , CargaViva , , true , SAP2000 . eItemType . Object ) ;
Refrescar () ;
}

208
209

210
211
212

public void Rectangulos4Nodos ( string MyArea , int NroDiv12 , int


NroDiv13 )
{
// Metodo para d i b u j a r e l e m e n t o s r e c t a n g u l a r e s
// mesh

97

int NumberAreas = 1 ;
System . Array AreaName = new string [ 1 0 ] ;
r e t = SapObjeto . SapModel . EditArea . D i v i d e ( MyArea , 1 , r e f
NumberAreas , r e f AreaName , NroDiv12 , NroDiv13 , 2 , 2 , f a l s e
, f a l s e , f a l s e , f a l s e , 0 , 0 , true , true , true , f a l s e ) ;
Refrescar () ;

213
214
215

216
217

218
219

220

public void AsignarSopotesEnBase ( double R1 , double Espesor , int


NroDiv12 )
{

221

double Xmax, Ymax, Zmax , Xmin , Ymin , Zmin ;


// Asigna s o p o r t e s en l a b a s e
System . Array Value = new bool [ 6 ] { true , f a l s e , true , f a l s e ,
false , false };
double a = (R1 / NroDiv12 ) / 2 ;
Xmax = R1 + a ; Xmin = R1 a ;
Ymax = 0 ; Ymin = 0 ;
Zmax = E s p e s o r ; Zmin = 0 ;
r e t = SapObjeto . SapModel . S e l e c t O b j . CoordinateRange ( Xmin , Xmax,
Ymin , Ymax, Zmin , Zmax , f a l s e , G l o b a l , f a l s e , true , f a l s e
, false , false , false ) ;
r e t = SapObjeto . SapModel . PointObj . S e t R e s t r a i n t ( A l l , r e f Value
, SAP2000 . eItemType . S e l e c t e d O b j e c t s ) ;
r e t = SapObjeto . SapModel . S e l e c t O b j . C l e a r S e l e c t i o n ( ) ;
Refrescar () ;

222
223
224

225
226
227
228
229

230

231
232
233

234
235

236
237
238
239

240
241
242
243
244

245

246
247
248

public void A s i g n a r S o p o r t e s E n C e n t r o ( double R1 , double Altura ,


double Espesor , int NroDiv12 )
{
double Xmax, Ymax, Zmax , Xmin , Ymin , Zmin ;
// Asigna s o p o r t e s en l a b a s e
System . Array Value = new bool [ 6 ] { true , f a l s e , f a l s e , f a l s e ,
false , false };
double a = (R1 / NroDiv12 ) / 2 ;
Xmax = 0 + a ; Xmin = 0 a ;
Ymax = 0 ; Ymin = 0 ;
Zmax = A l t u r a + E s p e s o r ; Zmin = A l t u r a ;
r e t = SapObjeto . SapModel . S e l e c t O b j . CoordinateRange ( Xmin , Xmax,
Ymin , Ymax, Zmin , Zmax , f a l s e , G l o b a l , f a l s e , true , f a l s e
, false , false , false ) ;
r e t = SapObjeto . SapModel . PointObj . S e t R e s t r a i n t ( A l l , r e f Value
, SAP2000 . eItemType . S e l e c t e d O b j e c t s ) ;
r e t = SapObjeto . SapModel . S e l e c t O b j . C l e a r S e l e c t i o n ( ) ;
Refrescar () ;
}

249
250
251
252
253
254

255
256
257

public void A n a l i z a r ( string NombreArchivo )


{
// M
o dulo para a n a l i z a r l a e s t r u c t u r a
lisis
// g r a d o s de l i b e r t a d c o n s i d e r a d o s en e l a n A
System . Array GDL = new bool [ 6 ] { true , f a l s e , true , f a l s e , true
, false };
r e t = SapObjeto . SapModel . Analyze . SetActiveDOF ( r e f GDL) ;
// c r e a un modelo de a n a l i s i s
r e t = SapObjeto . SapModel . Analyze . C r e a t e A n a l y s i s M o d e l ( ) ;

98

// o p c i o n e s d e l s o l u c i o n a d o r de e c u a c i o n e s de SAP2000
// r e t = SapObjeto . SapModel . Analyze . S e t S o l v e r O p t i o n ( 1 , t r u e ,
DEAD ) ;
// Guarda modelo
r e t = SapObjeto . SapModel . F i l e . Save ( D: \ \FEM APISAP PRUEBA\\ +
NombreArchivo ) ;
// a n
alisis
r e t = SapObjeto . SapModel . Analyze . RunAnalysis ( ) ;
// S a l i d a de r e s u l t a d o s
r e t = SapObjeto . SapModel . R e s u l t s . Setup .
DeselectAllCasesAndCombosForOutput ( ) ;
r e t = SapObjeto . SapModel . R e s u l t s . Setup . S e t C a s e S e l e c t e d F o r O u t p u t
( DEAD , true ) ;

258
259

260
261

262
263
264
265

266

267
268

A.2.
1
2
3
4
5
6
7
8

using
using
using
using
using
using
using
using

C
odigo fuente esaSAP
System ;
System . C o l l e c t i o n s . G e n e r i c ;
System . ComponentModel ;
System . Data ;
System . Drawing ;
System . Linq ;
System . Text ;
System . Windows . Forms ;

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
32
33
34
35

namespace AsolidCono
{
public p a r t i a l c l a s s AsolidCono : Form
{
// o b j e t o SAP2000 para toda l a c l a s e d e r i v a d a AsolidCono
S a p A p i A s o l i d MySap ;
// i n d i c a d o r para AbrirSAP2000 o c r e a r un modelo
// i n t a = 0 ;
// d i m e n s i o n e s d e l cono
public s t a t i c double Altura , R1 , Espesor , R2 ;
// 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 n

// p u b l i c s t a t i c d o u b l e V a r i a c i o n ; Este
desaparece
public s t a t i c int Nrodiv12 , Nrodiv13 ;
// p r o p i e d a d de m a t e r i a l e s
public s t a t i c double PesoEsp , Rconcreto , C o e f p o i s s o n ; //
Coeftermico ;
// c a r g a s
public s t a t i c double Cargamuerta , Cargaviva ;
// f u n c i
o n a c e l e r a c i o n pseudo e s p e c t r a l
public s t a t i c double Z , Tp , S , U, R, vT , Tf ;
// i n d i c a l a forma de l a e s t r u c t u r a
/ 1 : cono completo
2 : cono con a b e r t u r a
3 : domo completo
4 : como con a b e r t u r a
. . . . . y sigue
/

99

36

int FormaEstructura ;

37
38
39
40
41
42
43
44

public AsolidCono ( )
{
InitializeComponent () ;
// e s t r u c t u r a p r e d e t e r m i n a d a cono completo
FormaEstructura = 1 ;
txtR2 . Enabled = f a l s e ;
}

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

62
63
64
65
66
67
68
69

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

private s t a t i c string Mensaje ( int a )


{
switch ( a )
{
case 1 :
return A l t u r a d e l cono , i n d e f i n i d o ;
case 2 :
return Radio ( r 1 ) d e l cono , i n d e f i n i d o ;
case 3 :
return E s p e s o r d e l cono , i n d e f i n i d o ;
case 4 :
return N
umero de Div1 2, i n d e f i n i d o ;
case 5 :
return N
umero de Div1 3, i n d e f i n i d o ;
case 6 :
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 n
case 7 :
return Peso E s p e cf i c o , i n d e f i n i d o ;
case 8 :
return f c , i n d e f i n i d o ;
case 9 :
return C o e f i c i e n t e de P o is s o n , i n d e f i n i d o ;
case 1 0 :
return Radio ( r 2 ) d e l cono , i n d e f i n i d o ; // a n
adido
radio 2
case 1 1 :
return c a r g a muerta , i n d e f i n i d o ;
case 1 2 :
return c a r g a viva , i n d e f i n i d o ;
case 1 3 :
return Z , i n d e f i n i d o ;
case 1 4 :
return Tp , i n d e f i n i d o ;
case 1 5 :
return S , i n d e f i n i d o ;
case 1 6 :
return U, i n d e f i n i d o ;
case 1 7 :
return R, i n d e f i n i d o ;
case 1 8 :
return vT , i n d e f i n i d o ;
case 1 9 :
return Tf , i n d e f i n i d o ;
case 2 0 :
return . . . y s i g u e ;
default :
return Todo Bien ;

100

92
93

94
95
96
97

98

private s t a t i c void MostrarMensaje ( string t e x t o )


{
MessageBox . Show ( t e x t o , AsolidCono , MessageBoxButtons .OK,
MessageBoxIcon . I n f o r m a t i o n ) ;
}

99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148

private bool V e r i f i c a r A r g u m e n t o s ( )
{
// ordena argumentos y v e r i f i c a
// D e f i n e e l cono
// A l t u r a d e l cono
i f ( t x t A l t u r a . Text == )
{
MostrarMensaje ( Mensaje ( 1 ) ) ;
return true ;
}
A l t u r a = double . Parse ( t x t A l t u r a . Text ) ;
// Radio d e l cono
i f ( txtR1 . Text == )
{
MostrarMensaje ( Mensaje ( 2 ) ) ;
return true ;
}
R1 = double . Parse ( txtR1 . Text ) ;
// E s p e s o r d e l cono
i f ( t x t E s p e s o r . Text == )
{
MostrarMensaje ( Mensaje ( 3 ) ) ;
return true ;
}
E s p e s o r = double . Parse ( t x t E s p e s o r . Text ) ;
// D i v i s i o n e s d e l dominio
// D i v i s i o n e s en 12
i f ( t x t N r o d i v 1 2 . Text == )
{
MostrarMensaje ( Mensaje ( 4 ) ) ;
return true ;
}
Nrodiv12 = int . Parse ( t x t N r o d i v 1 2 . Text ) ;
// D i v i s i o n e s en 13
i f ( t x t N r o d i v 1 3 . Text == )
{
MostrarMensaje ( Mensaje ( 5 ) ) ;
return true ;
}
Nrodiv13 = int . Parse ( t x t N r o d i v 1 3 . Text ) ;
// V a r i a c i
o n Li / Lf
/ i f ( t x t V a r i a c i o n . Text == )
{
MostrarMensaje ( Mensaje ( 6 ) ) ;
return true ;
}
V a r i a c i o n = d o u b l e . Parse ( t x t V a r i a c i o n . Text ) ; /
// P r o p i e d a d e s de l o s m a t e r i a l e s
// Peso E s p e c f i c o

101

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

i f ( t x t P e s o e s p e c i f i c o . Text == )
{
MostrarMensaje ( Mensaje ( 7 ) ) ;
return true ;
}
PesoEsp = double . Parse ( t x t P e s o e s p e c i f i c o . Text ) ;
// R e s i s t e n c i a d e l c o n c r e t o
i f ( t x t R e s i s C o n c r e t o . Text == )
{
MostrarMensaje ( Mensaje ( 8 ) ) ;
return true ;
}
Rc on cr et o = double . Parse ( t x t R e s i s C o n c r e t o . Text ) ;
// C o e f i c i e n t e de P o i s s o n
i f ( t x t C o e f p o i s s o n . Text == )
{
MostrarMensaje ( Mensaje ( 9 ) ) ;
return true ;
}
C o e f p o i s s o n = double . Parse ( t x t C o e f p o i s s o n . Text ) ;
// C o e f i c i e n t e de e x p a n s i o n te r m i c o e r a
// ahora e s e l r a d i o f i n a l , r 2
i f ( txtR2 . Text == )
{
MostrarMensaje ( Mensaje ( 1 0 ) ) ;
return true ;
}
R2 = double . Parse ( txtR2 . Text ) ;
// c a r g a s
// c a r g a muerta
i f ( txtCargamuerta . Text == )
{
MostrarMensaje ( Mensaje ( 1 1 ) ) ;
return true ;
}
Cargamuerta = double . Parse ( txtCargamuerta . Text ) ;
// Carga v i v a
i f ( t x t C a r g a v i v a . Text == )
{
MostrarMensaje ( Mensaje ( 1 2 ) ) ;
return true ;
}
Cargaviva = double . Parse ( t x t C a r g a v i v a . Text ) ;
// p u b l i c s t a t i c d o u b l e Z , Tp , S , U, R, vT , Tf ;
// Funci
o n a c e l e r a c i o n Pseudo e s p e c t r a l
//Z
i f ( txtZ . Text == )
{
MostrarMensaje ( Mensaje ( 1 3 ) ) ;
return true ;
}
Z = double . Parse ( txtZ . Text ) ;
//Tp
i f ( txtTp . Text == )
{
MostrarMensaje ( Mensaje ( 1 4 ) ) ;
return true ;
}

102

Tp = double . Parse ( txtTp . Text ) ;


//S
i f ( t x t S . Text == )
{
MostrarMensaje ( Mensaje ( 1 5 ) ) ;
return true ;
}
S = double . Parse ( t x t S . Text ) ;
//U
i f ( txtU . Text == )
{
MostrarMensaje ( Mensaje ( 1 6 ) ) ;
return true ;
}
U = double . Parse ( txtU . Text ) ;
//R
i f ( txtR . Text == )
{
MostrarMensaje ( Mensaje ( 1 7 ) ) ;
return true ;
}
R = double . Parse ( txtR . Text ) ;
//vT
i f ( txtVt . Text == )
{
MostrarMensaje ( Mensaje ( 1 8 ) ) ;
return true ;
}
vT = double . Parse ( txtVt . Text ) ;
// Tf
i f ( t x t T f . Text == )
{
MostrarMensaje ( Mensaje ( 1 9 ) ) ;
return true ;
}
Tf = double . Parse ( t x t T f . Text ) ;
// . . . . . . . s i g u e n mas m e n s a j e s ( s )
return f a l s e ;

207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245

246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264

void P r o c e d i m i e n t o ( )
{
// Metodo para a n a l i z a r en SAP2000
// v e r i f i c a r argumentos
i f ( VerificarArgumentos () )
{
return ;
}
// s i t o d o s l o s argumentos son c o r r e c t o s s e e j e c u t a
// c r e a o b j e t o MySAP2000
MySap = new S a p A p i A s o l i d ( ) ;
// I n i c i a l i z a o c r e a nuevo modelo de , seg u
n
MySap . AbrirSap2000 ( ) ;
// d e f i n e p r o p i e d a d d e l e l e m e n t o
double ModE = 15E7 Math . S q r t ( Rc on cr et o ) ;
MySap . D e f i n i r P r o p i e d a d ( PesoEsp , ModE, C o e f p o i s s o n ) ;
// d e f i n e f u n c i
o n a c e l e r a c i o n pseudo e s p e c t r a l
MySap . ZUCS( Z , Tp , S , U, R, 0 . 1 , vT , Tf ) ;

103

// d e f i n e c a r g a s , c a s o s de a n a l i s i s y c o m b i n a c i o n e s de c a r g a
MySap . D e f i n i r C a r g a s ( ) ;
// masa de l a e s t r u c t u r a
MySap . MasaEstructura ( ) ;
rea
// nombre d e l A
string MyArea = ;

265
266
267
268
269
270
271

switch ( FormaEstructura )
{
case 1 : //Cono completo
// o b t i e n e nombre de l o s f r a m e s r e s u l t a d o de
extrudar
MyArea = MySap . ConoCompleto (R1 , Altura , E s p e s o r ) ;
// a s i g n a c a r g a s
MySap . A s i g n a r C a r g a s ( MyArea , Cargamuerta , Cargaviva )
;
// d e v u e l v e l o s nombres de l o s e l e m e n t o s c a r g a d o s
MySap . Rectangulos4Nodos ( MyArea , Nrodiv12 , Nrodiv13 )
;
// s o p o s t e s en l a b a s e
MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;
// s o p o r t e s en e l c e n t r o
MySap . A s i g n a r S o p o r t e s E n C e n t r o (R1 , Altura , Espesor ,
Nrodiv12 ) ;
// A n a l i z a r
MySap . A n a l i z a r ( ConoCompleto . SDB ) ;
break ;
case 2 : // cono con a b e r t u r a
// o b t i e n e nombre de l o s f r a m e s r e s u l t a d o de
extrudar
MyArea = MySap . ConoConAbertura (R1 , R2 , Altura ,
Espesor ) ;
// a s i g n a c a r g a s
MySap . A s i g n a r C a r g a s ( MyArea , Cargamuerta , Cargaviva )
;
// d e v u e l v e l o s nombres de l o s e l e m e n t o s c a r g a d o s
MySap . Rectangulos4Nodos ( MyArea , Nrodiv12 , Nrodiv13 )
;
// s o p o s t e s en l a b a s e
MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;
// s o p o r t e s en e l c e n t r o
//MySap . A s i g n a r S o p o r t e s E n C e n t r o (R1 , Altura , Espesor
, Nrodiv12 ) ;
// A n a l i z a r
MySap . A n a l i z a r ( ConoConAbertura . SDB ) ;
break ;
case 3 : //domo completo
break ;
case 4 : //domo con a b e r t u r a
break ;
}

272
273
274
275

276
277
278

279
280

281
282
283
284

285
286
287
288
289

290

291
292

293
294

295
296
297
298

299
300
301
302
303
304
305
306
307

308
309

310
311
312

private void a n a l i z a r E n S a p 2 0 0 0 1 1 0 4 T o o l S t r i p M e n u I t e m C l i c k (
object s e n d e r , EventArgs e )
{
// c l i k en a n a l i z a r l a e s t r u c t u r a
// a n t e s debe e l e g i r una o p c i o n

104

i f ( FormaEstructura == 0 )
{
MostrarMensaje ( Mensaje ( 6 ) ) ;
return ;
}

313
314
315
316
317
318

Procedimiento ( ) ;

319

320
321

private void c e r r a r S a p 2 0 0 0 1 1 0 4 T o o l S t r i p M e n u I t e m C l i c k ( object


s e n d e r , EventArgs e )
{
// c l i k en c e r r a r sap2000
MySap . C e r r a r ( ) ;
}

322

323
324
325
326
327

private void s a l i r T o o l S t r i p M e n u I t e m C l i c k ( object s e n d e r ,


EventArgs e )
{
// s a l i r de l a a p l i c a c i o n
this . Close ( ) ;
}

328

329
330
331
332
333

private void conoCompletoToolStripMenuItem Click ( object s e n d e r ,


EventArgs e )
{
// s e e l i g e cono completo
FormaEstructura = 1 ;
txtR2 . Enabled = f a l s e ;

334

335
336
337
338
339

340
341

private void conoConAberturaToolStripMenuItem Click ( object


s e n d e r , EventArgs e )
{
// s e e l i g e cono con a b e r t u r a
FormaEstructura = 2 ;
txtR2 . Enabled = true ;

342

343
344
345
346
347

348
349

350
351

105

Ap
endice B
Fotografas

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


Educacion

106

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


Educacion

Figura B.3: Refuerzos del techo del auditorio de la Facultad de Ciencias de la educacion

107

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

Ap
endice C
Planos de la construcci
on
Lamina L-01: Localizacion
Lamina U-01: Ubicacion
Lamina A-15: Arquitectura - Planta y Cortes.
Lamina A-16: Arquitectura - Elevaciones.

109

También podría gustarte