# Advanced Simulation Library
Advanced Simulation Library (ASL), ücretsiz ve açık kaynaklı donanım-hızlandırmalı çoklu fizik simülasyon platformudur. Kullanıcıların C++ dilinde özelleştirilmiş sayısal çözücüler yazmasına ve bunları ucuz FPGA, DSP ve GPU'lardan heterojen kümelere ve süper bilgisayarlara kadar çeşitli çok büyük ölçekte paralel mimariler üzerinde dağıtmasına olanak tanır. Dahili hesaplama motoru OpenCL ile yazılmıştır ve matris içermeyen çözüm tekniklerini kullanır. ASL, seviye kümesi yöntemi, lattice Boltzmann, daldırılmış sınır yöntemi|daldırılmış sınır]] gibi çeşitli modern sayısal yöntemleri uygular. Örgü içermeyen, daldırılmış sınır yaklaşımı, kullanıcıların CAD'den doğrudan simülasyona geçmesine olanak tanıyarak ön işleme çabalarını ve potansiyel hata sayısını azaltır. ASL, özellikle hesaplamalı akışkanlar dinamiği alanında çeşitli birleşik fiziksel ve kimyasal olayları modellemek için kullanılabilir.
Ücretsiz GNU Affero Genel Kamu Lisansı altında, isteğe bağlı bir ticari lisansla (izin verilen MIT Lisansı temel alınarak) dağıtılır.


## Tarihçe.
Advanced Simulation Library (Gelişmiş Simülasyon Kütüphanesi), İsrailli bir şirket olan Avtech Scientific tarafından geliştirilmektedir. Kaynak kodu, 14 Mayıs 2015 tarihinde topluluğun kullanımına açılmış ve üyeleri kısa bir süre sonra tüm büyük Linux dağıtımlarının bilimsel bölümleri için paketlemiştir. Subsequently, Khronos Group acknowledged the significance of ASL and listed it on its website among OpenCL-based resources.


## Uygulama alanları.
  - Hesaplamalı akışkanlar dinamiği
  - Bilgisayar destekli cerrahi
  - Sanal algılama
  - Endüstriyel süreç veri doğrulama ve mutabakatı
  - Çok disiplinli tasarım optimizasyonu
  - Tasarım uzay araştırması
  - Bilgisayar destekli mühendislik
  - Kristalografi
  - Mikroakışkanlar


## Avantajlar ve dezavantajlar.
### Avantajları.
  - C++ API (OpenCL bilgisi gerekmez)
  - Mesh içermeyen, daldırılmış sınır yaklaşımı, kullanıcıların CAD'den doğrudan hesaplamalara geçmesine olanak tanıyarak ön işleme çabasını azaltır
  - Dinamik derleme, çalışma zamanında ek bir optimizasyon katmanı sağlar (yani, uygulamaya sağlanan belirli bir parametre seti için)
  - Otomatik donanım hızlandırma ve uygulamaların paralelleştirilmesi
  - Aynı programın çeşitli paralel mimariler üzerinde dağıtımı - GPU, APU, FPGA, DSP, çok çekirdekli CPU'lar
  - Karmaşık sınırlarla başa çıkabilme becerisi
  - Mikroskobik etkileşimleri dahil etme yeteneği
  - Kaynak kodun kullanılabilirliği


### Dezavantajları.
  - Ayrıntılı dokümantasyonun olmaması (kaynak kod yorumlarından oluşturulan Geliştirici Kılavuzu dışında)
  - Tüm OpenCL sürücüleri kütüphane için yeterince olgun değildir


## Özellikler.
ASL, kimyasal reaksiyonlar, türbülans ve ısı transferini içeren karmaşık akışkan akışlarından katı mekaniği ve elastikiyete kadar bir dizi problemi çözmek için bir dizi özellik sunar.
  - Arayüz oluşturma: VTK/ParaView, MATLAB (dışa aktarma).
   - içe aktarmayı destekleyen dosya formatları: .stl .vtp .vtk .vti .mnc .dcm
   - dışa aktarmayı destekleyen dosya formatları: .vti .mat
  - Geometri:
   - basit düzenli ızgara kullanarak esnek ve karmaşık geometri
   - örgü içermeyen, daldırılmış sınır yaklaşımı
   - geometrik ilkellerin oluşturulması ve manipülasyonu
  - Uygulanan fenomenler:
   - Taşıma süreçleri
    - çok bileşenli taşıma süreçleri
    - Sıkıştırılabilir ve sıkıştırılamaz akışkan akışı
   - Kimyasal reaksiyonlar
    - elektrot reaksiyonları
   - Esneklik
    - homojen izotropik elastisite
    - homojen izotropik poroelastisite
   - Arayüz takibi
    - Bir arayüzün evrimi
    - Kristalografik kinetiğe sahip bir arayüzün evrimi


## Kullanıldığı yerler.
  - ACTIVE - Active Constraints Technologies for Ill-defined or Volatile Environments (Avrupa FP7 Projesi)