La Interfaz de Programación de Aplicaciones (API por su sigla en inglés correspondiente a Application Programming Interface), es un conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
Un concepto muy bien logrado por la empresa Computers and Structures, cuya API es una poderosa herramienta que permite a los usuarios automatizar muchos de los procesos necesarios para construir, analizar y diseñar modelos y obtener resultados de diseño y análisis personalizados.
La amplia compatibilidad de la API CSI con los diferentes lenguajes de computación facilita su uso e implementación. Sin embargo, para ello se requiere contar con los conocimientos básicos de programación que permitan al usuario crear pre y posprocesadores para diferentes aplicaciones, plugins, u otras herramientas que permitan conectar con el software CSI.
La API CSI está actualmente disponible para los softwares SAP2000, ETABS y CSiBridge, y se ha desarrollado para ser lo más consistente posible entre los productos de la empresa, permitiendo de forma que cualquier herramienta y/o aplicación se adapte fácilmente entre productos.
A través de la API de CSI podemos hacer un uso más amplio y eficiente de sus softwares, como puede ser: la ejecución de análisis y extracción directa de resultados sin la necesidad de hacer clic sobre el software CSI, el cálculo de espectros de piso (muy útil para el diseño de equipos o subestructuras), el desarrollo de Análisis Dinámico Incremental (IDA por sus siglas en inglés) y establecer el balance energético en una estructura, entre otras aplicaciones.
Por su parte, MATLAB (MATrix LABoratory), es una plataforma de programación diseñada específicamente para ingenieros y científicos. A través de MATLAB, podemos analizar datos, desarrollar algoritmos y crear modelos y aplicaciones.
Ejemplo con MATLAB y SAP2000
En este artículo apostamos por el binomio MATLAB-SAP2000 a fin de mostrar una de las tantas aplicaciones que tiene la herramienta antes descrita. Para ello, partimos de la ecuación de balance de energía (We+WD+Wp=E), la cual es el fundamento de los métodos de proyecto sismorresistente basados en el balance energético de Housner-Akiyama. El ejemplo se complementa con el desarrollo del modelo analítico de un pórtico 2D, configurado con un análisis tiempo historia no lineal empleando registros de la base de datos del PEER.
Por otra parte, SAP2000 proporciona las denominadas funciones de energía (energy functions), a las cuales podemos acceder siguiendo la siguiente ruta dentro del software: Display Menu > Show Plot Functions > Define Plot Functions > Choose Functions Type to Add > Energy Functions. Esto quiere decir que, SAP2000 establece el balance energético en la estructura y permite tener acceso a esas energías a través del menú correspondiente; el resultado también puede ser exportado a un fichero .txt mediante el cual se puede operar con esas energías.
A pesar de las opciones que da SAP2000 para trabajar con las funciones de energía, el ajuste entre la energía que introduce el terremoto en la estructura y la empleada como input de energía de proyecto, en la mayoría de los casos, implica realizar varias iteraciones, lo que, para tales fines la extracción de las energías en ficheros .txt no es eficiente, ya que implicaría la comprobación manual del ajuste energético al final de cada cálculo dinámico directo.
A partir de esta limitación surge la necesidad de emplear la API CSI a propósito de ser eficientes en cuanto al ajuste automatizado de las energías. En un procedimiento resumido en cinco grandes pasos se explica como calcular parte de las funciones de energía a fin de establecer su comparación con el resultado que arroja directamente SAP2000.
Como resultado del trabajo realizado se aportan las siguientes observaciones:
- El uso combinado de los programas CSI con otros lenguajes de programación a través de la API, da paso a un abanico de posibilidades que sin dudas merece la pena explorar.
- El procedimiento aquí desarrollado puede parecer irrelevante; sin embargo, hasta la versión SAP2000 v22 no existe una función que permita acceder a las energías de forma automática a través de la API, lo que impide hacer un uso eficiente del programa en la aplicación de procedimientos basados en métodos energéticos que requieran de iteraciones como paso previo a la obtención de la respuesta dinámica de la estructura.