__ _ __ / /' /\ `\ \ \___ __ /\ ,/' __ __\` __ _ ` /'_ `\\ /\ \/\ \`\` /'__`\ \ \ \/\ \L\ \\ `\\ \_/ |`\/' \/ __/ \_\ \_\ \____ \\ `\__\ \___/ /\__/\ \____\ \/_/\/_/\/___L\ \`\/_/ \/__/ \/_/ \/____/ /\____/ \_/__/
A collision between two particles in a DNS simulation from `CORIA <http://coria.fr>`_. The field displayed is the Gauss curvature.
A library to compute differential geometry properties on 3D objects¶
Mercur(v)e (or Hg(v)e) is a C++ library currently built on top of VTK aimed at calculating differential geometry properties of 3D objects within the framework of fluid dynamics. Use cases are categorization of 3D objects (i.e. liquid droplets) in DNS of two-phase flows or turbulent structure in DNS of single-phase flows.
Before diving into the documentation, please beware that:
This repository contains the
dns folder with all the DNS simulation outputs.
To develop you won’t need them, so to not lose time to download them (they are
stored using Git LFS), you can clone doing:
GIT_LFS_SKIP_SMUDGE=1 git clone ...
This will prevent the download of the big files that will be replaced by the Git LFS pointers.
You can access the documentation at http://docs.hg.rdb.is
Building the Library¶
To build this library you need:
A fairly recent
A fairly recent
vtk(should work with VTK > 6.x)
You should be able to install them with your distribution package manager.
In order to build it just create a directory named
build and do an
out-of-source build with cmake
mkdir build cd build cmake ..
CMake should be able to find the dependencies by itself if they’re installed in standard location. If it doesn’t you can provide the path to the third party libraries manually, to force the discovery if you installed VTK in non-standard locations.
NOTE Remember to load the right modules if your system is equipped with some sort of environment modules manager
Testing the application¶
In order to enable the testing of the library, you need to switch on the right flag within cmake
cmake -DBUILD_TESTS:BOOL=ON ..
In order to run the tests, you will need
``Catch2` <https://github.com/catchorg/Catch2>`_. If
cmake is not able to find
it in the
PATH, it will download it for you automatically
Building the documentation¶
To build the documentation that is hosted at http://docs.hg.rdb.is, you will
python with some packages. The
download the dependencies for you (yet?), so you need to install with your
package manager at least
Then you can create a virtualenv and install the python packages that are needed to render the documentation doing
pip install -r requirements.txt
requirements.txt file is found in the