ASLI (A Simple Lattice Infiller) is an open source tool for creating lattice infills with varying unit cell type, size and/or feature
The easiest way to get started with ASLI is to use the pre-build binaries found in releases. For more advanced advanced users, it may be more interesting to build ASLI from scratch. The prerequisites and procedure to build ASLI are detailed below.
ASLI is written in C++ and makes use of CMake and GNU Make to automate the building process. ASLI also has the following dependencies:
- AdaptTools
- ALGLIB
- CGAL
- Eigen
- MMG
- TETGEN
- Yaml-cpp
- QASLI (optional, the GUI of ASLI)
- QT (optional, required if compiling the GUI)
Most of these dependencies are included with ASLI so that the user does not need to worry about them. Not included with ASLI are GMP, MPFR, Boost and TBB (optional). QT, required to compile the GUI of ASLI is not included either. To be able to compile ASLI, depending on the compilation settings, users will need some or all of these libraries available on their system.
If you are missing some required or optional dependencies they can be installed on Debian and Ubuntu with a couple of commands:
Install build tools:
sudo apt-get install git cmakeInstall compilers:
sudo apt-get install g++Install libraries (GMP, MPFR, Boost):
sudo apt-get install libgmp-dev libmpfr-dev libboost-all-devInstall libraries (TBB):
sudo apt-get install libtbb-devInstall libraries (QT):
sudo apt-get install qt3d5-devIn windows compilation is supported with MSYS2. If you are missing some required or optional dependencies they can be installed in MSYS2 with a couple of commands:
Install build tools:
pacman -S git cmake mingw-w64-x86_64-cmakeInstall compilers, and libraries (GMP, MPFR, Boost):
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S msys2-runtime-devel
pacman -S mingw-w64-x86_64-boostInstall libraries (TBB):
pacman -S mingw-w64-x86_64-intel-tbbInstall libraries (QT):
pacman -S mingw-w64-x86_64-qt5Add the location of tbb.dll and tbbmalloc.tbb to the windows environment variables.
Assuming CMake as well as GNU Make are installed on the system and all required dependencies are available the main steps to build are:
-
Retrieve ASLI from the repository:
git clone https://github.com/tpms-lattice/ASLI.git
-
Compile:
cd ASLI mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DMARCH_NATIVE=ON .. make
To clean up, simply delete the build and bin directory found in the source directory.
Assuming MSYS2 is installed on the system and all required dependencies are available the main steps to build are:
-
Retrieve ASLI from the repository:
git clone https://github.com/tpms-lattice/ASLI.git
-
Compile:
cd ASLI mkdir build cd build cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DMARCH_NATIVE=ON .. make
To clean up, simply delete the build and bin directory found in the source directory.
To compile ASLI in parallel mode include -DCGAL_ACTIVATE_CONCURRENT_MESH_3=ON when calling cmake. Parallel mode is currently limited to the CGAL workflow.
To compile ASLI together with its GUI include -DASLI_GUI=ON when calling cmake.
To run ASLI from the command line you only need to type ./ASLI config.yml if using Linux or ASLI.exe config.yml if using windows. The config.yml file specified points to the configuration file of ASLI.
If you find a bug please post an issue. If you have questions regarding ASLI you can post them on stackoverflow with the tag ASLI.
Perez-Boerema, F., M. Barzegari and L. Geris (2022). A flexible and easy-to-use open-source tool for building functionally graded scaffolds, Virtual and Physical Prototyping, 17:3, 682-699, DOI: 10.1080/17452759.2022.2048956.
ASLI is licensed under the terms of the GNU Affero General Public License .
Copyright © KU Leuven 2019-2022
