Skip to main content

KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.

Project description

Metis Application

The Metis application provides an interface to the METIS graph partitioning library, used within Kratos Multiphysics to generate mesh partitions for MPI runs.

The applicaiton is organized in a series of processes, each one of them providing an interface to a different partitioning algorithm. The algorithm most commonly used for finite elements is metis_divide_heterogeneous_input_process.h, which generates a partition of the mesh based on the nodal graph and can be used for meshes combining multiple element types.

Build instructions

Direct GNU/Linux install

Building the MetisApplication requires METIS libraries and their dependencies already installed on the system. The easiest way to get them is by the package manager of the GNU/Linux distribution. For example, in Ubuntu GNU/Linux:

sudo apt install libmetis-dev

However, there may be situations where downloading the packages may not be possible. In this case, other (potentially trickier) option is to download the source code and build the libraries. For more detailed and updated instructions for compiling METIS, GKlib, and other necessary packages, refer to Compiling Kratos with MPI support in the wiki.

Assuming that the dependencies are installed, the following steps are:

  1. Add the MetisApplication to the list of applications to be compiled in the building script for Kratos, as described in the install instructions.
export KRATOS_APPLICATIONS=
...
add_app ${KRATOS_APP_DIR}/MetisApplication
  1. Tell CMake where are located the libraries and headers of METIS, if CMake does not find them automatically. For example:
cmake -H"${KRATOS_SOURCE}" -B"${KRATOS_BUILD}" \
...
-DMETIS_ROOT_DIR="${HOME}/Projects/METIS/build"

Spack

Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on GNU/Linux, macOS, and many supercomputers. Spack is non-destructive: installing a new version of a package does not break existing installations, so many configurations of the same package can coexist.

To install Spack you just need to run the following command:

git clone -c feature.manyFiles=true https://github.com/spack/spack.git

To use it you will need to add the corresponding environment variables (or call spack_location/spack/bin/spack):

. spack_location/spack/share/spack/setup-env.sh

Then in order to install METIS:

spack install parmetis

If you want that the libraries are added automatically to LD_LIBRARY_PATH to run the following commands before loading the modules:

spack config add modules:prefix_inspections:lib64:[LD_LIBRARY_PATH]
spack config add modules:prefix_inspections:lib:[LD_LIBRARY_PATH]

Now you just need to load METIS:

spack load parmetis

Once to compile MetisApplication just remember to add the application to the cofigure bash script:

export KRATOS_APPLICATIONS=
...
add_app ${KRATOS_APP_DIR}/MetisApplication

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

KratosMetisApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

KratosMetisApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

KratosMetisApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

KratosMetisApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

KratosMetisApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

Details for the file KratosMetisApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KratosMetisApplication-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6d7e3f8e53376be9cba330da58b185e155e2701708ff417d5a481a627dd603c
MD5 9ea733ceabd060f00ff8923b900b83da
BLAKE2b-256 c2a00fad2e86b514cbd8b316a60497321f28ce3306337f44838797d1f0fcc8ff

See more details on using hashes here.

File details

Details for the file KratosMetisApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KratosMetisApplication-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0be9b49b5dd34a605629ed1a090a36301825e571ff73c3b078d163618ee69607
MD5 d9e024cb1211b6f9827f31b47222c162
BLAKE2b-256 3ec5b4143ce4be25ed6fd991481fea4e74c71759f59cbd03743680e170d1da0c

See more details on using hashes here.

File details

Details for the file KratosMetisApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for KratosMetisApplication-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b1a918ba60131cbd8c526373cf586803b144219b716c63fb994e7549ae6238f
MD5 e49bd7e9c5848282c3bf10cff2fdad9a
BLAKE2b-256 159d37810609ae2e8b30fa7df43bcb9568518751e9ad153ef5ce761ce72e8e2f

See more details on using hashes here.

File details

Details for the file KratosMetisApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMetisApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMetisApplication-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1701ce47dda417058da20849d6c9bb6f14d2c12c091959cd1f65acea8e154d94
MD5 095b2c6d0c69427e5e1bc5f0a1692628
BLAKE2b-256 4f028a37fb1e7b95081b1fc2a633087c14036e11148a162229438e6c31a46aa0

See more details on using hashes here.

File details

Details for the file KratosMetisApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosMetisApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.31.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/6.8.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosMetisApplication-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef9e24f23322e514434f6ff49ebb2e6ec2c2d47ee8f362a542e6585efc311140
MD5 edd343caea0f09f0cfee2c3d106086bd
BLAKE2b-256 783c1c5754554e64b51f145a32ffc34ddcd3f4c8a70d074d535f878a45774f8e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page