
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 up to heterogeneous clusters and supercomputers. Its internal computational engine is written in
OpenCL
OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-prog ...
and utilizes matrix-free solution techniques. ASL implements variety of modern numerical methods, i.a.
level-set method
Level-set methods (LSM) are a conceptual framework for using level sets as a tool for numerical analysis of surfaces and shapes. The advantage of the level-set model is that one can perform numerical computations involving curves and surfaces on a ...
,
lattice Boltzmann
The lattice Boltzmann methods (LBM), originated from the lattice gas automata (LGA) method (Hardy- Pomeau-Pazzis and Frisch- Hasslacher- Pomeau models), is a class of computational fluid dynamics (CFD) methods for fluid simulation. Instead of sol ...
,
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
Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate t ...
.
It is distributed under the free
GNU Affero General Public License
The GNU Affero General Public License (GNU AGPL) is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU General Public License, version 3 and the Affero General Public License.
The Free Sof ...
with an optional commercial license (which is based on the permissive
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license co ...
).
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
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
distributions shortly thereafter. Subsequently,
Khronos Group
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
acknowledged the significance of ASL and listed it on its website among OpenCL-based resources.
Application areas
*
Computational fluid dynamics
Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate t ...
*
Computer-assisted surgery
*
Virtual sensing
*
Industrial process data validation and reconciliation
*
Multidisciplinary design optimization
Multi-disciplinary design optimization (MDO) is a field of engineering that uses optimization methods to solve design problems incorporating a number of disciplines. It is also known as multidisciplinary system design optimization (MSDO), and Multi ...
*
Design space exploration
*
Computer-aided engineering
Computer-aided engineering (CAE) is the broad usage of computer software to aid in engineering analysis tasks. It includes , , , durability and optimization. It is included with computer-aided design (CAD) and computer-aided manufacturing (CAM) ...
*
Crystallography
Crystallography is the experimental science of determining the arrangement of atoms in crystalline solids. Crystallography is a fundamental subject in the fields of materials science and solid-state physics (condensed matter physics). The wo ...
*
Microfluidics
Microfluidics refers to the behavior, precise control, and manipulation of fluids that are geometrically constrained to a small scale (typically sub-millimeter) at which surface forces dominate volumetric forces. It is a multidisciplinary field tha ...
Advantages and disadvantages
Advantages
* C++ API (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
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.
* Interfacing:
VTK/
ParaView,
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
(export).
** import file formats: .stl .vtp .vtk .vti .mnc
.dcm
** export file formats: .vti .mat
* Geometry:
** flexible and complex geometry using simple
rectangular grid
A regular grid is a tessellation of ''n''-dimensional Euclidean space by congruent parallelotopes (e.g. bricks).
Its opposite is irregular grid.
Grids of this type appear on graph paper and may be used in finite element analysis, finite volume ...
** 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)
References
{{CAE software
Computational chemistry software
Computer-aided engineering software for Linux
Software using the GNU AGPL license
Computational fluid dynamics
Free science software
Open Source computer aided engineering applications
Articles containing video clips
Libraries
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
Numerical libraries
Numerical libraries, C++