rAKA/c6b4c9d7204afeatures/missing-python…
features/missing-python-interface-for-mesh-data vs master
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
8b7452d376ef | richart | Modified for clang outputs | Feb 9 2022 | ||||
3c8af7b90b9e | richart | Defining a Manjaro docker that has akantu dependencies | Feb 9 2022 | ||||
379414117a91 | richart | Detecting presence of pybind11 | Feb 9 2022 | ||||
76b8b3b52ba7 | richart | Improving MUMPS detection | Feb 9 2022 | ||||
5992a06b3dae | richart | Typo and adding non deprecated version of variables | Feb 4 2022 | ||||
00a2c05cf860 | richart | Forcing skip_mpi_cxx in a way to not generate a warning | Feb 4 2022 | ||||
f48c4d280deb | richart | Forcing MPI to look only for the needed langagues | Feb 4 2022 | ||||
f20936f0d508 | richart | Implemented inflate which does the opposite of flatten | Feb 2 2022 | ||||
8f5d0ba53123 | richart | Enforce MUMPS to be loaded last | Feb 2 2022 | ||||
bf2b96ba7301 | richart | Typo WARN -> WARNING | Feb 2 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: