Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
23afa0f74cab | richart | Correcting a warning at compilation | Jun 29 2022 | ||||
34f9b667ee80 | richart | Python module does not compile with python 3.11 | Jun 29 2022 | ||||
d44f4a69b78d | richart | Typo in zlib | Jun 10 2022 | ||||
2c20edca9355 | richart | Bug fix in the installation instructions and in the option protections | Jun 10 2022 | ||||
8f70816b5e8c | richart | Merge branch 'bugfixes/version-detection-in-ci' into 'master' | May 13 2022 | ||||
a309dba7d066 | richart | Debugging the version detection in the CI | May 13 2022 | ||||
9d1341e08698 | tdroch | Merge branch 'bugfixes/create_matrices_if_needed_by_user' into 'master' | May 10 2022 | ||||
d849be145a03 | Lucas Frérot | Merge branch 'bugfixes/multiple_small_bug_in_contact_mechanics' into 'master' | May 4 2022 | ||||
b8b5f49bb76d | richart | keeping old version but marking it deprecated | May 4 2022 | ||||
46de087fc5ed | richart | Changing the version from real to int to avoid exact real comparaison | May 3 2022 | ||||
e7ba0c1c0ee7 | richart | extanding python group interface | May 3 2022 | ||||
d95695ca47b4 | richart | Setting properly the model type in contact coupler | May 3 2022 | ||||
16c7f3f5d1ca | richart | Bu fix in the material selector | May 3 2022 | ||||
af35006dbf96 | richart | Creating submodule for debug and cleaning debug code | May 3 2022 | ||||
05dfe5c52a09 | richart | Merge branch 'features/structural_mechanics_lumped_mass' into 'master' | Apr 28 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: