Está en la página 1de 10

1

EXTENSIO

N PARA EL MODELAMIENTO, ANA

LISIS Y DISEN

O AUTOMATIZADO DE
RESERVORIOS CIRCULARES EN SAP2000

XVII CONGRESO NACIONAL DE INGENIERIA CIVIL - XVII CONIC 2009

Ing. Edmundo Canchari Gutierrez


1. Introduccion

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 Ingeniera, esto se debe a las grandes facilidades que
ofrecen para modelar situaciones reales en muy corto tiempo ademas de estar siempre implementados
con los metodos numericos de ultima generacion para cada proposito. Sap2000 es un programa
general producido y mantenido por la empresa Computer and Structures inc en la que se encuentra
un ambiente comodo para la creacion del modelo, analisis y diseno de estructuras; ademas cuenta
desde la version 11.0.0 con su Interfaz de Programacion 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 utilizacion de la API y Sap2000 es necesario tener un conocimiento
suficiente del Metodo de los Elementos Finitos, distinguir las ventajas e inconvenientes de este metodo
aproximado, los argumentos requeridos y la adecuada interpretacion de los resultados; ademas
es necesario tener una experiencia amplia en cuanto al uso del programa. Es necesario tambien
comprender los fundamentos de programacion orientado a objetos, estando en este nivel es posible
interactuar con Sap2000 creando aplicaciones externas.

La Interfaz de Programacion para Aplicaciones de Sap2000 se puede utilizar desde cualquier len-
guaje de programacion que sea capaz de implementar una interfaz, entre estos lenguajes de programa-
cion 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 programara desde el lenguaje de programacion
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 Programacion para Aplicaciones de Sap2000
v14.0.0 Trial Edition creando una extension desde el lenguaje de programacion Visual C#, juntamente
con el entorno de desarrollo integrado Microsoft Visual Studio 2008 Express Edition con la finalidad
de automatizar los procedimientos en la creacion del modelo, el analisis y diseno de reservorios
circulares de concreto armado.

Para esta estructura tpica el usuario final solamente definira los argumentos generales de la
estructura: dimensiones, cargas, calidad del material, propiedades del suelo y las consideraciones para
generar la funcion de la aceleracion pseudo espectral para tanques ademas de definir la discretizacion
para el analisis mediante el metodo de los elementos finitos; luego, la extension sera el encargado
de modelar la estructura: estableciendo los materiales utilizados, los elementos estructurales(la
cupula, viga circular si se considera, cilindro, y la base), los tipos de cargas, los tipos de analisis,
las combinaciones de cargas y las consideraciones en la masa de la estructura para el analisis
dinamico, las condiciones de contorno, asignacion de las cargas, etc. Todo sin intervencion del usuario,
los resultados deben ser consultados en el mismo entorno de Sap2000 que la extension creara y
ejecutara automaticamente, se considera el efecto hidrodinamico en el reservorio, las recomendaciones
del Reglamento Nacional de Edificaciones [1] y de la American Concrete Institute (A.C.I 350.3-01 y
2
A.C.I350.3R-01) [2].

Es necesario para que la extension creada DARC(Extension para la creacion del modelo, Analisis
y Diseno Automatizado de Reservorios Circulares en Sap2000 ) funcione sin inconvenientes debe estar
instalado el NET Framework 3.5 en la computadora donde se ejecutara.


3. Objetivos

Crear una extension para Sap2000 con la finalidad de automatizar los procedimientos de la
creacion del modelo, analisis y diseno de reservorios circulares de concreto armado.

Mostrar la utilidad de la Interfaz de Programacion para Aplicaciones (Application Programming
Interface A.P.I) de Sap2000 creando una aplicacion concreta.

Aprovechar las ventajas de los lenguajes de programacion orientado a objetos en la creacion de
aplicaciones para la ingeniera.


4. Metodologa o Desarrollo

Para el desarrollo de la extension se utiliza el editor Microsoft Visual Studio 2008 Express Edition,
con el lenguaje de programacion Visual C#, desde la cual se integra la Interfaz de Programacion para
Aplicaciones de Sap2000. Desde este punto, con las ordenes adecuadas, todos los metodos que soporte
la interfaz del programa Sap2000 estan libres para Visual C# a disposicion para ser utilizados como
si de sus propias ordenes se tratase. La documentacion 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 ultima generacion, conjuntamente con el compilador de uno de los lenguajes de programacion mas
avanzados que existe en la actualidad, Visual C#. Las versiones express son de distribucion 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 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.


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 metodos, propiedades, eventos o indizadores
agrupadas con un nombre comun. Las interfaces funcionan como conjunto de funcionalidades definidas
que pueden implementarse en una clase o estructura de Visual C#.
3


Figura 1: Sub menu Agregar Referencia


4.2.4. Espacio de Nombre

Sirven de ayuda para organizar colecciones de clases en agrupaciones logicas.


4.3. Sap2000 v14.0.0

Programa general para crear el modelo, el analisis y diseno de estructuras.


4.3.1. Interfaz de Programacion para Aplicaciones de Sap2000

Sap2000 utiliza la tecnologa 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 seccion 4.2.3.


4.3.2. Instalacion API Sap2000

La Interfaz de Programacion para Aplicaciones de Sap2000 se instala por defecto con cualquier
distribucion desde su version 11.0.0.


4.3.3. Utilidad para que sirve?

Ahora es posible ampliar las capacidades de Sap2000 mediante programas creados por sus usuarios,
definiendo estructuras parametrizadas o repetitivas, generando una norma de diseno especfica, etc.
Las posibilidades son ilimitadas.

4.4. Programando en Visual C# con API Sap2000

Seguidamente se realiza una descripcion general para integrar la Interfaz de Programacion para
Aplicaciones de Sap2000 en el entorno de desarrollo integrado Microsoft Visual Studio, especficamente
programando en el lenguaje Visual C#, para lo cual es necesario crear una aplicacion 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 menu emergente Agregar referencia... como muestra la Figura 1. Luego, se muestra la ventana
Agregar referencia, entre las opciones elegir la pestana etiquetada COM, entre los muchos componentes
existentes en la lista elija Sap2000 como indica la Figura 2.
4


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 encargara de
integrar absolutamente todos su contenido de la Interfaz Sap2000.SapObject.


4.4.2. Implementar Interfaz de Sap2000 en un Objeto

Para utilizar las ordenes que contiene la interfaz se opta por implementarlo en un objeto desde el
lenguaje de programacion Microsoft Visual C#, desde este punto es visible los metodos de la interfaz
a traves 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 . S a p O b j e c t SapObjeto ;
3 // i n i c i a l i z a e l o b j e t o
4 SapObjeto = new Sap2000 . S a p O b j e c t ( ) ;



4.4.3. Accediendo al objeto que implementa la interfaz

El objeto que contendra la interfaz se debe declarar de modo que sea visible en todo el proyecto,
mediante codigo deberemos referirnos a este objeto para todos los propositos. Creado el objeto que
contiene la aplicacion, el siguiente paso es proporcionarle un archivo Sap2000 correspondiente, puede
ser inicializando un nuevo archivo o apoderandose de uno existente. Se tratara ambas alternativas.


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 Cl i ck ( 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 . S a p O b j e c t 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 . S a p O b j e c t ( ) ;
8 // i n i c i a l i z a l a a p l i c a c i o 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 s a p 2 0 0 0
11 r e t = SapObj eto . 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 ) ;
5

12

// d i b u j a una muro
13

r e t = SapObj eto . SapModel . F i l e . NewWall ( 3 , 3 , 3 , 3 , true , p r u e b a ) ;
14 }



4.4.5. Apoderarse de un Archivo Existente

Otra alternativa muy frecuente es cuando mediante codigo se quiere apoderar de un modelo
Sap2000 existente y que este en ejecucion, a modo de prueba, el programa culmina mostrando un
mensaje del tipo de unidades actual utilizado.

1 private void c m d C a p t u r 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 s a p 2 0 0 0 e j e c u t a n d o s e a c t u a l m e n t e
4 Sap2000 . S a p O b j e c t SapObjeto ;
5 // e s t a a c c i o n s e a p o d e r a a u t o m a t i c a m e n t e de un a r c h i v o e x i s t e n t e
6 SapObjeto = new Sap2000 . S a p O b j e c t ( ) ;
7 // m u e s t r a 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 = SapObj eto . 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 u n i d a d 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 Aplicacion

Otro procedimiento habitual cuando se manipula programas desde aplicaciones externas, es ce-
rrar el programa mediante codigo, para el objeto del tipo Sap2000 la forma correcta de terminar la
aplicacion es con las ordenes adecuadas como se muestra.

1 private void 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 s a p 2 0 0 0 en e j e c u c i o n
4 Sap2000 . S a p O b j e c t SapObjeto = new Sap2000 . S a p O b j e c t ( ) ;
5 // c i e r r a l a a p l i c a c i o n
6 SapObj eto . 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 = n u l l ;
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 = n u l l ;
11 }



4.4.7. La Funcion Magica

Finalmente, el programa debe ser capaz de decidir adecuadamente una u otra alternativa, segun
sea el caso, el programa siguiente cumple esta funcion.

1 private void c m d E v a l u a r S a p 2 0 0 0 C l i c k ( object s e n d e r , EventArgs e )
2 {
3 Sap2000 . S a p O b j e c t SapObjeto = new Sap2000 . S a p O b j e c t ( ) ;
4 bool D i a n o s t i c o ;
5 s t r i n g m e n s a j e ;
6 D i a n o s t i c o = SapObj eto . v i s i b l e ( ) ;
7 i f ( D i a n o s t i c o )
8 m e n s a j e = No s e e j e c u t a Sap2000 ;
9 e l s e
10 m e n s a j e = Se e j e c u t a Sap2000 ;
11 MessageBox . Show ( mensaje , API Sap2000 , MessageBoxButtons .OK) ;
12 }
6
4.5. Descripcion del Programa DARC

DARC(Extension para la creacion del Modelo, Analisis y Diseno Automatizado de Reservorios
Circulares en Sap2000) es una extension para Sap2000 v14.0.0, escrito en el lenguaje de programacion
Visual C# integrado con la API Sap2000 desde el Microsoft Visual Estudio. Realizar una descripcion
completa de la programacion y el codigo fuente de la aplicacion no esta al alcance del presente docu-
mento, la utilidad de la extension se explicara con un ejemplo de aplicacion. la seccion transversal y
dimensiones generales de un reservorio circular tpico muestra la Figura 3.

CUPULA

1.5



VIGACIRCULAR

6.2



0.5

VOLADO


BASE
CILINDRO


1 8.5

16.5


Figura 3: Seccion 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 recepcion de los argumentos
generales de la estructura que estan debidamente ordenados en 03 pestanas.



Figura 4: Ventana principal de la extension
7
m
3
cm
3

4.5.1. Geometra del Reservorio

En la ventana principal, la pestana etiquetada con General es para especificar las dimensiones
generales del reservorio, donde:

Se debe especificar la flecha y espesor de la cupula. 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. Diametro interior 8.5m con un espesor
de 0.25m, el diametro total exterior 16.5m con un espesor de 0.5m y la longitud del volado 0.5m

4.5.2. Division de los Elementos Estructurales

La pestana etiquetada con Division(FEM) de la ventana principal mostrada en la Figura 3 es
para establecer la discretizacion de la estructura para su posterior analisis mediante el Metodo de los
Elementos Finitos, se debe especificar:

1. Direccion angular(general): donde se debe especificar el numero de divisiones en la direccion
angular para toda la estructura, por defecto esta establecido en 36 divisiones, en este caso se
realiza una division cada 10
o
sexagesimales.

2. Direccion radial(cupula): para establecer el numero de divisiones en la direccion radial, del radio
de la cupula. por defecto considera 12 divisiones.

3. Direccion axial(cilindro): establece el numero de divisiones en la direccion axial del cilindro. Por
defecto esta considerado 8 divisiones.

4. Direccion radial(base): establece el numero de divisiones en la direccion radial del radio de la
base, que coincide con el radio del cilindro. Por defecto esta considerado 12 divisiones.

5. Direccion radial(volado): para especificar el numero de divisiones en la direccion radial del volado.
Por defecto esta considerado 2 divisiones.

Es necesario que el numero de divisiones establecidos en cualquier direccion debe ser como mnimo
igual a dos.

4.5.3. Propiedades y Cargas

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

Sobrecarga en la cupula.

Altura enterrada del reservorio, esta caracterstica es opcional pudiendo activarse o desactivar
desde el menu Herramientas, por defecto se considera un altura enterrada de 5.0m y el peso
especfico del suelo 1800
kgf


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


la resistencia a la compresion del concreto.

Finalmente, los parametros para generar la funcion de la aceleracion pseudo espectral para
tanques.
8
4.5.4. Ejecucion de la Extension

El programa verifica en lo posible los argumentos establecidos por el usuario, mostrando infor-
macion necesaria convenientemente, aun as, los datos generales deben ser coherentes con los de una
estructura real. Luego de establecer los argumentos generales, desde el menu Herramientas elegir el
sub menu Analizar en Sap2000 como muestra la Figura 5.



Figura 5: Ventana principal, menu herramientas

La extension por defecto inicializa un reservorio apoyado y sin considerar la viga circular en la
union de la cupula 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 menu Herramientas como se
muestra en la Figura 5. Para cerrar Sap2000 elegir desde el menu Herramientas el sub menu Cerrar
Sap2000 y para abandonar el programa elegir el sub menu Salir. Si todos los argumentos establecidos
son adecuados el DARC inicia con el diseno de la estructura en Sap2000, para este fin realiza los
siguientes procedimientos:

Realiza los calculos necesarios para modelar el efecto hidrodinamico 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 disenar la estructura: el concreto y el
acero de refuerzo.

Define los elementos estructurales; la cupula es considerado como un elemento shell(cascara)
en su formulacion como membrana, la viga circular es considerado como un elemento cascara
gruesa, igualmente el cilindro del reservorio y las bases y volado que forman la fundacion de la
estructura.

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

Define los patrones nodales para generar las cargas por presion del lquido y el empuje lateral
ocasionado por el suelo.

Genera la funcion de la aceleracion pseudo espectral para tanques [5]. El nombre de la funcion
con que es exportado es ZICS.

Define los casos de carga: la carga por peso propio(CM), sobrecarga (CV), carga por presion del
lquido(CL), carga por presion del empuje lateral del suelo(CE).

Define los casos de analisis: se anade a los ya existentes e analisis modal y analisis por respuesta
espectral; todos los analisis se definen en el rango lineal.

. . .

Finalmente, prepara el modelo para el analisis, los grados de libertad y ordena a Sap2000 que
inicie con el analisis y diseno de la estructura entera.
9
5. Resultados

Todos los resultados (desplazamientos, reacciones en los apoyos, esfuerzos, fuerzas ultimas de di-
seno, los refuerzos) seran consultados en el mismo entorno de Sap2000 de manera habitual, dado que el
programa solamente automatiza los procedimientos habituales para crear el modelo, analisis y diseno
de la estructura tpica. El reservorio circular es analizado completamente en un solo modelo: la cupula,
la viga circular, el cilindro y la base de fundacion. La Figura 6 muestra el modelo generado por la
extension sin intervencion del usuario y la Figura 7 muestra los esfuerzos en el cilindro, la cupula y la
base.



Figura 6: Modelo del reservorio generado por DARC




Figura 7: Esfuerzos en el cilindro, cupula y la base

Para obtener los aceros de refuerzo solamente se debe consultar a Sap2000, la extension configura
las opciones de diseno para los elementos estructurales, en la Figura 8 muestra los refuerzos ocasionados
10
por la presion estatica del lquido, refuerzos en la direccion circunferencial y axial(correspondiente a
la direccion 1 y 2 de la orientacion 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 extension para Sap2000, que automatiza los procedi-
mientos en la creacion del modelo, analisis y diseno de una estructura tpica.

Gracias a la extension 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 Programacion para Aplicaciones de Sap2000 se puede utilizar desde cualquier
lenguaje de programacion que sea capaz de implementar una interfaz.


Bibliografa

[1] Institulo de la Construccion 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. Julian Meja Zuniga Mag. Ing. Jose Acero Martnez. Analisis dinamico de reservorios, su-
perficiales, circulares y rectangulares. Congreso Nacional de Ingeniera Civil, Libro de Ponencias,
Ayacucho 2005.

También podría gustarte