Recent Commits
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
56be2315a654 | phimuell/richart | Apply 2 suggestion(s) to 2 file(s) | Apr 28 2022 | ||||
f6df60ddf7b7 | richart | Giving access to alpha and beta in NewmarkBeta | Apr 27 2022 | ||||
c5fb4eb8f6a9 | richart | Merge branch 'master' into bugfixes/create_matrices_if_needed_by_user | Apr 27 2022 | ||||
392f7c3dd293 | richart | Merge branch 'bugfixes/39-the-python-example-for-phasefield-are-broken-due-to-a… | Apr 27 2022 | ||||
792f29f6d28d | richart | Making K optional in Newmark-beta for explicit with consistent mass computations | Apr 27 2022 | ||||
489f68024a53 | richart | Adding the default argument to `setIntegrationScheme` | Apr 26 2022 | ||||
af00844e74fe | anciaux | Merge branch 'bugfixes/65-Making-the-integrators-available-in-Python' into… | Apr 8 2022 | ||||
522a8942da5d | Philip Mueller, HS | Fixed some compilation errors in the `python/py_integration_scheme.cc` file. | Mar 30 2022 | ||||
6864c9ffb9ca | Philip Mueller, HS | Fixed the CMake of the Python interface. | Mar 30 2022 | ||||
7c8e3eb1d349 | richart | Making IntegratorScheme available in python | Mar 18 2022 | ||||
809d12911433 | richart | Missing matrix type | Mar 18 2022 | ||||
b592be01af06 | richart | Create the M and K matrices if the assembly function is called directly by the… | Mar 18 2022 | ||||
f2068e9a8030 | richart | Merge branch 'features/missing-python-interface-for-mesh-data' into 'master' | Feb 18 2022 | ||||
0262abf49444 | richart | More typo in FindMumps | Feb 10 2022 | ||||
e2b2f0ed2cc1 | richart | Code cleaning and debuging after rebase | Feb 10 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 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: