Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
32ba7f54c6bb | Nicolas Richart | Merge branch 'master' into bugfixes/flatten-internal-that-are-missing | Jan 17 2022 | ||||
fbdc2ac1ae19 | richart | Merge branch 'bugfixes/docker-image' into 'master' | Jan 15 2022 | ||||
96aea35d9bf2 | Nicolas Richart | Changed debian:testing to debian:bullseye and corrected coverage | Jan 15 2022 | ||||
9c40e0686a82 | richart | Merge branch 'bugfixes/cmake_regex_error' into 'master' | Jan 15 2022 | ||||
faa3ae1123b2 | anciaux | Merge branch 'master' into bugfixes/cmake_regex_error | Jan 14 2022 | ||||
cb44d0f7690c | tdroch | Merge branch 'bugfixes/36-pretty-print-of-akantu-array' into 'master' | Jan 14 2022 | ||||
e8261daf649e | anciaux | change apt-get to apt hoping to have the key problem fixed | Jan 14 2022 | ||||
b58c882ac2a1 | anciaux | Some cmake version complains about an illegal character | Jan 13 2022 | ||||
2610f04da5bc | Nicolas Richart | Debugging warning linter | Jan 12 2022 | ||||
1bf1286f15f4 | Nicolas Richart | Updating pterry printers and adding missing regexp for Arrays | Jan 11 2022 | ||||
dc73cc98c872 | richart | Merge branch 'features/moving-pypi-package-in-main-akantu' into 'master' | Dec 23 2021 | ||||
4d4db01864a7 | richart | This makes the CI build the python wheel - on master it pushes the wheel to the… | Dec 23 2021 | ||||
849f02d8326e | Nicolas Richart | Removing early out of a loop that can cause an flatten internal to not be… | Dec 17 2021 | ||||
1c72ce33b004 | tdroch | Merge branch 'features/terms-to-add-in-python' into 'master' | Nov 23 2021 | ||||
6503defbf56c | Nicolas Richart | Bug fix in the interface | Nov 10 2021 |
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 libzlib-dev liblapack3 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:
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: