
Advanced Simulation Library (ASL) is a free and open-source
hardware-accelerated multiphysics
In computational modelling, multiphysics simulation (often shortened to simply "multiphysics") is defined as the simultaneous simulation of different aspects of a physical system or systems and the interactions among them. For example, simultaneou ...
simulation platform. It enables users to write customized numerical solvers in
C++
C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programmin ...
and deploy them on a variety of
massively parallel architectures, ranging from inexpensive
FPGA
A field-programmable gate array (FPGA) is a type of configurable integrated circuit that can be repeatedly programmed after manufacturing. FPGAs are a subset of logic devices referred to as programmable logic devices (PLDs). They consist of a ...
s,
DSPs and
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
s up to heterogeneous clusters and supercomputers. Its internal computational engine is written in
OpenCL
OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
and utilizes matrix-free solution techniques. ASL implements variety of modern numerical methods, i.a.
level-set method,
lattice Boltzmann,
immersed boundary. The
mesh-free, immersed boundary approach allows users to move from
CAD
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
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 dynamics, fluid flows. Computers are used to perform the calculations required ...
.
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 GPL version 3 and the ''Affero General Public License'' (non-GNU).
It is intended fo ...
with an optional commercial license (which is based on the permissive
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
).
History
Advanced Simulation Library is being developed by Avtech Scientific, an Israeli company. Its
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
was released to the community on 14 May 2015, whose members packaged it for scientific sections of all major
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
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 dynamics, fluid flows. Computers are used to perform the calculations required ...
*
Computer-assisted surgery
Computer-assisted surgery (CAS) represents a surgical concept and set of methods, that use computer technology for surgical planning, and for guiding or performing surgical interventions. CAS is also known as computer-aided surgery, computer-assist ...
*
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 mul ...
*
Design space exploration
*
Computer-aided engineering
Computer-aided engineering (CAE) is the general usage of technology to aid in tasks related to engineering analysis. Any use of technology to solve or assist engineering issues falls under this umbrella.
Overview
Following alongside the con ...
*
Crystallography
Crystallography is the branch of science devoted to the study of molecular and crystalline structure and properties. The word ''crystallography'' is derived from the Ancient Greek word (; "clear ice, rock-crystal"), and (; "to write"). In J ...
*
Microfluidics
Microfluidics refers to a system that manipulates a small amount of fluids (10−9 to 10−18 liters) using small channels with sizes of ten to hundreds of micrometres. It is a multidisciplinary field that involves molecular analysis, molecular bi ...
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
The Visualization Toolkit (VTK) is a free software system for 3D computer graphics, image processing and scientific visualization.''Visualization Handbook'', Academic Press, 2005, Chapter 30: the Visualization Toolkit/ref>
VTK is distributed und ...
/
ParaView
ParaView is an open-source multiple-platform application for interactive, scientific visualization. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail (LOD) models to maintain in ...
,
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, implementat ...
(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)
References
{{CAE software
Computational chemistry software
Computer-aided engineering software for Linux
Software using the GNU Affero General Public License
Computational fluid dynamics
Free science software
Open Source computer aided engineering applications
Articles containing video clips
Libraries
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
C++ numerical libraries
Free software programmed in C++