کتابخانه شبیه‌سازی پیشرفته

کتابخانه شبیه‌سازی پیشرفته (ASL) یک پلتفرم شبیه‌سازی چندفیزیکی با شتاب سخت‌افزاری رایگان و منبع باز است. این به کاربران امکان می‌دهد تا حل‌کننده‌های عددی سفارشی‌شده را در C++ بنویسند و آن‌ها را بر روی انواع معماری‌های موازی گسترده، از FPGA, DSP و GPU ارزان قیمت تا خوشه‌ها و ابررایانه‌های ناهمگن، مستقر کنند. موتور محاسباتی داخلی آن با OpenCL نوشته شده‌است و از تکنیک‌های حل بدون ماتریس استفاده می‌کند. ASL انواع روش‌های عددی مدرن را پیاده‌سازی می‌کند، مثلاً روش تنظیم سطح، شبکه بولتزمن، مرز غوطه‌ور. رویکرد مرزی غوطه‌ور و بدون مش به کاربران اجازه می‌دهد تا از CAD مستقیماً به شبیه‌سازی حرکت کنند و تلاش‌های پیش‌پردازش و تعداد خطاهای احتمالی را کاهش دهد. ASL را می‌توان برای مدل‌سازی پدیده‌های فیزیکی و شیمیایی مختلف جفت شده، به ویژه در زمینه دینامیک سیالات محاسباتی استفاده کرد. این تحت مجوز آزاد عمومی عمومی GNU Affero با مجوز تجاری اختیاری (که بر اساس مجوز مجاز MIT است) توزیع می‌شود.

تاریخچه 
کتابخانه شبیه‌سازی پیشرفته توسط Avtech Scientific، یک شرکت اسرائیلی در حال توسعه است. کد منبع آن در ۱۴ مه ۲۰۱۵ برای انجمن منتشر شد، اعضای آن کمی بعد آن را برای بخش‌های علمی همه توزیع‌های لینوکس بسته‌بندی کردند. متعاقباً، گروه Khronos اهمیت ASL را تصدیق کرد و آن را در وب سایت خود در میان منابع مبتنی بر OpenCL فهرست کرد.

حوزه‌های کاربرد 
 دینامیک سیالات محاسباتی
 جراحی با کمک کامپیوتر
 سنجش مجازی
 اعتبارسنجی و آشتی داده‌های فرایند صنعتی
 بهینه‌سازی طراحی چند رشته‌ای
 طراحی اکتشافات فضایی
 مهندسی به کمک کامپیوتر
 کریستالوگرافی
 میکرو مایعات

مزایا و معایب

مزایا 
 C++ API (بدون نیاز به دانش OpenCL)
 رویکرد مرزی غوطه‌ور و بدون مش به کاربران اجازه می‌دهد مستقیماً از CAD به محاسبات حرکت کنند و تلاش پیش‌پردازش را کاهش دهند.
 کامپایل پویا یک لایه اضافی از بهینه‌سازی را در زمان اجرا فعال می‌کند (یعنی برای مجموعه پارامترهای خاصی که برنامه ارائه شده‌است)
 شتاب دهی خودکار سخت‌افزاری و موازی سازی برنامه‌ها
 استقرار همان برنامه بر روی انواع معماری‌های موازی - GPU, APU, FPGA, DSP، پردازنده‌های چند هسته ای
 توانایی مقابله با مرزهای پیچیده
 توانایی ترکیب فعل و انفعالات میکروسکوپی
 در دسترس بودن کد منبع

معایب 
 عدم وجود مستندات دقیق (علاوه بر راهنمای توسعه‌دهنده ایجاد شده از نظرات کد منبع)
 همه درایورهای OpenCL به اندازه کافی برای کتابخانه بالغ نیستند

امکانات 
ASL طیف وسیعی از ویژگی‌ها را برای حل تعدادی از مشکلات ارائه می‌دهد - از جریان‌های پیچیده سیال شامل واکنش‌های شیمیایی، آشفتگی و انتقال حرارت، تا مکانیک جامد و الاستیسیته.
 رابط: VTK / ParaView، MATLAB (صادرات).
 فرمت‌های فایل وارد کنید: stl .vtp .vtk .vti .mnc .dcm
 فرمت‌های فایل صادراتی: .vti .mat
 هندسه:
 هندسه انعطاف‌پذیر و پیچیده با استفاده از شبکه مستطیلی ساده
 رویکرد مرز غوطه ور بدون مش
 تولید و دستکاری اولیه‌های هندسی
 پدیده‌های اجرا شده:
 فرآیندهای حمل و نقل
 فرآیندهای حمل و نقل چند جزئی
 جریان سیال تراکم پذیر و تراکم ناپذیر
 واکنش‌های شیمیایی
 واکنش‌های الکترودی
 قابلیت ارتجاعی
 الاستیسیته همگن همگن
 منفذ الاستیسیته ایزوتروپیک همگن
 ردیابی رابط
 تکامل یک رابط
 تکامل یک رابط با سینتیک کریستالوگرافی

کاربردها 
ACTIVE - فناوری‌های محدودیت‌های فعال برای محیط‌های نامطلوب یا فرار (پروژه FP7 اروپا)

منابع 

دینامیک سیالات محاسباتی
کتابخانه‌های سی++
محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی
مقاله‌های ایجاد شده توسط ایجادگر
نرم‌افزارهای شیمی محاسباتی
نرم‌افزارهای علمی آزاد
نرم‌افزارهایی که از پروانه عمومی همگانی آفرو استفاده می‌کنند