Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
58fc55365c02 | gallyamov | Bug fix on synchronization of matrix-vector multiplication product | Feb 9 2023 | ||||
feb1692ed4c6 | anciaux | Merge branch 'bugfixes/46-bug-in-strain-energy-split-and-missing-constraint-in… | Feb 7 2023 | ||||
894f3fa58ea4 | saduruss | add prints to phasefield tests | Feb 6 2023 | ||||
cc0b8dcbb6d0 | richart/saduruss | removed commented code | Feb 6 2023 | ||||
518da98ed1c3 | saduruss | Merge branch 'master' into bugfixes/46-bug-in-strain-energy-split-and-missing… | Feb 6 2023 | ||||
4d3a517e245d | saduruss | clean and fix in phase field material | Feb 3 2023 | ||||
608f43139c13 | richart | Make the previous commit compile | Jan 24 2023 | ||||
8209bc49e9a3 | saduruss | [skip ci] Random G_c for phasefield | Jan 24 2023 | ||||
19ccc799ad6e | richart | Made RandomInternalField generic to be usable by other models | Jan 24 2023 | ||||
00e344d9eb99 | richart | Wrong target modified in CMake | Jan 24 2023 | ||||
306e1c50812d | richart | Copied the mesh in the source folder for test_material_damage_non_local | Jan 24 2023 | ||||
a01c59ee807f | richart | Mess-up in the generalized trapezoidal coefficients | Jan 17 2023 | ||||
496e0760fd9b | saduruss | test for anisothropic phase field formulation | Jan 12 2023 | ||||
0b66d5449299 | richart | Merge branch 'bugfixes/init-dofmanager-virtual-call-badly-placed' into 'master' | Dec 23 2022 | ||||
e05fe4915447 | richart | Merge branch 'master' into bugfixes/init-dofmanager-virtual-call-badly-placed | Dec 22 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: