Skip to main content

Akantu: Swiss-Made Open-Source Finite-Element Library

Project description

Akantu: Swiss-Made Open-Source Finite-Element Library

joss license readthedoc

Akantu means a little element in Kinyarwanda, a Bantu language. From now on it is also an open-source object-oriented library which has the ambition to be generic and efficient. Even though the code is written to be generic, Akantu strength are in solid mechanics models for fracture and contact simulations.

The full documentation can be found on ReadTheDocs

Building Akantu

Dependencies

In order to compile Akantu any compiler supporting fully C++14 should work. In addition some libraries are required:

  • CMake (>= 3.5.1)
  • Boost (preprocessor and Spirit)
  • zlib
  • Eigen3 (if not present the build system will try to download it)

For the python interface:

  • Python (>=3 is recommended)
  • pybind11 (if not present the build system will try to download it)

To run parallel simulations:

  • MPI
  • Scotch

To use the static or implicit dynamic solvers at least one of the following libraries is needed:

  • MUMPS (since this is usually compiled in static you also need MUMPS dependencies)
  • PETSc

To compile the tests and examples:

  • Gmsh
  • google-test (if not present the build system will try to download it)

On .deb based systems

> sudo apt install cmake libboost-dev zlib1g-dev gmsh libeigen3-dev
# For parallel
> sudo apt install mpi-default-dev libmumps-dev libscotch-dev
# For sequential
> sudo apt install libmumps-seq-dev 

Configuring and compilation

Akantu is a CMake project, so to configure it, you can follow the usual way:

  > cd akantu
  > mkdir build
  > cd build
  > ccmake ..
  [ Set the options that you need ]
  > make
  > make install

Using the python interface

You can install Akantu using pip, this will install a pre-compiled version:

  > pip install akantu

You can then import the package in a python script as:

  import akantu

The python API is similar to the C++ one. If you encounter any problem with the python interface, you are welcome to do a merge request or post an issue on GitLab.

Tutorials with the python interface

To help getting started, multiple tutorials using the python interface are available as notebooks with pre-installed version of Akantu on Binder. The following tutorials are currently available:

Plate whith a hole loaded

Loaded cohesive crack

Making your constitutive law in python

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

akantu-5.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

akantu-5.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

akantu-5.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

akantu-5.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

akantu-5.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.4 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page