HOM3 logo

Hierarchical Multiphysics Multiscale Methods

Getting started

Dependencies

HM3 build system requires cmake >= 3.0 and python >= 2.7. To generate the documentation doxygen is required.

For compiling HM3, a standard compliant C++14 compiler with support for a few language extensions (OpenMP, pragma once, zero-variadic-macro-arguments) is required. Only clang tip-of-trunk is currently tested. HM3 depends on the following external libraries:

For compiling the ParaView plugins the compiled sources of ParaView are needed.

How to build

Run ./aux/configure.py -h to get a description of the different build modes, build options, and targets available. In a nutshell:

make tests # Builds and runs all tests.
make vis   # Builds the visualization tools.
make fmt   # Reformats all source code files.
make cov   # Builds, run tests with coverage analysis, and generates report.
make site  # Builds the website.

FAQ

Why clang?

Is the only modern compiler that works find in both on Cray and IBM supercomputers and has OpenMP support.

Which Boost libraries are required?

Only the following header-only libraries are used:

These should be fetched automatically from github in the future.

Why MPICH?

Note: OpenMPI is not tested but it should work just fine.