Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
3b7d23e08456 | tdroch | Merge branch 'master' into bugfixes/access_PBC_slaves_python | Nov 11 2022 | ||||
d2b7f09a687f | richart | I seams 0 is 200, lets hope that 500 is enough | Nov 11 2022 | ||||
e2c4998ec70d | tdroch | Return list of slaves | Nov 11 2022 | ||||
9ed7e640912f | richart | Merge branch 'bugfixes/bug-fix-in-contact-and-interface-extension' into 'master' | Oct 31 2022 | ||||
d846de9e46df | richart | Solving the code-quality docker problem | Oct 14 2022 | ||||
24b44a6c9180 | richart | Adding possibility to write a cohesive material in python | Oct 14 2022 | ||||
327856a9918d | richart | Missing part in the mesh interface | Oct 6 2022 | ||||
f3609ba141a0 | richart | Cleaning deprecated code | Sep 30 2022 | ||||
173d75062333 | richart | Extending cohesive inserter interface | Sep 30 2022 | ||||
be03cb269697 | richart | Remove dead code | Sep 30 2022 | ||||
3d31c2ef5df0 | richart | Adding possibility to set seed in environment | Sep 30 2022 | ||||
d9bea8fd5095 | richart | Bug fix in matrix vector product | Sep 30 2022 | ||||
fb0acba68469 | richart | Merge branch 'bugfixes/41-group-not-properly-updated-when-cohesive-elements-are… | Jul 21 2022 | ||||
e9572b464dec | richart | Bug fix for element types that are not surface elements | Jul 20 2022 | ||||
ed25970cd51e | richart | Update mesh connectivity to reflect mesh_facets changes | Jul 19 2022 |
README.md
Akantu: Swiss-Made Open-Source Finite-Element Library
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 ambi- tion to be generic and efficient.
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
- blas/lapack
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
sh > sudo apt install cmake libboost-dev zlib1g-dev liblapack-dev libblas-dev gmsh # For parallel > sudo apt install mpi-default-dev libmumps-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:
sh > 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:
sh > pip install akantu
You can then import the package in a python script as:
python 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: