Advanced Simulation Library is a free and open source hardware accelerated multiphysics simulation platform and an extensible general purpose tool for solving Partial Differential Equations. It demonstrates remarkable performance, provides easy-to-use C++ API with readable math-resembling notation and hence enjoys significant user base across many areas of engineering and science, from both industrial and academic organizations. ASL utilizes matrix-free solution techniques that allow efficient parallelization and exploits all available hardware resources, such as SIMD, local cache, etc.. Once written, an ASL-based application can be deployed on a variety of architectures, such as CPU, GPU, FPGA, DSP, clusters and supercomputers, sometimes even without recompilation.

ASL has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid mechanics and elasticity.

Proprietary tools often constitute a black-box to the user, especially in the field of scientific computing. The availability of the source code, on the other hand, allows him to know exactly what happens on each and every step of the simulation and what assumption and approximations are being made. This approach is a fundamental principle of Open Science that enables reproducibility of research. By being open, ASL also offers users complete freedom to extend and customize its functionality, either by themselves or by third party experts. Furthermore existence of a vital, supportive community guarantees long term maintenance and sustainability of the software.

  • License: GNU Affero General Public License (AGPL) with an optional commercial license (based on the permissive MIT License).
  • Numerical methods: Finite Difference, Lattice Boltzmann, Immersed Boundary.
  • Computational engine: implemented in OpenCL, wrapped into C++ classes.
  • Platforms: cross-platform - Linux, Unix, Windows, Mac OS X.
  • Architectures: Embedded systems (FPGA, DSP), CPU, GPU, APU, MIC, clusters/supercomputers.
  • Interfacing: VTK/ParaView, MATLAB (export).
  • Geometry:
    • flexible and complex geometry using simple rectangular grid
    • mesh-free, immersed boundary approach allows to move from CAD directly to simulation
    • generation and manipulation of geometric primitives
  • Implemented phenomena: