GithubHelp home page GithubHelp logo

ijundada / asli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tpms-lattice/asli

0.0 0.0 0.0 26.95 MB

A Simple Lattice Infiller

License: Other

Shell 0.09% JavaScript 0.01% C++ 84.90% Python 0.88% Perl 0.02% C 5.62% Emacs Lisp 0.01% Fortran 2.15% CSS 0.01% Cuda 0.21% Makefile 0.02% HTML 4.52% CMake 1.53% Dockerfile 0.01% Roff 0.01% Starlark 0.04%

asli's Introduction

ASLI (A Simple Lattice Infiller) is an open source tool for creating lattice infills with varying unit cell type, size and/or feature

 

Website Release License

Ubuntu support Windows support

Getting started with ASLI

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.

Prerequisites

ASLI is written in C++ and makes use of CMake and GNU Make to automate the building process. ASLI also has the following dependencies:

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.

Install dependencies

Linux

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

Windows (MSYS2)

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

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.

Downloading and compiling ASLI

Linux

Assuming CMake as well as GNU Make are installed on the system and all required dependencies are available the main steps to build are:

  1. Retrieve ASLI from the repository:

    git clone https://github.com/tpms-lattice/ASLI.git
  2. 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.

Windows

Assuming MSYS2 is installed on the system and all required dependencies are available the main steps to build are:

  1. Retrieve ASLI from the repository:

    git clone https://github.com/tpms-lattice/ASLI.git
  2. 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.

Parallel mode

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.

Graphical user interface

To compile ASLI together with its GUI include -DASLI_GUI=ON when calling cmake.

Running ASLI

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.

Issues and questions

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

Contact: asli (at) kuleuven . be

Reference

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.

License

ASLI is licensed under the terms of the GNU Affero General Public License .

Copyright © KU Leuven 2019-2022

asli's People

Contributors

tpms-lattice avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.