For more information, please visit http://asl.org.il.
Advanced Simulation Library (ASL) is a free and open source multiphysics simulation software package. Its computational engine is based, among others, on the Lattice Boltzmann Methods and is written in OpenCL which enable extraordinarily efficient deployment on a variety of massively parallel architectures, ranging from inexpensive FPGAs, DSPs and GPUs up to heterogeneous clusters and supercomputers. The engine is hidden entirely behind C++ classes, so that no OpenCL knowledge is required from application programmers. ASL can be utilized to model various coupled physical and chemical phenomena and employed in a multitude of fields: computational fluid dynamics, virtual sensing, industrial process data validation and reconciliation, image-guided surgery, computer-aided engineering, high-performance scientific computing, crystallography, etc..
ASL is distributed under the free GNU Affero General Public License (AGPLv3) with an optional commercial license.
Professional consulting, training and integration services are provided by Avtech Scientific, whose team created and continues to extend the library. The company offers innovative R&D solutions and is involved in diverse academic and industrial collaborative projects dealing with complex multidisciplinary problems.
- Install cmake (>=3.0.2, BSD License) and the required libraries:
- Download and extract the ASL source code archive.
- Create a build directory:
mkdir build-asl; cd build-asl
- Use cmake generator to produce Makefiles:
cmake -G "Unix Makefiles" ../ASL
or project files for your IDE (Visual Studio, Xcode, Eclipse, etc.):cmake -G "Visual Studio 10" ../ASL
- Run make (as root if installing into default destination
/usr/local
):make install
- Go to examples:
cd examples/flow/locomotive
- Download geometry file locomotive.stl from the ASL input data page.
- Run:
./asl-locomotive --input locomotive.stl
Optionally: change parameters./asl-locomotive --input locomotive.stl --dx 1 --dt 2
or write all of them into a file for later editing/reuse -./asl-locomotive -g bigGrid.ini
. List all available options -./asl-locomotive -h
. - Post-processing: see step by step example and locomotive.pvsm - the ParaView state file.
- Take a look on examples and the API documentation, start with examples/flow/locomotive.cc
- ASL installation supplies
ASL.pc
andASLConfig.cmake
files. To build your program using:
pkg-config
:c++ `pkg-config --cflags --libs ASL` -std=c++11 -o flow flow.cc
cmake
: write a basicCMakeLists.txt
file:
project(locomotive)
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
find_package(ASL 0.1.4 CONFIG REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_executable(locomotive locomotive.cc)
target_link_libraries(locomotive PRIVATE ASL::aslnum ASL::aslvtk ASL::asl)