Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
8904f04f7581 | FMatti | Format and clean up code | Dec 14 2022 | ||||
1e2efd911098 | FMatti | Clean up and document nodes finding procedure | Dec 14 2022 | ||||
a5230aba2aa1 | FMatti | Improve and speed up contact nodes finding | Dec 14 2022 | ||||
b021dc4b0946 | FMatti | Extend tests and refactor convergence check | Dec 12 2022 | ||||
92b7d9b7e2fa | FMatti | Add contact detection tests to reference code | Dec 8 2022 | ||||
d2acf1346113 | FMatti | Rework contact detection and add rigorous test | Dec 8 2022 | ||||
f5969abc5cbd | FMatti | extend examples and add unit tests | Nov 29 2022 | ||||
d972a06b62c3 | ploumhans | Hopefully fix test | Nov 24 2022 | ||||
0b1e88c6fda3 | ploumhans | Enable internodes when running in CI | Nov 18 2022 | ||||
3babab38c687 | ploumhans | Actually run internodes tests | Nov 18 2022 | ||||
f536cfda09b2 | FMatti | Rework convergence check and radial parameter search | Nov 14 2022 | ||||
56187a9bcd3d | ploumhans | Increase GIT_DEPTH to 500 to fix build | Nov 7 2022 | ||||
2b9f4602c3d6 | ploumhans | Move max radius iterations to a const variable | Nov 7 2022 | ||||
407c78e435ec | matti/ploumhans | Adress interface changes in examples | Nov 7 2022 | ||||
598dd68d63ea | matti/ploumhans | Adabt implementations to match INTERNODES paper | Nov 7 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: