Hubbry Logo
Advanced Simulation LibraryAdvanced Simulation LibraryMain
Open search
Advanced Simulation Library
Community hub
Advanced Simulation Library
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something
Advanced Simulation Library
Advanced Simulation Library
from Wikipedia

Advanced Simulation Library
DeveloperAvtech Scientific
Initial release14 May 2015; 10 years ago (2015-05-14)
Stable release
0.1.7 / 9 November 2016; 9 years ago (2016-11-09)
Repositorygithub.com/AvtechScientific/ASL
Written inC++
Operating systemUnix/Linux, Windows, Mac
TypeMultiphysics, Computer-aided engineering, Computational fluid dynamics, Simulation software
LicenseGNU Affero General Public License, optional commercial license (based on MIT License)
Websiteasl.avtechscientific.com
Multicomponent flow video
Computer-assisted cryosurgery
Simulation of a microfluidic device for separating mixtures of proteins
Coating procedure employing physical vapor deposition (PVD) method
Image-guided neurosurgery, brain deformation simulation
Aerodynamics of a locomotive in a tunnel

Advanced Simulation Library (ASL) is a 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. The 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

[edit]

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

[edit]

Advantages and disadvantages

[edit]

Advantages

[edit]
  • 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

[edit]
  • 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

[edit]

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

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

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The Advanced Simulation Library (ASL) is a free, open-source, hardware-accelerated platform designed for solving partial differential equations (PDEs) that model coupled physical and chemical phenomena, such as complex fluid flows, chemical reactions, , , and . Developed by Avtech Scientific, an Israeli company specializing in , ASL leverages for cross-platform execution on diverse hardware including CPUs, GPUs, FPGAs, DSPs, clusters, and supercomputers, enabling high-performance, massively parallel computations without requiring users to manage low-level parallel programming. Its computational engine employs matrix-free techniques, finite difference methods, , and a mesh-free immersed boundary approach to handle complex geometries efficiently while minimizing preprocessing overhead. ASL was first released as on May 14, 2015, under the GNU Affero General Public License (AGPL) version 3, with the latest stable release, version 0.1.7, issued on November 9, 2016; an optional commercial license is available for proprietary applications. Development has been limited since 2016, though professional support services are provided by Avtech Scientific for integration, training, and customization. The library is cross-platform, supporting , Unix, Windows, and macOS, and features a simple that abstracts OpenCL complexities, allowing users to focus on physics modeling rather than hardware optimization. Key strengths of ASL include its support for immersed boundary methods on rectangular grids for flexible geometry handling, SIMD vectorization and local cache utilization for performance, and extensibility for custom PDE solvers, making it suitable for both research and industrial applications. Notable benchmarks demonstrate its efficiency, such as simulations of multicomponent flows, processes, and of locomotives, often outperforming traditional mesh-based solvers in speed and memory usage on parallel architectures. ASL finds applications in fields like (CFD), virtual sensing for diagnostics, image-guided , , and modeling in .

Overview and Development

Core Description

The Advanced Simulation Library (ASL) is a free and open-source hardware-accelerated platform designed for solving partial differential equations (PDEs). Developed as a general-purpose computational tool, it enables the modeling of coupled physical and chemical processes, such as those in and . ASL primarily utilizes a mesh-free immersed boundary approach for on simple structured rectangular grids, facilitating simulations of complex geometries without body-fitted meshes. Implemented in C++ with an OpenCL-based computational engine, it leverages matrix-free techniques for efficient performance across diverse hardware, including GPUs and heterogeneous clusters. The library supports major operating systems, including Unix/, Windows, and Mac OS. ASL is developed by Avtech Scientific, an Israeli company specializing in high-performance scientific solutions. Its is hosted on under the GNU Affero General Public License (AGPL), with an optional commercial license available for proprietary use.

History and Releases

The Advanced Simulation Library (ASL) originated from efforts by Avtech Scientific, an Israeli company, to create a free, open-source platform enabling accessible multiphysics simulations without requiring users to possess deep expertise in hardware programming or low-level optimizations. Avtech Scientific released the initial source code to the open-source community on May 14, 2015, marking the library's public debut as a hardware-accelerated tool based on for solving partial differential equations. Early adoption followed swiftly, with ASL being packaged for scientific repositories in major Linux distributions including , , , , Gentoo, OpenSUSE, and Red Hat-based systems, facilitating broader accessibility for researchers and developers. The project also garnered recognition from the , which highlighted its open-sourcing as a milestone for -based software in a June 2015 announcement. The first stable release, version 0.1.7, arrived on November 9, , incorporating refinements to dependencies and core functionality. Development milestones up to that point included incremental updates, such as version 0.1.2 in June 2015, focused on dependency enhancements. Public development activity has since tapered off, with the repository reflecting 246 commits across 8 contributors and no releases beyond , suggesting a transition to private maintenance by Avtech Scientific while maintaining availability for commercial integration and support.

Technical Architecture

Numerical Methods

The Advanced Simulation Library (ASL) employs and for discretizing partial differential equations (PDEs) on structured rectangular grids, enabling efficient approximation of spatial derivatives through difference quotients on a Cartesian . This approach is well-suited for regular domains and facilitates straightforward implementation of higher-order schemes for accuracy in solving conservation laws and transport equations. To address complex geometries without generating conforming meshes, ASL incorporates a mesh-free immersed boundary method, which embeds solid boundaries or interfaces directly into the Eulerian fluid grid using forcing terms or indicator functions. This technique avoids the computational overhead of and remeshing, allowing simulations to proceed from CAD models by treating boundaries as immersed objects that influence the flow field through added momentum sources. ASL supports a range of physical phenomena through dedicated PDE models, including transport processes such as and , chemical reaction kinetics via species conservation equations, linear and nonlinear elasticity modeled by stress-strain relations, multiphase flows, and interface tracking to resolve sharp discontinuities like free surfaces or phase boundaries. These capabilities are integrated into the library's multiphysics framework, permitting coupled simulations where multiple phenomena interact within the same computational domain. Efficiency in large-scale computations is achieved through matrix-free techniques, which eliminate the need for explicit assembly and storage of coefficient matrices in the discretized systems. Instead, operators are applied on-the-fly during iterative solvers like conjugate gradient or multigrid methods, reducing memory usage and enabling seamless while maintaining for nonlinear problems. A representative application is the of incompressible viscous flows governed by the Navier-Stokes equations, derived from the and for Newtonian fluids under the assumptions of constant and negligible effects. The enforces volume preservation: u=0\nabla \cdot \mathbf{u} = 0 The equation balances inertial, pressure, viscous, and external forces: ut+(u)u=1ρp+ν2u+f\frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla) \mathbf{u} = -\frac{1}{\rho} \nabla p + \nu \nabla^2 \mathbf{u} + \mathbf{f} where u\mathbf{u} is the velocity field, pp is pressure, ρ\rho is density, ν\nu is kinematic viscosity, and f\mathbf{f} represents body forces. In ASL, these equations are discretized using finite differences and the immersed boundary method to handle arbitrary geometries without grid modification.

Hardware Support and Acceleration

The Advanced Simulation Library (ASL) utilizes an OpenCL-based computational engine to enable hardware acceleration across a diverse range of platforms, ensuring portability without requiring platform-specific code modifications. This engine supports execution on graphics processing units (GPUs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), heterogeneous clusters, and supercomputers, allowing simulations to leverage available hardware resources seamlessly. ASL achieves automatic through its design, where users interact via intuitive that abstract the underlying complexity, eliminating the need for developers to possess expertise in parallel programming or OpenCL APIs. For instance, operations resembling standard in C++ are translated into optimized OpenCL kernels, enabling efficient parallel execution on supported devices. Additionally, ASL incorporates matrix-free methods, which avoid explicit matrix assembly and storage, thereby enhancing memory efficiency and reducing the overall storage requirements for large-scale simulations. Performance benchmarks demonstrate ASL's effectiveness on parallel architectures, achieving significantly higher speeds compared to CPU-only solvers for solving large-scale partial differential equations (PDEs). These gains stem from exploiting (SIMD) parallelism and local cache optimizations inherent in the implementation. However, challenges arise from the varying maturity of drivers across hardware vendors, which can lead to inconsistent or compatibility issues on certain platforms, particularly older or less-optimized devices.

Key Features

Simulation Capabilities

As of version 0.1.7 (November 2016), with no updates since, the Advanced Simulation Library (ASL) provides a robust framework for multiphysics modeling, enabling the coupling of diverse physical phenomena such as , , chemical reactions, and within a single environment. This integration allows users to simulate complex interactions, for instance, combining fluid flow with thermal effects or chemical reactions with structural deformations, using and as core numerical approaches. The platform's design facilitates seamless coupling through its extensible architecture, supporting applications ranging from reactive flows to multiphase systems. For handling complex geometries, ASL employs a mesh-free immersed boundary method, which embeds arbitrary shapes—such as those imported directly from CAD files—into a uniform Cartesian grid without the need for . This approach simplifies workflows for irregular domains, such as simulating flow around a model, and ensures accurate representation of boundaries while maintaining computational efficiency. Additionally, ASL supports interface tracking for evolving boundaries in multiphase or free-surface flows, allowing precise of phenomena like droplet dynamics or phase changes. ASL's customizable solvers are accessible via a user-friendly C++ API, permitting the definition of user-specific partial differential equations (PDEs) through straightforward class implementations. This extensibility positions ASL as a general-purpose tool for hyperbolic and parabolic PDE systems, enabling researchers to implement models for advanced scenarios like custom reaction kinetics or non-standard equations. Leveraging for , these solvers can run on diverse devices including CPUs, GPUs, and FPGAs, enhancing performance for large-scale computations. Post-processing capabilities in ASL include built-in support for data visualization and export, integrating directly with tools like and for and . Users can generate state files for interactive exploration, such as velocity field visualizations, and export results to formats compatible with for further statistical processing. This ensures comprehensive handling of simulation outputs, from raw field data to derived metrics, streamlining the transition from computation to insight.

Integration and Interfaces

As of version 0.1.7 (November 2016), the Advanced Simulation Library (ASL) supports a range of input and output file formats to facilitate seamless data exchange in simulation workflows. For input, it accommodates files in STL format, visualization data in VTP, , and VTI formats, as well as files in MNC and (DCM) formats, enabling direct incorporation of complex geometries and volumetric data without extensive conversion steps. Output is primarily handled through VTI for structured grid visualization and MAT for compatibility with environments, supporting post-processing and analysis in external tools. ASL integrates with established visualization and scripting tools to enhance its usability in broader computational pipelines. It interfaces directly with the and through the ASL::aslvtk library, allowing users to export simulation results for interactive rendering and analysis without additional intermediaries. For scripting and prototyping, ASL provides export capabilities to , enabling data manipulation and visualization within that ecosystem. A key aspect of ASL's design is its reduced pre-processing requirements, achieved via a mesh-free immersed boundary approach that permits direct import of CAD models and medical images—such as those in STL or DCM formats—bypassing traditional meshing tools and accelerating workflow setup. This feature is particularly beneficial for applications involving intricate geometries, where conventional meshing can introduce errors or computational overhead. The library's API is structured around high-level C++ classes that abstract the underlying OpenCL engine, presenting an intuitive, math-like notation for defining simulations and geometries. These classes, documented in the developer guide, allow developers to embed ASL into custom applications with minimal boilerplate, focusing on high-level constructs rather than low-level hardware details.

Applications and Uses

Scientific Applications

The Advanced Simulation Library (ASL) has been applied in (CFD) research to model complex flows, including and separation processes in . In studies, ASL simulates airflow around vehicles, such as the of a in a , enabling researchers to analyze distributions and flow patterns in confined spaces. For protein separation, ASL has been used to simulate microfluidic devices that separate protein mixtures based on size and charge, supporting biochemical research into purification techniques. In biomedical simulations, ASL facilitates modeling of tissue interactions and surgical procedures. It supports applications by simulating ice ball formation and in biological tissues, aiding researchers in optimizing probe placement for tumor . For , ASL computes real-time deformation during procedures, integrating patient-specific data from MRI or CT scans to predict tissue shifts and improve image-guided accuracy. This capability was demonstrated in the ACTIVE European FP7 , where ASL modeled intraoperative shift for enhanced surgical and robotic assistance. ASL also contributes to crystallography and material science through virtual sensing simulations, where it reconstructs internal structures and properties from surface measurements, such as stress fields in crystalline materials. In research validations, ASL has been employed to verify simulations against experimental data in and , ensuring in multiphysics studies like coupled flow and reaction systems.

Industrial and Practical Uses

The Advanced Simulation Library (ASL) has been applied in industrial settings for simulating (PVD) coating processes, enabling the modeling of thin-film deposition in manufacturing and . These simulations leverage ASL's multiphysics capabilities to predict coating uniformity and material transport under conditions, as demonstrated in official benchmarks that showcase its performance for such industrial workflows. In engineering design, ASL supports flow simulations to analyze aerodynamic forces and airflow patterns around in confined environments like tunnels. For instance, an example implementation uses the lattice Boltzmann method to compute drag and distributions on a model, aiding in the optimization of rail efficiency and safety without physical prototypes. ASL facilitates (CAE) for product validation across sectors such as automotive and medical devices, where it develops 3D numerical models to test structural integrity and fluid interactions under operational loads. This integration allows engineers to validate designs iteratively, reducing development costs and time to market. Avtech Scientific, the primary developer of ASL, undertakes collaborative projects in industry-academia partnerships, applying the library to real-world challenges in biopharmaceuticals and semiconductors, including phase-field simulations for and surface processes. These efforts combine academic expertise with industrial needs to customize ASL for specific applications like microfluidic separation and planning. ASL's deployability enhances its practical utility in engineering workflows, offering cross-platform compatibility via acceleration that runs seamlessly on GPUs, FPGAs, clusters, and supercomputers without requiring recompilation, thus integrating into diverse industrial pipelines.

Advantages and Limitations

Strengths

The Advanced Simulation Library (ASL) offers significant accessibility through its intuitive C++ , which abstracts the complexities of programming, allowing users without specialized GPU expertise to leverage for high-performance simulations. This design enables developers and scientists to write simulations using familiar , promoting ease of adoption across diverse user bases while maintaining transparency via its open-source codebase. ASL's efficiency stems from its mesh-free immersed boundary method, which eliminates the need for extensive and pre-processing typically required in traditional finite element or volume approaches, thereby reducing setup time and computational overhead. Additionally, its matrix-free solution techniques optimize memory usage by avoiding dense matrix storage, allowing for simulations on large-scale problems with limited resources, such as modeling complex multiphysics phenomena involving millions of grid points. The library's portability is a key advantage, as it supports execution on a wide array of hardware—including CPUs, GPUs, FPGAs, DSPs, clusters, and supercomputers—across platforms like , Windows, and macOS, without necessitating code modifications thanks to OpenCL's unified . This cross-architecture compatibility facilitates seamless deployment in varied environments, from desktops to systems. ASL is cost-effective, providing a free open-source core under the GNU AGPLv3 license, which supports non-commercial and research use without fees, while offering an optional commercial license under MIT terms for proprietary applications requiring restricted distribution. Performance benefits arise from automatic parallelization via , enabling simulations to run substantially faster than equivalent CPU-only tools; for instance, in a multicomponent flow benchmark with over 10 million points, ASL completed 10,000 iterations in approximately 390 seconds on an K80 GPU, demonstrating efficient utilization of parallel hardware for real-world problems.

Challenges and Disadvantages

Despite its open-source nature, the Advanced Simulation Library (ASL) suffers from limited , which primarily consists of a quick start guide, installation instructions, and developer-oriented references with a handful of code examples, rather than comprehensive tutorials or user manuals that could facilitate broader adoption. This sparse coverage of user guides and practical examples can hinder accessibility for newcomers or those without strong programming backgrounds. ASL's ecosystem remains immature due to its heavy reliance on for , where driver support varies significantly across platforms and may lack robustness on newer hardware. For instance, has been deprecated by Apple in favor of Metal since macOS 10.14 in 2018, limiting portability and performance on modern devices without additional workarounds. This dependence can result in compatibility issues on emerging architectures, requiring users to verify and potentially troubleshoot vendor-specific drivers. Development of ASL appears to have stagnated, with the most recent public release (version 0.1.7) occurring in November 2016 and no further significant activity as of November 2025, leaving it potentially outdated for optimizations on post-2016 hardware advancements like newer GPU generations or enhanced parallel computing frameworks. As a result, users may encounter unaddressed bugs or missed opportunities for integration with contemporary tools, reducing its competitiveness against actively maintained alternatives. In terms of scalability, ASL is less mature for extremely large-scale simulations on supercomputers compared to commercial software suites, which often feature more refined optimizations and enterprise-level support for massive node clusters. While ASL supports heterogeneous clusters, its matrix-free approach, though efficient for memory, may not scale as seamlessly to petascale runs without custom extensions. Although ASL's is designed for simplicity with high-level that abstract low-level details, customizing advanced partial differential equations (PDEs) demands proficiency in C++ programming, presenting a steep for users seeking to extend beyond predefined solvers.

Community and Resources

Licensing and Availability

The Advanced Simulation Library (ASL) is primarily distributed under the GNU Affero General Public License version 3 (AGPLv3), a that permits free use, modification, and redistribution while requiring that any modifications or derivative works be made available under the same license, particularly for network-based deployments where users interact with the software remotely. This ensures that remains accessible to the community, fostering collaborative development, but it mandates sharing of when the software is offered over a network. For users seeking closed-source or proprietary applications, Avtech Scientific offers an optional commercial license based on the permissive , which allows for private modifications and distribution without the AGPL's source-sharing requirements. This commercial option is tailored for industrial or enterprise environments where protection is prioritized, and interested parties can contact Avtech Scientific directly for licensing details. ASL is freely available for download from its official repository, where releases provide archives, with binaries available through package managers in supported distributions such as and under scientific computing sections as libraries like libasl-dev, enabling easy installation via package managers such as apt. The project has garnered community involvement, with 8 contributors listed on , and its was first publicly released in 2015. The latest release, version 0.1.7, was made on November 9, 2023. As of November 2025, no further releases or significant updates have occurred.

Documentation and Support

The Advanced Simulation Library (ASL) provides comprehensive official documentation through its Developer Guide and User Guide, hosted at asl.avtechscientific.com/doc. The Developer Guide offers detailed API references, code examples, and instructions for writing custom simulations, emphasizing integration with OpenCL for hardware acceleration. The User Guide covers practical aspects such as installation, compilation using CMake, and basic workflow setup, making it accessible for initial users. Tutorials and examples are integrated into the documentation to facilitate learning and application development. For instance, the User Guide includes step-by-step instructions for running the locomotive flow simulation example, which demonstrates aerodynamics in a tunnel environment using a provided STL geometry file. Post-processing tutorials highlight visualization techniques with tools like ParaView, using state files such as locomotive.pvsm to apply filters for velocity isosurfaces and pressure contours from VTI output files. These resources prioritize hands-on examples over abstract theory, with source code available in the repository's examples/flow directory. Community engagement occurs primarily through the GitHub repository at github.com/AvtechScientific/ASL, where users report bugs and request features via the issues tracker. The project's wiki supplements the official guides with additional user-oriented content, including expanded installation notes and contribution guidelines. While dedicated forums are limited, collaborations with Avtech Scientific often provide indirect community support through research partnerships. Benchmarks are documented on the official benchmarks page, offering performance comparisons for key simulations such as multicomponent flow in cross-coupled , processes, and . These examples illustrate ASL's efficiency on various hardware, with results presented via screenshots and metrics to guide optimization. Support for ASL combines commercial and open-source models. Avtech Scientific offers professional consulting and dedicated assistance for enterprise users, focusing on customization and deployment. For the open-source , enhancements rely on user-submitted pull requests, with guidelines in the contribute section encouraging code validation, new benchmarks, and documentation improvements.

References

Add your contribution
Related Hubs
Contribute something
User Avatar
No comments yet.