ART

Advanced Simulation Library (ASL) is free and open-source hardware-accelerated multiphysics simulation platform. It enables users to write customized numerical solvers in C++ and deploy them on a variety of massively parallel architectures, ranging from inexpensive FPGAs, DSPs and GPUs[1] up to heterogeneous clusters and supercomputers. Its internal computational engine is written in OpenCL and utilizes matrix-free solution techniques. ASL implements variety of modern numerical methods, i.a. level-set method, lattice Boltzmann, immersed Boundary. Mesh-free, immersed boundary approach allows users to move from CAD directly to simulation, reducing pre-processing efforts and number of potential errors. ASL can be used to model various coupled physical and chemical phenomena, especially in the field of computational fluid dynamics. It is distributed under the free GNU Affero General Public License with an optional commercial license (which is based on the permissive MIT License).

History

Advanced Simulation Library is being developed by Avtech Scientific, an Israeli company. Its source code was released to the community on 14 May 2015, whose members packaged it for scientific sections of all major Linux distributions shortly thereafter.[2][3][4][5][6][7] Subsequently, Khronos Group acknowledged the significance of ASL and listed it on its website among OpenCL-based resources.[8]
Application areas

Computational fluid dynamics
Computer-assisted surgery
Virtual sensing
Industrial process data validation and reconciliation
Multidisciplinary design optimization
Design space exploration
Computer-aided engineering
Crystallography
Microfluidics

Advantages and disadvantages
Advantages

C++ API[9] (no OpenCL knowledge required)
Mesh-free, immersed boundary approach allows users to move from CAD directly to computations reducing pre-processing effort
Dynamic compilation enables an additional layer of optimization at run-time (i.e. for a specific parameters set the application was provided with)
Automatic hardware acceleration and parallelization of applications
Deployment of same program on a variety of parallel architectures - GPU, APU, FPGA, DSP, multicore CPUs
Ability to deal with complex boundaries
Ability to incorporate microscopic interactions
Availability of the source code

Disadvantages

Absence of detailed documentation (besides the Developer Guide generated from the source code comments)
Not all OpenCL drivers are mature enough for the library[10]

Features

ASL provides a range of features to solve number of problems - from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid mechanics and elasticity.[11]

Interfacing: VTK/ParaView, MATLAB (export).
import file formats: .stl .vtp .vtk .vti .mnc .dcm
export file formats: .vti .mat
Geometry:
flexible and complex geometry using simple rectangular grid
mesh-free, immersed boundary approach
generation and manipulation of geometric primitives
Implemented phenomena:
Transport processes
multicomponent transport processes
compressible and incompressible fluid flow
Chemical reactions
electrode reactions
Elasticity
homogeneous isotropic elasticity
homogeneous isotropic poroelasticity
Interface tracking
evolution of an interface
evolution of an interface with crystallographic kinetics

Uses

ACTIVE - Active Constraints Technologies for Ill-defined or Volatile Environments (European FP7 Project)[12][13][14]

References

"ASL - expanding software ecosystem for the DSP/FPGA/GPU market" (PDF).
"ASL enters Linux".
"ASL for OpenSuse".
"ASL for Debian".
"ASL for Gentoo".
"ASL for Fedora". Archived from the original on 8 December 2015. Retrieved 30 November 2015.
"ASL for Arch Linux".
"ASL among Khronos' OpenCL resources".
"Example of an aerodynamic simulation".
"ASL deployment: problematic drivers".
"About Advanced Simulation Library: hgpu.org".
"ACTIVE Project: Intraoperative Brain Shift".
"ASL on www.technology.org".
"ASL on interestingengineering.com".

World

Index

Hellenica World - Scientific Library

Retrieved from "http://en.wikipedia.org/"
All text is available under the terms of the GNU Free Documentation License