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.0-cp314-cp314-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

kratosmetisapplication-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15cb0b87504294ad9637e28ba8cc361eeeaeb0a57e96dc7b2f03595c8a86e1fe
MD5 ffda4080000621ff9b496490d9002290
BLAKE2b-256 96616bba8f6c128fd60a92c9b8225bfe9ea6103fe2be0caafa74cfceb51ac82c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1bb9ee94609336bc3dd9b61d5aababe6d6b24affde0db93471a07e9729b98ea
MD5 446e8e26e6e8cff59f224ad8e667959d
BLAKE2b-256 7a7a68a63e33d99f155d8646bf9255d4a11003f51c2a605a8f63e5275ff727fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa3c66c066105f92b9bcd69b79bdd62107a93d12e77cddbeb874707591d02b85
MD5 c6c7e21ce4486d3b5d7fc1e2454b09f8
BLAKE2b-256 b203df4e8f0a862d3e6c482513b605b723b7032e3a647453e220a2f52b335bd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 938b30b838900c096cec402e6eada61b18ca063f71f2a534e94fca3f4891a7bd
MD5 a4129895a4e5d03569718e8ee0f2d83b
BLAKE2b-256 fb12d65a40c2a94d234d053c6d0cc7ed3b8f709a46ead339fe7277d618e1ec96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6dd5c77c21c710c5820b09c05b4c5fc363fb719ff2a7d95c68d7897cde8b3438
MD5 0cf8e2e1a35d36d46bc98c9fcd5d4b33
BLAKE2b-256 bded23a211a471354e5f6cf10f4eb9b61a1dddc6a97709f68920a209d19bd3dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cdea0c04253b745ec83cc27786259037383bfb93c365d5b86342cf3e4dbba575
MD5 e6ca855b6b95920103bd0497a4b39de8
BLAKE2b-256 0b19d630e1dba7e0932e2fd291a49854251cf1dfc49c05db1eae23f1f37a0b24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kratosmetisapplication-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a933386dcad293ab44bfb69ba81209858afc1d4aa4500821f6f709bf8f61f1d
MD5 776ddfaf7e5d1bee88e3df2dcfb94858
BLAKE2b-256 458eaf77ed85fc85466a76bf3b9dbfb81261a5849d8463f744159dba3d7f8bf4

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