Advanced Simulation Library

Advanced Simulation Library
Симуляція багатокомпонентного потоку
ТипМультифізика, CAE, Обчислювальна гідродинаміка, Програмне забезпечення моделювання
РозробникAvtech Scientific
Перший випуск14 травня 2015; 9 років тому (2015-05-14)
Стабільний випуск0.1.7 (9 листопада 2016; 8 років тому (2016-11-09))
Операційна системаUnix/Linux, Windows, Mac
ЛіцензіяGNU Affero General Public License, необов'язкова комерційна ліцензія (базована на MIT License)
Вебсайтasl.org.il
Відео мультикомпонентного потоку
Комп'ютерна кріохірургія
Моделювання пристрою для розділення сумішей білків
Процедура нанесення покриття методом вакуумного напилення (PVD)
Керована зображенням нейрохірургія, симуляція деформації мозку
Аеродинаміка локомотива в тунелі

Advanced Simulation Library (ASL) - це вільна і відкрита апаратно-прискорювана багатофункціональна платформа для моделювання. Вона дає користувачам змогу створювати спеціальні чисельні розв'язувачі в C++ і виконувати їх на різноманітних архітектурах, починаючи від недорогих FPGA, DSP і GPU[1] до гетерогенних кластерів і суперкомп'ютерів. Її внутрішній обчислювальний рушій написано на OpenCL і використовує безматричні методи рішення. ASL реалізує цілий ряд сучасних чисельних методів, такі як метод встановлення рівня, метод решіткових рівнянь Больцмана, метод занурення границі. Безсітковий граничний підхід дозволяє користувачам переходити від САП до моделювання, зменшуючи зусилля попередньої обробки та кількість можливих помилок. ASL може бути використана для моделювання різних пов'язаних фізичних та хімічних явищ, особливо в області обчислювання динаміки рідини. Він поширюється за загальною ліцензією GNU Affero General Public License з необов'язковою комерційною ліцензією (яка базується на вільній ліцензії MIT).

Історія

[ред. | ред. код]

Advanced Simulation Library розробляється ізраїльською компанією Avtech Scientific. Вихідний код був представлений спільноті 14 травня 2015, члени якої в короткі терміни упаковували його для наукових розділів усіх основних дистрибутивів Linux. [2][3][4][5][6][7] Згодом Khronos Group усвідомили значення ASL і додав його на своєму вебсайті до списку ресурсів на основі OpenCL. [8]

Області застосування

[ред. | ред. код]

Переваги та недоліки

[ред. | ред. код]

Переваги

[ред. | ред. код]
  • C++ API [9] (Не вимагаються знання OpenCL)
  • Безсітковий підхід занурення границі дозволяє користувачам переходити від САП безпосередньо до обчислень, що зменшують зусилля попередньої обробки
  • Динамічна компіляція забезпечує додатковий рівень оптимізації під час виконання (тобто для певних параметрів, які було задано програмі)
  • Автоматичне прискорення апаратного забезпечення та розпаралелювання процесів
  • Розгортання однієї програми на різних паралельних архітектурах - GPU, APU, FPGA, DSP, багатоядерні процесори
  • Можливість справлятися зі складними межами
  • Можливість включення мікроскопічних взаємодій
  • Наявність вихідного коду

Недоліки

[ред. | ред. код]
  • Відсутність докладної документації (крім посібника для розробників, створеного з коментарів вихідного коду)
  • Не всі драйвери OpenCL достатньо повні для бібліотеки [10]

Можливості

[ред. | ред. код]

ASL пропонує ряд функцій для вирішення багатьох завдань - від складних потоків рідин, що включають хімічні реакції, турбулентність і теплопередачу, до твердої механіки та еластичності. [11]

  • Взаємодія: VTK / ParaView, MATLAB (експорт).
    • імпорт форматів файлів: .stl .vtp .vtk .vti .mnc .dcm
    • експорт форматів файлів: .vti .mat
  • Геометрія:
    • гнучка та складна геометрія, використовуючи просту прямокутну сітку
    • безсітковий підхід занурення границі
    • генерування та маніпулювання геометричними примітивами
  • Реалізовані явища:
    • Транспортні процеси
      • багатокомпонентні транспортні процеси
      • стискуваний і нестискуваний потік рідини
    • Хімічні реакції
      • електродні реакції
    • Еластичність
      • однорідна ізотропна пружність
      • однорідна ізотропна пенопружність
    • Відстеження інтерфейсу
      • еволюція інтерфейсу
      • еволюція інтерфейсу з кристалографічною кінетикою

Застосування

[ред. | ред. код]
  • ACTIVE - Активні технології обмежень для незахищених або нестабільних середовищ (Європейський проект FP7) [12][13][14]

Література

[ред. | ред. код]
  1. ASL - expanding software ecosystem for the DSP/FPGA/GPU market (PDF). Архів оригіналу (PDF) за 25 серпня 2017. Процитовано 21 травня 2018.
  2. ASL enters Linux. Архів оригіналу за 29 вересня 2015. Процитовано 21 травня 2018.
  3. ASL for OpenSuse. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  4. ASL for Debian. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  5. ASL for Gentoo. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  6. ASL for Fedora. Архів оригіналу за 8 грудня 2015. Процитовано 21 травня 2018.
  7. ASL for Arch Linux.
  8. ASL among Khronos' OpenCL resources. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  9. Example of an aerodynamic simulation. Архів оригіналу за 1 вересня 2018. Процитовано 21 травня 2018.
  10. ASL deployment: problematic drivers. Архів оригіналу за 6 січня 2021. Процитовано 21 травня 2018.
  11. About Advanced Simulation Library: hgpu.org. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  12. ACTIVE Project: Intraoperative Brain Shift. Архів оригіналу за 22 травня 2018. Процитовано 21 травня 2018.
  13. ASL on www.technology.org. Архів оригіналу за 24 березня 2018. Процитовано 21 травня 2018.
  14. ASL on interestingengineering.com. Архів оригіналу за 2 червня 2017. Процитовано 21 травня 2018.