LINUX Version 1.0.0.Alpha

INSTALLATION STEPS

Step 1: Install external dependencies

  • Before installing MercuryDPM, you need to install a set of required external dependencies:

    1. C++ and Fortran compilers: Mercury uses C++14 features and thus requires an up-to-date compiler.
      We suggest you use gcc
      5.2 or higher. To compile our Fortran files, we recommend gfortran.

    2. git version 2.2 or higher

    3. cmake version 2.8.14 or higher (http://cmake.org/cmake)

    4. python version 3

On Ubuntu 16.04, you can install the minimum dependencies with the following command:

sudo apt install build-essential g++ gfortran git cmake python3

  • We further recommend you to install a set of optional external dependencies:

    1. doxygen (http://www.doxygen.nl/download.html) and graphviz (dot) (https://graphviz.gitlab.io/download/), used to create a local copy of the documentation

    2. X11 used to visualise your simulation results with xballs

    3. Paraview used to visualise your simulation results, rendered in 3D

    4. OpenMPI libraries for parallel computing

On Ubuntu 16.04, you can install these optional dependencies with the following command:

sudo apt install doxygen graphviz libx11-dev libxt-dev libxres-dev libxtst-dev paraview openmpi-bin mpi-default-dev

Step 2: Install MercuryDPM

  • To install Mercury, open the terminal.

  • Create a new directory in which to install MercuryDPM, and enter this directory:

mkdir MercuryDPM

cd MercuryDPM

The developers version of MercuryDPM trunk is now located in a git bitbucket repository. Hence you now have three options to get the developers version of the code. We list them in order of simplicity.

  1. Direct local clone:

git clone https://bitbucket.org/mercurydpm/mercurydpm.git MercurySource

This option is recommended if you simply and quickly want to use/test the develops version of MercuryDPM.

  1. Private fork:
    Goto https://bitbucket.org/mercurydpm/mercurydpm/
    Create an account
    Click the the three dots and select 'Fork this repository'

This option is recommended if you want to develop a (private) feature (which we hope/encourage you to push back at a later date) in/with MercuryDPM. This will create a personalised local repo of MercuryDPM on bitbucket. You then must also clone this to your computer to install the comment will be similar to

git clone https://bitbucket.org<yourBitBucketName>/mercurydpm.git MercurySource


  1. Main (open) developers branch:

If you are a member of the MercuryDPM development you can also create a public branch of MercuryDPM in the main git repository. This way people can swap to you branch and see/help with your new in development feature. This is the open-development model which is highly encouraged. This is an advanced option and requires you to be added to the developers list. If you are interested in this please contact the MercuryDPM team.

  • Create another directory called "MercuryBuild", and enter the folder "MercuryBuild" by typing

mkdir MercuryBuild

cd MercuryBuild

  • Create the Makefiles necessary for compiling MercuryDPM using cmake:

cmake ../MercurySource

  • Note 1: If you don't want to use the default cmake options, use ccmake instead of cmake. In ccmake, click "c" to configure, then modify the configuration as needed . Then click "c" to configure again. Finally, click "g" to generate the Makefiles.

  • Note 2: To modify the build options, you can also using cmake's command line interface instead of ccmake. For example, you can change to build in Release mode instead of Debug mode using cmake ../MercurySource -DBUILD=Release

  • To check if the installation was successful, go to your build directory "MercuryBuild" using the terminal and type

make fullTest

This will compile all MercuryDPM components, and run the selftest suite.

  • If all the tests have passed, MercuryDPM is successfully installed on your machine.


For Windows users

Follow the Windows installation instructions of the developer's version (Trunk).

For MacOS users

Follow the MacOS installation instructions of the developer's version (Trunk).


MercuryDPM mailing list

Please sign up for the mailing list to receive updates about the code.