Biblioteca de simulación avanzada


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

Video de flujo multicomponente
Criocirugía asistida por computadora
Simulación de un dispositivo de microfluidos para separar mezclas de proteínas
Procedimiento de recubrimiento que emplea el método de deposición física de vapor (PVD)
Neurocirugía guiada por imágenes, simulación de deformación cerebral
Aerodinámica de una locomotora en un túnel.

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]

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]

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

  • ACTIVE - Tecnologías de restricciones activas para entornos volátiles o mal definidos (Proyecto Europeo FP7) [12] [13] [14]

  1. ^ "ASL - ecosistema de software en expansión para el mercado de DSP / FPGA / GPU" (PDF) .
  2. ^ "ASL entra en Linux" .
  3. ^ "ASL para OpenSuse" .
  4. ^ "ASL para Debian" .
  5. ^ "ASL para Gentoo" .
  6. ^ "ASL para Fedora" . Archivado desde el original el 8 de diciembre de 2015 . Consultado el 30 de noviembre de 2015 .
  7. ^ "ASL para Arch Linux" .
  8. ^ "ASL entre los recursos OpenCL de Khronos" .
  9. ^ "Ejemplo de simulación aerodinámica" .
  10. ^ "Despliegue de ASL: controladores problemáticos" .
  11. ^ "Acerca de la biblioteca de simulación avanzada: hgpu.org" .
  12. ^ "Proyecto ACTIVE: Desplazamiento cerebral intraoperatorio" .
  13. ^ "ASL en www.technology.org" .
  14. ^ "ASL en interestingengineering.com" .