Está en la página 1de 10

EXTENSIÓN PARA EL MODELAMIENTO, ANÁLISIS Y DISEÑO AUTOMATIZADO DE

RESERVORIOS CIRCULARES EN SAP2000

”XVII CONGRESO NACIONAL DE INGENIERIA CIVIL - XVII CONIC 2009”

Ing. Edmundo Canchari Gutiérrez

1. Introducción
En la actualidad se ha llegado a un nivel en la que es poco probable evitar la convivencia constante
con las aplicaciones en todos los campos de la Ingenierı́a, esto se debe a las grandes facilidades que
ofrecen para modelar situaciones reales en muy corto tiempo además de estar siempre implementados
con los métodos numéricos de última generación para cada propósito. Sap2000 es un programa
general producido y mantenido por la empresa ”Computer and Structures inc” en la que se encuentra
un ambiente cómodo para la creación del modelo, análisis y diseño de estructuras; además cuenta
desde la versión 11.0.0 con su Interfaz de Programación para aplicaciones (Application Programming
Interface API), lo que hace posible acceder al programa desde aplicaciones externas con la finalidad
de implementar extensiones dependiendo de las necesidades de cada usuario.

Con fines de la correcta utilización de la API y Sap2000 es necesario tener un conocimiento


suficiente del Método de los Elementos Finitos, distinguir las ventajas e inconvenientes de este método
aproximado, los argumentos requeridos y la adecuada interpretación de los resultados; además
es necesario tener una experiencia amplia en cuanto al uso del programa. Es necesario también
comprender los fundamentos de programación orientado a objetos, estando en este nivel es posible
interactuar con Sap2000 creando aplicaciones externas.

La Interfaz de Programación para Aplicaciones de Sap2000 se puede utilizar desde cualquier len-
guaje de programación que sea capaz de implementar una interfaz, entre estos lenguajes de programa-
ción se tiene: Visual Basic para Aplicaciones (VBA), Visual Basic .net, Visual C++, Visual C#, Java,
Intel Visual Fortran v9, etc. En el presente trabajo se programará desde el lenguaje de programación
Visual C# por ser un lenguaje orientado a objetos y estar completamente integrado con la plataforma
.NET

2. Resumen
En el presente trabajo se aprovecha la Interfaz de Programación para Aplicaciones de Sap2000
v14.0.0 Trial Edition creando una extensión desde el lenguaje de programación Visual C#, juntamente
con el entorno de desarrollo integrado Microsoft Visual Studio 2008 Express Edition con la finalidad
de automatizar los procedimientos en la creación del modelo, el análisis y diseño de reservorios
circulares de concreto armado.

Para esta estructura tı́pica el usuario final solamente definirá los argumentos generales de la
estructura: dimensiones, cargas, calidad del material, propiedades del suelo y las consideraciones para
generar la función de la aceleración pseudo espectral para tanques además de definir la discretización
para el análisis mediante el método de los elementos finitos; luego, la extensión será el encargado
de modelar la estructura: estableciendo los materiales utilizados, los elementos estructurales(la
cúpula, viga circular si se considera, cilindro, y la base), los tipos de cargas, los tipos de análisis,
las combinaciones de cargas y las consideraciones en la masa de la estructura para el análisis
dinámico, las condiciones de contorno, asignación de las cargas, etc. Todo sin intervención del usuario,
los resultados deben ser consultados en el mismo entorno de Sap2000 que la extensión creará y
ejecutará automáticamente, se considera el efecto hidrodinámico en el reservorio, las recomendaciones
del Reglamento Nacional de Edificaciones [1] y de la American Concrete Institute (A.C.I 350.3-01 y

1
A.C.I350.3R-01) [2].

Es necesario para que la extensión creada DARC(Extensión para la creación del modelo, Análisis
y Diseño Automatizado de Reservorios Circulares en Sap2000 ) funcione sin inconvenientes debe estar
instalado el NET Framework 3.5 en la computadora donde se ejecutará.

3. Objetivos
Crear una extensión para Sap2000 con la finalidad de automatizar los procedimientos de la
creación del modelo, análisis y diseño de reservorios circulares de concreto armado.

Mostrar la utilidad de la Interfaz de Programación para Aplicaciones (Application Programming


Interface A.P.I) de Sap2000 creando una aplicación concreta.

Aprovechar las ventajas de los lenguajes de programación orientado a objetos en la creación de


aplicaciones para la ingenierı́a.

4. Metodologı́a o Desarrollo
Para el desarrollo de la extensión se utiliza el editor Microsoft Visual Studio 2008 Express Edition,
con el lenguaje de programación Visual C#, desde la cual se integra la Interfaz de Programación para
Aplicaciones de Sap2000. Desde este punto, con las órdenes adecuadas, todos los métodos que soporte
la interfaz del programa Sap2000 están libres para Visual C# a disposición para ser utilizados como
si de sus propias órdenes se tratase. La documentación completa con ejemplos para cada orden se
encuentra en su manual SAP2000 API Documentation [3].

4.1. Visual Studio


Lo que Microsoft nos ofrece con Visual Studio 2008 Express Edition es un entorno de desarrollo
de última generación, conjuntamente con el compilador de uno de los lenguajes de programación más
avanzados que existe en la actualidad, Visual C#. Las versiones express son de distribución gratuita.
El desarrollo del programa se realiza desde este editor.

4.2. Visual C#
Es un lenguaje moderno, potente, flexible y orientado a objetos. C# combina las mejores ideas de
lenguajes como C, C++ y Java [4] . En Visual C# es necesario distinguir los siguientes conceptos.

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

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

4.2.3. Interfaz
Una interfaz de C# es un conjunto de firmas de métodos, propiedades, eventos o indizadores
agrupadas con un nombre común. Las interfaces funcionan como conjunto de funcionalidades definidas
que pueden implementarse en una clase o estructura de Visual C#.

2
Figura 1: Sub menú Agregar Referencia

4.2.4. Espacio de Nombre


Sirven de ayuda para organizar colecciones de clases en agrupaciones lógicas.

4.3. Sap2000 v14.0.0


Programa general para crear el modelo, el análisis y diseño de estructuras.

4.3.1. Interfaz de Programación para Aplicaciones de Sap2000


Sap2000 utiliza la tecnologı́a COM de Microsoft para obtener un Software con arquitectura abierta
y programable por el ingeniero. Se ha definido lo que es una interfaz en la sección 4.2.3.

4.3.2. Instalación API Sap2000


La Interfaz de Programación para Aplicaciones de Sap2000 se instala por defecto con cualquier
distribución desde su versión 11.0.0.

4.3.3. Utilidad ¿para qué sirve?


Ahora es posible ampliar las capacidades de Sap2000 mediante programas creados por sus usuarios,
definiendo estructuras parametrizadas o repetitivas, generando una norma de diseño especı́fica, etc.
Las posibilidades son ilimitadas.

4.4. Programando en Visual C# con API Sap2000


Seguidamente se realiza una descripción general para integrar la Interfaz de Programación para
Aplicaciones de Sap2000 en el entorno de desarrollo integrado Microsoft Visual Studio, especı́ficamente
programando en el lenguaje Visual C#, para lo cual es necesario crear una aplicación windows.

4.4.1. Integrar API Sap2000 a Visual Studio


Desde la ventana Explorador de Soluciones, haciendo click derecho sobre el proyecto creado, elegir
del menú emergente Agregar referencia... como muestra la Figura 1. Luego, se muestra la ventana
Agregar referencia, entre las opciones elegir la pestaña etiquetada COM, entre los muchos componentes
existentes en la lista elija Sap2000 como indica la Figura 2.

3
Figura 2: Ventana Agregar Referencia

Agregando esta referencia, se le indica a Microsoft Visual C# que queremos trabajar con la Inter-
faz Sap2000.SapObject, en este punto Microsoft Visual Studio 2008 Express Edition se encargará de
integrar absolutamente todos su contenido de la Interfaz Sap2000.SapObject.

4.4.2. Implementar Interfaz de Sap2000 en un Objeto


Para utilizar las órdenes que contiene la interfaz se opta por implementarlo en un objeto desde el
lenguaje de programación Microsoft Visual C#, desde este punto es visible los métodos de la interfaz
a través del objeto. El siguiente programa muestra la manera de implementar la interfaz de Sap2000
en un objeto de Visual C#.

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 ( ) ;

4.4.3. Accediendo al objeto que implementa la interfaz


El objeto que contendrá la interfaz se debe declarar de modo que sea visible en todo el proyecto,
mediante código deberemos referirnos a este objeto para todos los propósitos. Creado el objeto que
contiene la aplicación, el siguiente paso es proporcionarle un archivo Sap2000 correspondiente, puede
ser inicializando un nuevo archivo o apoderándose de uno existente. Se tratará ambas alternativas.

4.4.4. Inicializando un archivo nuevo


Es posible desde 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 s e n d e r , EventArgs e )


2 {
3 // d e c l a r a v a r i a b l e t i p o Sap2000
4 Sap2000 . SapObject SapObjeto ;
5 long r e t ;
6 // i n i c i a l i z a r l a v a r i a b l e d e l t i p o Sap2000
7 SapObjeto = new Sap2000 . SapObject ( ) ;
8 // i n i c i a l i z a l a a p l i c a c i ó n
9 SapObjeto . A p p l i c a t i o n S t a r t ( Sap2000 . e U n i t s . kgf m C , true , ” Prueba ” ) ;
10 // c r e a e i n i c i a l i z a e l e s p a c i o modelo de sap2000
11 r e t = SapObjeto . SapModel . I n i t i a l i z e N e w M o d e l ( Sap2000 . e U n i t s . kgf m C ) ;

4
12 // d i b u j a una muro
13 r e t = SapObjeto . SapModel . F i l e . NewWall ( 3 , 3 , 3 , 3 , true , ” prueba ” ) ;
14 }

4.4.5. Apoderarse de un Archivo Existente


Otra alternativa muy frecuente es cuando mediante código se quiere apoderar de un modelo
Sap2000 existente y que esté en ejecución, a modo de prueba, el programa culmina mostrando un
mensaje del tipo de unidades actual utilizado.

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


2 {
3 // debe e x i s t i r un a r c h i v o sap2000 e j e c u t á n d o s e a c t u a l m e n t e
4 Sap2000 . SapObject SapObjeto ;
5 // e s t a a c c i ó n s e apodera automáticamente de un a r c h i v o e x i s t e n t e
6 SapObjeto = new Sap2000 . SapObject ( ) ;
7 // muestra l a s u n i d a d e s de medida a c t u a l d e l e s p a c i o modelo
8 Sap2000 . e U n i t s MyUnits ;
9 MyUnits = SapObjeto . SapModel . G e t P r e s e n t U n i t s ( ) ;
10 s t r i n g a = ”La unidad de medida a c t u a l e s : ” + MyUnits . T o S t r i n g ( ) ;
11 MessageBox . Show ( a , ” APISap2000 ” , MessageBoxButtons .OK) ;
12 }

4.4.6. Cerrando la Aplicación


Otro procedimiento habitual cuando se manipula programas desde aplicaciones externas, es ce-
rrar el programa mediante código, para el objeto del tipo Sap2000 la forma correcta de terminar la
aplicación es con las órdenes adecuadas como se muestra.

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


2 {
3 // debe e x i s t i r un a r c h i v o sap2000 en e j e c u c i ó n
4 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
5 // c i e r r a l a a p l i c a c i ó n
6 SapObjeto . A p p l i c a t i o n E x i t ( f a l s e ) ;
7 // d e j a s i n c o n t e n i d o a l e s p a c i o modelo
8 SapObjeto . SapModel = null ;
9 // d e j a s i n c o n t e n i d o a l o b j e t o c r e a d o
10 SapObjeto = null ;
11 }

4.4.7. La Función Mágica


Finalmente, el programa debe ser capaz de decidir adecuadamente una u otra alternativa, según
sea el caso, el programa siguiente cumple esta función.

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


2 {
3 Sap2000 . SapObject SapObjeto = new Sap2000 . SapObject ( ) ;
4 bool D i a n o s t i c o ;
5 s t r i n g mensaje ;
6 D i a n o s t i c o = SapObjeto . v i s i b l e ( ) ;
7 i f ( Dianostico )
8 mensaje = ”No s e e j e c u t a Sap2000 ” ;
9 else
10 mensaje = ” Se e j e c u t a Sap2000 ” ;
11 MessageBox . Show ( mensaje , ”API Sap2000 ” , MessageBoxButtons .OK) ;
12 }

5
4.5. Descripción del Programa DARC
DARC(Extensión para la creación del Modelo, Análisis y Diseño Automatizado de Reservorios
Circulares en Sap2000) es una extensión para Sap2000 v14.0.0, escrito en el lenguaje de programación
Visual C# integrado con la API Sap2000 desde el Microsoft Visual Estudio. Realizar una descripción
completa de la programación y el código fuente de la aplicación no está al alcance del presente docu-
mento, la utilidad de la extensión se explicará con un ejemplo de aplicación. la sección transversal y
dimensiones generales de un reservorio circular tı́pico muestra la Figura 3.

CUPULA

1.5

VIGA CIRCULAR

6.2

CILINDRO
VOLADO
0.5 BASE

1 8.5

16.5

Figura 3: Sección transversal reservorio circular

Cuando se inicia DARC muestra la ventana principal de la Figura 4, dispone de una interface para
el usuario amigable e intuitiva, conteniendo campos suficientes para la recepción de los argumentos
generales de la estructura que están debidamente ordenados en 03 pestañas.

Figura 4: Ventana principal de la extensión

6
4.5.1. Geometrı́a del Reservorio
En la ventana principal, la pestaña etiquetada con General es para especificar las dimensiones
generales del reservorio, donde:
Se debe especificar la flecha y espesor de la cúpula. para la estructura mostrada en la Figura 3
la flecha es 1.5m y el espesor 0.1m
Las consideraciones de la viga circular en la estructura es opcional, se debe especificar la base y
la altura de la viga circular. Para la estructura mostrada la base es 0.30m y altura 0.6m
La altura y el espesor del cilindro, indicar de igual manera el borde libre considerado en el
cilindro. En la estructura actual el espesor es 0.15m, altura total considerando la altura de la
viga circular es 6.20m y el borde libre 1.0m
Las dimensiones de la base como se indica en la Figura 3. Diámetro interior 8.5m con un espesor
de 0.25m, el diámetro total exterior 16.5m con un espesor de 0.5m y la longitud del volado 0.5m

4.5.2. División de los Elementos Estructurales


La pestaña etiquetada con Division(FEM) de la ventana principal mostrada en la Figura 3 es
para establecer la discretización de la estructura para su posterior análisis mediante el Método de los
Elementos Finitos, se debe especificar:
1. Dirección angular(general): donde se debe especificar el número de divisiones en la dirección
angular para toda la estructura, por defecto está establecido en 36 divisiones, en este caso se
realiza una división cada 10o sexagesimales.
2. Dirección radial(cúpula): para establecer el número de divisiones en la dirección radial, del radio
de la cúpula. por defecto considera 12 divisiones.
3. Dirección axial(cilindro): establece el número de divisiones en la dirección axial del cilindro. Por
defecto está considerado 8 divisiones.
4. Dirección radial(base): establece el número de divisiones en la dirección radial del radio de la
base, que coincide con el radio del cilindro. Por defecto está considerado 12 divisiones.
5. Dirección radial(volado): para especificar el número de divisiones en la dirección radial del volado.
Por defecto está considerado 2 divisiones.
Es necesario que el número de divisiones establecidos en cualquier dirección debe ser como mı́nimo
igual a dos.

4.5.3. Propiedades y Cargas


La pestaña etiquetada con Propiedades y cargas de la ventana principal mostrada en la Figura 3
es para establecer:

Sobrecarga en la cúpula.
Altura enterrada del reservorio, esta caracterı́stica es opcional pudiendo activarse o desactivar
desde el menu Herramientas, por defecto se considera un altura enterrada de 5.0m y el peso
especı́fico del suelo 1800 kgf
m3

El módulo de balastro del suelo, que se asigna a los elementos estructurales que forman la base,
kgf
por defecto es 2030.25 cm3

la resistencia a la compresión del concreto.


Finalmente, los parámetros para generar la función de la aceleración pseudo espectral para
tanques.

7
4.5.4. Ejecución de la Extensión
El programa verifica en lo posible los argumentos establecidos por el usuario, mostrando infor-
mación necesaria convenientemente, aún ası́, los datos generales deben ser coherentes con los de una
estructura real. Luego de establecer los argumentos generales, desde el menú Herramientas elegir el
sub menú Analizar en Sap2000 como muestra la Figura 5.

Figura 5: Ventana principal, menú herramientas

La extensión por defecto inicializa un reservorio apoyado y sin considerar la viga circular en la
unión de la cúpula y el cilindro, si se desea considerar la viga circular en la estructura y/o considerar
como un reservorio enterrado se deben activar las opciones desde el menú Herramientas como se
muestra en la Figura 5. Para cerrar Sap2000 elegir desde el menú Herramientas el sub menú Cerrar
Sap2000 y para abandonar el programa elegir el sub menú Salir. Si todos los argumentos establecidos
son adecuados el DARC inicia con el diseño de la estructura en Sap2000, para este fin realiza los
siguientes procedimientos:

Realiza los cálculos necesarios para modelar el efecto hidrodinámico sobre el reservorio.

Inicializa Sap2000 v14.0.0 como un archivo nuevo, estableciendo su espacio modelo como un
archivo en blanco.

Define las propiedades de los materiales utilizados para diseñar la estructura: el concreto y el
acero de refuerzo.

Define los elementos estructurales; la cúpula es considerado como un elemento shell(cáscara)


en su formulación como membrana, la viga circular es considerado como un elemento cáscara
gruesa, igualmente el cilindro del reservorio y las bases y volado que forman la fundación de la
estructura.

Define los enlaces nodales para modelar el efecto de la masa convectiva (efecto hidrodinámico)
sobre la estructura.

Define los patrones nodales para generar las cargas por presión del lı́quido y el empuje lateral
ocasionado por el suelo.

Genera la función de la aceleración pseudo espectral para tanques [5]. El nombre de la función
con que es exportado es ZICS.

Define los casos de carga: la carga por peso propio(CM), sobrecarga (CV), carga por presión del
lı́quido(CL), carga por presión del empuje lateral del suelo(CE).

Define los casos de análisis: se añade a los ya existentes e análisis modal y análisis por respuesta
espectral; todos los análisis se definen en el rango lineal.

...

Finalmente, prepara el modelo para el análisis, los grados de libertad y ordena a Sap2000 que
inicie con el análisis y diseño de la estructura entera.

8
5. Resultados
Todos los resultados (desplazamientos, reacciones en los apoyos, esfuerzos, fuerzas últimas de di-
seño, los refuerzos) serán consultados en el mismo entorno de Sap2000 de manera habitual, dado que el
programa solamente automatiza los procedimientos habituales para crear el modelo, análisis y diseño
de la estructura tı́pica. El reservorio circular es analizado completamente en un solo modelo: la cúpula,
la viga circular, el cilindro y la base de fundación. La Figura 6 muestra el modelo generado por la
extensión sin intervención del usuario y la Figura 7 muestra los esfuerzos en el cilindro, la cúpula y la
base.

Figura 6: Modelo del reservorio generado por DARC

Figura 7: Esfuerzos en el cilindro, cúpula y la base

Para obtener los aceros de refuerzo solamente se debe consultar a Sap2000, la extensión configura
las opciones de diseño para los elementos estructurales, en la Figura 8 muestra los refuerzos ocasionados

9
por la presión estática del lı́quido, refuerzos en la dirección circunferencial y axial(correspondiente a
la dirección 1 y 2 de la orientación local para cada elemento finito que conforma el cilindro y la viga
circular).

Figura 8: Refuerzos en el cilindro y la viga circular

6. Conclusiones
En el presente trabajo se logra crear una extensión para Sap2000, que automatiza los procedi-
mientos en la creación del modelo, análisis y diseño de una estructura tı́pica.

Gracias a la extensión se logra analizar la estructura entera para distintas discretizaciones del
dominio completo con facilidad, lo que permite evaluar la convergencia de los resultados.

La Interfaz de Programación para Aplicaciones de Sap2000 se puede utilizar desde cualquier


lenguaje de programación que sea capaz de implementar una interfaz.

Bibliografı́a
[1] Institulo de la Construcción y Gerencia. Reglamento nacional de edificaciones. 2006.

[2] American Concrete institute. Seismic desing of liquid containing concrete structures. Reported by
ACI Comittee 350.

[3] Computers and Inc Structures. Sap2000 API Documentation, 2008.

[4] Jason Beres Pierre Boutquin y Meeta gupta Jeff ferguson, Brian Patterson. La biblia de c#. Anaya
Multimedia, 2003.

[5] Ing. Julián Mejı́a Zúñiga Mag. Ing. José Acero Martı́nez. Análisis dinámico de reservorios, su-
perficiales, circulares y rectangulares. Congreso Nacional de Ingenierı́a Civil, Libro de Ponencias,
Ayacucho 2005.

10

También podría gustarte