Advanced Simulation Library ( ASL ) es una plataforma de simulación multifísica acelerada por hardware de código abierto y gratuita . Permite a los usuarios escribir solucionadores numéricos personalizados en C ++ e implementarlos en una variedad de arquitecturas paralelas masivas , que van desde FPGA, DSP y GPU de bajo costo [1] hasta clústeres y supercomputadoras heterogéneas. Su motor de cálculo interno está escrito en OpenCL y utiliza técnicas de solución sin matrices. ASL implementa una variedad de métodos numéricos modernos, como el método de conjunto de niveles , celosía Boltzmann , límite sumergido . Sin mallaEl enfoque de límites inmersos permite a los usuarios pasar de CAD directamente a la simulación, lo que reduce los esfuerzos de preprocesamiento y el número de errores potenciales. ASL se puede utilizar para modelar varios fenómenos físicos y químicos acoplados, especialmente en el campo de la dinámica de fluidos computacional . Se distribuye bajo la GNU Affero General Public License gratuita con una licencia comercial opcional (que se basa en la licencia MIT permisiva ).
Desarrollador (es) | Avtech Scientific |
---|---|
Versión inicial | 14 de mayo de 2015 |
Lanzamiento estable | 0.1.7 / 9 de noviembre de 2016 |
Sistema operativo | Unix / Linux , Windows , Mac |
Tipo | Multifísica , Ingeniería asistida por ordenador , Dinámica de fluidos computacional , Software de simulación |
Licencia | GNU Affero General Public License , licencia comercial opcional (basada en la licencia MIT ) |
Sitio web | asl |
Historia
La biblioteca de simulación avanzada está siendo desarrollada por Avtech Scientific, una empresa israelí. Su código fuente fue lanzado a la comunidad el 14 de mayo de 2015, cuyos miembros lo empaquetaron para las secciones científicas de todas las principales distribuciones de Linux poco después. [2] [3] [4] [5] [6] [7] Posteriormente, Khronos Group reconoció la importancia de ASL y lo incluyó en su sitio web entre los recursos basados en OpenCL. [8]
Áreas de aplicación
Ventajas y desventajas
Ventajas
- API de C ++ [9] (no se requieren conocimientos de OpenCL)
- El enfoque de límites inmersos y sin malla permite a los usuarios pasar de CAD directamente a los cálculos, lo que reduce el esfuerzo de preprocesamiento.
- La compilación dinámica permite una capa adicional de optimización en tiempo de ejecución (es decir, para un conjunto de parámetros específicos con la que se proporcionó la aplicación)
- Aceleración automática de hardware y paralelización de aplicaciones
- Implementación del mismo programa en una variedad de arquitecturas paralelas: GPU, APU, FPGA, DSP, CPU multinúcleo
- Habilidad para lidiar con límites complejos.
- Capacidad para incorporar interacciones microscópicas
- Disponibilidad del código fuente
Desventajas
- Ausencia de documentación detallada (además de la Guía del desarrollador generada a partir de los comentarios del código fuente)
- No todos los controladores OpenCL son lo suficientemente maduros para la biblioteca [10]
Características
ASL proporciona una gama de características para resolver una serie de problemas, desde flujos de fluidos complejos que involucran reacciones químicas, turbulencia y transferencia de calor, hasta mecánica sólida y elasticidad. [11]
- Interfaz: VTK / ParaView , MATLAB (exportación).
- Importar formatos de archivo: .stl .vtp .vtk .vti .mnc .dcm
- formatos de archivo de exportación: .vti .mat
- Geometría:
- geometría flexible y compleja utilizando una cuadrícula rectangular simple
- enfoque de límite inmerso sin malla
- generación y manipulación de primitivas geométricas
- Fenómenos implementados:
- Procesos de transporte
- procesos de transporte multicomponente
- flujo de fluido compresible e incompresible
- Reacciones químicas
- reacciones de electrodos
- Elasticidad
- elasticidad isotrópica homogénea
- poroelasticidad isotrópica homogénea
- Seguimiento de interfaz
- evolución de una interfaz
- evolución de una interfaz con cinética cristalográfica
- Procesos de transporte
Usos
- ACTIVE - Tecnologías de restricciones activas para entornos volátiles o mal definidos (Proyecto Europeo FP7) [12] [13] [14]
Referencias
- ^ "ASL - ecosistema de software en expansión para el mercado de DSP / FPGA / GPU" (PDF) .
- ^ "ASL entra en Linux" .
- ^ "ASL para OpenSuse" .
- ^ "ASL para Debian" .
- ^ "ASL para Gentoo" .
- ^ "ASL para Fedora" . Archivado desde el original el 8 de diciembre de 2015 . Consultado el 30 de noviembre de 2015 .
- ^ "ASL para Arch Linux" .
- ^ "ASL entre los recursos OpenCL de Khronos" .
- ^ "Ejemplo de simulación aerodinámica" .
- ^ "Despliegue de ASL: controladores problemáticos" .
- ^ "Acerca de la biblioteca de simulación avanzada: hgpu.org" .
- ^ "Proyecto ACTIVE: Desplazamiento cerebral intraoperatorio" .
- ^ "ASL en www.technology.org" .
- ^ "ASL en interestingengineering.com" .