Package: akantu
Akantu: Swiss-Made Open-Source Finite-Element LibraryAkantumeans a little element in Kinyarwanda, a Bantu language. From now on it
is also an open-source object-oriented library which has the ambition to be
generic and efficient. Even though the code is written to be generic, Akantu
strength are in solid mechanics models for fracture and contact simulations.The full documentation can be found onReadTheDocsBuildingAkantuDependenciesIn order to compileAkantuany compiler supporting fully C++14 should work.
In addition some libraries are required:CMake (>= 3.5.1)Boost (pre-processor and Spirit)Eigen3 (if not present the build system will try to download it)For the python interface:Python (>=3 is recommended)pybind11 (if not present the build system will try to download it)To run parallel simulations:MPIScotchTo 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)PETScTo compile the tests and examples:Gmshgoogle-test (if not present the build system will try to download it)On.debbased systems>sudoaptinstallcmakelibboost-devgmshlibeigen3-dev# For parallel>sudoaptinstallmpi-default-devlibmumps-devlibscotch-dev# For sequential>sudoaptinstalllibmumps-seq-devUsingcondaThis works only for sequential computation sincemumpsfrom conda-forge is compiled without MPI support>condacreate-nakantu>condaactivateakantu>condainstallboostcmake>condainstall-cconda-forgemumpsUsinghomebrew>brewinstallgcc>brewinstallboost@1.76>brewtapbrewsci/num>brewinstallbrewsci-mumps--without-brewsci-parmetisIf it does not work you can edit url tohttp://graal.ens-lyon.fr/MUMPS/MUMPS_5.3.5.tar.gzusing the command:>breweditbrewsci/numConfiguring and compilationAkantuis aCMakeproject, so to configure it, you can follow the usual way:>cdakantu>mkdirbuild>cdbuild>ccmake..[Settheoptionsthatyouneed]>make>makeinstallOn Mac OS X withhomebrewYou will need to specify the compiler explicitly:>CC=gcc-12CXX=g++-12FC=gfortran-12cmake..Considering the homebrew is installed in/opt/homebrewDefine the location of theScotchlibrary path:>cmake..-DSCOTCH_LIBRARY="/opt/homebrew/lib/libscotch.dylib;/opt/homebrew/lib/libscotcherr.dylib;/opt/homebrew/lib/libscotcherrexit.dylib"Specify path to allMUMPSlibraries:>cmake..-DMUMPS_DIR=/opt/homebrew/opt/brewsci-mumpsIn case the above does not work, specify theMUMPSpath manually using (e.g.):>cmake..-DMUMPS_LIBRARY_COMMON=/opt/homebrew/opt/brewsci-mumps/lib/libmumps_common.dylibIf compilation does not work change the path of the failing libraries to brew downloads in/opt/homebrew/.Using the python interfaceYou can installAkantuusing pip, this will install a pre-compiled version, this works only on Linux machines for now:>pipinstallakantuYou can then import the package in a python script as:importakantuThe 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 onGitLab.ContributingContributing new features, bug fixesAny contribution is welcome, we are trying to follow agitflowworkflow, so the projectdeveloperscan create branches namedfeatures/<name of my feature>orbugfixes/<name of the fix>directly in the mainakanturepository.
External fellows canForkthe project.
In both cases the modifications have to be submitted in the form of aMerge Request.Asking for help, reporting issuesIf you want to ask for help concerning Akantu's compilation, usage or problem with the code do not hesitate to open anIssueon gitlab. If you want to contribute and don't know where to start, you are also invited to open an issue.Examples and Tutorials with the python interfaceTo help getting started, you can find examples with the source code in theexamplessub-folder. If you just want to test the python examples without
having to compile the whole project you can use the following tarballakantu-python-examples.tgz.In addition to the examples, multiple tutorials using the python interface are
available as notebooks with pre-installed version ofAkantuon Renku. The
tutorials can be tested here: