Navigate: Overview | Configuration →


Download, build and run Musubi.


We use Mercurial (hg) for revision control. You need to have it installed on your system in order to download Musubi. Follow these instructions if you haven't, yet. Then, create a directory for everything that happens in these tutorials (we will call this directory apes, but you can use a different name. Inside this directory, clone the Musubi repository from by running

hg clone

in your console. If this worked, you have an up-to-date copy of the Musubi source code, which we will compile now.

If you already cloned Musubi you can update Musubi via:

hg pull
hg up


We use the waf build system, you can learn more about it from its website. Also, you need MPI installed on your system, see for example the OpenMPI website for instructions. Finally, you need to set environment variables FC and CC in order to assign the correct Fortran and C compilers to waf. The compilers should point to the MPI wrappers from your MPI installation. Typically these are mpif90 (Fortran) and mpicc (C). Set them with the bash commands

export CC=mpicc; export FC=mpif90

If you updated Musubi you need yo clean the old build and the coco preprocessor. If you cloned Musubi there is no need to do so.

./waf cleanall

Once you have done all this, navigate to your Musubi directory and use the command

./waf configure

to configure the compilation.

We are now ready to compile Musubi. Run

./waf build

to get a Musubi executable including Mus_Harvester for post-processing in the build subdirectory. To compile musubi only add the following argument:


If the compilation finishes without errors, you have Musubi ready to run your first test case!


To check your Musubi-installation, navigate to your musubi directory and create a required tracking directory for the output with

mkdir tracking

Execute Musubi with


which should result in loads of output, ending with a message similar to

Done with Musubi in [s]    1.864378E-01

indicating that everything worked fine. If you get any errors up to here, read the instructions again and follow them carefully. You need to have this running before you proceed.

Mesh Generation and Post-Processing

Most of the tutorials will require creation of a mesh and some post-processing of the results. The corresponding tools in our toolchain "APES tool chain" are Seeder for mesh-generation, for post-processing Seeder-Harvesting and Musubi-Harvesting. The installation procedure for Seeder is very similar to Musubi. Again, navigate to your apes directory and run

hg clone

to get a fresh copy of Seeder. Compile it by running

cd seeder
./waf configure build

and fix any errors before you proceed.

Once you are done with all that, we can start defining our first simulation.


Once you get errors running Musubi, it is possible that something is wrong with your code version. In order to get more detailed information concerning the errors you can type this command inside the musubi directory which is apes/musubi/ as default:

./waf distclean configure debug

If you run your simulation once again, you will get more information about the files that cause errors.

Now, you have to run Musubi from a different directory which is /build/debug/musubi instead of /build/musubi.

Next chapter: Configuration →