Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Akantu
: Swiss-Made Open-Source Finite-Element LibraryAkantu
means 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 on ReadTheDocs
Akantu
In order to compile Akantu
any compiler supporting fully C++14 should work.
In addition some libraries are required:
For the python interface:
To run parallel simulations:
To use the static or implicit dynamic solvers at least one of the following libraries is needed:
To compile the tests and examples:
.deb
based systems > sudo apt install cmake libboost-dev gmsh libeigen3-dev
# For parallel
> sudo apt install mpi-default-dev libmumps-dev libscotch-dev
# For sequential
> sudo apt install libmumps-seq-dev
conda
This works only for sequential computation since mumps
from conda-forge is compiled without MPI support
> conda create -n akantu
> conda activate akantu
> conda install boost cmake
> conda install -c conda-forge mumps
homebrew
> brew install gcc
> brew install boost@1.76
> brew tap brewsci/num
> brew install brewsci-mumps --without-brewsci-parmetis
If it does not work you can edit url to http://graal.ens-lyon.fr/MUMPS/MUMPS_5.3.5.tar.gz using the command:
> brew edit brewsci/num
Akantu
is a CMake project, so to configure it, you can follow the usual way:
> cd akantu
> mkdir build
> cd build
> ccmake ..
[ Set the options that you need ]
> make
> make install
homebrew
You will need to specify the compiler explicitly:
> CC=gcc-12 CXX=g++-12 FC=gfortran-12 cmake ..
Considering the homebrew is installed in /opt/homebrew
Define the location of the Scotch
library path:
> cmake .. -DSCOTCH_LIBRARY="/opt/homebrew/lib/libscotch.dylib;/opt/homebrew/lib/libscotcherr.dylib;/opt/homebrew/lib/libscotcherrexit.dylib"
Specify path to all MUMPS
libraries:
> cmake .. -DMUMPS_DIR=/opt/homebrew/opt/brewsci-mumps
In case the above does not work, specify the MUMPS
path manually using (e.g.):
> cmake .. -DMUMPS_LIBRARY_COMMON=/opt/homebrew/opt/brewsci-mumps/lib/libmumps_common.dylib
If compilation does not work change the path of the failing libraries to brew downloads in /opt/homebrew/
.
You can install Akantu
using pip, this will install a pre-compiled version, this works only on Linux machines for now:
> pip install akantu
You can then import the package in a python script as:
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.
Any contribution is welcome, we are trying to follow a gitflow workflow, so the project developers
can create branches named features/<name of my feature>
or bugfixes/<name of the fix>
directly in the main akantu
repository.
External fellows can Fork the project.
In both cases the modifications have to be submitted in the form of a Merge Request.
If you want to ask for help concerning Akantu's compilation, usage or problem with the code do not hesitate to open an Issue on gitlab. If you want to contribute and don't know where to start, you are also invited to open an issue.
To help getting started, you can find examples with the source code in the
examples
sub-folder. If you just want to test the python examples without
having to compile the whole project you can use the following tarball
akantu-python-examples.tgz.
In addition to the examples, multiple tutorials using the python interface are
available as notebooks with pre-installed version of Akantu
on Renku. The
tutorials can be tested here:
FAQs
Akantu: Swiss-Made Open-Source Finite-Element Library
We found that akantu demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.