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 cmake
Install compilers:
sudo apt-get install g++
Install libraries (GMP, MPFR, Boost):
sudo apt-get install libgmp-dev libmpfr-dev libboost-all-dev
Install libraries (TBB):
sudo apt-get install libtbb-dev
Install libraries (QT):
sudo apt-get install qt3d5-dev
In 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-cmake
Install 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-boost
Install libraries (TBB):
pacman -S mingw-w64-x86_64-intel-tbb
Install libraries (QT):
pacman -S mingw-w64-x86_64-qt5
Add 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
.
Contact: asli (at) kuleuven . be
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