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

If you're not sure about the file name format, learn more about wheel file names.

kratosmetisapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file kratosmetisapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 284c1f6ed4bad5b871dd64a972f749c11c54622fa0177cd88093f22894587b09
MD5 a44aa075fb8e0ff47007fd652e490d0e
BLAKE2b-256 d3603e50f32432bc8ad65c5459c21c040fa7ac3ae2a83b8313d35d8cb33fbea3

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca37c280027501a71110a2a2d885597cb8e092c6ab30734b799ee575e71077cb
MD5 a67b7e9befbfec290f1c85d74ce9a43c
BLAKE2b-256 85f77dfc8c8ad0d4874b60c7450a2d98571ed097c9f697a0c24749e99e7be260

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9f3bdbc60249cfc7af2a2d191e99081a5fc11e259bbfaca28682a5fe8d8635b
MD5 f600bd480cbf7ecab6cb57d853dc84be
BLAKE2b-256 9dcad10c2c42b2ad04e41dd247c78d856d71a4d620b6a746db78c5d652c7071c

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6895f93afea833dd5dbf39d934fcfda42aaa0427a20c2aede6664b3108e1c7e6
MD5 58d52bbdda727be0ee1c826876044826
BLAKE2b-256 201ea5f15fa0036e6ec58a29b747eb6959f4b1d395157dd3818fe13b5a8eb002

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d6e0905d20a523fa36dcaee9cbcd66e9761e31870ca5b4918725fa9ef6ef4d7
MD5 1bff00b23ed09788881ace1aee6839dd
BLAKE2b-256 a7f2158a968e80d87e6db47e5e8850cac8653cf7143242140c1764aa1bf9ca6a

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 00d0d4ae2417c10881614a5a6385110110e702e447cbe807665d170dc0932f55
MD5 d5495574956c314ec21c39d3c80851b2
BLAKE2b-256 5c3e3d6aa78af4601748253fa3e991bb01372b736e8b7ac642e31e608f18272d

See more details on using hashes here.

File details

Details for the file kratosmetisapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.3-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa5aa859557c64586a9a6002037b2d2f8eaedd618aad1a9f99d7492b6c7286f0
MD5 79edc0d25405e1f3c760d73f21958b49
BLAKE2b-256 6839ff905e85711f723901d55aa23d2bbac0228525d85329f7b63031c9730428

See more details on using hashes here.

Supported by

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