Sobre la velocidad de cálculo de Tricalc

Sólo en unos pocos años, con las sucesivas versiones de Tricalc se ha pasado de considerar el tiempo de cálculo de esfuerzos de una estructura en términos de semanas, a sólo minutos y segundos. Este artículo recoge diferentes aspectos relacionados con la velocidad de cálculo y ejemplos de estructuras que permite verificar la velocidad de cálculo del programa.

Factores a considerar en la velocidad de cálculo

La velocidad del cálculo de una estructura mediante un programa informático depende de muchos factores, entre los que se incluyen variables relativas tanto al hardware como al software utilizado. Se pueden realizar las siguientes consideraciones:

  • La velocidad depende de la propia estructura, de su tamaño, que determina el número de grados de libertad –incógnitas- a obtener, que es igual al número de filas o columnas de la matriz de rigidez, y también de su tipología, que determina el número de elementos no nulos de la matriz de rigidez y por tanto el denominado ‘ancho de banda’ de dicha matriz.

  • La velocidad también depende del hardware y del sistema operativo utilizados, de la memoria RAM instalada, de su tamaño y velocidad de acceso, del tipo de procesador, de su velocidad, número de núcleos, caché, etc., del disco duro, y del tipo de sistema operativo, ya sea a 32 bits o a 64 bits.

  • Finalmente, la velocidad depende en gran medida del software utilizado, de su diseño con técnicas de programación avanzada para el uso de los multiprocesadores instalados, y técnicas de optimización del uso de la memoria.

Este artículo se centra en el software, y fundamentalmente en la parte de cálculo de esfuerzos, estudiando lo que Tricalc aporta en este aspecto.

En primer lugar hay que decir que Tricalc aprovecha la totalidad de la potencia del hardware instalado, teniendo en cuenta lo siguiente:

  • Por propia limitación del sistema operativo, si el sistema operativo o el procesador no son, ambos, de 64 bits, no es posible aprovechar cantidades de memoria RAM por encima de 3 ó 4 Gb. En el caso de Tricalc, la función de resolución del sistema de ecuaciones está disponible en dos versiones, una para 32 bits y otra para 64 bits, ya que es la parte del cálculo en donde la necesidad de memoria es más exigente. El programa utiliza automáticamente la función adecuada al sistema operativo instalado.

  • Existen dos tecnologías de procesadores de 64 bits: la que Microsoft y AMD denominan x64 (y que Intel denomina EMT64), y la que Microsoft denomina IA64 (soportada exclusivamente por los procesadores Intel Itanium 2). La primera tecnología, que realmente es una arquitectura de 32 bits con extensiones para el manejo de memoria en 64 bits, es la única soportada por Tricalc.

  • Tricalc aprovecha en la fase de cálculo todos los procesadores o núcleos presentes en el ordenador, directamente en su versión estándar de Tricalc o de Tricalc Básico, sin necesidad de módulos especiales añadidos al programa, y con la única limitación en cuanto a su número que el límite que imponga el propio sistema operativo. Para ello se utiliza el estándar OpenMP, con las ventajas que ello supone en cuanto a transparencia e independencia del hardware actual o futuro.

  • No es aconsejable habilitar en el procesador la funcionalidad de  ‘Hyperthreading’ de Intel: esta tecnología, anterior a la existencia de procesadores de varios núcleos, no está pensada para cálculos intensivos, por lo que se obtiene un mejor rendimiento en Tricalc deshabilitándola.

Resolución por métodos directos

Por otro lado, es importante reseñar que el programa utiliza un algoritmo de resolución de la matriz de rigidez por métodos directos, es decir, un método exacto extremadamente potente y escalable, que no utiliza aproximaciones sucesivas, lo que posibilita:

  • Con los métodos directos no es necesario utilizar técnicas como la ‘subestructuración’, consistente en dividir la estructura en trozos –por ejemplo en plantas–, calcularlos por separado y luego resolver las conexiones. Si bien esta técnica puede ser útil para estructuras formadas sólo por forjados horizontales y pilares, no es apropiada (e incluso es contraproducente en cuanto a velocidad de cálculo) cuando existen forjados inclinados que conectan dos plantas o muros (núcleos o pantallas) que recorren toda la altura del edificio.

  • Es opcional considerar la indeformabilidad de los forjados horizontales en su plano (el denominado ‘diafragma rígido’), tanto en la totalidad de los forjados como en cualquiera de ellos como opción particular, sin una apreciable pérdida de rendimiento en cuanto a velocidad de cálculo, a pesar de que supone un incremento sustancial en cuanto al número de grados de libertad a calcular. Eso permite considerar los efectos de tracción y compresión en los forjados, así como poder definir cargas de temperatura en los forjados y losas (prestación de Tricalc 7.1), que sería imposible de considerar con la hipótesis de diafragma rígido.

  • Los métodos directos son igualmente de eficaces en estructuras típicas de edificación (forjados horizontales más soportes) y en estructuras industriales (naves industriales o cubiertas estéreas) o de geometría especialmente compleja.

  • Utilizado los métodos directos, en las fases en las que es posible, la matriz de rigidez está en forma compacta, por ejemplo en la fase de creación, almacenándose sin valores nulos. Eso implica que incluso con estructuras muy grandes la matriz de rigidez es relativamente pequeña; por ejemplo una estructura de unos 175.000 grados de libertad puede tener una matriz de rigidez en forma compacta de sólo 20 Mb de tamaño. Como consecuencia, no hay ‘cuellos de botella’ por manejar archivos de gran tamaño. En el ejemplo anterior, la matriz almacenada como ‘skyline’, es decir, almacenando cada fila de la matriz de rigidez desde la diagonal hasta el último valor no nulo, puede ocupar los 2,50 Gb.

Dos ejemplos

A continuación se indican algunos tiempos de cálculo para unas estructuras tipo, que el lector puede comparar con otros programas que utilice. Todos los cálculos se han realizado con un ordenador de gama ‘media’, de las siguientes características: procesador AMD Athlon x64 x2 Dual Core 3600+ de 1,90 Ghz; 2 Gb de RAM; Windows Vista SP1 x64.
Los dos valores de tiempo a) y b) que se incluye son los relativos al cálculo de esfuerzos y desplazamientos, y al cálculo total incluyendo el dimensionado y comprobación de todos los elementos.

Estructura forjados unidireccionales: a)5” b)2’52”

Estructura de forjados unidireccionales con las siguientes características:

  • Un sótano más 8 plantas, con cimentación con muros de sótano y zapatas aisladas y combinadas. Cálculo con viento y sismo, en primer orden.

  • Superficie de forjados: 7.806 m2, 973 barras, 498 nudos, 1.377 grados de libertad.

  • Tiempo de cálculo de esfuerzos: a) 5”.

  • Tiempo total de cálculo: b) 2’ 52”.

Estructura con reticulares, losas y muros resistentes: a)5’5” b)1h32’
  • Estructura de 6 plantas, con forjados reticulares, losas macizas y muros resistentes de hormigón (los tres elementos con discretización de 0,80 m x 0,80 m). Cimentación con zapatas aisladas y corridas. Cálculo con viento y sismo, en primer orden.

  • Superficie de forjados: 8.031 m2 (5.850 m2 de forjados reticulares más 2.181 m2 de forjados de losa maciza). Superficie de muros resistentes: 1.035 m2.

  • 28.447 barras, 16.545 nudos, 53.364 grados de libertad, matriz de rigidez en forma compacta de 5.563 Kb.

  • Tiempo de cálculo de esfuerzos: a) 5’ 5”.

Si a la misma estructura anterior, se elimina la consideración de la indeformabilidad de los forjados horizontales en su plano, aumentando considerablemente los grados de libertad a obtener, y se añaden acciones térmicas tanto a todos los forjados como a todos los muros resistentes, los nuevos datos son:

  • 98.610 grados de libertad.

  • Tiempo de cálculo de esfuerzos: a) 10’ y 48” (la resolución del sistema de 98.610 ecuaciones por métodos directos, lleva tan sólo 7”).

  • Tiempo total de cálculo: b) 4h 2’.

Conclusión

La velocidad de cálculo de Tricalc ofrece unas prestaciones altamente avanzadas, no solamente si se comparan con las obtenidas en versiones anteriores, sino si se comparan con otros programas existentes en el mercado. Su diseño que independiza en dos fases el cálculo de esfuerzos, de la comprobación y dimensionado de la estructura, permite la repetición de ciclos de esfuerzos y desplazamientos en tiempos espectaculares: 5” y 5’ en los 2 ejemplos expuestos anteriormente, antes de pasar a la comprobación y dimensionado. Esta velocidad es la clave que permite abordar cálculos en 2º orden, en los cuales cada una de los miles de combinaciones es un cálculo*. Tricalc consigue un óptimo aprovechamiento de las capacidades del hardware existente mediante la utilización de métodos directos en la resolución de sistemas de ecuaciones.

*Ver artículo ‘ Tricalc 7: Nuevas posibilidades de cálculo en 2º orden’