You are on page 1of 125

Universidad Nacional San Crist

obal de
Huamanga
Facultad de Ingenier

a de Minas, Geolog

a y
Civil
Escuela de Formaci

on Profesional de
Ingenier

a Civil
Tesis Para Optar el T

tulo de Ingeniero Civil


Interfaz de Programaci

on para Aplicaciones del


Sap2000 y Visual C# Fundamentado en MathCad
Por:
Edmundo Canchari Guti

errez
Dirigido Por:
Ing. Cristian Castro P

erez
Ayacucho - Marzo 2009
Presentaci on
Esta tesis es presentada como parte de los requisitos para optar el ttulo academi-
co de Ingeniero Civil, de la Universidad Nacional San Crist obal de Huamanga, la
misma contiene los resultados obtenidos en investigaciones llevadas a cabo en el
periodo 2007-2009.
Edmundo Canchari Guti

errez
http://cgedmundo.wordpress.com
cgedmundo@gmail.com
Escuela Profesional de Ingenier

a Civil
Universidad Nacional San Crist

obal de Huamanga
Ayacucho, marzo del 2009
i
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 Catedr ati-
cos 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 deses-
peraci on por culminar esta tesis.
Mis agradecimientos a la empresa Computers and Structures, INC por libe-
rar a disposicion de los usuarios, de manera totalmente gratuita, la Interfaz
de Programacion para Aplicaciones del programa Sap2000, a disposici on 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 m as tedioso todava el desarrollo del presente trabajo.
A los usuarios de los foros de discusi on 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 L
A
T
E
X, al grupo que mantiene la distribuci on
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 presentaci on 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 justicaci on de los
resultados obtenidos; entre los varios lenguajes de programaci on 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 c omodo para realizar
aplicaciones en computadoras. Se justica detalladamente los resultados de Sap2000
mediante el metodo de los elementos nitos desde MathCad 14, para estructuras
que cumplan las condiciones para ser modelado como un solido axisimetrico. La
aplicaci on pr actica de la presente Tesis es el techo del Auditorio de la Facultad de
Ciencias de la Educaci on de la Universidad Nacional San Crist obal de Huamanga.
Es importante advertir al interesado que en la presente tesis no se desarrolla
la formulaci on del metodo de los elementos nitos, se presenta un resumen de lo
necesario para su programaci on; la teora se utiliza en un nivel superior, aplicando
directamente al an alisis de estructuras justicando los resultados de Sap2000 deta-
lladamente, surgiendo as, un complemento ideal en el proceso de aprendizaje del
referido metodo.
iv

Indice general
Presentaci on I
Dedicatoria II
Agradecimientos III
Resumen IV

Indice general V

Indice de guras XII

Indice de cuadros XV
I Introducci on 1
1. Introducci on 2
1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Motivacion de la investigacion . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Justicaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.2. Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Organizaci on del estudio . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7. Metodologa aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
v
II Marco teorico 8
2. Analisis de estructuras con elementos nitos 9
2.1. Metodo de los elementos nitos . . . . . . . . . . . . . . . . . . . . . 9
2.1.1. Perspectiva historica . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2. Denicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3. Esquema de presentaci on . . . . . . . . . . . . . . . . . . . . . 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. S olido 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. Formulaci on de elementos nitos . . . . . . . . . . . . . . . . . . . . . 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 programaci on 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 programaci on 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 Aplicaci on . . . . . . . . . . . . . . . . . . . . . . 29
3.6.7. La funci on magica . . . . . . . . . . . . . . . . . . . . . . . . 29
III Materiales y metodos 30
4. Analisis se Solidos Axisimetricos con FEM 31
4.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1. Sap2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.1.1.1. Metodo de analisis . . . . . . . . . . . . . . . . . . . 32
4.1.1.2. Metodo de elementos nitos . . . . . . . . . . . . . . 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 ele-
mento . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2.2.1. Funciones de forma . . . . . . . . . . . . . . 40
4.2.2.2.2. Coordenadas . . . . . . . . . . . . . . . . . 41
4.2.2.2.3. Desplazamientos . . . . . . . . . . . . . . . 41
4.2.2.2.4. Matriz Jacobiana . . . . . . . . . . . . . . . 41
4.2.2.2.5. Matriz deformaci on 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. Comparaci on 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. Comparaci on de resultados con sap2000 . . 50
4.2.3.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 50
5. Desarrollo del Programa esaSAP 52
5.1. Organizaci on para el programa . . . . . . . . . . . . . . . . . . . . . 52
5.2. Descripci on 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 DenirPropiedad . . . . . . . . . . . . . . . . . . . . 54
5.2.5. Metodo ZUCS . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.6. public void DenirCargas() . . . . . . . . . . . . . . . . . . . 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. C odigo fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. Descripci on 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. Descripci on de metodos . . . . . . . . . . . . . . . . . . . . . 60
5.3.7. Descripci on de eventos . . . . . . . . . . . . . . . . . . . . . . 61
5.3.8. Codigo fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
IV Resultados 62
6. Caso de estudio a un proyecto local 63
6.1. Descripci on del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2. Argumentos requeridos para el an alisis . . . . . . . . . . . . . . . . . 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. An alisis 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 direcci on radial . . . . . . . 74
6.4.2.2.2. Tensiones en la direcci on circunferencial . . 75
6.4.2.2.3. Tensiones en la direcci on 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. Obtenci on 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. Justicaci on de los resultados . . . . . . . . . . . . . . . . . . . . . . 82
V 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 Anexos 92
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 guras
2.1. P ortico 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 s olido de
revoluci on con cargas de revoluci on . . . . . . . . . . . . . . . . . . . 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 elevaci on techo en forma de cono con abertura . . . . . . . . 33
4.3. Modelo de la secci on caracterstica de revolucion . . . . . . . . . . . . 34
4.4. Secci on caracterstica de revoluci on . . . . . . . . . . . . . . . . . . . 34
4.5. Identicacion de nudos y elementos . . . . . . . . . . . . . . . . . . . 35
4.6. Funcion para obtener coordenadas . . . . . . . . . . . . . . . . . . . 39
4.7. Funcion para obtener gdl . . . . . . . . . . . . . . . . . . . . . . . . 40
4.8. Funcion para obtener K . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.9. Funcion para obtener F . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.10. Funci on para obtener Km . . . . . . . . . . . . . . . . . . . . . . . . 48
4.11. Funci on para obtener desplazamientos . . . . . . . . . . . . . . . . . 48
4.12. Funci on para ordenar desplazamientos . . . . . . . . . . . . . . . . . 48
4.13. Funci on para ordenar reacciones . . . . . . . . . . . . . . . . . . . . 50
xii
4.14. Funci on desplazamientos de un elemento . . . . . . . . . . . . . . . . 51
5.1. Diagrama de Flujo general . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2. Ventana principal de la aplicaci on esaSAP . . . . . . . . . . . . . . . 58
5.3. Opciones de an alisis esaSAP . . . . . . . . . . . . . . . . . . . . . . 58
5.4. Secci on de revolucion cono completo . . . . . . . . . . . . . . . . . . 59
5.5. Secci on de revolucion cono con abertura . . . . . . . . . . . . . . . . 59
5.6. Argumentos generales para el an alisis . . . . . . . . . . . . . . . . . 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. Secci on de revolucion de la estructura . . . . . . . . . . . . . . . . . . 66
6.4. Modelo de la estructura como s olido axisimetrico . . . . . . . . . . . 66
6.5. Dimensiones de la Secci on de Revolucion . . . . . . . . . . . . . . . . 70
6.6. Argumentos para esaSAP . . . . . . . . . . . . . . . . . . . . . . . . 71
6.7. Desplazamiento radial m aximo en funci on de la discretizacion . . . . 73
6.8. Desplazamiento axial m aximo en funci on de la discretizacion . . . . . 73
6.9. Tension radial maximo en funci on de la discretizacion . . . . . . . . 75
6.10. Tensi on circunferencial maximo en funcion de la discretizacion . . . . 75
6.11. Tensi on axial m aximo en funcion de la discretizaci on . . . . . . . . . 76
6.12. Tensi on tangencial maximo en funcion de la discretizaci on . . . . . . 76
6.13. Fuerza radial maximo en funci on de la discretizacion . . . . . . . . . 78
6.14. Fuerza axial maximo en funci on de la discretizacion . . . . . . . . . . 79
6.15. Esfuerzo radial m aximo en la zona inferior de la estructura . . . . . 80
6.16. Esfuerzo radial m aximo en la zona zona intermedia y superior . . . . 81
6.17. Esfuerzo axial m aximo 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
Educaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
B.2. Encofrado del techo del auditorio de la Facultad de Ciencias de la
Educaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
xiii
B.3. Refuerzos del techo del auditorio de la Facultad de Ciencias de la
educaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.4. Auditorio Facultad Ciencias de la Educaci on U.N.S.C.H . . . . . . . . 108
B.5. Auditorio Facultad Ciencias de la Educaci on U.N.S.C.H . . . . . . . . 108
xiv

Indice de cuadros
3.1. Cuadro de elementos utilizados . . . . . . . . . . . . . . . . . . . . . 25
4.1. Identicacion de nudos . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2. Identicacion de los elementos . . . . . . . . . . . . . . . . . . . . . . 36
4.3. Identicacion 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 m aximos 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 extensi on . . . 70
6.4. Desplazamientos m aximos en los nudos utilizando la extensi on . . . . 72
6.5. Tensiones maximos en elementos utilizando la extensi on . . . . . . . . 74
6.6. Fuerzas maximos en nudos de elementos utilizando la extension . . . 78
xv
Parte I
Introducci on
1
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
nalidades particulares, para prop ositos especcos. Siendo esta propiedad con que
dispone el programa la base en la que se centra la presente tesis.
En el presente trabajo se elaborara, personalizar a y validar a el uso de API
SAP2000 desde MICROSOFT VISUAL C#, producto del trabajo de investiga-
ci on, donde se mostrara claramente las ventajas y las bondades de la Interfaz de
Programacion para Aplicaciones, el an alisis estructural con el M

ETODO DE LOS
ELEMENTOS FINITOS y la programaci on orientada a objetos. Asimismo, como
elemento de trabajo y fundamentaci on de los modelos numericos a utilizarse se em-
plear a el MATHCAD como modelo de aprendizaje.
1.2. Motivacion de la investigacion
Actualmente entender los fundamentos del Metodo de los Elementos Finitos es
muy importante en la vida profesional del Ingeniero Civil, ya que la gran mayora
1
En el desarrollo de la presente tesis se utiliza el programa Sap2000 11.0.4
2
de los programas, no solo en el area de estructuras, estan escritos bas andose 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 suciente para el correcto uso de las aplicaciones.
Con la nalidad de utilizar el programa Sap2000 de manera responsable se in-
vestiga el Metodo de los Elementos Finitos para nalmente automatizar el analisis
estructural mediante su Interface de Programacion para Aplicaciones.
Es imposible programar en Sap2000 sin los conocimientos sucientes del Metodo
de los Elementos Finitos, cuanto mayor conocimiento se tenga del metodo de an alisis
en que se fundamenta, mejor ser a la convivencia entre el usuario y el programa y
como consecuencia natural con su Interface de Programacion para Aplicaciones.
1.3. Planteamiento del problema
El principal inconveniente surge en utilizar aplicaciones para el Analisis Estruc-
tural sin conocimiento suciente de los metodos de analisis en que se fundamenta
el programa; consciente de esta realidad, en la presente tesis se justica 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 an alisis, tendran en la
presente tesis las bases justicadas para su adecuado uso.
1.4. Justicaci on
Se hace uso de aplicaciones de muy alto nivel como son Sap2000 11.0.4, Math-
Cad 14 y Microsoft Visual Studio 2009 Express Edition, ademas de utilizar tecnicas
y lenguajes de programaci on actuales, lo que permite enlazar la Interfaz de Pro-
gramacion para Aplicaciones que posee Sap2000 con el lenguaje de programacion
Microsoft Visual C# para acceder al programa, con la nalidad de realizar una
serie de extensiones para cada prop osito. De igual manera se utiliza el Metodo do los
3
Elementos Finitos para justicar los resultados, metodo numerico que actualmente
es el m as idoneo para el an alisis de estructuras.
1.5. Objetivos
1.5.1. Objetivos generales
Crear una aplicacion con la nalidad de automatizar el proceso de an alisis en el
programa Sap2000 mediante su Interfaz de Programacion para Aplicaciones.
La aplicacion sera para automatizar el an alisis de techos de edicaciones que
tienen la forma de cono, para el an alisis se modelara la estructura como un
Solido de revolucion.
1.5.2. Objetivos especcos
Los objetivos especcos son los siguientes
Utilizar el Metodo de los Elementos Finitos en su formulacion para estructuras
modeladas como Solidos de Revolucion.
Crear una plantilla mediante programaci on en MathCad 14 para el an alisis 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 S olido 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 modicarlo 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 resul-
tados obtenidos, por esta razon se investiga el Metodo de los Elementos Finitos,
con el prop osito de justicar el an alisis y crear una extensi on para modelar y ana-
lizar estructuras que cumplen las condiciones para ser modeladas como solidos de
revoluci on.
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 c alculo paso a paso conlleva a utilizar los medios adecuados
para este n, MathCad 14 es una herramienta ideal especcamente dise nado para
elaborar informes tecnicos detallados y sera aprovechado en esta oportunidad en el
an alisis de estructuras.
Los resultados obtenidos mediante MathCad 14 para su validez deben de coinci-
dir con los del Sap2000, ya que la formulaci on del Metodo de los Elementos Finitos,
sea por el principio que fuere, llega a un resultado unico. La igualdad de los resulta-
dos, los de MathCad 14 y Sap2000 11.0.4, en la presente tesis es la base que justica
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 an alisis de estructuras modeladas como Solidos de Revolucion, cuya aplicacion
pr actica es el techo en forma de cono del auditorio de la Facultad de Ciencias de la
Educaci on de la Universidad Nacional San Crist obal de Huamanga.
Se consideran los siguientes captulos:
Captulo 1: Generalidades sobre la tesis.
Captulo 2: An alisis estructural con el metodo de los elementos nitos, modela-
miento de elementos estructurales y un resumen de lo necesario para su pro-
gramaci on del metodo de los elementos nitos para el analisis de estructuras
axisimetricas.
Captulo 3: Los fundamentos para la programaci on en Visual C# y la Interface
5
de Sap2000. Descripci on de los procedimientos generales para interactuar con
la Interfaz de Programacion para Aplicaciones de Sap2000 desde Microsoft
Visual C#, para la edici on de la aplicaci on 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 cono-
cimiento suciente del metodo de los elementos nitos, ya que es utilizado
directamente en la creaci on de una plantilla en MathCad 14 con la nalidad
de justicar los resultados de Sap2000 y obtener un procedimiento de an alisis
detallado. La plantilla es para analizar mediante el metodo de los elementos
nitos de cualquier estructura que pueda ser modelado como un solido axi-
simetrico.
Captulo 5: Desarrollo de una extensi on para Sap2000 mediante su Interfaz de
Programacion para Aplicaciones desde Microsoft Visual c#. La extensi on
tendr a la capacidad de modelar y analizar mediante el Metodo de los Ele-
mentos Finitos un tipo de estructura que cumple las condiciones para ser
modelado como Solido de Revolucion.
Captulo 6: Caso de estudio y aplicacion, discusi on de resultados. Como aplicaci on
pr actica se analiza el techo, en forma de cono, de la Aula Magna, de la Facultad
de Ciencias de la Educaci on en la Ciudad Universitaria(Universidad Nacional
San Cristobal de Huamanga - UNSCH).
Captulo 7: Conclusiones y recomendaciones.
1.7. Metodologa aplicada
La investigaci on es analtica. Consiste en investigar el Metodo de los Elemen-
tos Finitos para estructuras que cumplen las condiciones para ser modeladas como
Solidos de Revolucion, luego realizar un programa en MathCad 14 con la nalidad
de obtener un procedimiento de an alisis detallado, los resultados obtenidos ser an
comparados con los que se obtiene del programa Sap2000 11.0.4; establecido los
6
fundamentos teoricos sucientes se podr a realizar extensiones mediante la Interface
de Programacion para Aplicaciones que posee el programa.
7
Parte II
Marco teorico
8
Captulo 2
Analisis de estructuras con
elementos nitos
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 captu-
lo, dedicando el trabajo completamente a interpretar las relaciones establecidas en
los libros de la referencia y justicar los resultados obtenidos, en lugar de estar re-
produciendo, lo que en cualquier libro que trate del tema se le puede encontrar y con
mucho mayor detalle, pero cumpliendo los requisitos para una tesis es necesario
incluirlo.
2.1. Metodo de los elementos nitos
2.1.1. Perspectiva historica
La referencia [6](P aginas 01 al 05) narra de una manera extraordinaria, sus orge-
nes, evolucion y el presente del metodo de los elementos nitos. Seg un los entendidos
en el tema no es posible indicar con exactitud el momento en que se inicia el referido
metodo
2
.
1
Los referencias [1], [2], [3], [4], [5], etc tratan a detalle sobre el metodo para el analisis de
estructuras.
2
Referencia [5] pagina 03
9
2.1.2. Denici on
La denicion del metodo, para su veracidad se transcribe de los libros de la
referencia.
ANSYS-CivilFem(2003) el Metodo de los Elementos Finitos, es uno de los pro-
cedimientos que existen para aproximar el comportamiento de una estructura
con innitos grados de libertad por el de otra, con aproximadamente las mis-
mas propiedades fsicas y geometricas, pero con un n umero nito de grados
de libertad, cuyas ecuaciones de equilibrio pueden expresarse por un sistema
algebraico de ecuaciones simultaneas con un n umero limitado de inc ognitas
3
.
O.C Zienkiewicz - R.L. Taylor(1993) es objeto de este texto presentar un pa-
norama del metodo de los elementos nitos como un procedimiento general de
discretizacion de los problemas continuos planteadas por expresiones denidas
matematicamente
4
.
2.1.3. Esquema de presentaci on
En el presente trabajo se adopta el enfoque de la energa potencial
5
para la
formulaci on del metodo de los elementos nitos.
Principio de la energa potencial mnima Para sistemas conservativos, de to-
dos los campos de desplazamientos cinem aticamente admisibles, aquellos que
corresponden a condiciones de equilibrio extremizan la energa potencial total.
Si la condici on extrema es un mnimo, el estado de equilibrio es estable
6
.
3
Referencia [7] pagina 03
4
Referencia [5] pagina 02
5
Los detalles del principio de la energa potencial para la formulacion del metodo de los elementos
nitos, se encuentran en las referencias [8](Paginas 09 al 11), [6](Paginas 19 al 26), [9](Paginas 07
al 12)
6
Referencia [8] pagina 10
10
2.2. Modelamiento de elementos estructurales
Debido a lo extenso del tema, se comenta brevemente los modelos
7
para los
elementos estructurales en un an alisis mediante el metodo de los elementos nitos.
2.2.1. Elementos adimensionales
Se consideran objetos adimensionales a los nudos. Mediante los nudos est an
conectados los elementos en una discretizaci on para el an alisis y representan los
puntos, sobre la estructura, en las cuales se desea obtener los resultados requeridos
gura(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, colum-
nas, cables, etc, y todo elemento estructural en la que la longitud es mucho mayor
que las dimensiones que denen su secci on transversal, gura(2.1).
Figura 2.1: P ortico en el espacio, nudos y elementos
7
Los modelos estructurales para el analisis por elementos nitos en el programa Sap2000 se
encuentra en las referencias [10] y [11]
8
El metodo de los elementos nitos, 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 an alisis, la justicacion y la automati-
zaci on para elementos estructurales unidimensionales en el programa Sap2000. En
el proceso de desarrollo se demostr o que la formulaci on del metodo de los elementos
nitos para este tipo de estructuras, nalmente termina siendo el metodo de la ri-
gidez, ademas de existir otros metodos con las cuales es posible obtener resultados
exactos y en menor tiempo; limitando exageradamente el uso verdadero del referido
metodo. Por esta raz on no amerita la dedicacion exclusiva en la automatizaci on de
procesos de an alisis en Sap2000 mediante su Interfaz de Programacion para Aplica-
ciones, en su lugar se ha optado por el an alisis, la justicacion y la automatizaci on
para estructuras axisimetricas.
2.2.3. Elementos bidimensionales
Se utiliza para modelar elementos estructurales de supercie gura(2.2) y son
9
:
Figura 2.2: Muro de contenci on, nudos y elementos
Cascaras(Shell) Las cascaras son utilizadas para modelar estructuras bidimensio-
nales o tridimensionales, como el comportamiento tipo cascara de tanques,
c upulas o b ovedas; como el comportamiento tipo placa de las losas o como el
comportamiento tipo membrana de los muros de corte.
El plano Para modelar s olidos bidimensionales, en el an alisis del comportamiento
9
Esta seccion esta 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 prism aticas largas.
S olido Axisimetrico Es usada para modelar solidos simetricos respecto a un eje
10
,
los cuales estan sujetos a cargas simetricas con respecto al mismo eje.

Este es
el tipo de estructura que se analizar a en la presente tesis.
2.2.4. Elementos tridimensionales
Para analizar estructuras utilizando modelos de s olidos tridimensionales.
2.3. S olido axisimetrico
Seguidamente se realiza el resumen del metodo de los elementos nitos para
estructuras que cumplen las condiciones para ser modelo como un solido de revo-
lucion gura(2.3). Se estudiar a unicamente el analisis de s olidos con simetra axial
sometidos a cargas de revoluci on.
Figura 2.3: Estructura general con simetra axial
Eugenio O nate(1992) consideraremos s olidos en los que su geometra y propie-
dades mec anicas son independientes de la coordenada circunferencial gu-
ra(2.3). Aunque el comportamiento de dichos s olidos es tridimensional, su es-
tudio matem atico 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 desplazamien-
to de un punto de una estructura considerada como un s olido de revoluci on
tiene solo componentes en direcciones radial() y axial(w)
11
.
2.3.1. Estructuras de simetra axial
Las estructuras de revoluci on representan un alto porcentaje en las estructuras
de uso com un en ingeniera, entre ellos se puede mencionar: Los dep ositos para agua,
muros cilndricos, silos, techos de edicaciones especiales, etc.
2.3.2. Modelo como solido axisimetrico
La gura(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 revo-
lucion gura(2.3 b); en el modelo, para obtener la estructura entera, ser a necesario
girar una vuelta entera, 360 grados sexagesimales al rededor del eje z. Sobre esta
secci on de revoluci on se plantea el metodo de los elementos nitos asignando todas
las condiciones a la que est a sometido la estructura completa gura(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, denido en la secci on caracterstica de re-
voluci on, queda perfectamente denido por las componentes de los desplazamientos
radial() y axial(w) gura(2.3).
u =
_
_
(r, z)
w(r, z)
_
_
(2.1)
11
Referencia [4] pagina 243
14
2.3.4. Campo de deformaciones
El vector de deformaciones de un punto, tiene las cuatro componentes siguien-
tes:
r
deformaci on radial,
z
deformaci on axial,

deformaci on circunferencial,
rz
deformaci on tangencial.
=
_
_
_
_
_
_
_
_
_

rz

_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_

r
w
z

z
+
w
r

r
_
_
_
_
_
_
_
_
_
(2.2)
2.3.5. Campo de tensiones
Las tensiones no nulas se corresponden con las deformaciones no nulas, as, el
vector de tensiones se escribe como.
=
_

r

z

rz

_
T
(2.3)
donde
r
,
z
,

,
rz
son respectivamente, las tensiones radial, axial, circunfe-
rencial y tangencial. La gura(2.4) muestra el convenio de signos para los tensiones
actuando sobre un elemento diferencial de un s olido de revolucion.
Figura 2.4: Tensiones actuando sobre un elemento diferencial de un s olido de revo-
luci on con cargas de revolucion
15
2.3.6. Ecuaci on constitutiva
La relaci on entre tensiones y deformaciones, se deduce de la elasticidad tridi-
mensional, en presciencia de tensiones y deformaciones iniciales se obtiene.
= D(
o
) +
o
(2.4)
para materiales is otropos, la matriz de propiedades del elemento est a dado por
la ecuacion(2.5), en la cual E es el m odulo de elasticidad del material y es el
coeciente de poisson.
D =
E(1 )
(1 + )(1 2)
_
_
_
_
_
_
_
_
_
1

1
0

1

1
1 0

1
0 0
12
2(1)
0

1
0 1
_
_
_
_
_
_
_
_
_
(2.5)
2.3.7. Expresion del principio de la energa potencial mni-
ma
Considerando el volumen elemental
12
mostrado en la gura(2.4) la energa po-
tencial puede escribirse en la forma.
=
1
2
_
2
0
_
A

T
rdAd
_
2
0
_
A
u
T
frdAd
_
2
0
_
L
u
T
Trdld u
T
i
P
i
(2.6)
Donde rdld es el area de la supercie elemental, y la carga puntual P
i
representa
una carga lineal distribuida al rededor de un crculo, T es una carga distribuida en la
supercie de la estructura y f es la fuerza del cuerpo; como se muestra en la gura(2.3
c) en la p agina(13). Todas las variables en las integrales son independientes de ,
entonces la ecuacion(2.6) puede escribirse mediante la ecuaci on(2.7).
= 2
_
1
2
_
A

T
rdA
_
A
u
T
frdA
_
L
u
T
Trdl
_
u
T
i
P
i
(2.7)
12
Seg un la referencia [8]
16
Se nota claramente de las ecuaciones(2.6 y 2.7), aunque el modelo analizado es
un elemento plano gura(2.3 c), matematicamente se toma en cuenta la estructura
completa en 3D.
2.4. Formulaci on de elementos nitos
Se realiza una formulaci on general del metodo de los elementos nitos para el
an alisis de estructuras, para iniciar es necesario dividir el dominio completo del
modelo en analisis, con elementos para los cuales son conocidos sus funciones de
interpolaci on, este procedimiento es conocido en los libros especializados como tec-
nologa de elementos.
2.4.1. Funciones de forma
Las funciones de forma son las que proporcionan las formas que puede adoptar
localmente el campo inc ognita.
La eleccion de las funciones de forma esta condicionado no s olo por la forma
que toman los dominios locales o elementos nitos, 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 nalidad de trabajar sobre un sub dominio com un en los elementos en
que ser a discretizado el dominio completo, se utiliza la formulaci on izoparametri-
ca, en este dominio normalizado gura(2.5), las funciones de interpolacion para un
elemento cuadril atero de cuatro nodos est a dado por la ecuacion(2.8).
13
Referencia [6] pagina 35
17
N
1
(, ) =
1
4
(1 )(1 )
N
2
(, ) =
1
4
(1 + )(1 )
N
3
(, ) =
1
4
(1 + )(1 + )
N
4
(, ) =
1
4
(1 )(1 + )
(2.8)
Figura 2.5: Sistema de coordenada cartesiana y normalizado
2.4.2. Coordenadas
Las coordenadas en el interior de cada elemento nito esta dado por la ecua-
ci on(2.9).
r(, ) = N
1
(, )r
1
+ N
2
(, )r
2
+ + N
n
(, )r
n
z(, ) = N
1
(, )z
1
+ N
2
(, )z
2
+ + N
n
(, )z
n
(2.9)
2.4.3. Matriz jacobiano
El cambio desde el sistema de referencia global al sistema normalizado est a ex-
presado por la matriz jacobiana ecuacion(2.10).
18
J(, ) =
_
_
r(,)

z(,)

r(,)

z(,)

_
_
(2.10)
2.4.4. Matriz de rigidez
La matriz de rigidez se obtiene desde la ecuaci on(2.7), desarrollando para un
elemento de n nudos, el vector de desplazamientos para un elemento esta or-
denado convenientemente en la ecuacion(2.12) y el vector de funciones de forma
ecuaci on(2.11) es.
N =
_
_
_
_
N
1
0
0 N
1
_
_
_
_
N
2
0
0 N
2
_
_
. . .
_
_
N
n
0
0 N
n
_
_
_
_
(2.11)
q =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

1
w
1
_
_
_
_

2
w
2
_
_
.
.
.
_
_

n
w
n
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(2.12)
La matriz deformacion unitaria desplazamiento.
B =
_
_
_
_
_
_
_
_
_
_

_
N
1
r
0
0
N
1
z
N
1
z
N
1
r
N
1
r
0
_

_
_

_
N
2
r
0
0
N
2
z
N
2
z
N
2
r
N
2
r
0
_

_

_

_
N
n
r
0
0
N
n
z
N
n
z
N
n
r
N
n
r
0
_

_
_
_
_
_
_
_
_
_
_
(2.13)
Las deformaciones est a dado mediante = Bq, la matriz de rigidez en el sistema
normalizado para una estructura de simetra axial est a dado por la ecuacion(2.14),
para obtener las expresiones de las cargas se procede de manera similar.
k = t
_
1
1
_
1
1
B
T
DBrJdd (2.14)
Donde:
19
t: representa el angulo de revoluci on que gira cada elemento nito en que fue
discretizado el plano de la seccion caracterstica de revoluci on.
B: es la matriz deformaci on 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 nito, ecuaci on(2.9).
J: matriz jacobiano, ecuaci on(2.10).
La mejor manera de obtener la matriz de rigidez, es resolver la ecuacion(2.14)
numericamente
14
.
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 Mi-
crosoft Visual c#
1
y su integraci on e implementaci on de la Interfaz de Programacion
para Aplicaciones(API) de Sap2000 desde dicho lenguaje.
La Interfaz de Programacion para Aplicaciones de Sap2000 se puede utilizar
desde cualquier lenguaje de programacion que sea capaz de implementar una inter-
face, entre estos lenguajes de programacion se tiene: Visual Basic para Aplicacio-
nes(VBA), Visual Basic .net, Visual C++, Visual C#, Java, Intel Visual Fortran v9,
etc. En la presente Tesis se programara desde el lenguaje de programaci on Visual
c# por ser un lenguaje orientado a objetos y estar completamente integrado con la
plataforma .NET.
3.2. Microsoft Visual Studio
Lo que Microsoft nos ofrece con Visual Studio 2009 Express Edition es un
entorno de desarrollo de ultima generacion, conjuntamente con el compilador de
1
Microsoft presento c# al p ublico en la Professional Developers Conference en Orlando, Flo-
rida, en el verano del 2000. [19], pagina 37
21
uno de los lenguajes de programaci on mas avanzados que existe en la actualidad
C#
2
. Las versiones Express son de distribuci on 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 ultimos 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 programaci on y
modelo de componentes con los que hayan sido desarrollados.

Esta es la llamada
plataforma .NET
3
.
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 codicaci on muy productiva tanto para los nuevos
programadores como para los veteranos . . . Microsoft dise n o C# desde su base
para aprovechar el nuevo entorno .NET Framework. Como C# forma parte de
este nuevo mundo .NET deber a comprender perfectamente lo que proporciona
.NET Framework y de que manera aumenta su productividad
4
.
Los fundamentos de programaci on en Visual C# se encuentran detalladamente
escritos en los libros de la referencia, con nes de formalidad es necesario comprender
las siguientes deniciones.
2
Referencia [20] pagina 05
3
Referencia [21] pagina 09
4
Reproducido completamente de la referencia [19] paginas 37 - 38
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] p agina 192). Todo el codigo y los datos deben ser incluidos en una
clase, no se puede denir una variable fuera de una clase y no se puede escribir
ning un c odigo 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
nalidad de evitar confusiones en la utilizaci on de variables, que pueden tambien
estar denidos con el mismo nombre en otras aplicaciones. C# permite agrupar clases
en una colecci on de clases llamada espacio de nombre. Los espacios de nombres tienen
nombres y sirven de ayuda para organizar colecciones de clases en agrupaciones
l ogicas.
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. Metodo
Los metodos son bloques de instrucciones que devuelven alg un tipo de valor
cuando se ejecutan( [19] p agina 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 rmas de metodos, propiedades, eventos o
indizadores agrupadas con un nombre com un. Las interfaces funcionan como conjun-
to de funcionalidades denidas que pueden implementarse en una clase o estructura
de c#( [19] p agina 301)
3.5. Interfaz de programaci on para aplicaciones
de sap2000
Se ha denido lo que es una interface en la secci on(3.4.6), para el desarrollo de
la aplicaci on 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 est an libres para Visual C# a disposicion
para ser utilizados como si de sus propias ordenes se tratase
5
.
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 que sirve?
En el proceso de modelamiento para el analisis mediante el metodo de los ele-
mentos nitos el procedimiento es repetitivo para cada tipo de estructura; el grupo
de programadores que mantiene Sap2000 conscientes de esta realidad liberan a dis-
posicion de los usuarios una interface de Sap2000 con la cual es posible automatizar
procedimientos completos para cada prop osito, desde cualquier lenguaje de progra-
maci on externo, dependiendo de las necesidades de cada usuario.
5
La documentacion completa con ejemplos para cada orden se encuentra en su manual SAP2000
API Documentation[22]
24
Control Propiedad Valor
Form name frmDiagn ostico
text Sap2000Diagnostico
Button name cmdOpensap2000
text Abrir
Button name cmdCapturesap2000
text Capturar
Button name cmdCloseSap2000
text Cerrar
Button name cmdEvaluarSap2000
text Evaluar
Cuadro 3.1: Cuadro de elementos utilizados
Si alguna vez se penso tener el control absoluto de Sap2000 ahora ya es posible,
mediante la interface de programacion para aplicaciones se tiene un control total
sobre el programa. Tener a disposici on toda la capacidad de Sap2000 requiere una
preparaci on adecuada, tanto en el conocimiento del metodo de los elementos nitos
y los modelos estructurales para su an alisis.
3.6. Procedimientos generales
Seguidamente se realiza una descripcion general para integrar la Interfaz de Pro-
gramacion para Aplicaciones[22] de Sap2000 v11.0.4 Educacional en el entorno de
desarrollo integrado Microsoft Visual Studio 9 Express Edition, especcamente pro-
gramando en el lenguaje Microsoft Visual c#
6
, para lo cual, se crea una aplicaci on
y los elementos que se usan se detalla en la cuadro(3.1). El formulario creado se
muestra en la gura(3.1).
6
Los fundamentos de programacion 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 pro-
yecto creado, elegir del menu emergente Agregar referencia... como muestra la gu-
ra(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 gura(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 //Implementa l a i nt e r f a z de Sap2000 a un obj et o
2 Sap2000 . SapObject SapObjeto ;
3 // i n i c i a l i z a e l obj et o
4 SapObjeto = new Sap2000 . SapObject ( ) ;
3.6.3. Accediendo al objeto que implementa la interface
El objeto que contendr a la interface de la aplicacion Sap2000 se debe declarar
de modo que sea visible en todo el proyecto, mediante c odigo 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 apoder andose de uno existente. Se tratar a 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 private void cmdOpenSap2000 Click ( object sender , EventArgs e )
2 {
3 // de c l ar a var i abl e t i po Sap2000
4 Sap2000 . SapObject SapObjeto ;
5 long r e t ;
6 // i n i c i a l i z a r l a var i abl e del t i po Sap2000
7 SapObjeto = new Sap2000 . SapObject ( ) ;
8 // i n i c i a l i z a l a a pl i c a c i o n
9 SapObjeto . Appl i c at i onSt ar t ( Sap2000 . eUni ts . kgf m C , true , Prueba ) ;
10 // cr ea e i n i c i a l i z a e l e s pac i o modelo de sap2000
11 r e t = SapObjeto . SapModel . I ni t i al i zeNewModel ( Sap2000 . eUni ts . kgf m C)
;
12 // di buj a una muro
13 r e t = SapObjeto . SapModel . Fi l e . NewWall ( 3 , 3 , 3 , 3 , true , prueba ) ;
14 }
3.6.5. Apoderarse de un Archivo Existente
Otra alternativa muy frecuente es cuando mediante codigo se quiere apoderar de
un modelo Sap2000 existente y que este en ejecuci on, a modo de prueba, el programa
culmina mostrando un mensaje del tipo de unidades actual utilizado.
1 private void cmdCaptureSap2000 Cl i ck ( object sender , EventArgs e )
2 {
3 //debe e x i s t i r un ar chi vo sap2000 ej ecut andos e actual mente
4 // de c l ar a var i abl e del t i po Sap2000
5 Sap2000 . SapObject SapObjeto ;
6 // i n i c i a l i z a l a var i abl e del t i po Sap2000
7 // e s t a acci on s e apodera automati camente de un ar chi vo e xi s t e nt e
8 SapObjeto = new Sap2000 . SapObject ( ) ;
9 //a modo de comparaci on
10 // muestra l a s uni dades de medida ac t ual del e s pac i o modelo
11 Sap2000 . eUni ts MyUnits ;
12 MyUnits = SapObjeto . SapModel . GetPresentUni ts ( ) ;
13 stri ng a = La uni dad de medida ac t ual es : + MyUnits . ToStri ng ( ) ;
14 MessageBox . Show( a , APISap2000 , MessageBoxButtons .OK) ;
15 }
28
3.6.6. Cerrando la Aplicaci on
Otro procedimiento habitual cuando se manipula programas desde aplicaciones
externas, es cerrar el programa mediante c odigo, para el objeto del tipo Sap2000
la forma correcta de terminar la aplicaci on es con las ordenes adecuadas como se
muestra.
1 private void cmdCl osesap2000 Cl i ck ( object sender , EventArgs e )
2 {
3 //debe e x i s t i r un ar chi vo sap2000 en e j e c uc i on
4 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
5 // c i e r r a l a a pl i c a c i o n
6 SapObjeto . Appl i cat i onExi t ( f al se ) ;
7 // dej a s i n cont eni do al e s pac i o modelo
8 SapObjeto . SapModel = nul l ;
9 // dej a s i n cont eni do al obj et o creado
10 SapObjeto = nul l ;
11 }
3.6.7. La funcion magica
Finalmente, el programa debe ser capaz de decidir adecuadamente una u otra
alternativa, seg un sea el caso, el programa siguiente cumple esta funci on.
1 private void cmdEval uarSap2000 Cl i ck ( object sender , EventArgs e )
2 {
3 / Este es e l modulo magico , encargado de aver i guar e l est ado
4 ac t ual de Sap2000 en l a maquina /
5
6 // cr ea y as i gna e l obj et o Sap2000
7 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
8 bool Di anos t i co ;
9 stri ng mensaje ;
10 // s i un ar chi vo s e e j e c ut a e s t a v i s i b l e
11 Di anos t i co = SapObjeto . v i s i b l e ( ) ;
12 i f ( Di anos t i co )
13 {
14 // mensaje = es t r ue : e s t a v i s i b l e en l a pant al l a ;
15 mensaje = No s e e j e c ut a Sap2000 ;
16 }
17 el se
18 {
19 // mensaje = es f a l s e : no e s t a v i s i b l e en l a pant al l a ;
20 mensaje = Se e j e c ut a Sap2000 ;
21 }
22 MessageBox . Show( mensaje , API Sap2000 , MessageBoxButtons .OK) ;
23 }
29
Parte III
Materiales y metodos
30
Captulo 4
Analisis se Solidos Axisimetricos
con el metodo de los elementos
nitos
4.1. Generalidades
El presenta captulo trata sobre el an alisis de estructuras mediante el Metodo de
los Elementos Finitos, en su formulaci on 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 revoluci on.
Para entender el presente captulo es necesario tener un conocimiento suciente
del metodo de los elementos nitos
1
, ya que los terminos utilizados y su programa-
ci on de una plantilla en MathCad 14 con la nalidad de justicar los resultados de
Sap2000 se realiza directamente. Para la justicacion de los resultados de Sap2000
se aprovechar a la capacidad de manipulaci on simb olica y numerica del programa
MathCad 14
2
. La teora ser a 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 magnca 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 aplicaci on; 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 Struc-
tures, Inc que puede ser aplicada en el an alisis de estructuras de todo prop osito.
4.1.1.1. Metodo de analisis
En en proceso de analisis de estructuras Sap2000 utiliza el metodo de los ele-
mentos nitos.
4.1.1.2. Metodo de elementos nitos
El metodo de los elementos nitos es uno de los procedimientos que existen pa-
ra aproximar el comportamiento de una estructura con innitos grados de libertad
por el de otra, con aproximadamente las mismas propiedades fsicas y geometricas,
pero con un n umero nito de grados de libertad, cuyas ecuaciones de equilibrio pue-
des expresarse por un sistema algebraico de ecuaciones simult aneas con un n umero
limitado de incognitas
3
Figura 4.1: Vista en planta techo en forma de cono con abertura
3
Referencia [7] pagina 03).
32
4.1.2. Estructuras de simetra axial
Las estructuras de revoluci on representan un alto porcentaje en las estructuras
de uso com un en ingeniera, entre ellos se puede mencionar: Los dep ositos para agua,
torres de enfriamiento, muros cilndricos, silos, c upulas, vasijas de presi on, techos de
edicaciones especiales(referencia [4] p agina 244), etc.
4.1.2.1. Estructura a analizar
Para justicar los resultados de Sap2000 en la presente tesis se analizara un
modelo alternativo del techo en forma de cono con abertura guras.(4.1 y 4.2 ), del
auditorio de la Facultad de Ciencia de la Educaci on de la Universidad Nacional San
Crist obal de Huamanga, cuyo di ametro de la base del cono es D
1
= 16m, Altura
H = 1.96m, diametro de la abertura D
2
= 2m.
Figura 4.2: Vista en elevaci on techo en forma de cono con abertura
4.1.2.2. Modelo de la estructura
Es posible modelar la estructura con distintas formulaciones del Metodo de los
Elementos Finitos, una manera es considerando la formulacion como Solido de Re-
volucion
4
debido a que la estructura es simetrico respecto al eje z del sistema de
referencia gura(4.2), en la cual se elige una seccion caracterstica de revoluci on tal
como muestra la gura g.(4.3 ), para esta secci on ser a necesario girar Arc = 360
o
grados sexagesimales para formar la estructura entera. denido la seccion carac-
terstica de revoluci on se le asignara todas las condiciones a las que se encuentra
sometido la estructura completa gura(4.4) y se analizar a sobre esta secci on 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 analisis de solidos axisimetricos
Seguidamente se programar a 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 ecuacio-
nes detalladamente desarrolladas, se puede encontrar en los libros de la referencia.
4.2.1. Pre-procesador
El usuario es el encargado de ordenar adecuadamente los argumentos, luego de
denir 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 programacion del Metodo de los Elementos Finitos
Figura 4.3: Modelo de la secci on caracterstica de revoluci on
Figura 4.4: Secci on caracterstica de revoluci on
34
con elementos rectangulares de cuatro nudos gura(4.5) y ordenar los argumentos
de acuerdo a lo establecido para las coordenadas de los nudos en la p agina(35), iden-
ticaci on de elementos pagina(35), asignaci on de propiedades p agina(36), soportes
p agina(37) y las cargas en la pagina(37).
Figura 4.5: Identicacion de nudos y elementos
4.2.1.1. Nudos
Identicar las coordenadas de todos los nudos en la estructura gura(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 la identica completamente
un nudo y cada columna representa.
columna 1: n umero identicador del nudo
columna 2: coordenada radial
columna 3: coordenada axial
4.2.1.2. Elementos
Cada elemento debe quedar completamente identicado por sus cuatro nudos
gura(4.5), todos los elementos estan organizados en un arreglo numerico de nombre
MEMB cuadro(4.2), cada la identica plenamente a un elemento en el sistema, cada
columna representa.
35
columna 1: n umero identicador del elemento
columna 2: nudo global correspondiente al nudo local uno.
columna 3: nudo global correspondiente al nudo local dos.
columna 4: nudo global correspondiente al nudo local tres
columna 5: nudo global correspondiente al nudo local cuatro.
4.2.1.3. Propiedades
Para el analisis se considera que todos los elementos tienen las mismas propie-
dades, para los solidos de revolucion son requeridos.
E = 2.1 10
9
, modulo de elasticidad del material en Kg/m
2
= 0.3, coeciente de poisson
t = 2, espesor del solido de revoluci on, expresado en radianes
Nudo Coordenada radial(m) Coordenada axial(m)
1 8.0 0
2 8.0 0.15
3 4.0 1.12
4 4.0 1.27
5 2.0 1.68
6 2.0 1.83
7 1.0 1.96
8 1.0 2.11
Cuadro 4.1: Identicacion de nudos
Elemento nudo
1
nudo
2
nudo
3
nudo
4
1 3 1 2 4
2 5 3 4 6
3 7 5 6 8
Cuadro 4.2: Identicacion de los elementos
36
4.2.1.4. Soportes
Es necesario especicar las condiciones de contorno, para especicar 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 identicador del soporte.
columna 2: n umero del nudo con soportes.
columna 3: identicador del grado de libertad en la direcci on radial, 0 si el
grado de libertad es libre y 1 si est a restringido.
Columna 4: lo mismo que la columna tres, pero para la direccion axial.
Soporte nudo r
u
? z
u
?
1 1 1 1
2 2 1 1
Cuadro 4.3: Identicacion 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 la dene
cargas en un nudo y cada columna representa.
columna 1: n umero identicador 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 nalidad de obtener el proceso de c alculo detallado, se crean funciones en
MathCad 14 [24] que hacen uso intensivo de los argumentos ordenados en la etapa
de pre proceso p agina(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 funci on RZ(m) gura(4.6) obtiene las
coordenadas de todos los nudos para el elemento m, es posible obtener cada una
de las coordenadas, con r
i
(m) las coordenadas radiales y con z
i
(m) las coordenadas
axiales, teniendo i = 1 . . . 4
Evaluando las funciones para el elemento m = 1 se obtiene su coordenadas
radiales r
1
(1) = 1, r
2
(1) = 2, r
3
(1) = 2, r
4
(1) = 1 y sus coordenadas axiales
z
1
(1) = 1.96, z
2
(1) = 1.68, z
3
(1) = 1.83, z
4
(1) = 2.11.
4.2.2.1.2. Matriz de propiedades Seg un [8] la matriz de propiedades para
s olidos de revolucion esta representado mediante la ecuacion(4.1), donde E es el
m odulo de elasticidad del material y es el coeciente de Poisson.
Carga Nudo F
r
(Kgf) F
z
(Kgf)
1 8 0 -1570.00
2 6 0 -7873.00
3 4 0 -31415.00
4 2 0 -50265.00
Cuadro 4.4: Cargas en nudos
38
D =
E(1 )
(1 + )(1 2)
_

_
1

1
0

1

1
1 0

1
0 0
12
2(1)
0

1
0 1
_

_
(4.1)
Evaluando las propiedades para los argumentos establecidos, se tiene:
D = 10
9
_
_
_
_
_
_
_
_
_
2.879 1.212 0 1.212
1.212 2.827 0 1.212
0 0 80.77 0
1.212 1.212 0 2.827
_
_
_
_
_
_
_
_
_
4.2.2.1.3. Grados de libertad Otra de las funciones fundamentales y muy
general es GDL(m), que tiene por funci on obtener los grados de libertad asociados
a los nudos de cada elemento gura(4.7), la funci on recibe como argumento un
n umero identicador de cualquier elemento, luego establece los cuatro nudos desde
la matriz MEMB y con esto los grados de libertad para cada nudo. Para un nudo
Figura 4.6: Funci on 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: Funci on para obtener gdl
Evaluando la funci on para el elemento m = 1 se obtiene los grados de libertad
asociados a los nudos del elemento. Para dos grados de libertad por nudo en total
se tienen 16 grados de libertad en toda la estructura.
GDL(1) =
_
13 14 9 10 11 12 15 16
_
4.2.2.2. Funciones para obtener la matriz de rigidez del elemento
Las funciones siguientes son para obtener la matriz de rigidez de cualquier ele-
mento.
4.2.2.2.1. Funciones de forma Las funciones de forma
6
en el sistema norma-
lizado, para elementos cuadrilateros de cuatro nodos esta dado por.
6
seg un [2] pagina 142, [3] pagina 151, [1] pagina 193, [6] pagina 40, [8] pagina 211, [17] pagina
268, [4] pagina 219, [5] pagina 127
40
N
1
(, ) =
1
4
(1 )(1 )
N
2
(, ) =
1
4
(1 + )(1 )
N
3
(, ) =
1
4
(1 + )(1 + )
N
4
(, ) =
1
4
(1 )(1 + )
(4.2)
Las funciones N
i
(, ) con i = 1 . . . 4 dependen unicamente de y que son las
coordenadas normalizadas.
4.2.2.2.2. Coordenadas Las coordenadas radial r y circunferencial z son ex-
presados [4] en funci on de las ecuaciones(4.2) y las coordenadas de los nudos en el
sistema global, mediante.
r(m, , ) = N
1
(, )r
1
(m) + N
2
(, )r
2
(m) + N
3
(, )r
3
(m) + N
4
(, )r
4
(m)
z(m, , ) = N
1
(, )z
1
(m) + N
2
(, )z
2
(m) + N
3
(, )z
3
(m) + N
4
(, )z
4
(m)
(4.3)
4.2.2.2.3. Desplazamientos Los desplazamientos [8] en el interior del elemen-
to, son dependientes de las funciones de forma ecuaciones(4.2) y los desplazamientos
de los nudos y esta expresado mediante.
= N
1
q
1
+ N
2
q
3
+ N
3
q
5
+ N
4
q
7
= N
1
q
2
+ N
2
q
4
+ N
3
q
6
+ N
4
q
8
(4.4)
4.2.2.2.4. Matriz Jacobiana La matriz jacobiana ecuaci on(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 funci on jacobiano, se conar a todo el proceso matemati-
co a MathCad 14[26], limitandonos a la formulaci on 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, , ) =
_
_
r(m,,)

z(m,,)

r(m,,)

z(m,,)

_
_
(4.5)
4.2.2.2.5. Matriz deformaci on unitaria - Desplazamiento Las deformacio-
nes unitarias [5] [4] para elementos estructurales modelados como solidos de revolu-
ci on, esta dado por ecuacion(4.6), donde
r
es la deformaci on normal en la direcci on
radial,
z
es la deformacion normal en la direcci on axial,
rz
deformaci on tangencial
en el plano rz y

es la deformaci on normal en la direcci on circunferencial.


=
_

r

z

rz

_
T
(4.6)
la relacion[5] entre las deformaciones unitarias y los desplazamientos u est a dado
mediante
=
_

r

z
+

r

r
_
T
(4.7)
La matriz deformacion unitaria - desplazamiento[8] o simplemente matriz de-
formacion unitaria[4] ecuaci on(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 direcci on.
B =
1
|J|
_

_
z

N
i

N
i

0
0
r

N
i

+
r

N
i

N
i

+
r

N
i

N
i

N
i

N
i
r
|J| 0
_

_
(4.8)
La matriz B(m, , ) ecuacion(4.8), se divide en cuatro sub matrices correspon-
diente a los cuatro nudos con B
1
(m, , ) que se corresponde con el nudo uno,
B
2
(m, , ) con el nudo dos, B
3
(m, , ) con el nudo tres y B
4
(m, , ) con el nu-
do cuatro. Las funciones siguientes se escriben como B
i
que son iguales a B
i
(m, , )
con i = 1 . . . 4, por comodidad.
42
B
1
=
_

_
z(m,,)

N
1
(,)


z(m,,)

N
1
(,)

0
0
r(m,,)

N
1
(,)

+
r(m,,)

N
1
(,)

r(m,,)

N
1
(,)

+
r(m,,)

N
1
(,)

z(m,,)

N
1
(,)


z(m,,)

N
1
(,)

N
1
(,)
r(m,,)
|J(m, , )| 0
_

_
B
2
=
_

_
z(m,,)

N
2
(,)


z(m,,)

N
2
(,)

0
0
r(m,,)

N
2
(,)

+
r(m,,)

N
2
(,)

r(m,,)

N
2
(,)

+
r(m,,)

N
2
(,)

z(m,,)

N
2
(,)


z(m,,)

N
2
(,)

N
2
(,)
r(m,,)
|J(m, , )| 0
_

_
B
3
=
_

_
z(m,,)

N
3
(,)


z(m,,)

N
3
(,)

0
0
r(m,,)

N
3
(,)

+
r(m,,)

N
3
(,)

r(m,,)

N
3
(,)

+
r(m,,)

N
3
(,)

z(m,,)

N
3
(,)


z(m,,)

N
3
(,)

N
3
(,)
r(m,,)
|J(m, , )| 0
_

_
B
4
=
_

_
z(m,,)

N
4
(,)


z(m,,)

N
4
(,)

0
0
r(m,,)

N
4
(,)

+
r(m,,)

N
4
(,)

r(m,,)

N
4
(,)

+
r(m,,)

N
4
(,)

z(m,,)

N
4
(,)


z(m,,)

N
4
(,)

N
4
(,)
r(m,,)
|J(m, , )| 0
_

_
Expresando todas las submatrices en una sola, se obtiene la matriz de deforma-
cion unitaria desplazamiento ecuaci on(4.8) B(m, , )
B(m, , ) =
1
|J(m, , )|
_
B
1
(m, , ) B
2
(m, , ) B
3
(m, , ) B
4
(m, , )
_
Donde, |J(m, , )| es el jacobiano, determinante de la matriz jacobiana ecua-
ci on(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
1
_
1
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
ecuaci on, demorando mucho tiempo en encontrar la solucion, por esta raz on se eva-
luar a numericamente cada uno de los elementos mediante la cuadratura de Gauss[8],
para lo cual se toma dos puntos por cada direcci on 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 nalidad de evaluar numericamente la matriz de rigidez ecuaci on(4.9), se
dene k
1
(m, , ) como.
k
1
(m, , ) = B(m, , )
T
DB(m, , )r(m, , )|J(m, , )|
Los puntos de Gauss, en la direcci on radial, en la direcci on 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 con-
siderarse los pesos para cada direccion, ya que coincidentemente para un elemento
cuadril atero de cuatro nodos el factor peso es la unidad.
=
_

3
1

3
1

3
_

_
=
_

3
1

3
1

3
_

r
=
_

_
1
1
1
1
_

z
=
_

_
1
1
1
1
_

_
Finalmente, la matriz de rigidez para un elemento m est a dado por.
k(m) = t
4

i=1
k
1
(m,
i
,
i
)
Evaluando la funci on 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
k(m) = 10
11
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0.218
0.128 0.518 Simetrico
0.096 0.049 0.222
0.068 0.222 0.073 0.698
0.151 0.073 0.242 0.161 0.319
0.101 0.242 0.115 0.704 0.204 0.722
0.174 0.115 0.077 0.017 0.095 0.051 0.166
0.094 0.503 0.006 0.289 0.070 0.298 0.069 0.499
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
4.2.2.3. Funcion matriz de rigidez ensamblado
La funci on K gura(4.8) es el encargado de ensamblar la matriz de rigidez de
la estructura completa, esta funcion hace uso de las funciones establecidas anterior-
mente, obtiene la matriz de rigidez para cada elemento con la funci on k(m) y para
ensamblarlo en la matriz general llama a la funci on de los grados de libertad pagi-
na(39), esto simplica enormemente el c odigo, como puede ver la manera compacta
de la funci on K gura(4.8). La funci on 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.
k(m) = 10
11
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
3.849
1.948 11.256 Simetrico
4.015 2.303 4.237
2.117 11.298 2.473 11.357
1.715 0.981 1.880 1.116 3.918
0.905 4.844 1.159 4.887 2.119 10.918
1.582 0.778 1.710 0.913 3.865 2.195 3.904
0.736 4.802 0.99 4.834 2.068 10.892 2.144
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
45
4.2.2.4. Funcion vector de fuerzas nodales equivalentes
La funci on F gura(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 10
4
0 0 0 3.142 10
4
0
_
Figura 4.8: Funci on para obtener K
Figura 4.9: Funci on para obtener F
46
4.2.2.5. Funcion desplazamientos en nudos
Teniendo el vector de fuerzas equivalentes F gura(4.9) y la matriz de rigidez
K gura(4.8) ensamblado de la estructura, s olo 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 modicar los grados de libertad
para los cuales estos desplazamientos son conocidos, hay maneras de establecer estas
modicaciones, en la presente se har a uso del metodo de la penalizaci on
7
. La matriz
as obtenido es Km cuya funcion se muestra en la gura(4.10). Para la estructura
analizada, la matriz modicado resulta.
k
m
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 10
307
1.948 1 10
307
Simetrico
4.015 2.303 1 10
307
2.117 11.298 2.473 1 10
307
1.715 0.981 1.880 1.116 3.918
0.905 4.844 1.159 4.887 2.119 10.918
1.582 0.778 1.710 0.913 3.865 2.195 3.904
0.736 4.802 0.99 4.834 2.068 10.892 2.144
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Teniendo la matriz Km como los coecientes de las inc ognitas y el vector F el
termino independientes del sistema de ecuaciones formado para cada grado de liber-
tad, para obtener los desplazamientos solamente se debe resolver estas ecuaciones,
MathCad 14 dispone de funciones que ayudan estos requerimientos.
La funci on Q gura(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 funci on Q
o
gura(4.12) en la que cada la 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 identica al nudo, la columna dos los desplazamientos en
la direccion radial y la columna tres los desplazamientos en la direccion axial.
Figura 4.10: Funci on para obtener Km
Figura 4.11: Funci on para obtener desplazamientos
Figura 4.12: Funci on 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 an ali-
sis en Sap2000 11.0.4
8
se hizo uso del elemento Asdolid sin considerar los modos
incompatibles, discretizando el dominio completo(la secci on caracterstica de revo-
luci on) 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 gura(4.8), Q son los desplazamientos gura(4.11) y F
es el vector de cargas equivalencies gura(4.9). Luego queda ordenar las reacciones
convenientemente gura(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)
1 0 0
2 0 0
3 0 -0.085892
4 0.000304 -0.085525
5 -0.004013 -0.147983
6 -0.007705 -0.14764
7 -0.011621 -0.1714
8 -0.016531 -0.170593
Cuadro 4.5: Desplazamientos en los nudos
49
columna 2: reaccion en la direcci on radial
columna 3: reaccion en la direcci on 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 direcci on radial y la columna tres representa la reacci on en la direccion axial.
Nudo Reac
r
(kgf) Reac
z
(kgf)
1 -793195.4 -191928.93
2 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 an alisis en Sap2000 11.0.0 Educacio-
nal, por tal raz on 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 funci on q(m) gura(4.14) obtiene los
desplazamientos de los nudos de cualquier elemento.
Figura 4.13: Funci on para ordenar reacciones
50
Figura 4.14: Funci on desplazamientos de un elemento
Las tensiones [8] para cualquier punto en el interior del elemento normalizado,
est a 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)
1
desde el lenguaje de programacion
Microsoft Visual c#. Se hace uso intensivo de la Interfaz de Programacion para
Aplicaciones de Sap2000 para el an alisis autom atico de estructuras modeladas como
Solidos de Revolucion. El programa esaSAP dispones de opciones para ser extendido
en el an alisis de todas las estructuras de revoluci on, en esta versi on solamente se
programar a para automatizar el an alisis en Sap2000 de techos de edicaciones en
forma de cono, cualquier interesado puede copiar el c odigo y aumentar las estructuras
de revoluci on que preere. El diagrama de ujo se muestra en la gura gura(5.1).
5.1. Organizaci on para el programa
El procedimiento predenido para el an alisis mediante la Interfaz de Programa-
cion para Aplicaciones de Sap2000 estar a implementado en un Clase de C# de
nombre SapApi-Asolid y conteniendo metodos para cada prop osito con el n de mo-
delar y analizar autom aticamente la estructura de revoluci on. El diagrama de ujo
general se muestra en la gura(5.1).
1
esaSAP son las iniciales de Extension Solid Axisymmetric Analysis
52
Figura 5.1: Diagrama de Flujo general
53
5.2. Descripcion de la clase SapApi-Asolid
El objeto que implementa la Interfaz de Programacion para Aplicaciones de
Sap2000 es declarado de modo que sea visible para todos los metodos de la cla-
se. Los metodos creados en la clase SapApi-Asolid son los siguientes.
5.2.1. public void AbrirSap2000()
Por ser 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 congurando 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
est a 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 nalidad es destruir el objeto creado a partir de la clase
SapApi-Asolid.
5.2.4. public void DenirPropiedad(double Pe,double e,
double u)
Como su nombre indica es para denir la propiedad del elemento de revolucion de
nombre MyAsolid, antes crea un material de nombre MyMaterial cuyas propiedades
Pe Peso especco, e m odulo de elasticidad y u coeciente de Poisson es utilizado
en el an alisis 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)
Dene la aceleracion pseudo espectral seg un el Reglamento Nacional de Edi-
caciones
2
, requiere de argumentos: Z factor de zona, Tp Periodo que dene la
plataforma del espectro para cada tipo de suelo, S Factor del suelo, U Factor de uso
e importancia, R Coeciente de reducci on de solicitaciones ssmicas, Ti el tiempo
inicial, vT variacion del tiempo y Tf es el tiempo nal.
5.2.6. public void DenirCargas()
Metodo para denir los tipos de cargas, tipos de an alisis y combinaciones de
carga, seg un el reglamento Nacional de Edicaciones[27].
5.2.7. public void MasaEstructura()
Dene las cargas que ser an considerados para obtener la masa de la estructura[27]
para el an alisis por respuesta espectral.
5.2.8. public string ConoCompleto(double R1, double Al-
tura, double Espesor)
Metodo que dibuja la seccion caracterstica de revoluci on 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 secci on caracterstica de revoluci on 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 revoluci on


de la estructura modelada, requiere de argumentos MyArea que es el nombre del
area de la secci on caracterstica de revolucion, CargaMuerta es la carga muerta
actuando sobre la supercie superior del cono en kgf/m
2
, CargaV iva la sobrecarga
en kgf/m
2
.
5.2.11. public void Rectangulos4Nodos(string MyArea, int
NroDiv12,int NroDiv13)
Discretiza el dominio completo en subdominios rectangulares de cuatro nudos,
requiere de argumento MyArea que es el nombre de la supercie de revoluci on que se
dibuj o en el espacio modelo de Sap2000, NroDiv12 un n umero entero que indica el
n umero de divisiones en la cara formado por los nudos locales uno y dos, NroDiv13
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, dou-
ble Espesor, int NroDiv12)
Asigna los grados de libertad restringidos en los nudos considerados en el modelo,
en la base de la estrctura, requiere como argumento R1 radio de la base del cono,
56
Espesor de la secci on de revolucion, NroDiv12 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
revoluci on, Altura de del cono, NroDiv12 y el n umero de divisiones. Este metodo
s olo act ua en modelos completos.
5.2.14. public void Analizar(string NombreArchivo)
Metodo que congura y ordena a sap2000 para iniciar con el anlisis del modelo
creado, es necesario el nombre del archivo con extensi on .SDB
5.2.15. C odigo fuente
el codigo fuente de la clase SapApi-Asolid se muestra en el Anexo A.
5.3. Descripcion del programa esaSAP
5.3.1. Generalidades
El programa esaSAP est a preparado para ser implementado con todas las estruc-
turas que cumplen las condiciones para ser modeladas como solidos de revolucion,
el interesado no tiene m as que copiar el c odigo y a nadir las estructuras que preera
automatizar el analisis en Sap2000.
5.3.2. Opciones de analisis
La ventana principal del programa esaSAP se muestra en la gura(5.2), pa-
ra mostrar las opciones de an alisis en la forma de la estructura, se elige desde el
men u Herramientas/nuevo gura(5.3) y se encuentra con las siguientes opciones.
57
1. Cono Completo: para el analisis de un techo de edicacion en forma de cono
sin abertura, su secci on caracterstica de revolucion sobre la cual se analiza
gura(5.4).
2. Cono con Abertura: para el an alisis de un techo de edicacion en forma de cono
con abertura, su seccion caracterstica de revoluci on sobre la cual se analiza
gura(5.5).
Los argumentos generales para el an alisis, que son comunes para todas las formas
de las estructuras se muestra en la gura(5.6)
Figura 5.2: Ventana principal de la aplicaci on esaSAP
Figura 5.3: Opciones de analisis esaSAP
58
Figura 5.4: Secci on 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 est a 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 c odigo 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 aplicaci on esta
hereda de la clase form y adem as contiene todos los metodos que se crean para el
tratamiento adecuado del programa.
5.3.6. Descripcion de metodos
Los metodo creados en la clase AsolidCono cumplen las funciones siguientes.
private static string Mensaje(int a) Metodo que devuelve una cadena depen-
diendo del argumento que se le brinde. Son los diferentes mensajes que el
programa muestra orientando al usuario, dependiendo de cada estado.
private static void MostrarMensaje(string texto) Muestra el mensaje deni-
do por el texto que se brinda de argumento.
private bool VericarArgumentos() Metodo especializado en vericar la vera-
cidad de los argumentos, si alg un dato est a fuera de lo establecido muestra el
mensaje y termina el programa.
void Procedimiento() Metodo para analizar la estructura, seg un elecci on del
usuario.
Public AsolidCono() Metodo creado autom aticamente por el editor.
60
5.3.7. Descripcion de eventos
Un evento es la respuesta del programa a cualquier solicitaci on del usuario. Los
eventos para el programa actual estan basados al hacer Click sobre uno de los ele-
mentos de men u, cada opci on del men u respondera convenientemente a lo solicitado.
Los eventos considerados en la aplicaci on 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 pro-
gramaci on deshecha el objeto que contiene a la aplicaci on Sap2000.
salirToolStripMenuItem Cierra la aplicacion AsolidCono.
conoCompletoToolStripMenuItem Establece la opci on de analisis para un
cono completo.
conoConAberturaToolStripMenuItem Establece las opciones de an alisis pa-
ra 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. Descripcion del proyecto
La aplicaci on pr actica en la presente Tesis es en la obra Construccion e Imple-
mentacion del Pabellon de Aulas, SS.HH y Modulos Administrativos de la Facultad
de Ciencias de la Educacion de la Universidad Nacional San Cristobal de Huaman-
ga, en cuya construcci on me desempe ne en el cargo de Asistente de Obra.
En la Tesis se analiza especcamente el Techo de la Aula Magna, que est a cons-
truido de concreto armado y tiene la forma de un cono, para su an alisis mediante el
Metodo de los Elementos Finitos se modela la estructura como un Solido de Revolu-
cion 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 secci on ca-
racterstica de revoluci on y se asignan todas las condiciones a la que est a sometido
la estructura entera.
6.2. Argumentos requeridos para el analisis
Los datos requeridos para el presente analisis estan en base al Expediente Tecnico
de la obra.
63
6.2.1. Dimensiones de la estructura
Los planos de planta, elevaci on y corte del auditorio se adjunta en el Apendice
B, las dimensiones de la seccion caracterstica de revoluci on para el techo en forma
de cono son:
Radio de la base, 8m.
Altura del techo, 2.25m
Espesor de la seccion de revoluci on, 0.15m.
6.2.2. Material utilizado
Es el concreto armado, para el an alisis se considera material homogeneo, con las
siguientes propiedades.
Peso especco del concreto armado, 2400kgf/m
3
Resistencia del concreto a la compresion, 210Kgf/cm
2
M odulo de poisson del material, 0.3
6.2.3. Cargas
Seg un el Reglamento Nacional de Edicaciones[27] en la cual est a basado el
Expediente Tecnico de la obra, las cargas que act uan sobre el techo son.
Carga permanente, 200kgf/m
2
carga viva, sobrecarga, 50kgf/m
2
6.2.4. Parametros para la funcion de aceleraci on pseudo es-
pectral
Para obtener la funci on, es necesario los siguientes argumentos.
Factor de zona(Z), 0.3
64
periodo que dene la plataforma del espectro para cada tipo de suelo (Tp), 0.6
Factor de suelo (S), 1.2
Factor de uso e importancia (U), 1.3
Coeciente de reduccion de solicitaciones ssmicas (R), 8.0
6.3. Modelo de la estructura
La estructura para su an alisis mediante el metodo de los elementos nitos
ser a modelado como un s olido axisimetrico. Con la nalidad de documentar de
manera detallada, la estructura en planta se muestra en la gura(6.1) y la elevaci on
muestra la gura(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 gura(6.2) de la p agina(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 est a en el centro del plano formado por la
base de la estructura. Las cargas denidas en la secci on(6.2.3) que act uan en la
direcci on 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 revoluci on; en la estructura analizada la seccion de
revoluci on muestra la gura(6.3), sobre esta seccion se asigna todas las solicitaciones
a la que est a impuesto la estructura real gura(6.4). A esta secci on ser a necesario
girar sobre el eje z 360 grados sexagesimales para obtener la estructura entera.
Figura 6.3: Seccion de revolucion de la estructura
Figura 6.4: Modelo de la estructura como solido axisimetrico
6.4. Analisis de la estructura
Con la nalidad 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 extensi on creada esaSAP
Las combinaciones de las cargas se consideran de acuerdo al Reglamento Nacional
de Edicaciones - E060 y el resumen de los resultados mostrados en los cuadros son
los producidos por la envolvente.
6.4.1. Resultados obtenidos sin utilizar esaSAP
Los resultados obtenidos para la estructura por parte de los Ingenieros mo-
del andolo y analizando con sus propios procedimientos en Sap2000 se resume en las
siguientes secciones.
6.4.1.1. Desplazamientos
Los desplazamientos m aximos obtenidos por cada uno de los Ingenieros se mues-
tra en el cuadro(6.1), donde.
#n Representa el n umero de elementos en que es discretizado la seccion carac-
terstica de revoluci on.
U1 Desplazamientos en la direcci on radial, eje x en el modelo analizado en Sap2000.
U2 Desplazamiento en la direcci on circunferencial, como se espera no existe despla-
zamientos 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 direcci on 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 revolu-
ci on(Plano x-z) en Sap2000, donde eje x dene la direcci on radial y el eje z dene
la direccion axial y es tambien el eje de revoluci on de la estructura.
67
Ing Tiempo #n U1 U2 U3
(minutos) (mm) (mm) (mm)
Ing(1) 35 144 0.01822 0 0
-0.320927 0 -1.498442
Ing(2) 20 144 0.017773 0 0
-0.321212 0 -1.500051
Ing(3) 50 180 0.018319 0 0
-0.321201 0 -1.499782
Ing(4) 16 90 0.016784 0 0
-0.321066 0 -1.497454
Ing(5) 40 48 0.018565 0 0
-0.322285 0 -1.20125
Cuadro 6.1: Desplazamientos m aximos en los nudos de la estructura sin utilizar la
extensi on
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 an alisis.
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 secci on de revolucion.
S33 Tension en la direcci on 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 direcci on radial; o tensi on tangencia actuando en el plano
formado por los ejes axial y circunferencial en la direcci on axial.
68
Ing Tiempo #n S11 S22 S33 S12
(minutos) (kgf/m
2
) (kgf/m
2
) (kgf/m
2
) (kgf/m
2
)
Ing(1) 35 144 210088.2 56083.73 131617.9 37232.52
-269019 -94144.72 -108719.6 -83069.38
Ing(2) 20 144 216953.4 42378.14 131295.8 40209.00
-281035.7 -84471.42 -106275.1 -90422.93
Ing(3) 50 180 220095.1 58701.96 131414.2 38058.57
-271682.8 -94959.61 -109306.7 -85160.58
Ing(4) 16 90 186629.8 49485.5 132702.8 34645.77
-262627.7 -90954.99 -105687.6 -72901.46
Ing(5) 40 48 186131.6 14834.11 131693.8 42592.31
-294352.5 -40543.28 -100686.7 -91677.46
Cuadro 6.2: Tensiones maximos en elementos sin utilizar la extension
6.4.1.3. Fuerzas
Las fuerzas m aximos 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 an ali-
sis.
F1 Fuerza en la direccion axial que coincide con el eje x en el modelo de Sap2000
actuando en cada elemento.
F2 Fuerza en la direccion circunferencial.
F3 Fuerza en la direccion axial actuando en cada elemento.
6.4.2. Resultados obtenidos utilizando esaSAP
En esta seccion, para el an alisis se utilizara la extensi on creada esaSAP con
la nalidad de automatizar el procedimiento en Sap2000 11.0.4. Debido a que el
tiempo de analisis se reduce en un 90 % al utilizar la extensi on, en el modelamiento
69
Ing Tiempo #n F1 F2 F3
(minutos) (kgf) (kgf) (kgf)
Ing(1) 35 144 297274.7 0 596933.2
-297274.7 0 -129686.1
Ing(2) 20 144 400543.0 0 209366.7
-400543.0 0 -125272.2
Ing(3) 50 180 299733.5 0 220332.5
-299733.5 0 -107680.2
Ing(4) 16 90 281735.3 0 362330.2
-281735.3 0 -222215.0
Ing(5) 40 48 462005.0 0 219600.0
-535626.0 0 -155037.9
Cuadro 6.3: Fuerzas maximos en nudos de elementos sin utilizar la extensi on
y el an alisis de la estructura analizada, es posible obtener con facilidad resultados
para distintas discretizaciones de la seccion de revoluci on de la estructura.
Figura 6.5: Dimensiones de la Seccion de Revolucion
La extensi on esaSAP solamente crea el modelo de la estructura, es Sap2000 que
realiza todo el proceso de an alisis, con la diferencia que todo lo ejecuta de mane-
ra autom atica, 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 gura(6.5), en la cual es necesario indicar el
n umero de elementos en que sera discretizado el dominio completo para su
an alisis en Sap2000 11.0.4
Las cargas a la que est a sometido la estructura, el material utilizado con sus
propiedades y los par ametros para obtener la funci on de aceleraci on pseudo
espectral de acuerdo al reglamento nacional de edicaciones, gura(6.6).
Figura 6.6: Argumentos para esaSAP
6.4.2.1. Desplazamientos
Los desplazamientos obtenidos con la extensi on esaSAP desde Sap2000 11.0.4
se muestra el cuadro(6.4) para distintas discretizaciones de la secci on de revoluci on
de la estructura.
#n U1 U2 U3
(mm) (mm) (mm)
3x1 = 3 0 0 0
-0.195411 0 -1.324294
71
15x1 = 18 0.016806 0 0
-0.320859 0 -1.506002
48x2 = 96 0.018549 0 0
-0.321098 0 -1.498727
68x3 = 204 0.017703 0 0
-0.321163 0 -1.499838
158x3 = 474 0.01789 0 0
-0.321417 0 -1.500502
200x3 = 600 0.018018 0 0
-0.321432 0 -1.500617
220x3 = 660 0.017977 0 0
-0.321441 0 -1.500621
240x3 = 960 0.017906 0 0
-0.321405 0 -1.500582
300x4 = 1200 0.0179 0 0
-0.321439 0 -1.500667
330x4 = 1320 0.017898 0 0
-0.321448 0 -1.500709
360x4 = 1440 0.017899 0 0
-0.321454 0 -1.500702
Cuadro 6.4: Desplazamientos m aximos en los nudos uti-
lizando 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 variaci on de los desplazamientos maxi-
mos en la direcci on radial converge rapidamente, basta dividir el dominio completo
con 204 elementos rectangulares de 4 nudos. Desde esta cantidad de elementos, los
desplazamientos en la direccion radial en los nudos considerados de la estructura
se mantiene constante cuando es analizado con discretizaciones mayores, la varia-
72
ci on de los desplazamientos maximos en la direccion radial del sistema de referencia
global se muestra en la gura(6.7).
-0.35
-0.3
-0.25
-0.2
-0.15
3 253 503 753 1003 1253
Figura 6.7: Desplazamiento radial m aximo en funci on de la discretizaci on
6.4.2.1.2. Desplazamientos en la direccion axial Los desplazamientos en
la direcci on axial gura(6.8), se comporta de manera similar a los desplazamientos
radiales.
-1.55
-1.5
-1.45
-1.4
-1.35
-1.3
3 253 503 753 1003 1253
Figura 6.8: Desplazamiento axial m aximo en funci on de la discretizaci on
6.4.2.2. Tensiones
Las tensiones obtenidos con la extension esaSAP desde Sap2000 11.0.4 se mues-
tra el cuadro(6.5) para distintas discretizaciones de la secci on de revoluci on de la
estructura.
73
#n S11 S22 S33 S12
(kgf/m
2
) (kgf/m
2
) (kgf/m
2
) (kgf/m
2
)
3x1 = 3 27504.31 26624.36 168802.72 792.18
-126089.04 -30278.65 -33794.34 -30739.55
18x1 = 18 146712.92 15000.04 134216.86 31708.66
-257385.47 -35950.73 -89057.45 -79944
48x2 = 96 202451.16 39305.86 131613.64 38029.63
-269483.08 -82661.47 -105289.97 -85691.07
68x3 = 204 225465.29 60055.85 131326.33 38452.23
-276270.12 -95258.5 -109457.98 -85532.55
158x3 = 474 257272.71 67473.58 130894.12 42249.6
-288389.93 -95363.43 -108882.89 -88894.56
200x3 = 600 264519.35 69073.2 130825.27 42774.69
-290685.23 -95102.36 -108706.06 -87136.77
220x3 = 660 267207.38 69663.57 130800.39 42962.61
-290262.62 -94990.58 -108673.6 -86659.27
240x4 = 960 280668.26 82179.02 130805.69 44621.78
-287614.11 -99732.4 -109676.59 -86244.39
300x4 = 1200 291102.73 84595.92 130746.7 44800.37
-289695.21 -99417.96 -109793.03 -85445.57
330x4 = 1320 294012.49 85259.17 130732 44795.83
-288694.75 -99349.08 -109900.11 -85216
360x4 = 1440 296546.48 85833 130719 44765.02
-289070.94 -99298.16 -110024.39 -85274.09
Cuadro 6.5: Tensiones maximos en elementos utilizando
la extension
6.4.2.2.1. Tensiones en la direccion radial De los resultados que se muestra
en el cuadro(6.5) se observa que la variacion de los tensiones maximos en la direc-
74
ci on 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 direcci on radial en los elementos considerados de la estructura se mantiene
constante cuando es analizado con discretizaciones mayores, la variaci on de las ten-
siones m aximas en la direcci on radial del sistema de referencia local se muestra en
la gura(6.9).
0
50000
100000
150000
200000
250000
300000
350000
0 255 510 765 1020 1275
Figura 6.9: Tensi on radial m aximo en funci on de la discretizaci on
6.4.2.2.2. Tensiones en la direcci on circunferencial Para encontrar resul-
tados adecuados de las tension circunferencial, es necesario la misma discretizaci on
en la obtencion de las tensiones radiales. La variacion de la tension circunferencial
en funcion de la cantidad de elementos se muestra en la gura(6.10).
20000
30000
40000
50000
60000
70000
80000
90000
100000
110000
0 200 400 600 800 1000 1200 1400
Figura 6.10: Tensi on circunferencial m aximo en funci on de la discretizaci on
75
6.4.2.2.3. Tensiones en la direccion axial Para encontrar resultados ade-
cuados de las tensiones axiales, es necesario una discretizaci on menor que para la
obtenci on 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 gura(6.11).
120000
130000
140000
150000
160000
170000
180000
0 255 510 765 1020 1275
Figura 6.11: Tensi on axial m aximo en funci on de la discretizaci on
6.4.2.2.4. Tension tangencial Para encontrar resultados adecuados de las ten-
siones tangenciales, es necesario una discretizaci on menor que para la obtencion de
las tensiones radiales, para la estructura analizada basta con dividir en 600 elemen-
tos. La variaci on de la tensi on tangencial en funci on de la cantidad de elementos se
muestra en la gura(6.12).
20000
30000
40000
50000
60000
70000
80000
90000
100000
0 200 400 600 800 1000 1200 1400
Figura 6.12: Tensi on tangencial m aximo en funci on de la discretizaci on
76
Evaluando la variaci on de las tensiones:
Se observa para las tensiones en la direcci on radial en gura(6.9) de la p agi-
na(6.9), que la convergencia hasta el resultado aceptable est a dado para dis-
cretizaciones mayores, tal es as que a partir del an alisis con 1200 elementos
los resultados ya no tienen tanta variaci on.
Para la tensi on circunferencial, sucede lo mismo que para las tensiones radiales,
requiriendo discretizaciones muy nos para encontrar la soluci on adecuada,
gura(6.10)
En cambio, las tensiones axiales convergen r apidamente, como se muestra en
la gura(6.11); cuando se analiza con 600 elementos nitos los resultados ya
son adecuados. Lo mismo sucede con la tensi on tangencial mostrada en la
gura(6.12)
6.4.2.3. Fuerzas
Las fuerzas obtenidos con la extensi on esaSAP desde Sap2000 11.0.4 se mues-
tra el cuadro(6.6) para distintas discretizaciones de la secci on de revoluci on de la
estructura.
#n F1 F2 F3
(kgf) (kgf) (kgf)
3x1 = 3 430946.01 0 615217.56
-550145.06 0 -428229.97
18x1 = 18 357426.61 0 274920.88
-534720.09 0 -110349.95
48x2 = 96 388851.41 0 261715.37
-388851.41 0 -122229.15
38x3 = 204 300085.74 0 203011.83
-300085.74 0 -96529.17
158x3 = 474 298722.51 0 132854.26
-298722.51 0 -88593.28
77
200x3 = 600 300454.29 0 123774.03
-300454.29 0 -90249.08
220x3 = 660 300329.81 0 120970.62
-300329.81 0 -90128.13
240x4 = 960 235455.16 0 107752.27
-235455.16 0 -71885.76
300x4 = 1200 235937.79 0 100008.18
-235937.79 0 -73315.91
330x4 = 1320 235562.95 0 98271.26
-235562.95 0 -73757.94
360x4 = 1440 235056.07 0 96891.13
-235056.07 0 -74135.75
Cuadro 6.6: Fuerzas m aximos en nudos de elementos uti-
lizando la extension
6.4.2.3.1. Fuerzas radiales De los resultados que se muestra en el cuadro(6.6)
se observa que la variaci on de los fuerzas m aximas en la direcci on radial converge len-
tamente, es necesario dividir el dominio completo con 1200 elementos rectangulares
de 4 nudos.
200000
250000
300000
350000
400000
450000
3 203 403 603 803 1003 1203 1403
Figura 6.13: Fuerza radial maximo en funcion de la discretizaci on
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 dis-
cretizaciones mayores, la variaci on de las fuerzas m aximas en la direcci on radial del
sistema de referencia local se muestra en la gura(6.13).
6.4.2.3.2. Fuerzas axiales Para encontrar resultados adecuados de las fuerzas
axiales, es necesario la misma discretizaci on en la obtencion de las fuerzas radiales.
La variacion de las fuerzas axiales en funci on de la cantidad de elementos se muestra
en la gura(6.14).
0
100000
200000
300000
400000
500000
600000
3 208 413 618 823 1028 1233 1438
Figura 6.14: Fuerza axial maximo en funcion de la discretizaci on
6.4.3. Comparaci on de resultados
Comparando los resultados obtenidos por ambas alternativas propuesto en la
secci on(6.4) de la pagina(66), se observa que:
Los resultados obtenidos en la secci on(6.4.1) de la pagina(67) por parte de las
personas que colaboraron en el analisis de la estructura, diere mucho de los
resultados esperados. Estos resultados fueron obtenidos por sus propios medios
desde el Sap2000 11.0.4
En cambio, los resultados obtenidos por el mismo personal, utilizando la ex-
tensi on creada esaSAP mostrados desde la p agina(69) s son los adecuados,
79
en los gracos de la seccion(6.4.2) se muestra claramente la convergencia de
los resultados.
Adem as, la extensi on creada esaSAP reduce el tiempo del modelamiento y
an alisis de manera considerable, por esta raz on es posible probar de manera au-
tom atica el comportamiento de la estructura para distintas discretizaciones de la
secci on caracterstica de revolucion, eligiendo la respuesta conveniente.
6.5. Obtenci on de refuerzos
La obtenci on de refuerzos para la estructura, es solamente con nes 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 m aximo 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 ectores no considerados) gura(6.15). Para el dise no S
11
= 296.546
Ton
m
2
es
la tensi on m axima, 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 nes de
simplicar el analisis, F
y
= 4.2
Ton
cm
2
es el esfuerzo de uencia del acero. La fuerza
est a dado mediante T = S
11
e b la cual evaluando resulta T = 44.481Ton, el
acero en la secci on analizada A
s
=
T
0.9F
y
, evaluando A
s
= 11.76cm
2
; el acero mnimo
est a dado por A
smin
= 0.0035 b h evaluando A
smin
= 5.25cm
2
, entonces se toma
de refuerzo A
s
. Usar refuerzo de
1
2

a cada 20cm dos capas (10 1.267 = 12.67cm


2
).
Figura 6.16: Esfuerzo radial m aximo en la zona zona intermedia y superior
Zona intermedia y superior, en la cual los esfuerzos son de compresi on pura, gu-
ra(6.16). La tension m axima es S
11
= 57.643
Ton
m
2
, el acero requerido A
s
= 5.25cm
2
,
usar refuerzo de
1
2

a cada 20cm una capa (5 1.267 = 6.335cm


2
).
81
6.5.2. Dise no por esfuerzo Axial S33
En la zona inferior de la estructura gura(6.17). La tension m axima es S
33
=
114.645
Ton
m
2
, el acero requerido A
s
= 5.25cm
2
, usar refuerzo de
1
2

a cada 30cm dos


capas (5 1.267 = 6.335cm
2
).
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,
A
s
= 5.25cm
2
, se usar a refuerzo de
1
2

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


muestra la distribucion de los refuerzos en la estructura.
6.6. Justicaci 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 justicacion de forma
detallada, mediante una plantilla programado en MathCad 14 con el metodo de los
elementos nitos; en la cual, luego de analizar la estructura de revoluci on(estructura
82
de edicaci on en forma de cono con abertura) se ha llegado a los mismos resultados
obtenidos en un an alisis con Sap2000.
La extension esaSAP
1
adem as de automatizar el modelamiento y analisis de
techos de edicaciones especiales que tienen la forma del cono, esta implementado
tambien para automatizar los procedimientos de an alisis de estructuras conicas con
abertura.
Figura 6.18: Refuerzos obtenidos para la estructura
1
El nombre de la extension proviene de las iniciales de Extension Solid axisymmetric analysis
83
Parte V
Conclusiones
84
Captulo 7
Conclusiones y recomendaciones
7.1. Conclusiones
7.1.1. De la metodologa
Se justica detalladamente los resultados del programa Sap2000 11.0.4. Con
esta nalidad se program o una plantilla mediante el Metodo de los Elemen-
tos Finitos en MathCad 14 para el an alisis de estructuras que cumplen las
condiciones para ser modeladas como Solidos de Revolucion, cuyos resultados
obtenidos de un an alisis efectuado en Sap2000 11.0.4 y la plantilla creada en
MathCad 14 coinciden totalmente; este es la justicaci on del uso apropiado
que se tiene del programa sap2000 11.0.4.
Con esta justicaci on, fue posible automatizar el proceso de analisis mediante
la Interface de Programacion para Aplicaciones de Sap2000 desde el lengua-
je de programaci on Microsoft Visual c#, para estructuras que cumplen las
condiciones para ser modeladas como solidos axisimetricos. En la extensi on
esaSAP v1.2.0 solamente esta disponible estructuras de techos de edicacio-
nes especiales que tienen la forma de cono ya sea completo o con abertura,
m as estructuras de revoluci on se ir a a nadiendo en las pr oximas versiones.
En la presente tesis se ha logrado implementar un m odulo para el an alisis
autom atico en Sap2000 que por defecto no dispone de esta opci on.
85
Se cumpli o 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 suciente sobre la meto-
dologa aplicada.
Para encontrar la respuesta adecuada se procede renando la malla de los
elementos nitos iniciando con una divisi on conservador, el procedimiento se
repite hasta que entre los resultados de un an alisis anterior y la actual la
diferencia sea el que establezca, a su juicio, el calculista.
En el an alisis de estructuras modeladas como Solidos de Revolucion el pri-
mer resultado en converger son los desplazamientos en los nudos considerados,
requiriendo divisiones muy nos para encontrar una convergencia a nivel de
esfuerzos.
7.1.3. Aplicaciones utilizados
El desarrollo de la presente Tesis no hubiera sido posible sin el adecuado uso de
las siguientes aplicaciones.
MathCad 14 Programa especializado para la elaboracion de informes tecnicos de-
tallados. El programa Mathcad en su versi on 14 fue fundamental para el en-
tendimiento adecuado del Metodo de los Elementos Finitos, se aprovech o de
manera acertada para la documentaci on de los procedimiento del an alisis y la
justicaci on de resultados de Sap2000 11.0.4.
Microsoft Visual Studio 2009 Express Edition Entorno de desarrollo integra-
do que hace facil y ameno la creaci on de aplicaciones. Es desde este editor que
se program o esaSAP con el lenguaje de programaci on Microsoft Visual c#
86
enlaz andolo con la Interface de Programacion para Aplicaciones de Sap2000
para automatizar el procedimiento de analisis.
Sap2000 11.0.4 Programa para el an alisis y dise no de estructuras, en la tesis no
s olo se utiliza Sap2000 en la manera com un; se justica el resultado de an alisis
mediante el Metodo de los elementos Finitos y se automatiza los procedimien-
tos.
7.1.4. Lenguajes de programacion
En el desarrollo de la Tesis fue necesario utilizar los siguientes lenguajes de
programaci on.
Microsoft Visual C# Lenguaje de programacion completamente orientado a ob-
jetos, desde el cual se integr o la Interface de Programacion para Aplicaciones
de Sap2000.
MathCad 14 Programming Para el an alisis mediante el Metodo de los Elemen-
tos Finitos de estructuras modeladas como Solidos de Revolucion con la na-
lidad de justicar 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 an alisis en Sap2000 desde aplicaciones
externas.
7.2. Recomendaciones
Para utilizar un programa computacional en el Analisis de Estructuras es con-
veniente tener un conocimiento adecuado de las bases numericas que se fundamenta
la aplicaci on, 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 documentaci on detalla-
da, ademas la extensi on creada esaSAP v1.2.0 cuenta con opciones para ser
ampliada; el interesado no tiene m as que a nadir la estructura de revolucion de
su preferencia.
Es posible implementar a la plantilla creada en MathCad 14 para el an alisis de
estructuras con distintos elementos nitos y para todo prop osito, con la nali-
dad de documentar los resultados y justicar 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 Ib a nez 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 Inge-
niera, Formulacion Basica y Problemas Lineales, volume 1. Centro Interna-
cional de Metodos Numericos en Ingeniera - CIMNE, cuarta edition, 1993.
[6] Francisco Beltran. Teora general del Metodo de los Elementos Finitos. Depar-
tamento de Mec anica 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. Introducci on al analisis estructural por elementos
nitos. 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. Griths. 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 Je 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 Edicaciones. Institulo de la Construccion y Gerencia,
2006.
91
Parte VI
Anexos
92
Apendice A
C odigo fuente esaSAP
A.1. Codigo fuente clase SapApi-Asolid
1 cl ass SapApi Asol i d
2 {
3 // Implementa l a i nt e r f a z en un obj et o
4 SAP2000 . SapObject SapObjeto = new SAP2000 . SapObject ( ) ;
5 long r e t ;
6 public void Abri rSap2000 ( )
7 {
8 /
9 Metodo para i n i c i a l i z a r SAP2000 y c r e ar un modelo nuevo en
bl anco
10 e s t e metodo es ge ne r al
11 /
12 SapObjeto . Appl i c at i onSt ar t ( SAP2000 . eUni ts . kgf m C , true , ) ;
13 r e t = SapObjeto . SapModel . I ni t i al i zeNewModel ( SAP2000 . eUni ts .
kgf m C) ;
14 r e t = SapObjeto . SapModel . Fi l e . NewBlank ( ) ;
15 }
16
17 void Re f r e s c ar ( )
18 {
19 // a c t ua l i z a e l e s pac i o modelo de SAP2000
20 bool Window = f al se ;
21 r e t = SapObjeto . SapModel . View . Ref reshVi ew ( 0 , ref Window) ;
22 // r e t = SapObjeto . SapModel . View . RefreshWindow( 0) ;
23
24 }
25
26 public void Cerrar ( )
27 {
28 // c i e r r a l a a pl i c a c i o n
29 SapObjeto . Appl i cat i onExi t ( f al se ) ;
30 SapObjeto . SapModel = nul l ;
31 SapObjeto = nul l ;
32 }
33
93
34 public void Def i ni r Pr opi edad ( double Pe , double e , double u)
35 {
36 / Metodo para d e f i n i r una propi edad en 2D t i po As ol i d
37 Argumentos :
38 name : nombre para l a propi edad
39 Pe : peso e s p e c f i del mat er i al
40 e : modulo de e l a s t i c i d a d del mat er i al [ kgf /m2]
41 u : c o e f i c i e n t e de poi s s on
42 a : c o e f i c i e n t e de expansi on termi co
43 Temp:
44 /
45 // cr ea e l mat er i al
46 SAP2000 . eMatType Mat er i al = SAP2000 . eMatType .MATERIAL CONCRETE;
47 r e t = SapObjeto . SapModel . PropMateri al . Set Mat er i al ( MyMaterial ,
Materi al , 1, , ) ;
48 // peso e s p e c f i c o del concr et o
49 r e t = SapObjeto . SapModel . PropMateri al . SetWeightAndMass (
MyMaterial , 1 , Pe , 0) ;
50
51 // de f i ne pr opi edades para mat er i al i s ot r opo
52 r e t = SapObjeto . SapModel . PropMateri al . SetMPIsotropi c (
MyMaterial , e , u , 9. 900E06, 0) ;
53 // de f i ne propi edad de s o l i do axi xymet r i co
54 r e t = SapObjeto . SapModel . propArea . Set As ol i d ( MyAsolid ,
MyMaterial , 0 , 360 , true , Gl obal , 1, , ) ;
55
56 }
57
58 public void ZUCS( double Z, double Tp, double S , double U, double R,
double Ti , double vT, double Tf )
59 {
60 / Metodo para d e f i n i r l a a c e l e r a c i o n pseudo e s pe c t r a l con e l
regl amento peruano E030
61 Z: Factor de zona
62 Tp: Acel er aci on f undamental del s ue l o
63 S :
64 C: Factor de ampl i f i c ac i on s s mi c a
65 U: Cat egor a d e d i f i c a c i o n e s
66 R:
67 /
68
69 double C, n , Sao ;
70 System . Array T; System . Array Sa ;
71 //n umero de el ementos del ar r e gl o
72 n = ( Tf Ti ) / vT + 1;
73 // i n i c i a l i z a n d o l o s ve c t or e s con n el ementos
74 T = new double [ ( i nt ) n ] ; Sa = new double [ ( i nt ) n ] ;
75 // i ns e r t a el ementos a l o s ve c t or e s
76 for ( i nt i = 0; i <= Sa . Length 1; i ++)
77 {
78 // ti empo
79 T. SetVal ue ( Ti , i ) ;
80 // c o e f i c i e n t e de ampl i f i c ac i on s s mi c a
81 C = 2. 5 (Tp / Ti ) ;
82 i f (C > 2. 5)
83 {
84 C = 2 . 5 ;
85 }
94
86 // l a a c e l e r a c i o n pseudo e s pe c t r a l Sa [ adi mens i onal ]
87 Sao = Z U C S / R;
88 Sa . SetVal ue ( Sao , i ) ;
89 // aumenta e l ti empo
90 Ti = Ti + vT;
91 }
92 // exporta a SAP2000
93 r e t = SapObjeto . SapModel . Func . FuncRS . SetUser ( ZUCS , T. Length ,
ref T, ref Sa , 0. 05) ;
94
95 }
96
97 public void Def i ni r Car gas ( )
98 {
99 /
100 Modulo ge ne r al que de f i ne car gas
101 /
102 // 1: Load patern , de f i ne t i pos de car gas
103 // r e t = SapObjeto . SapModel . LoadPatterns . Add(LIVE , SAP2000 .
eLoadPatternType . LTYPE LIVE, 0 , t r ue ) ;
104 r e t = SapObjeto . SapModel . LoadCases . Add( LIVE , SAP2000 .
eLoadcaseType . LTYPE LIVE, 0 , true ) ;
105 // r e t = SapObjeto . SapModel . LoadPatterns . Add(DEAD , SAP2000 .
eLoadPatternType . LTYPE DEAD, 1 , t r ue ) ;
106 r e t = SapObjeto . SapModel . LoadCases . Add( DEAD , SAP2000 .
eLoadcaseType . LTYPE DEAD, 1 , true ) ;
107
108 // 2: Load c as e s , de f i ne cas os de a na l i s i s , s ol o f a l t a por
si smo
109 // de f i ne caso de carga de e s pe c t r o de r epues t a
110 // r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetCase (
QUAKE) ;
111 r e t = SapObjeto . SapModel . Anal ys i s Cas es . ResponseSpectrum . SetCase
( QUAKE ) ;
112
113 // pr opi edades para e l caso de a n a l i s i s por r e s pue s t a e s pe c t r a l
114 System . Array MyLoadName , MyFunc , MySF, MyCSys , MyAng;
115 MyLoadName = new stri ng [ 3 ] {U1 , U2 , U3 };
116 //MyLoadName . SetVal ue (U1 , 0) ; MyLoadName . SetVal ue (U2 , 1) ;
MyLoadName . SetVal ue (U3 , 2) ;
117 MyFunc = new stri ng [ 3 ] { ZUCS , ZUCS , ZUCS };
118 //MyFunc . SetVal ue (ZUCS , 0) ; MyFunc . SetVal ue (ZUCS , 1) ;
MyFunc . SetVal ue (ZUCS , 2) ;
119 MyCSys = new stri ng [ 3 ] { Gl obal , Gl obal , Gl obal };
120 //MyCSys . SetVal ue ( Gl obal , 0) ; MyCSys . SetVal ue ( Gl obal , 1) ;
MyCSys . SetVal ue ( Gl obal , 2) ;
121 MySF = new double [ 3 ] { 9 . 8 1 , 9 . 8 1 , 6 . 5 4 } ;
122 //MySF. SetVal ue ( 9. 81 , 0) ; MySF. SetVal ue ( 9. 81 , 1) ; MySF. SetVal ue
( 6. 54 , 2) ;
123 MyAng = new double [ 3 ] ;
124 // de f i ne e l caso de carga por r e s pue s t a e s pe c t r a l
125 // 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) ;
126 r e t = SapObjeto . SapModel . Anal ys i s Cas es . ResponseSpectrum .
SetLoads ( QUAKE , 3 , ref MyLoadName , ref MyFunc , ref MySF,
ref MyCSys , ref MyAng) ;
127
95
128 // 3: combi naci ones de carga
129 //SAP2000 . eCType TypeC = SAP2000 . eCType . LoadCase ;
130 SAP2000 . eCType TypeC = SAP2000 . eCType . acas e ;
131 // 1. 5(CM) +1. 8(CV)
132 r e t = SapObjeto . SapModel . RespCombo . Add( 1. 5(CM) +1. 8(CV) , 0) ;
133 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 5(CM) +1. 8(CV)
, ref TypeC, DEAD , 1. 5) ;
134 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 5(CM) +1. 8(CV)
, ref TypeC, LIVE , 1. 8) ;
135 // 1. 25(CM+CV+CS)
136 r e t = SapObjeto . SapModel . RespCombo . Add( 1. 25(CM+CV+CS) , 0) ;
137 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CV+CS)
, ref TypeC, DEAD , 1. 25) ;
138 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CV+CS)
, ref TypeC, LIVE , 1. 25) ;
139 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CV+CS)
, ref TypeC, QUAKE , 1. 25) ;
140 // 1. 25(CM+CVCS)
141 r e t = SapObjeto . SapModel . RespCombo . Add( 1. 25(CM+CVCS) , 0) ;
142 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CVCS)
, ref TypeC, DEAD , 1. 25) ;
143 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CVCS)
, ref TypeC, LIVE , 1. 25) ;
144 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 1. 25(CM+CVCS)
, ref TypeC, QUAKE , 1.25) ;
145 // 0. 9(CM) +1. 25(CS)
146 r e t = SapObjeto . SapModel . RespCombo . Add( 0. 9(CM) +1. 25(CS) , 0) ;
147 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 0. 9(CM) +1. 25(CS
) , ref TypeC, DEAD , 0. 9) ;
148 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 0. 9(CM) +1. 25(CS
) , ref TypeC, QUAKE , 1. 25) ;
149 // 0. 9(CM) 1.25(CS)
150 r e t = SapObjeto . SapModel . RespCombo . Add( 0. 9(CM) 1.25(CS) , 0) ;
151 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 0. 9(CM) 1.25(CS
) , ref TypeC, DEAD , 0. 9) ;
152 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( 0. 9(CM) 1.25(CS
) , ref TypeC, QUAKE , 1.25) ;
153 //ENVOLVENTE
154 //TypeC = SAP2000 . eCType . LoadCombo ;
155 TypeC = SAP2000 . eCType . RCombo;
156 r e t = SapObjeto . SapModel . RespCombo . Add( ENVOLVENTE , 1) ;
157 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( ENVOLVENTE ,
ref TypeC, 1. 5(CM) +1. 8(CV) , 1) ;
158 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( ENVOLVENTE ,
ref TypeC, 1. 25(CM+CV+CS) , 1) ;
159 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( ENVOLVENTE ,
ref TypeC, 1. 25(CM+CVCS) , 1) ;
160 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( ENVOLVENTE ,
ref TypeC, 0. 9(CM) +1. 25(CS) , 1) ;
161 r e t = SapObjeto . SapModel . RespCombo . Set Cas eLi s t ( ENVOLVENTE ,
ref TypeC, 0. 9(CM) 1.25(CS) , 1) ;
162
163 }
164
165 public void MasaEstructura ( )
166 {
167 / Conf i gura para l a s c ons i de r ac i one s de masa /
168 System . Array MyLoadPat = new stri ng [ 2 ] { DEAD , LIVE };
96
169 System . Array MySF = new double [ 2 ] { 1 , 0. 25 };
170 r e t = SapObjeto . SapModel . PropMateri al . SetMassSource ( 3 , 2 , ref
MyLoadPat , ref MySF) ;
171
172 }
173
174 public stri ng ConoCompleto ( double R1, double Al tura , double Espesor
)
175 {
176 // Di buj a s e c c i on de r e vol uc i on c a r a c t e r s t i c a de un cono
compl eto
177 System . Array x = new double [ 4 ] { R1, 0 , 0 , R1 };
178 System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 };
179 System . Array z = new double [ 4 ] { 0 , Al tura , Al tura + Espesor ,
Espesor };
180 // di buj a el emento

A rea
181 stri ng MyArea = ;
182 r e t = SapObjeto . SapModel . AreaObj . AddByCoord( 4 , ref x , ref y ,
ref z , ref MyArea , MyAsolid , , Gl obal ) ;
183 Re f r e s c ar ( ) ;
184 return MyArea ;
185 }
186
187 public stri ng ConoConAbertura ( double R1, double R2, double Al tura ,
double Espesor )
188 {
189 // Di buj a s e c c i on de r e vol uc i on c a r a c t e r s t i c a de un cono con
aber t ur a
190 System . Array x = new double [ 4 ] { R1, R2, R2, R1 };
191 System . Array y = new double [ 4 ] { 0 , 0 , 0 , 0 };
192 System . Array z = new double [ 4 ] { 0 , Al tura , Al tura + Espesor ,
Espesor };
193 // di buj a el emento

A rea
194 stri ng MyArea = ;
195 r e t = SapObjeto . SapModel . AreaObj . AddByCoord( 4 , ref x , ref y ,
ref z , ref MyArea , MyAsolid , , Gl obal ) ;
196 Re f r e s c ar ( ) ;
197 return MyArea ;
198 }
199
200 public void Asi gnarCargas ( stri ng MyArea , double CargaMuerta , double
CargaViva )
201 {
202 //modulo para as i gnar car gas de pr e s i on a s u p e r f i c i e s .
203 // carga muerta
204 r e t = SapObjeto . SapModel . AreaObj . Set LoadSur f acePr es s ur e (MyArea ,
DEAD , 3 , CargaMuerta , , true , SAP2000 . eItemType . Obj ect
) ;
205 r e t = SapObjeto . SapModel . AreaObj . Set LoadSur f acePr es s ur e (MyArea ,
LIVE , 3 , CargaViva , , true , SAP2000 . eItemType . Obj ect ) ;
206 Re f r e s c ar ( ) ;
207 }
208
209 public void Rectangul os4Nodos ( stri ng MyArea , i nt NroDiv12 , i nt
NroDiv13 )
210 {
211 //Metodo para di buj ar el ementos r e c t angul ar e s
212 //mesh
97
213 i nt NumberAreas = 1;
214 System . Array AreaName = new stri ng [ 1 0 ] ;
215 r e t = SapObjeto . SapModel . Edi tArea . Di vi de (MyArea , 1 , ref
NumberAreas , ref AreaName , NroDiv12 , NroDiv13 , 2 , 2 , f al se
, f al se , f al se , f al se , 0 , 0 , true , true , true , f al se ) ;
216 Re f r e s c ar ( ) ;
217 }
218
219 public void Asi gnarSopotesEnBase ( double R1, double Espesor , i nt
NroDiv12 )
220 {
221
222 double Xmax, Ymax, Zmax, Xmin, Ymin, Zmin ;
223 // Asi gna s opor t e s en l a base
224 System . Array Value = new bool [ 6 ] { true , f al se , true , f al se ,
f al se , f al se };
225 double a = (R1 / NroDiv12 ) / 2;
226 Xmax = R1 + a ; Xmin = R1 a ;
227 Ymax = 0; Ymin = 0;
228 Zmax = Espesor ; Zmin = 0;
229 r e t = SapObjeto . SapModel . Sel ect Obj . Coordi nateRange (Xmin, Xmax,
Ymin, Ymax, Zmin , Zmax, f al se , Gl obal , f al se , true , f al se
, f al se , f al se , f al se ) ;
230 r e t = SapObjeto . SapModel . Poi ntObj . Se t Re s t r ai nt ( Al l , ref Value
, SAP2000 . eItemType . Se l e c t e dObj e c t s ) ;
231 r e t = SapObjeto . SapModel . Sel ect Obj . Cl e ar Se l e c t i on ( ) ;
232 Re f r e s c ar ( ) ;
233 }
234
235 public void Asi gnarSoportesEnCentro ( double R1, double Al tura ,
double Espesor , i nt NroDiv12 )
236 {
237 double Xmax, Ymax, Zmax, Xmin, Ymin, Zmin ;
238 // Asi gna s opor t e s en l a base
239 System . Array Value = new bool [ 6 ] { true , f al se , f al se , f al se ,
f al se , f al se };
240 double a = (R1 / NroDiv12 ) / 2;
241 Xmax = 0 + a ; Xmin = 0 a ;
242 Ymax = 0; Ymin = 0;
243 Zmax = Al tura + Espesor ; Zmin = Al tura ;
244 r e t = SapObjeto . SapModel . Sel ect Obj . Coordi nateRange (Xmin, Xmax,
Ymin, Ymax, Zmin , Zmax, f al se , Gl obal , f al se , true , f al se
, f al se , f al se , f al se ) ;
245 r e t = SapObjeto . SapModel . Poi ntObj . Se t Re s t r ai nt ( Al l , ref Value
, SAP2000 . eItemType . Se l e c t e dObj e c t s ) ;
246 r e t = SapObjeto . SapModel . Sel ect Obj . Cl e ar Se l e c t i on ( ) ;
247 Re f r e s c ar ( ) ;
248 }
249
250 public void Anal i zar ( stri ng NombreArchivo )
251 {
252 //Modulo para a na l i z ar l a e s t r uc t ur a
253 // grados de l i be r t a d cons i der ados en e l a n

A l i s i s
254 System . Array GDL = new bool [ 6 ] { true , f al se , true , f al se , true
, f al se };
255 r e t = SapObjeto . SapModel . Anal yze . SetActiveDOF( ref GDL) ;
256 // cr ea un modelo de a n a l i s i s
257 r e t = SapObjeto . SapModel . Anal yze . CreateAnal ysi sModel ( ) ;
98
258 // opci ones del s ol uc i onador de ecuaci ones de SAP2000
259 // r e t = SapObjeto . SapModel . Anal yze . Set Sol verOpt i on ( 1 , true ,
DEAD) ;
260 //Guarda modelo
261 r e t = SapObjeto . SapModel . Fi l e . Save ( D: \\FEM APISAP PRUEBA\\ +
NombreArchivo ) ;
262 // a n a l i s i s
263 r e t = SapObjeto . SapModel . Anal yze . RunAnal ysi s ( ) ;
264 // Sal i da de r e s ul t ados
265 r e t = SapObjeto . SapModel . Res ul t s . Setup .
Desel ectAl l CasesAndCombosForOutput ( ) ;
266 r e t = SapObjeto . SapModel . Res ul t s . Setup . SetCaseSel ectedForOutput
( DEAD , true ) ;
267 }
268 }
A.2. Codigo fuente esaSAP
1 using System ;
2 using System . Co l l e c t i o ns . Generi c ;
3 using System . ComponentModel ;
4 using System . Data ;
5 using System . Drawing ;
6 using System . Li nq ;
7 using System . Text ;
8 using System . Windows . Forms ;
9
10 namespace Asol i dCono
11 {
12 public pa r t i a l cl ass Asol i dCono : Form
13 {
14 // obj et o SAP2000 para toda l a c l a s e der i vada Asol i dCono
15 SapApi Asol i d MySap;
16 // i ndi c ador para AbrirSAP2000 o c r e ar un modelo
17 // i nt a = 0;
18 // di mensi ones del cono
19 public stati c double Al tura , R1, Espesor , R2;
20 // di v i s i o n de l a s e c c i on de r e vol uc i on
21 // publ i c s t a t i c doubl e Var i aci on ;

Este des apar ece
22 public stati c i nt Nrodiv12 , Nrodi v13 ;
23 // propi edad de mat e r i al e s
24 public stati c double PesoEsp , Rconcreto , Coef poi s s on ; //
Coef termi co ;
25 // car gas
26 public stati c double Cargamuerta , Cargavi va ;
27 // f unci on a c e l e r a c i o n pseudo e s pe c t r a l
28 public stati c double Z, Tp, S , U, R, vT, Tf ;
29 // i ndi c a l a forma de l a e s t r uc t ur a
30 / 1: cono compl eto
31 2: cono con aber t ur a
32 3: domo compl eto
33 4: como con aber t ur a
34 . . . . . y s i gue
35 /
99
36 i nt FormaEstructura ;
37
38 public Asol i dCono ( )
39 {
40 I ni t i al i zeComponent ( ) ;
41 // e s t r uc t ur a predetermi nada cono compl eto
42 FormaEstructura = 1;
43 txtR2 . Enabled = f al se ;
44 }
45
46 private stati c stri ng Mensaje ( i nt a )
47 {
48 switch ( a )
49 {
50 case 1:
51 return Al tura del cono , i nde f i ni do ;
52 case 2:
53 return Radio ( r1 ) del cono , i nde f i ni do ;
54 case 3:
55 return Espesor del cono , i nde f i ni do ;
56 case 4:
57 return N umero de Div1 2, i nde f i ni do ;
58 case 5:
59 return N umero de Div1 3, i nde f i ni do ;
60 case 6:
61 return El i j a l a forma de e s t r uc t ur a ; //ya no
e x i s t e var i ac i on
62 case 7:
63 return Peso Es pe c f i c o , i nde f i ni do ;
64 case 8:
65 return f c , i nde f i ni do ;
66 case 9:
67 return Coe f i c i e nt e de Poi sson , i nde f i ni do ;
68 case 10:
69 return Radio ( r2 ) del cono , i nde f i ni do ; // a nadi do
r adi o 2
70 case 11:
71 return carga muerta , i nde f i ni do ;
72 case 12:
73 return carga vi va , i nde f i ni do ;
74 case 13:
75 return Z, i nde f i ni do ;
76 case 14:
77 return Tp, i nde f i ni do ;
78 case 15:
79 return S , i nde f i ni do ;
80 case 16:
81 return U, i nde f i ni do ;
82 case 17:
83 return R, i nde f i ni do ;
84 case 18:
85 return vT, i nde f i ni do ;
86 case 19:
87 return Tf , i nde f i ni do ;
88 case 20:
89 return . . . y s i gue ;
90 default :
91 return Todo Bi en ;
100
92 }
93 }
94
95 private stati c void MostrarMensaj e ( stri ng t ext o )
96 {
97 MessageBox . Show( texto , Asol i dCono , MessageBoxButtons .OK,
MessageBoxIcon . I nf or mat i on ) ;
98 }
99
100 private bool Veri f i carArgumentos ( )
101 {
102 // ordena argumentos y v e r i f i c a
103 // Def i ne e l cono
104 // Al tura del cono
105 i f ( t xt Al t ur a . Text == )
106 {
107 MostrarMensaje ( Mensaje ( 1) ) ;
108 return true ;
109 }
110 Al tura = double . Parse ( t xt Al t ur a . Text ) ;
111 //Radio del cono
112 i f ( txtR1 . Text == )
113 {
114 MostrarMensaje ( Mensaje ( 2) ) ;
115 return true ;
116 }
117 R1 = double . Parse ( txtR1 . Text ) ;
118 // Espesor del cono
119 i f ( t xt Es pes or . Text == )
120 {
121 MostrarMensaje ( Mensaje ( 3) ) ;
122 return true ;
123 }
124 Espesor = double . Parse ( t xt Es pes or . Text ) ;
125 // Di vi s i one s del domi ni o
126 // Di vi s i one s en 12
127 i f ( txtNrodi v12 . Text == )
128 {
129 MostrarMensaje ( Mensaje ( 4) ) ;
130 return true ;
131 }
132 Nrodi v12 = i nt . Parse ( txtNrodi v12 . Text ) ;
133 // Di vi s i one s en 13
134 i f ( txtNrodi v13 . Text == )
135 {
136 MostrarMensaje ( Mensaje ( 5) ) ;
137 return true ;
138 }
139 Nrodi v13 = i nt . Parse ( txtNrodi v13 . Text ) ;
140 // Var i aci on Li /Lf
141 / i f ( t xt Var i aci on . Text == )
142 {
143 MostrarMensaje ( Mensaje ( 6) ) ;
144 r et ur n t r ue ;
145 }
146 Var i aci on = doubl e . Parse ( t xt Var i aci on . Text ) ; /
147 // Propi edades de l o s mat e r i al e s
148 //Peso Es pe c f i c o
101
149 i f ( t xt Pe s o e s pe c i f i c o . Text == )
150 {
151 MostrarMensaje ( Mensaje ( 7) ) ;
152 return true ;
153 }
154 PesoEsp = double . Parse ( t xt Pe s o e s pe c i f i c o . Text ) ;
155 // Re s i s t e nc i a del concr et o
156 i f ( t xt Res i s Concr et o . Text == )
157 {
158 MostrarMensaje ( Mensaje ( 8) ) ;
159 return true ;
160 }
161 Rconcreto = double . Parse ( t xt Res i s Concr et o . Text ) ;
162 // Co e f i c i e nt e de Poi sson
163 i f ( t xt Coef poi s s on . Text == )
164 {
165 MostrarMensaje ( Mensaje ( 9) ) ;
166 return true ;
167 }
168 Coef poi s s on = double . Parse ( t xt Coef poi s s on . Text ) ;
169 // Co e f i c i e nt e de expansi on termi co era
170 // ahora es e l r adi o f i na l , r2
171 i f ( txtR2 . Text == )
172 {
173 MostrarMensaje ( Mensaje ( 10) ) ;
174 return true ;
175 }
176 R2 = double . Parse ( txtR2 . Text ) ;
177 // car gas
178 // carga muerta
179 i f ( txtCargamuerta . Text == )
180 {
181 MostrarMensaje ( Mensaje ( 11) ) ;
182 return true ;
183 }
184 Cargamuerta = double . Parse ( txtCargamuerta . Text ) ;
185 //Carga vi va
186 i f ( txtCargavi va . Text == )
187 {
188 MostrarMensaje ( Mensaje ( 12) ) ;
189 return true ;
190 }
191 Cargavi va = double . Parse ( txtCargavi va . Text ) ;
192 // publ i c s t a t i c doubl e Z, Tp, S , U, R, vT, Tf ;
193 //Funcion a c e l e r a c i o n Pseudo e s pe c t r a l
194 //Z
195 i f ( txtZ . Text == )
196 {
197 MostrarMensaje ( Mensaje ( 13) ) ;
198 return true ;
199 }
200 Z = double . Parse ( txtZ . Text ) ;
201 //Tp
202 i f ( txtTp . Text == )
203 {
204 MostrarMensaje ( Mensaje ( 14) ) ;
205 return true ;
206 }
102
207 Tp = double . Parse ( txtTp . Text ) ;
208 //S
209 i f ( txtS . Text == )
210 {
211 MostrarMensaje ( Mensaje ( 15) ) ;
212 return true ;
213 }
214 S = double . Parse ( txtS . Text ) ;
215 //U
216 i f ( txtU . Text == )
217 {
218 MostrarMensaje ( Mensaje ( 16) ) ;
219 return true ;
220 }
221 U = double . Parse ( txtU . Text ) ;
222 //R
223 i f ( txtR . Text == )
224 {
225 MostrarMensaje ( Mensaje ( 17) ) ;
226 return true ;
227 }
228 R = double . Parse ( txtR . Text ) ;
229 //vT
230 i f ( txtVt . Text == )
231 {
232 MostrarMensaje ( Mensaje ( 18) ) ;
233 return true ;
234 }
235 vT = double . Parse ( txtVt . Text ) ;
236 //Tf
237 i f ( txtTf . Text == )
238 {
239 MostrarMensaje ( Mensaje ( 19) ) ;
240 return true ;
241 }
242 Tf = double . Parse ( txtTf . Text ) ;
243 // . . . . . . . s i guen mas mensaj es ( s )
244 return f al se ;
245 }
246
247 void Procedi mi ento ( )
248 {
249 //Metodo para ana l i z ar en SAP2000
250 // v e r i f i c a r argumentos
251 i f ( Veri f i carArgumentos ( ) )
252 {
253 return ;
254 }
255 // s i todos l o s argumentos son c or r e c t os s e e j e c ut a
256 // cr ea obj et o MySAP2000
257 MySap = new SapApi Asol i d ( ) ;
258 // I n i c i a l i z a o cr ea nuevo modelo de , seg un
259 MySap. Abri rSap2000 ( ) ;
260 // de f i ne propi edad del el emento
261 double ModE = 15E7 Math . Sqrt ( Rconcreto ) ;
262 MySap. Def i ni r Pr opi edad ( PesoEsp , ModE, Coef poi s s on ) ;
263 // de f i ne f unci on a c e l e r a c i o n pseudo e s pe c t r a l
264 MySap. ZUCS(Z, Tp, S , U, R, 0. 1 , vT, Tf ) ;
103
265 // de f i ne cargas , cas os de a n a l i s i s y combi naci ones de carga
266 MySap. Def i ni r Car gas ( ) ;
267 //masa de l a e s t r uc t ur a
268 MySap. MasaEstructura ( ) ;
269 //nombre del

A rea
270 stri ng MyArea = ;
271
272 switch ( FormaEstructura )
273 {
274 case 1: //Cono compl eto
275 // obt i ene nombre de l o s f rames r e s ul t ado de
ext rudar
276 MyArea = MySap. ConoCompleto (R1, Al tura , Espesor ) ;
277 // as i gna car gas
278 MySap. Asi gnarCargas (MyArea , Cargamuerta , Cargavi va )
;
279 // devuel ve l o s nombres de l o s el ementos cargados
280 MySap. Rectangul os4Nodos (MyArea , Nrodiv12 , Nrodi v13 )
;
281 // s opos t e s en l a base
282 MySap. Asi gnarSopotesEnBase (R1, Espesor , Nrodi v12 ) ;
283 // s opor t e s en e l cent r o
284 MySap. Asi gnarSoportesEnCentro (R1, Al tura , Espesor ,
Nrodi v12 ) ;
285 // Anal i zar
286 MySap. Anal i zar ( ConoCompleto . SDB ) ;
287 break ;
288 case 2: //cono con aber t ur a
289 // obt i ene nombre de l o s f rames r e s ul t ado de
ext rudar
290 MyArea = MySap. ConoConAbertura (R1, R2, Al tura ,
Espesor ) ;
291 // as i gna car gas
292 MySap. Asi gnarCargas (MyArea , Cargamuerta , Cargavi va )
;
293 // devuel ve l o s nombres de l o s el ementos cargados
294 MySap. Rectangul os4Nodos (MyArea , Nrodiv12 , Nrodi v13 )
;
295 // s opos t e s en l a base
296 MySap. Asi gnarSopotesEnBase (R1, Espesor , Nrodi v12 ) ;
297 // s opor t e s en e l cent r o
298 //MySap. Asi gnarSoportesEnCentro (R1, Al tura , Espesor
, Nrodi v12 ) ;
299 // Anal i zar
300 MySap. Anal i zar ( ConoConAbertura . SDB ) ;
301 break ;
302 case 3: //domo compl eto
303 break ;
304 case 4: //domo con aber t ur a
305 break ;
306 }
307 }
308
309 private void anal i zarEnSap20001104Tool Stri pMenuItem Cl i ck (
object sender , EventArgs e )
310 {
311 // c l i k en a na l i z ar l a e s t r uc t ur a
312 // ant es debe e l e g i r una opci on
104
313 i f ( FormaEstructura == 0)
314 {
315 MostrarMensaje ( Mensaje ( 6) ) ;
316 return ;
317 }
318
319 Procedi mi ento ( ) ;
320 }
321
322 private void cerrarSap20001104Tool Stri pMenuI tem Cl i ck ( object
sender , EventArgs e )
323 {
324 // c l i k en c e r r ar sap2000
325 MySap. Cerrar ( ) ;
326 }
327
328 private void s al i r Tool St r i pMenuI t em Cl i ck ( object sender ,
EventArgs e )
329 {
330 // s a l i r de l a a pl i c a c i o n
331 thi s . Cl ose ( ) ;
332 }
333
334 private void conoCompl etoTool Stri pMenuItem Cl i ck ( object sender ,
EventArgs e )
335 {
336 // s e e l i g e cono compl eto
337 FormaEstructura = 1;
338 txtR2 . Enabled = f al se ;
339
340 }
341
342 private void conoConAberturaTool Stri pMenuItem Cl i ck ( object
sender , EventArgs e )
343 {
344 // s e e l i g e cono con aber t ur a
345 FormaEstructura = 2;
346 txtR2 . Enabled = true ;
347
348 }
349
350 }
351 }
105
Apendice B
Fotografas
Figura B.1: Encofrado del techo del auditorio de la Facultad de Ciencias de la
Educaci on
106
Figura B.2: Encofrado del techo del auditorio de la Facultad de Ciencias de la
Educaci on
Figura B.3: Refuerzos del techo del auditorio de la Facultad de Ciencias de la edu-
caci on
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
Apendice C
Planos de la construcci on
L amina L-01: Localizaci on
L amina U-01: Ubicaci on
L amina A-15: Arquitectura - Planta y Cortes.
L amina A-16: Arquitectura - Elevaciones.
109

You might also like