Professional Documents
Culture Documents
Huamanga
Por:
Edmundo Canchari Gutiérrez
Dirigido Por:
Ing. Cristian Castro Pérez
Esta tesis es presentada como parte de los requisitos para optar el tı́tulo académi-
co de Ingeniero Civil, de la Universidad Nacional San Cristóbal de Huamanga, la
misma contiene los resultados obtenidos en investigaciones llevadas a cabo en el
periodo 2007-2009.
i
Dedicatoria
ii
Agradecimientos
iii
Resumen
iv
Índice general
Presentación I
Dedicatoria II
Agradecimientos III
Resumen IV
Índice general V
Índice de cuadros XV
I Introducción 1
1. Introducción 2
1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Motivación de la investigación . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.2. Objetivos especı́ficos . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Organización del estudio . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7. Metodologı́a aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
v
II Marco teórico 8
vi
3.4. El lenguaje de programación 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. Método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.5. Objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.6. Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5. Interfaz de programación para aplicaciones de sap2000 . . . . . . . . 24
3.5.1. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5.2. Utilidad ¿Para qué 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ón . . . . . . . . . . . . . . . . . . . . . . 29
3.6.7. La función mágica . . . . . . . . . . . . . . . . . . . . . . . . 29
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ón unitaria - Desplazamiento 42
4.2.2.2.6. Matriz de rigidez del elemento . . . . . . . . 43
4.2.2.3. Función matriz de rigidez ensamblado . . . . . . . . 45
4.2.2.4. Función vector de fuerzas nodales equivalentes . . . . 46
4.2.2.5. Función desplazamientos en nudos . . . . . . . . . . 47
4.2.2.5.1. Comparación 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ón de resultados con sap2000 . . 50
4.2.3.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 50
viii
5.2.1. public void AbrirSap2000() . . . . . . . . . . . . . . . . . . . . 54
5.2.2. void Refrescar() . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.3. public void Cerrar() . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.4. Método DefinirPropiedad . . . . . . . . . . . . . . . . . . . . 54
5.2.5. Método ZUCS . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.6. public void DefinirCargas() . . . . . . . . . . . . . . . . . . . 55
5.2.7. public void MasaEstructura() . . . . . . . . . . . . . . . . . . 55
5.2.8. Método ConoCompleto . . . . . . . . . . . . . . . . . . . . . . 55
5.2.9. Método ConoConAbertura . . . . . . . . . . . . . . . . . . . . 56
5.2.10. Método AsignarCargas . . . . . . . . . . . . . . . . . . . . . . 56
5.2.11. Método Rectangulo4Nodos . . . . . . . . . . . . . . . . . . . . 56
5.2.12. Método AsignarSoportesEnBase . . . . . . . . . . . . . . . . . 56
5.2.13. Método AsignarSoportesEnCentro . . . . . . . . . . . . . . . . 57
5.2.14. Método Analizar . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2.15. Código fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. Descripción del programa esaSAP . . . . . . . . . . . . . . . . . . . . 57
5.3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.2. Opciones de análisis . . . . . . . . . . . . . . . . . . . . . . . 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ón de métodos . . . . . . . . . . . . . . . . . . . . . 60
5.3.7. Descripción de eventos . . . . . . . . . . . . . . . . . . . . . . 61
5.3.8. Código fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
IV Resultados 62
ix
6.2.2. Material utilizado . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.3. Cargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.4. Parámetros para la función de aceleración pseudo espectral . . 64
6.3. Modelo de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4. Análisis 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 dirección radial . . . 72
6.4.2.1.2. Desplazamientos en la dirección axial . . . . 73
6.4.2.2. Tensiones . . . . . . . . . . . . . . . . . . . . . . . . 73
6.4.2.2.1. Tensiones en la dirección radial . . . . . . . 74
6.4.2.2.2. Tensiones en la dirección circunferencial . . 75
6.4.2.2.3. Tensiones en la dirección axial . . . . . . . . 76
6.4.2.2.4. Tensión 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. Comparación de resultados . . . . . . . . . . . . . . . . . . . . 79
6.5. Obtención de refuerzos . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.5.1. Diseño por esfuerzo radial S11 . . . . . . . . . . . . . . . . . . 80
6.5.2. Diseño por esfuerzo Axial S33 . . . . . . . . . . . . . . . . . . 82
6.6. Justificación de los resultados . . . . . . . . . . . . . . . . . . . . . . 82
V Conclusiones 84
7. Conclusiones y recomendaciones 85
7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
x
7.1.1. De la metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.2. De los resultados . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.1.3. Aplicaciones utilizados . . . . . . . . . . . . . . . . . . . . . . 86
7.1.4. Lenguajes de programación . . . . . . . . . . . . . . . . . . . 87
7.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3. Desarrollos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Bibliografı́a 89
VI Anexos 92
B. Fotografı́as 106
xi
Índice de figuras
xii
4.14. Función desplazamientos de un elemento . . . . . . . . . . . . . . . . 51
xiii
B.3. Refuerzos del techo del auditorio de la Facultad de Ciencias de la
educación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.4. Auditorio Facultad Ciencias de la Educación U.N.S.C.H . . . . . . . . 108
B.5. Auditorio Facultad Ciencias de la Educación U.N.S.C.H . . . . . . . . 108
xiv
Índice de cuadros
xv
Parte I
Introducción
1
Capı́tulo 1
Introducción
1.1. Generalidades
2
de los programas, no solo en el área de estructuras, están escritos basándose en
este método. Por lo tanto, se ha llegado a un nivel tal que es imposible evitar la
convivencia constante con estas aplicaciones, por lo que ofrece, por una parte las
grandes facilidades para modelar situaciones reales y por otra, exige al usuario tener
un conocimiento suficiente para el correcto uso de las aplicaciones.
Con la finalidad de utilizar el programa Sap2000 de manera responsable se in-
vestiga el Método de los Elementos Finitos para finalmente automatizar el análisis
estructural mediante su Interface de Programación para Aplicaciones.
Es imposible programar en Sap2000 sin los conocimientos suficientes del Método
de los Elementos Finitos, cuanto mayor conocimiento se tenga del método de análisis
en que se fundamenta, mejor será la convivencia entre el usuario y el programa y
como consecuencia natural con su Interface de Programación para Aplicaciones.
1.4. Justificación
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, además de utilizar técnicas
y lenguajes de programación actuales, lo que permite enlazar la Interfaz de Pro-
gramación para Aplicaciones que posee Sap2000 con el lenguaje de programación
Microsoft Visual C# para acceder al programa, con la finalidad de realizar una
serie de extensiones para cada propósito. De igual manera se utiliza el Método do los
3
Elementos Finitos para justificar los resultados, método numérico que actualmente
es el más idóneo para el análisis de estructuras.
1.5. Objetivos
Analizar una estructura que pueda ser modelada como Sólido de Revolución
en Sap2000 y en la plantilla creada de MathCad 14 y lograr que los resultados
sean los mismos.
4
fundamentos teóricos en que se basa el programa, sólo ası́ se estará en la capacidad
de entender el funcionamiento y ser capaz de interpretar correctamente los resul-
tados obtenidos, por esta razón se investiga el Método de los Elementos Finitos,
con el propósito de justificar el análisis y crear una extensión para modelar y ana-
lizar estructuras que cumplen las condiciones para ser modeladas como sólidos de
revolución.
Por la misma naturaleza de cálculo y convencido de que no existe mejor manera
de aprender el Método de los Elementos Finitos sino programándolo y la necesidad
de observar el proceso de cálculo paso a paso conlleva a utilizar los medios adecuados
para este fin, MathCad 14 es una herramienta ideal especı́ficamente diseñado para
elaborar informes técnicos detallados y será aprovechado en esta oportunidad en el
análisis de estructuras.
Los resultados obtenidos mediante MathCad 14 para su validez deben de coinci-
dir con los del Sap2000, ya que la formulación del Método de los Elementos Finitos,
sea por el principio que fuere, llega a un resultado único. La igualdad de los resulta-
dos, los de MathCad 14 y Sap2000 11.0.4, en la presente tesis es la base que justifica
el uso del Método de los Elementos Finitos de manera apropiada, garantizando de
esta manera los resultados que ofrece el programa Sap2000.
Finalmente se crea una extensión para Sap2000 desde Microsoft Visual c# para
el análisis de estructuras modeladas como Sólidos de Revolución, cuya aplicación
práctica es el techo en forma de cono del auditorio de la Facultad de Ciencias de la
Educación de la Universidad Nacional San Cristóbal de Huamanga.
Se consideran los siguientes capı́tulos:
5
de Sap2000. Descripción de los procedimientos generales para interactuar con
la Interfaz de Programación para Aplicaciones de Sap2000 desde Microsoft
Visual C#, para la edición de la aplicación se utiliza el entorno de de desarrollo
integrado Microsoft Visual Studio 2009 Express Edition.
6
fundamentos teóricos suficientes se podrá realizar extensiones mediante la Interface
de Programación para Aplicaciones que posee el programa.
7
Parte II
Marco teórico
8
Capı́tulo 2
9
2.1.2. Definición
10
2.2. Modelamiento de elementos estructurales
Debido a lo extenso del tema, se comenta brevemente los modelos7 para los
elementos estructurales en un análisis mediante el método de los elementos finitos.
11
Inicialmente la tesis estaba orientado al análisis, la justificación y la automati-
zación para elementos estructurales unidimensionales en el programa Sap2000. En
el proceso de desarrollo se demostró que la formulación del método de los elementos
finitos para este tipo de estructuras, finalmente termina siendo el método de la ri-
gidez, además de existir otros métodos con las cuales es posible obtener resultados
exactos y en menor tiempo; limitando exageradamente el uso verdadero del referido
método. Por esta razón no amerita la dedicación exclusiva en la automatización de
procesos de análisis en Sap2000 mediante su Interfaz de Programación para Aplica-
ciones, en su lugar se ha optado por el análisis, la justificación y la automatización
para estructuras axisimétricas.
12
de esfuerzos planos en estructuras planas y delgadas, o también para modelar
el comportamiento de deformaciones planas en estructuras prismáticas largas.
13
casos puede efectuarse utilizando variables que dependen de dos coordenadas
cartesianas. Si las cargas exteriores son también de revolución, el desplazamien-
to de un punto de una estructura considerada como un sólido de revolución
tiene solo componentes en direcciones radial(υ) y axial(w)11 .
Para un sólido que cumple las condiciones para ser modelado como un sólido
axisimétrico, el movimiento de un punto, definido en la sección caracterı́stica de re-
volución, queda perfectamente definido por las componentes de los desplazamientos
radial(υ) y axial(w) figura(2.3).
υ(r, z)
u= (2.1)
w(r, z)
11
Referencia [4] página 243
14
2.3.4. Campo de deformaciones
∂υ
r ∂r
z ∂w
∂z
= = (2.2)
∂υ + ∂w
rz ∂z ∂r
υ
θ r
T
σ = σr σz τrz σθ (2.3)
15
2.3.6. Ecuación constitutiva
σ = D( − o ) + σ o (2.4)
para materiales isótropos, la matriz de propiedades del elemento está dado por
la ecuación(2.5), en la cual E es el módulo de elasticidad del material y ν es el
coeficiente de poisson.
ν ν
1 1−ν
0 1−ν
E(1 − ν) ν 1 0 ν
1−ν 1−ν
D= (2.5)
(1 + ν)(1 − 2ν) 0
1−2ν
0 2(1−ν)
0
ν ν
1−ν 1−ν
0 1
ma
Z 2π Z Z 2π Z Z 2π Z
1 T T
Π= σ rdAdθ − u f rdAdθ − uT T rdldθ − ΣuTi Pi (2.6)
2 0 A 0 A 0 L
Z Z Z
1 T
Π = 2π σ rdA − u f rdA − u T rdl − ΣuTi Pi
T T
(2.7)
2 A A L
12
Según la referencia [8]
16
Se nota claramente de las ecuaciones(2.6 y 2.7), aunque el modelo analizado es
un elemento plano figura(2.3 c), matemáticamente se toma en cuenta la estructura
completa en 3D.
Se realiza una formulación general del método de los elementos finitos para el
análisis de estructuras, para iniciar es necesario dividir el dominio completo del
modelo en análisis, con elementos para los cuales son conocidos sus funciones de
interpolación, este procedimiento es conocido en los libros especializados como tec-
nologı́a de elementos.
Las funciones de forma son las que proporcionan las formas que puede adoptar
localmente el campo incógnita.
La elección de las funciones de forma está condicionado no sólo por la forma
que toman los dominios locales o elementos finitos, también 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úmero de
campos independientes)13 .
17
1
N1 (ξ, η) = (1 − ξ)(1 − η)
4
1
N2 (ξ, η) = (1 + ξ)(1 − η)
4 (2.8)
1
N3 (ξ, η) = (1 + ξ)(1 + η)
4
1
N4 (ξ, η) = (1 − ξ)(1 + η)
4
2.4.2. Coordenadas
Las coordenadas en el interior de cada elemento finito está dado por la ecua-
ción(2.9).
18
∂r(ξ,η) ∂z(ξ,η)
J(ξ, η) = ∂ξ ∂ξ
(2.10)
∂r(ξ,η) ∂z(ξ,η)
∂η ∂η
N1 0 N2 0 Nn 0
N = ... (2.11)
0 N1 0 N2 0 Nn
υ
1
w1
υ2
q= w
2
(2.12)
.
.
.
υn
wn
La matriz deformación unitaria desplazamiento.
∂N1 ∂N2 ∂Nn
∂r 0 ∂r 0 ∂r 0
0 ∂N1 0 ∂N2 0 ∂Nn
∂z ∂z ∂z
B = ··· (2.13)
∂N1 ∂N1 ∂N2 ∂N2 ∂Nn ∂Nn
∂z ∂r ∂z ∂r ∂z ∂r
N1 N2 Nn
r
0 r
0 r
0
Las deformaciones está dado mediante = Bq, la matriz de rigidez en el sistema
normalizado para una estructura de simetrı́a axial está dado por la ecuación(2.14),
para obtener las expresiones de las cargas se procede de manera similar.
Z 1 Z 1
k=t B T DBrJdξdη (2.14)
−1 −1
Donde:
19
t: representa el ángulo de revolución que gira cada elemento finito en que fue
discretizado el plano de la sección caracterı́stica de revolución.
14
Los detalles se encuentra en los libros de la referencia [14], [15], [16], [17], [18]
20
Capı́tulo 3
3.1. Generalidades
Lo que Microsoft nos ofrece con Visual Studio 2009 Express Edition es un
entorno de desarrollo de última generación, conjuntamente con el compilador de
1
Microsoft presentó c# al público en la Professional Developer’s Conference en Orlando, Flo-
rida, en el verano del 2000. [19], página 37
21
uno de los lenguajes de programación más avanzados que existe en la actualidad
C#2 . Las versiones Express son de distribución gratuita. El desarrollo del programa
para la tesis se realiza desde este editor.
22
3.4.1. Clase
Una clase es una colección de código y de variables, las clases gestionan el estado
en forma de variables que contienen, y comportamientos, en forma de los métodos
que contienen. Sin embargo una clase es sólo una plantilla desde donde se crean
objetos. ([19] página 192). Todo el código y los datos deben ser incluidos en una
clase, no se puede definir una variable fuera de una clase y no se puede escribir
ningún código que no esté en una clase.
3.4.4. Método
Los métodos son bloques de instrucciones que devuelven algún tipo de valor
cuando se ejecutan( [19] página 149).
3.4.5. Objeto
23
3.4.6. Interface
de sap2000
3.5.1. Instalación
24
Control Propiedad Valor
Form name frmDiagnóstico
text Sap2000Diagnostico
Button name cmdOpensap2000
text Abrir
Button name cmdCapturesap2000
text Capturar
Button name cmdCloseSap2000
text Cerrar
Button name cmdEvaluarSap2000
text Evaluar
25
Figura 3.1: Ventana principal
26
Figura 3.3: Integrar API Sap2000 11.0.4
1 // Implementa l a i n t e r f a z de Sap2000 a un o b j e t o
2 Sap2000 . SapObject SapObjeto ;
3 // i n i c i a l i z a e l o b j e t o
4 SapObjeto = new Sap2000 . SapObject ( ) ;
27
3.6.4. Inicializando un archivo nuevo
28
3.6.6. Cerrando la Aplicación
29
Parte III
Materiales y métodos
30
Capı́tulo 4
4.1. Generalidades
31
la vez que se desarrolla un ejemplo de aplicación; por ser ésta la manera natural de
proceder en un documento de MathCad 14.
4.1.1. Sap2000
El método de los elementos finitos es uno de los procedimientos que existen pa-
ra aproximar el comportamiento de una estructura con infinitos grados de libertad
por el de otra, con aproximadamente las mismas propiedades fı́sicas y geométricas,
pero con un número finito de grados de libertad, cuyas ecuaciones de equilibrio pue-
des expresarse por un sistema algebraico de ecuaciones simultáneas con un número
limitado de incógnitas3
3
Referencia [7] página 03).
32
4.1.2. Estructuras de simetrı́a axial
33
4.2. Implementación de Funciones en MathCad
4.2.1. Pre-procesador
34
con elementos rectangulares de cuatro nudos figura(4.5) y ordenar los argumentos
de acuerdo a lo establecido para las coordenadas de los nudos en la página(35), iden-
tificación de elementos página(35), asignación de propiedades página(36), soportes
página(37) y las cargas en la página(37).
4.2.1.1. Nudos
4.2.1.2. Elementos
Cada elemento debe quedar completamente identificado por sus cuatro nudos
figura(4.5), todos los elementos están organizados en un arreglo numérico de nombre
MEMB cuadro(4.2), cada fila identifica plenamente a un elemento en el sistema, cada
columna representa.
35
columna 1: número identificador del elemento
4.2.1.3. Propiedades
Para el análisis se considera que todos los elementos tienen las mismas propie-
dades, para los sólidos de revolución son requeridos.
36
4.2.1.4. Soportes
Soporte nudo ru ? zu ?
1 1 1 1
2 2 1 1
4.2.1.5. Cargas
37
4.2.2. Procesador
Esta sección contiene las funciones generales que participan en todo el proceso.
38
ν ν
1 1−ν
0 1−ν
E(1 − ν) ν 1 0 ν
1−ν 1−ν
D= (4.1)
(1 + ν)(1 − 2ν) 0
1−2ν
0 2(1−ν)
0
ν ν
1−ν 1−ν
0 1
Evaluando las propiedades para los argumentos establecidos, se tiene:
2.879 1.212 0 1.212
1.212 2.827 0 1.212
D = 109
0 0 80.77 0
1.212 1.212 0 2.827
39
n, el grado de libertad en la dirección radial es 2n − 1 y en la dirección axial 2n.
GDL(1) = 13 14 9 10 11 12 15 16
Las funciones siguientes son para obtener la matriz de rigidez de cualquier ele-
mento.
40
1
N1 (ξ, η) = (1 − ξ)(1 − η)
4
1
N2 (ξ, η) = (1 + ξ)(1 − η)
4 (4.2)
1
N3 (ξ, η) = (1 + ξ)(1 + η)
4
1
N4 (ξ, η) = (1 − ξ)(1 + η)
4
Las funciones Ni (ξ, η) con i = 1 . . . 4 dependen únicamente de ξ y η que son las
coordenadas normalizadas.
r(m, ξ, η) = N1 (ξ, η)r1 (m) + N2 (ξ, η)r2 (m) + N3 (ξ, η)r3 (m) + N4 (ξ, η)r4 (m)
(4.3)
z(m, ξ, η) = N1 (ξ, η)z1 (m) + N2 (ξ, η)z2 (m) + N3 (ξ, η)z3 (m) + N4 (ξ, η)z4 (m)
µ = N1 q1 + N2 q3 + N3 q5 + N4 q7
(4.4)
υ = N1 q2 + N2 q4 + N3 q6 + N4 q8
41
∂r(m,ξ,η) ∂z(m,ξ,η)
J(m, ξ, η) = ∂ξ ∂ξ (4.5)
∂r(m,ξ,η) ∂z(m,ξ,η)
∂η ∂η
T
= r z γrz θ (4.6)
T
= ∂µ ∂υ ∂µ ∂υ µ (4.7)
∂r ∂z ∂z
+ ∂r r
∂z ∂Ni ∂z ∂Ni
−
∂η ∂ξ ∂ξ ∂η
0
∂r ∂N ∂r ∂N
1 0 − ∂η ∂ξi + ∂ξ ∂ηi
B= (4.8)
|J| − ∂r ∂Ni + ∂r ∂Ni ∂z ∂Ni − ∂z ∂Ni
∂η ∂ξ ∂ξ ∂η ∂η ∂ξ ∂ξ ∂η
Ni
r
|J| 0
La matriz B(m, ξ, η) ecuación(4.8), se divide en cuatro sub matrices correspon-
diente a los cuatro nudos con B1 (m, ξ, η) que se corresponde con el nudo uno,
B2 (m, ξ, η) con el nudo dos, B3 (m, ξ, η) con el nudo tres y B4 (m, ξ, η) con el nu-
do cuatro. Las funciones siguientes se escriben como Bi que son iguales a Bi (m, ξ, η)
con i = 1 . . . 4, por comodidad.
42
∂z(m,ξ,η) ∂N1 (ξ,η) ∂z(m,ξ,η) ∂N1 (ξ,η)
∂η ∂ξ
− ∂ξ ∂η
0
∂r(m,ξ,η) ∂N1 (ξ,η)
∂r(m,ξ,η) ∂N1 (ξ,η)
0 − ∂η ∂ξ
+ ∂ξ ∂η
B1 =
− ∂r(m,ξ,η) ∂N1 (ξ,η) + ∂r(m,ξ,η) ∂N1 (ξ,η) ∂z(m,ξ,η) ∂N1 (ξ,η) − ∂z(m,ξ,η) ∂N1 (ξ,η)
∂η ∂ξ ∂ξ ∂η ∂η ∂ξ ∂ξ ∂η
N1 (ξ,η)
r(m,ξ,η)
|J(m, ξ, η)| 0
∂z(m,ξ,η) ∂N2 (ξ,η) ∂z(m,ξ,η) ∂N2 (ξ,η)
∂η ∂ξ
− ∂ξ ∂η
0
∂r(m,ξ,η) ∂N2 (ξ,η)
∂r(m,ξ,η) ∂N2 (ξ,η)
0 − ∂η ∂ξ
+ ∂ξ ∂η
B2 =
− ∂r(m,ξ,η) ∂N2 (ξ,η) + ∂r(m,ξ,η) ∂N2 (ξ,η) ∂z(m,ξ,η) ∂N2 (ξ,η) − ∂z(m,ξ,η) ∂N2 (ξ,η)
∂η ∂ξ ∂ξ ∂η ∂η ∂ξ ∂ξ ∂η
N2 (ξ,η)
r(m,ξ,η)
|J(m, ξ, η)| 0
∂z(m,ξ,η) ∂N3 (ξ,η) ∂z(m,ξ,η) ∂N3 (ξ,η)
∂η ∂ξ
− ∂ξ ∂η
0
∂r(m,ξ,η) ∂N3 (ξ,η)
∂r(m,ξ,η) ∂N3 (ξ,η)
0 − ∂η ∂ξ
+ ∂ξ ∂η
B3 =
− ∂r(m,ξ,η) ∂N3 (ξ,η) + ∂r(m,ξ,η) ∂N3 (ξ,η) ∂z(m,ξ,η) ∂N3 (ξ,η) − ∂z(m,ξ,η) ∂N3 (ξ,η)
∂η ∂ξ ∂ξ ∂η ∂η ∂ξ ∂ξ ∂η
N3 (ξ,η)
r(m,ξ,η)
|J(m, ξ, η)| 0
∂z(m,ξ,η) ∂N4 (ξ,η) ∂z(m,ξ,η) ∂N4 (ξ,η)
∂η ∂ξ
− ∂ξ ∂η
0
∂r(m,ξ,η) ∂N (ξ,η) ∂r(m,ξ,η) ∂N (ξ,η)
0 − ∂η
4
∂ξ
+ ∂ξ
4
∂η
B4 =
− ∂r(m,ξ,η) ∂N4 (ξ,η) + ∂r(m,ξ,η) ∂N4 (ξ,η) ∂z(m,ξ,η) ∂N4 (ξ,η) − ∂z(m,ξ,η) ∂N4 (ξ,η)
∂η ∂ξ ∂ξ ∂η ∂η ∂ξ ∂ξ ∂η
N4 (ξ,η)
r(m,ξ,η)
|J(m, ξ, η)| 0
1 h i
B(m, ξ, η) = B (m, ξ, η) B2 (m, ξ, η) B3 (m, ξ, η) B4 (m, ξ, η)
|J(m, ξ, η)| 1
43
Z 1 Z 1
k(m) = t B(m, ξ, η)T DB(m, ξ, η)r(m, ξ, η)|J(m, ξ, η)|dξdη (4.9)
−1 −1
1 1
− 3 − 3 1 1
√ √
√1 − √1 1 1
ξξ = 3 ηη = 3 ωr = ωz =
√1 √1 1 1
3 3
1 √1
− 3
√
3
1 1
Finalmente, la matriz de rigidez para un elemento m está dado por.
4
X
k(m) = t k1 (m, ξξi , ηηi )
i=1
44
0.218
0.128 0.518 Simétrico
0.096 0.049 0.222
0.068 0.222 0.073 0.698
11
k(m) = 10
−0.151 0.073 −0.242 −0.161 0.319
−0.101 −0.242 −0.115 −0.704 0.204 0.722
−0.174 −0.115 −0.077 −0.017 0.095 0.051 0.166
−0.094 −0.503 −0.006 −0.289 0.070 0.298 0.069 0.499
3.849
1.948 11.256 Simétrico
−4.015 −2.303 4.237
−2.117 −11.298 2.473 11.357
k(m) = 1011 1.715 0.981 −1.880 −1.116
3.918
0.905
4.844 −1.159 −4.887 2.119 10.918
−1.582 −0.778 1.710 0.913 −3.865 −2.195 3.904
−0.736 −4.802 0.99 4.834 −2.068 −10.892 2.144 · · ·
.. .. .. .. .. .. .. ..
. . . . . . . .
45
4.2.2.4. Función vector de fuerzas nodales equivalentes
F = 0 0 0 −5.027 ∗ 104 0 0 0 3.142 ∗ 104 0 · · ·
46
4.2.2.5. Función desplazamientos en nudos
307
1 ∗ 10
1.948
1 ∗ 10307 Simétrico
−4.015
−2.303 1 ∗ 10307
−2.117 −11.298 2.473 1 ∗ 10307
km = 1.715 −1.880 −1.116
0.981 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 · · ·
.. .. .. .. .. .. .. ..
. . . . . . . .
47
nudo y las columnas son.
48
4.2.2.5.1. Comparación de resultados con sap2000 Los resultados mostra-
dos en el cuadro(4.5) son iguales a los obtenidos con un análisis mediante el programa
Sap2000 11.0.4 Educacional para cada grado de libertad considerado. Para el análi-
sis en Sap2000 11.0.4 8 se hizo uso del elemento Asdolid sin considerar los modos
incompatibles, discretizando el dominio completo(la sección caracterı́stica de revo-
lución) 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
Las reacciones en los apoyos está dado por R = KQ−F , donde K es la matriz de
rigidez de toda la estructura figura(4.8), Q son los desplazamientos figura(4.11) y F
es el vector de cargas equivalencies figura(4.9). Luego queda ordenar las reacciones
convenientemente figura(4.13).
Donde cada columna representa.
49
columna 2: reacción en la dirección radial
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ón q(m) figura(4.14) obtiene los
desplazamientos de los nudos de cualquier elemento.
50
Figura 4.14: Función desplazamientos de un elemento
Las tensiones [8] para cualquier punto en el interior del elemento normalizado,
está dado por σ(m, ξ, η) = DB(m, ξ, η)q(m). Las tensiones son evaluados en los
Puntos de Gauss y luego extendidos a todo el elemento
51
Capı́tulo 5
52
Figura 5.1: Diagrama de Flujo general
53
5.2. Descripción de la clase SapApi-Asolid
Por ser público es visible para todos los objetos que puedan crearse desde la clase
SapApi-Asolid, el método es general e inicializa un archivo Sap2000 configurando el
espacio modelo sin elementos. No devuelve ningún resultado ya que el tipo devuelto
es void.
Método que sirve para actualizar el espacio modelo de Sap2000, este método no
está visible desde los objetos que se crean a partir de la clase SapApi-Asolid, es
llamado por los métodos internamente.
double u)
54
5.2.5. public void ZUCS(double Z, double Tp, double S,
Define las cargas que serán considerados para obtener la masa de la estructura[27]
para el análisis por respuesta espectral.
55
5.2.9. public string ConoConAbertura(double R1,double
56
Espesor de la sección de revolución, N roDiv12 y el número de divisiones.
Método que configura y ordena a sap2000 para iniciar con el ánlisis del modelo
creado, es necesario el nombre del archivo con extensión .SDB
5.3.1. Generalidades
El programa esaSAP está preparado para ser implementado con todas las estruc-
turas que cumplen las condiciones para ser modeladas como sólidos de revolución,
el interesado no tiene más que copiar el código y añadir las estructuras que prefiera
automatizar el análisis en Sap2000.
57
1. Cono Completo: para el análisis de un techo de edificación en forma de cono
sin abertura, su sección caracterı́stica de revolución sobre la cual se analiza
figura(5.4).
Los argumentos generales para el análisis, que son comunes para todas las formas
de las estructuras se muestra en la figura(5.6)
58
Figura 5.4: Sección de revolución cono completo
59
5.3.3. Controles utilizados
private static string Mensaje(int a) Método 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.
60
5.3.7. Descripción de eventos
61
Parte IV
Resultados
62
Capı́tulo 6
Los datos requeridos para el presente análisis están en base al Expediente Técnico
de la obra.
63
6.2.1. Dimensiones de la estructura
6.2.3. Cargas
64
periodo que define la plataforma del espectro para cada tipo de suelo (T p), 0.6
65
en la que el origen de las coordenadas está en el centro del plano formado por la
base de la estructura. Las cargas definidas en la sección(6.2.3) que actúan en la
dirección de la gravedad son también simétricos respecto al mismo eje, por lo tanto
la estructura cumple las condiciones para ser modelado y analizado como un sólido
axisimétrico. En este tipo de estructuras se analiza sobre sobre el plano formado
por la sección caracterı́stica de revolución; en la estructura analizada la sección de
revolución muestra la figura(6.3), sobre esta sección se asigna todas las solicitaciones
a la que está impuesto la estructura real figura(6.4). A esta sección será necesario
girar sobre el eje z 360 grados sexagesimales para obtener la estructura entera.
66
1. Modelar y analizar la estructura en Sap2000 por sus propios medios.
Los resultados obtenidos para la estructura por parte de los Ingenieros mo-
delándolo y analizando con sus propios procedimientos en Sap2000 se resume en las
siguientes secciones.
6.4.1.1. Desplazamientos
Los desplazamientos máximos obtenidos por cada uno de los Ingenieros se mues-
tra en el cuadro(6.1), donde.
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
6.4.1.2. Tensiones
Las tensiones máximos obtenidos por cada uno de los Ingenieros se muestra en
el cuadro(6.2), donde.
S11 Tensión en la dirección radial para cada elemento, que coincide con el eje x del
modelo analizado en Sap2000.
S33 Tensión en la dirección axial para cada elemento, que coincide con el eje z del
modelo analizado en Sap2000.
S12 Tensión tangencial actuando el el plano formado por el eje radial y el eje
circunferencial en la dirección radial; o tensión tangencia actuando en el plano
formado por los ejes axial y circunferencial en la dirección axial.
68
Ing Tiempo #n S11 S22 S33 S12
(minutos) (kgf /m2 ) (kgf /m2 ) (kgf /m2 ) (kgf /m2 )
Ing(1) 35 144 210088.2 56083.73 131617.9 37232.52
-269019 -94144.72 -108719.6 -83069.38
Ing(2) 20 144 216953.4 42378.14 131295.8 40209.00
-281035.7 -84471.42 -106275.1 -90422.93
Ing(3) 50 180 220095.1 58701.96 131414.2 38058.57
-271682.8 -94959.61 -109306.7 -85160.58
Ing(4) 16 90 186629.8 49485.5 132702.8 34645.77
-262627.7 -90954.99 -105687.6 -72901.46
Ing(5) 40 48 186131.6 14834.11 131693.8 42592.31
-294352.5 -40543.28 -100686.7 -91677.46
6.4.1.3. Fuerzas
Las fuerzas máximos obtenidos por cada uno de los Ingenieros se muestra en el
cuadro(6.3), donde.
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
70
requeridos desde el propio entorno de Sap2000.
Los argumentos requeridos para el análisis son:
Las cargas a la que está sometido la estructura, el material utilizado con sus
propiedades y los parámetros para obtener la función de aceleración pseudo
espectral de acuerdo al reglamento nacional de edificaciones, figura(6.6).
6.4.2.1. Desplazamientos
#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áximos en los nudos uti-
lizando la extensión
72
ción de los desplazamientos máximos en la dirección radial del sistema de referencia
global se muestra en la figura(6.7).
-0.15
3 253 503 753 1003 1253
-0.2
-0.25
-0.3
-0.35
-1.35
-1.4
-1.45
-1.5
-1.55
6.4.2.2. Tensiones
Las tensiones obtenidos con la extensión esaSAP desde Sap2000 11.0.4 se mues-
tra el cuadro(6.5) para distintas discretizaciones de la sección de revolución de la
estructura.
73
#n S11 S22 S33 S12
(kgf /m2 ) (kgf /m2 ) (kgf /m2 ) (kgf /m2 )
3x1 = 3 27504.31 26624.36 168802.72 792.18
-126089.04 -30278.65 -33794.34 -30739.55
18x1 = 18 146712.92 15000.04 134216.86 31708.66
-257385.47 -35950.73 -89057.45 -79944
48x2 = 96 202451.16 39305.86 131613.64 38029.63
-269483.08 -82661.47 -105289.97 -85691.07
68x3 = 204 225465.29 60055.85 131326.33 38452.23
-276270.12 -95258.5 -109457.98 -85532.55
158x3 = 474 257272.71 67473.58 130894.12 42249.6
-288389.93 -95363.43 -108882.89 -88894.56
200x3 = 600 264519.35 69073.2 130825.27 42774.69
-290685.23 -95102.36 -108706.06 -87136.77
220x3 = 660 267207.38 69663.57 130800.39 42962.61
-290262.62 -94990.58 -108673.6 -86659.27
240x4 = 960 280668.26 82179.02 130805.69 44621.78
-287614.11 -99732.4 -109676.59 -86244.39
300x4 = 1200 291102.73 84595.92 130746.7 44800.37
-289695.21 -99417.96 -109793.03 -85445.57
330x4 = 1320 294012.49 85259.17 130732 44795.83
-288694.75 -99349.08 -109900.11 -85216
360x4 = 1440 296546.48 85833 130719 44765.02
-289070.94 -99298.16 -110024.39 -85274.09
Cuadro 6.5: Tensiones máximos en elementos utilizando
la extensión
74
ción 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ón radial en los elementos considerados de la estructura se mantiene
constante cuando es analizado con discretizaciones mayores, la variación de las ten-
siones máximas en la dirección radial del sistema de referencia local se muestra en
la figura(6.9).
350000
300000
250000
200000
150000
100000
50000
0
0 255 510 765 1020 1275
110000
100000
90000
80000
70000
60000
50000
40000
30000
20000
0 200 400 600 800 1000 1200 1400
75
6.4.2.2.3. Tensiones en la dirección axial Para encontrar resultados ade-
cuados de las tensiones axiales, es necesario una discretización menor que para la
obtención de las tensiones radiales, para la estructura analizada basta con dividir
en 600 elementos. La variación de la tensión axial en función de la cantidad de
elementos se muestra en la figura(6.11).
180000
170000
160000
150000
140000
130000
120000
0 255 510 765 1020 1275
100000
90000
80000
70000
60000
50000
40000
30000
20000
0 200 400 600 800 1000 1200 1400
76
Evaluando la variación de las tensiones:
Para la tensión circunferencial, sucede lo mismo que para las tensiones radiales,
requiriendo discretizaciones muy finos para encontrar la solución adecuada,
figura(6.10)
6.4.2.3. Fuerzas
Las fuerzas obtenidos con la extensión esaSAP desde Sap2000 11.0.4 se mues-
tra el cuadro(6.6) para distintas discretizaciones de la sección de revolución 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áximos en nudos de elementos uti-
lizando la extensión
450000
400000
350000
300000
250000
200000
3 203 403 603 803 1003 1203 1403
78
Desde esta cantidad de elementos, las Fuerzas en la dirección radial en los nudos
considerados de la estructura se mantiene constante cuando es analizado con dis-
cretizaciones mayores, la variación de las fuerzas máximas en la dirección radial del
sistema de referencia local se muestra en la figura(6.13).
600000
500000
400000
300000
200000
100000
0
3 208 413 618 823 1028 1233 1438
79
en los gráficos de la sección(6.4.2) se muestra claramente la convergencia de
los resultados.
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 tracción y
momentos flectores no considerados) figura(6.15). Para el diseño S11 = 296.546 Tmon
2 es
Zona intermedia y superior, en la cual los esfuerzos son de compresión pura, figu-
ra(6.16). La tensión máxima es S11 = 57.643 Tmon 2
2 , el acero requerido As = 5.25cm ,
00
1
usar refuerzo de 2
a cada 20cm una capa (5 ∗ 1.267 = 6.335cm2 ).
81
6.5.2. Diseño por esfuerzo Axial S33
82
de edificación en forma de cono con abertura) se ha llegado a los mismos resultados
obtenidos en un análisis con Sap2000.
La extensión ”esaSAP” 1 además de automatizar el modelamiento y análisis de
techos de edificaciones especiales que tienen la forma del cono, está implementado
también para automatizar los procedimientos de análisis de estructuras cónicas con
abertura.
1
El nombre de la extensión proviene de las iniciales de ”Extension Solid axisymmetric analysis”
83
Parte V
Conclusiones
84
Capı́tulo 7
Conclusiones y recomendaciones
7.1. Conclusiones
7.1.1. De la metodologı́a
85
Se cumplió con todos los objetivos establecidos en el desarrollo de la presente
tesis.
86
enlazándolo con la Interface de Programación para Aplicaciones de Sap2000
para automatizar el procedimiento de análisis.
7.2. Recomendaciones
87
7.3. Desarrollos futuros
Con la presente Tesis los interesados en crear extensiones para Sap2000 desde
cualquier lenguaje de programación disponen de una documentación detalla-
da, además la extensión creada esaSAP v1.2.0 cuenta con opciones para ser
ampliada; el interesado no tiene más que añadir la estructura de revolución de
su preferencia.
88
Bibliografı́a
[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.
[6] Francisco Beltrán. Teorı́a general del Método de los Elementos Finitos. Depar-
tamento de Mecánica Estructural y construcciones Industriales - ETS Ingenieros
Industriales Madrid, notas de clase, curso doctorado 1998-99 edition, 1999.
89
[10] Esteban Ortiz Bosmans. Modelamiento y Análisis 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.
[14] Young W. Kwan and Huochoong Bang. The Finite Element Method Using
MATLAB. CRC press LLC, 1997.
[16] Santiago Muelas Medrano. Curso Básico de Programación del Método de los
Elementos Finitos, Julio 1999.
[19] Jason Beres Pierre Boutquin y Meeta gupta Jeff ferguson, Brian Patterson. La
biblia de c#. Anaya Multimedia, 2003.
90
[23] Fco. Javier Ceballos. El Lenguaje de Programación C#. Alfaomega Ra-Ma,
2002.
91
Parte VI
Anexos
92
Apéndice A
93
34 public void D e f i n i r P r o p i e d a d ( double Pe , double e , double u )
35 {
36 /∗ Método para d e f i n i r una p r o p i e d a d en 2D t i p o A s o l i d
37 ∗ Argumentos :
38 ∗ name : nombre para l a p r o p i e d a d
39 ∗ Pe : p e s o e s p e cı́ f i d e l m a t e r i a l
40 ∗ e : módulo de e l a s t i c i d a d d e l m a t e r i a l [ k g f /m2 ]
41 ∗ u : c o e f i c i e n t e de p o i s s o n
42 ∗ a : c o e f i c i e n t e de e x p a n s i ó n té r m i c o
43 ∗ Temp :
44 ∗/
45 // c r e a e l m a t e r i a l
46 SAP2000 . eMatType M a t e r i a l = SAP2000 . eMatType .MATERIAL CONCRETE;
47 r e t = SapObjeto . SapModel . P r o p M a t e r i a l . S e t M a t e r i a l ( ” MyMaterial ” ,
M a t e r i a l , −1, ” ” , ” ” ) ;
48 // p e s o e s p e cı́ f i c o d e l c o n c r e t o
49 r e t = SapObjeto . SapModel . P r o p M a t e r i a l . SetWeightAndMass ( ”
MyMaterial ” , 1 , Pe , 0 ) ;
50
51 // d e f i n e p r o p i e d a d e s para m a t e r i a l i s ó t r o p o
52 r e t = SapObjeto . SapModel . P r o p M a t e r i a l . S e t M P I s o t r o p i c ( ”
MyMaterial ” , e , u , 9 . 9 0 0E−06 , 0 ) ;
53 // d e f i n e p r o p i e d a d de s ó l i d o a x i x y mé t r i c o
54 r e t = SapObjeto . SapModel . propArea . S e t A s o l i d ( ” MyAsolid ” , ”
MyMaterial ” , 0 , 3 6 0 , true , ” G l o b a l ” , −1, ” ” , ” ” ) ;
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 /∗ Método para d e f i n i r l a a c e l e r a c i ó n pseudo e s p e c t r a l con e l
r e g l a m e n t o peruano E030
61 ∗ Z : F a c t o r de zona
62 ∗ Tp : A c e l e r a c i ó n fundamental d e l s u e l o
63 ∗ S:
64 ∗ C : F a c t o r de a m p l i f i c a c i ó n sı́ s m i c a
65 ∗ U: C a t e g o rı́ 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úmero de e l e m e n t o s d e l a r r e g l o
72 n = ( Tf − Ti ) / vT + 1 ;
73 // i n i c i a l i z a n d o l o s v e c t o r e s con n e l e m e n t o s
74 T = new double [ ( int ) n ] ; Sa = new double [ ( int ) n ] ;
75 // i n s e r t a e l e m e n t o s a l o s v e c t o r e s
76 f o r ( int i = 0 ; i <= Sa . Length − 1 ; i ++)
77 {
78 // tiempo
79 T . SetValue ( Ti , i ) ;
80 // c o e f i c i e n t e de a m p l i f i c a c i ó n sı́ s m i 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 ó n pseudo e s p e c t r a l Sa [ a d i m e n s i o n a l ]
87 Sao = Z ∗ U ∗ C ∗ S / R;
88 Sa . SetValue ( Sao , i ) ;
89 // aumenta e l tiempo
90 Ti = Ti + vT ;
91 }
92 // e x p o r t a a SAP2000
93 r e t = SapObjeto . SapModel . Func . FuncRS . S e t U s e r ( ”ZUCS” , T . Length ,
r e f T, r e f Sa , 0 . 0 5 ) ;
94
95 }
96
97 public void D e f i n i r C a r g a s ( )
98 {
99 /∗
100 ∗ Módulo g e n e r a l que d e f i n e c a r g a s
101 ∗/
102 // 1 : Load patern , d e f i n e t i p o s de c a r g a s
103 // r e t = SapObjeto . SapModel . LoadPatterns . Add( ” LIVE ” , SAP2000 .
eLoadPatternType . LTYPE LIVE , 0 , t r u e ) ;
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 u e ) ;
106 r e t = SapObjeto . SapModel . LoadCases . Add( ”DEAD” , SAP2000 .
eLoadcaseType .LTYPE DEAD, 1 , true ) ;
107
108 // 2 : Load c a s e s , d e f i n e c a s o s de a n á l i s i s , s ó l o f a l t a por
sismo
109 // d e f i n e c a s o de c a r g a de e s p e c t r o de r e p u e s t a
110 // r e t = SapObjeto . SapModel . LoadCases . ResponseSpectrum . SetCase ( ”
QUAKE” ) ;
111 r e t = SapObjeto . SapModel . A n a l y s i s C a s e s . ResponseSpectrum . SetCase
( ”QUAKE” ) ;
112
113 // p r o p i e d a d e s para e l c a s o de a n á l i s i s por r e s p u e s t a e s p e c t r a l
114 System . Array MyLoadName , MyFunc , MySF, MyCSys , MyAng ;
115 MyLoadName = new string [ 3 ] { ”U1” , ”U2” , ”U3” } ;
116 //MyLoadName . SetValue ( ”U1” , 0 ) ; MyLoadName . SetValue ( ”U2” , 1 ) ;
MyLoadName . SetValue ( ”U3” , 2 ) ;
117 MyFunc = new string [ 3 ] { ”ZUCS” , ”ZUCS” , ”ZUCS” } ;
118 //MyFunc . SetValue ( ”ZUCS” , 0 ) ; MyFunc . SetValue ( ”ZUCS” , 1 ) ;
MyFunc . SetValue ( ”ZUCS” , 2 ) ;
119 MyCSys = new string [ 3 ] { ” G l o b a l ” , ” G l o b a l ” , ” G l o b a l ” } ;
120 //MyCSys . SetValue ( ” G l o b a l ” , 0 ) ; MyCSys . SetValue ( ” G l o b a l ” , 1 ) ;
MyCSys . SetValue ( ” G l o b a l ” , 2 ) ;
121 MySF = new double [ 3 ] { 9 . 8 1 , 9 . 8 1 , 6 . 5 4 } ;
122 //MySF . SetValue ( 9 . 8 1 , 0 ) ; MySF . SetValue ( 9 . 8 1 , 1 ) ; MySF . SetValue
( 6 . 5 4 , 2) ;
123 MyAng = new double [ 3 ] ;
124 // d e f i n e e l c a s o de c a r g a por r e s p u e s t a e s p e c t r a l
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 . A n a l y s i s C a s e s . ResponseSpectrum .
SetLoads ( ”QUAKE” , 3 , r e f MyLoadName , r e f MyFunc , r e f MySF,
r e f MyCSys , r e f MyAng) ;
127
95
128 // 3 : c o m b i n a c i o n e s de c a r g a
129 //SAP2000 . eCType TypeC = SAP2000 . eCType . LoadCase ;
130 SAP2000 . eCType TypeC = SAP2000 . eCType . a c a s 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 . S e t C a s e L i s t ( ” 1 . 5 (CM) +1.8(CV)
” , r e f TypeC , ”DEAD” , 1 . 5 ) ;
134 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 5 (CM) +1.8(CV)
” , r e f TypeC , ”LIVE” , 1 . 8 ) ;
135 // 1 . 2 5 (CM+CV+CS)
136 r e t = SapObjeto . SapModel . RespCombo . Add( ” 1 . 2 5 (CM+CV+CS) ” , 0 ) ;
137 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV+CS) ”
, r e f TypeC , ”DEAD” , 1 . 2 5 ) ;
138 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV+CS) ”
, r e f TypeC , ”LIVE” , 1 . 2 5 ) ;
139 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV+CS) ”
, r e f TypeC , ”QUAKE” , 1 . 2 5 ) ;
140 // 1 . 2 5 (CM+CV−CS)
141 r e t = SapObjeto . SapModel . RespCombo . Add( ” 1 . 2 5 (CM+CV−CS) ” , 0 ) ;
142 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV−CS) ”
, r e f TypeC , ”DEAD” , 1 . 2 5 ) ;
143 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV−CS) ”
, r e f TypeC , ”LIVE” , 1 . 2 5 ) ;
144 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 1 . 2 5 (CM+CV−CS) ”
, r e f TypeC , ”QUAKE” , −1.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 . S e t C a s e L i s t ( ” 0 . 9 (CM) +1.25(CS
) ” , r e f TypeC , ”DEAD” , 0 . 9 ) ;
148 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 0 . 9 (CM) +1.25(CS
) ” , r e f TypeC , ”QUAKE” , 1 . 2 5 ) ;
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 . S e t C a s e L i s t ( ” 0 . 9 (CM) −1.25(CS
) ” , r e f TypeC , ”DEAD” , 0 . 9 ) ;
152 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ” 0 . 9 (CM) −1.25(CS
) ” , r e f TypeC , ”QUAKE” , −1.25) ;
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 . S e t C a s e L i s t ( ”ENVOLVENTE” ,
r e f TypeC , ” 1 . 5 (CM) +1.8(CV) ” , 1 ) ;
158 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ”ENVOLVENTE” ,
r e f TypeC , ” 1 . 2 5 (CM+CV+CS) ” , 1 ) ;
159 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ”ENVOLVENTE” ,
r e f TypeC , ” 1 . 2 5 (CM+CV−CS) ” , 1 ) ;
160 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ”ENVOLVENTE” ,
r e f TypeC , ” 0 . 9 (CM) +1.25(CS) ” , 1 ) ;
161 r e t = SapObjeto . SapModel . RespCombo . S e t C a s e L i s t ( ”ENVOLVENTE” ,
r e f TypeC , ” 0 . 9 (CM) −1.25(CS) ” , 1 ) ;
162
163 }
164
96
169 System . Array MySF = new double [ 2 ] { 1 , 0 . 2 5 } ;
170 r e t = SapObjeto . SapModel . P r o p M a t e r i a l . SetMassSource ( 3 , 2 , r e f
MyLoadPat , r e f MySF) ;
171
172 }
173
97
213 int NumberAreas = 1 ;
214 System . Array AreaName = new string [ 1 0 ] ;
215 r e t = SapObjeto . SapModel . EditArea . D i v i d e ( MyArea , 1 , r e f
NumberAreas , r e f AreaName , NroDiv12 , NroDiv13 , 2 , 2 , f a l s e
, f a l s e , f a l s e , f a l s e , 0 , 0 , true , true , true , f a l s e ) ;
216 Refrescar () ;
217 }
218
219 public void AsignarSopotesEnBase ( double R1 , double Espesor , int
NroDiv12 )
220 {
221
98
258 // o p c i o n e s d e l s o l u c i o n a d o r de e c u a c i o n e s de SAP2000
259 // r e t = SapObjeto . SapModel . Analyze . S e t S o l v e r O p t i o n ( 1 , t r u e , ”
DEAD” ) ;
260 // Guarda modelo
261 r e t = SapObjeto . SapModel . F i l e . Save ( ”D: \ \FEM APISAP PRUEBA\\ ” +
NombreArchivo ) ;
262 // a n á l i s i s
263 r e t = SapObjeto . SapModel . Analyze . RunAnalysis ( ) ;
264 // S a l i d a de r e s u l t a d o s
265 r e t = SapObjeto . SapModel . R e s u l t s . Setup .
DeselectAllCasesAndCombosForOutput ( ) ;
266 r e t = SapObjeto . SapModel . R e s u l t s . Setup . S e t C a s e S e l e c t e d F o r O u t p u t
( ”DEAD” , true ) ;
267 }
268 }
1 using System ;
2 using System . C o l l e c t i o n s . G e n e r i c ;
3 using System . ComponentModel ;
4 using System . Data ;
5 using System . Drawing ;
6 using System . Linq ;
7 using System . Text ;
8 using System . Windows . Forms ;
9
10 namespace AsolidCono
11 {
12 public p a r t i a l c l a s s AsolidCono : Form
13 {
14 // o b j e t o SAP2000 para toda l a c l a s e d e r i v a d a AsolidCono
15 S a p A p i A s o l i d MySap ;
16 // i n d i c a d o r para AbrirSAP2000 o c r e a r un modelo
17 // i n t a = 0 ;
18 // d i m e n s i o n e s d e l cono
19 public s t a t i c double Altura , R1 , Espesor , R2 ;
20 // d i v i s i ó n de l a s e c c i ó n de r e v o l u c i ó n
21 // p u b l i c s t a t i c d o u b l e V a r i a c i ó n ; Éste d e s a p a r e c e
22 public s t a t i c int Nrodiv12 , Nrodiv13 ;
23 // p r o p i e d a d de m a t e r i a l e s
24 public s t a t i c double PesoEsp , Rconcreto , C o e f p o i s s o n ; //
Coeftermico ;
25 // c a r g a s
26 public s t a t i c double Cargamuerta , Cargaviva ;
27 // f u n c i ó n a c e l e r a c i ó n pseudo e s p e c t r a l
28 public s t a t i c double Z , Tp , S , U, R, vT , Tf ;
29 // i n d i c a l a forma de l a e s t r u c t u r a
30 /∗ 1 : cono completo
31 ∗ 2 : cono con a b e r t u r a
32 ∗ 3 : domo completo
33 ∗ 4 : como con a b e r t u r a
34 ∗ . . . . . y sigue
35 ∗/
99
36 int FormaEstructura ;
37
38 public AsolidCono ( )
39 {
40 InitializeComponent () ;
41 // e s t r u c t u r a p r e d e t e r m i n a d a cono completo
42 FormaEstructura = 1 ;
43 txtR2 . Enabled = f a l s e ;
44 }
45
46 private s t a t i c string Mensaje ( int a )
47 {
48 switch ( a )
49 {
50 case 1 :
51 return ” A l t u r a d e l cono , i n d e f i n i d o ” ;
52 case 2 :
53 return ” Radio ( r 1 ) d e l cono , i n d e f i n i d o ” ;
54 case 3 :
55 return ” E s p e s o r d e l cono , i n d e f i n i d o ” ;
56 case 4 :
57 return ”Número de Div1 −2, i n d e f i n i d o ” ;
58 case 5 :
59 return ”Número de Div1 −3, i n d e f i n i d o ” ;
60 case 6 :
61 return ” E l i j a l a forma de e s t r u c t u r a ” ; // ya no
e x i s t e v a r i a c i ó n
62 case 7 :
63 return ” Peso E s p e cı́ f i c o , i n d e f i n i d o ” ;
64 case 8 :
65 return ” f ’ c , i n d e f i n i d o ” ;
66 case 9 :
67 return ” C o e f i c i e n t e de P o is s o n , i n d e f i n i d o ” ;
68 case 1 0 :
69 return ” Radio ( r 2 ) d e l cono , i n d e f i n i d o ” ; // a ñadido
radio 2
70 case 1 1 :
71 return ” c a r g a muerta , i n d e f i n i d o ” ;
72 case 1 2 :
73 return ” c a r g a viva , i n d e f i n i d o ” ;
74 case 1 3 :
75 return ”Z , i n d e f i n i d o ” ;
76 case 1 4 :
77 return ”Tp , i n d e f i n i d o ” ;
78 case 1 5 :
79 return ”S , i n d e f i n i d o ” ;
80 case 1 6 :
81 return ”U, i n d e f i n i d o ” ;
82 case 1 7 :
83 return ”R, i n d e f i n i d o ” ;
84 case 1 8 :
85 return ”vT , i n d e f i n i d o ” ;
86 case 1 9 :
87 return ”Tf , i n d e f i n i d o ” ;
88 case 2 0 :
89 return ” . . . y s i g u e ” ;
90 default :
91 return ”Todo Bien ” ;
100
92 }
93 }
94
95 private s t a t i c void MostrarMensaje ( string t e x t o )
96 {
97 MessageBox . Show ( t e x t o , ” AsolidCono ” , MessageBoxButtons .OK,
MessageBoxIcon . I n f o r m a t i o n ) ;
98 }
99
100 private bool V e r i f i c a r A r g u m e n t o s ( )
101 {
102 // ordena argumentos y v e r i f i c a
103 // D e f i n e e l cono
104 // A l t u r a d e l cono
105 i f ( t x t A l t u r a . Text == ” ” )
106 {
107 MostrarMensaje ( Mensaje ( 1 ) ) ;
108 return true ;
109 }
110 A l t u r a = double . Parse ( t x t A l t u r a . Text ) ;
111 // Radio d e l cono
112 i f ( txtR1 . Text == ” ” )
113 {
114 MostrarMensaje ( Mensaje ( 2 ) ) ;
115 return true ;
116 }
117 R1 = double . Parse ( txtR1 . Text ) ;
118 // E s p e s o r d e l cono
119 i f ( t x t E s p e s o r . Text == ” ” )
120 {
121 MostrarMensaje ( Mensaje ( 3 ) ) ;
122 return true ;
123 }
124 E s p e s o r = double . Parse ( t x t E s p e s o r . Text ) ;
125 // D i v i s i o n e s d e l dominio
126 // D i v i s i o n e s en 1−2
127 i f ( t x t N r o d i v 1 2 . Text == ” ” )
128 {
129 MostrarMensaje ( Mensaje ( 4 ) ) ;
130 return true ;
131 }
132 Nrodiv12 = int . Parse ( t x t N r o d i v 1 2 . Text ) ;
133 // D i v i s i o n e s en 1−3
134 i f ( t x t N r o d i v 1 3 . Text == ” ” )
135 {
136 MostrarMensaje ( Mensaje ( 5 ) ) ;
137 return true ;
138 }
139 Nrodiv13 = int . Parse ( t x t N r o d i v 1 3 . Text ) ;
140 // V a r i a c i ó n Li / Lf
141 /∗ i f ( t x t V a r i a c i o n . Text == ” ” )
142 {
143 MostrarMensaje ( Mensaje ( 6 ) ) ;
144 return true ;
145 }
146 V a r i a c i o n = d o u b l e . Parse ( t x t V a r i a c i o n . Text ) ; ∗/
147 // P r o p i e d a d e s de l o s m a t e r i a l e s
148 // Peso E s p e cı́ f i c o
101
149 i f ( t x t P e s o e s p e c i f i c o . Text == ” ” )
150 {
151 MostrarMensaje ( Mensaje ( 7 ) ) ;
152 return true ;
153 }
154 PesoEsp = double . Parse ( t x t P e s o e s p e c i f i c o . Text ) ;
155 // R e s i s t e n c i a d e l c o n c r e t o
156 i f ( t x t R e s i s C o n c r e t o . Text == ” ” )
157 {
158 MostrarMensaje ( Mensaje ( 8 ) ) ;
159 return true ;
160 }
161 Rc on cr et o = double . Parse ( t x t R e s i s C o n c r e t o . Text ) ;
162 // C o e f i c i e n t e de P o i s s o n
163 i f ( t x t C o e f p o i s s o n . Text == ” ” )
164 {
165 MostrarMensaje ( Mensaje ( 9 ) ) ;
166 return true ;
167 }
168 C o e f p o i s s o n = double . Parse ( t x t C o e f p o i s s o n . Text ) ;
169 // C o e f i c i e n t e de e x p a n s i ó n té r m i c o e r a
170 // ahora e s e l r a d i o f i n a l , r 2
171 i f ( txtR2 . Text == ” ” )
172 {
173 MostrarMensaje ( Mensaje ( 1 0 ) ) ;
174 return true ;
175 }
176 R2 = double . Parse ( txtR2 . Text ) ;
177 // c a r g a s
178 // c a r g a muerta
179 i f ( txtCargamuerta . Text == ” ” )
180 {
181 MostrarMensaje ( Mensaje ( 1 1 ) ) ;
182 return true ;
183 }
184 Cargamuerta = double . Parse ( txtCargamuerta . Text ) ;
185 // Carga v i v a
186 i f ( t x t C a r g a v i v a . Text == ” ” )
187 {
188 MostrarMensaje ( Mensaje ( 1 2 ) ) ;
189 return true ;
190 }
191 Cargaviva = double . Parse ( t x t C a r g a v i v a . Text ) ;
192 // p u b l i c s t a t i c d o u b l e Z , Tp , S , U, R, vT , Tf ;
193 // Función a c e l e r a c i ó n Pseudo e s p e c t r a l
194 //Z
195 i f ( txtZ . Text == ” ” )
196 {
197 MostrarMensaje ( Mensaje ( 1 3 ) ) ;
198 return true ;
199 }
200 Z = double . Parse ( txtZ . Text ) ;
201 //Tp
202 i f ( txtTp . Text == ” ” )
203 {
204 MostrarMensaje ( Mensaje ( 1 4 ) ) ;
205 return true ;
206 }
102
207 Tp = double . Parse ( txtTp . Text ) ;
208 //S
209 i f ( t x t S . Text == ” ” )
210 {
211 MostrarMensaje ( Mensaje ( 1 5 ) ) ;
212 return true ;
213 }
214 S = double . Parse ( t x t S . Text ) ;
215 //U
216 i f ( txtU . Text == ” ” )
217 {
218 MostrarMensaje ( Mensaje ( 1 6 ) ) ;
219 return true ;
220 }
221 U = double . Parse ( txtU . Text ) ;
222 //R
223 i f ( txtR . Text == ” ” )
224 {
225 MostrarMensaje ( Mensaje ( 1 7 ) ) ;
226 return true ;
227 }
228 R = double . Parse ( txtR . Text ) ;
229 //vT
230 i f ( txtVt . Text == ” ” )
231 {
232 MostrarMensaje ( Mensaje ( 1 8 ) ) ;
233 return true ;
234 }
235 vT = double . Parse ( txtVt . Text ) ;
236 // Tf
237 i f ( t x t T f . Text == ” ” )
238 {
239 MostrarMensaje ( Mensaje ( 1 9 ) ) ;
240 return true ;
241 }
242 Tf = double . Parse ( t x t T f . Text ) ;
243 // . . . . . . . s i g u e n más m e n s a j e s ( s )
244 return f a l s e ;
245 }
246
247 void P r o c e d i m i e n t o ( )
248 {
249 // Método para a n a l i z a r en SAP2000
250 // v e r i f i c a r argumentos
251 i f ( VerificarArgumentos () )
252 {
253 return ;
254 }
255 // s i t o d o s l o s argumentos son c o r r e c t o s s e e j e c u t a
256 // c r e a o b j e t o MySAP2000
257 MySap = new S a p A p i A s o l i d ( ) ;
258 // I n i c i a l i z a o c r e a nuevo modelo de , seg ún
259 MySap . AbrirSap2000 ( ) ;
260 // d e f i n e p r o p i e d a d d e l e l e m e n t o
261 double ModE = 15E7 ∗ Math . S q r t ( Rc on cr et o ) ;
262 MySap . D e f i n i r P r o p i e d a d ( PesoEsp , ModE, C o e f p o i s s o n ) ;
263 // d e f i n e f u n c i ó n a c e l e r a c i ó n pseudo e s p e c t r a l
264 MySap . ZUCS( Z , Tp , S , U, R, 0 . 1 , vT , Tf ) ;
103
265 // d e f i n e c a r g a s , c a s o s de a n á l i s i s y c o m b i n a c i o n e s de c a r g a
266 MySap . D e f i n i r C a r g a s ( ) ;
267 // masa de l a e s t r u c t u r a
268 MySap . MasaEstructura ( ) ;
269 // nombre d e l à ¡ r e a
270 string MyArea = ” ” ;
271
272 switch ( FormaEstructura )
273 {
274 case 1 : //Cono completo
275 // o b t i e n e nombre de l o s f r a m e s r e s u l t a d o de
extrudar
276 MyArea = MySap . ConoCompleto (R1 , Altura , E s p e s o r ) ;
277 // a s i g n a c a r g a s
278 MySap . A s i g n a r C a r g a s ( MyArea , Cargamuerta , Cargaviva )
;
279 // d e v u e l v e l o s nombres de l o s e l e m e n t o s c a r g a d o s
280 MySap . Rectangulos4Nodos ( MyArea , Nrodiv12 , Nrodiv13 )
;
281 // s o p o s t e s en l a b a s e
282 MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;
283 // s o p o r t e s en e l c e n t r o
284 MySap . A s i g n a r S o p o r t e s E n C e n t r o (R1 , Altura , Espesor ,
Nrodiv12 ) ;
285 // A n a l i z a r
286 MySap . A n a l i z a r ( ” ConoCompleto . SDB” ) ;
287 break ;
288 case 2 : // cono con a b e r t u r a
289 // o b t i e n e nombre de l o s f r a m e s r e s u l t a d o de
extrudar
290 MyArea = MySap . ConoConAbertura (R1 , R2 , Altura ,
Espesor ) ;
291 // a s i g n a c a r g a s
292 MySap . A s i g n a r C a r g a s ( MyArea , Cargamuerta , Cargaviva )
;
293 // d e v u e l v e l o s nombres de l o s e l e m e n t o s c a r g a d o s
294 MySap . Rectangulos4Nodos ( MyArea , Nrodiv12 , Nrodiv13 )
;
295 // s o p o s t e s en l a b a s e
296 MySap . AsignarSopotesEnBase (R1 , Espesor , Nrodiv12 ) ;
297 // s o p o r t e s en e l c e n t r o
298 //MySap . A s i g n a r S o p o r t e s E n C e n t r o (R1 , Altura , Espesor
, Nrodiv12 ) ;
299 // A n a l i z a r
300 MySap . A n a l i z a r ( ” ConoConAbertura . SDB” ) ;
301 break ;
302 case 3 : //domo completo
303 break ;
304 case 4 : //domo con a b e r t u r a
305 break ;
306 }
307 }
308
309 private void a n a l i z a r E n S a p 2 0 0 0 1 1 0 4 T o o l S t r i p M e n u I t e m C l i c k (
object s e n d e r , EventArgs e )
310 {
311 // c l i k en a n a l i z a r l a e s t r u c t u r a
312 // a n t e s debe e l e g i r una o p c i ó n
104
313 i f ( FormaEstructura == 0 )
314 {
315 MostrarMensaje ( Mensaje ( 6 ) ) ;
316 return ;
317 }
318
319 Procedimiento ( ) ;
320 }
321
322 private void c e r r a r S a p 2 0 0 0 1 1 0 4 T o o l S t r i p M e n u I t e m C l i c k ( object
s e n d e r , EventArgs e )
323 {
324 // c l i k en c e r r a r sap2000
325 MySap . C e r r a r ( ) ;
326 }
327
328 private void s a l i r T o o l S t r i p M e n u I t e m C l i c k ( object s e n d e r ,
EventArgs e )
329 {
330 // s a l i r de l a a p l i c a c i ó n
331 this . Close ( ) ;
332 }
333
334 private void conoCompletoToolStripMenuItem Click ( object s e n d e r ,
EventArgs e )
335 {
336 // s e e l i g e cono completo
337 FormaEstructura = 1 ;
338 txtR2 . Enabled = f a l s e ;
339
340 }
341
342 private void conoConAberturaToolStripMenuItem Click ( object
s e n d e r , EventArgs e )
343 {
344 // s e e l i g e cono con a b e r t u r a
345 FormaEstructura = 2 ;
346 txtR2 . Enabled = true ;
347
348 }
349
350 }
351 }
105
Apéndice B
Fotografı́as
106
Figura B.2: Encofrado del techo del auditorio de la Facultad de Ciencias de la
Educación
Figura B.3: Refuerzos del techo del auditorio de la Facultad de Ciencias de la edu-
cación
107
Figura B.4: Auditorio Facultad Ciencias de la Educación U.N.S.C.H
108
Apéndice C
Planos de la construcción
109