Skip to content

MmgTools/ParMmg

Repository files navigation

Build status

ParMmg is an open source software for parallel mesh adaptation of 3D volume meshes. The algorithm of parallel mesh adaptation is inspired from the Yales2 algorithm (see 1). ParMmg uses the Mmg software to perform the sequential remeshing steps.

Get and compile the ParMmg project

Needed tools

To get and build ParMmg, you will need:

  • Git: to download the code you will have to use a git manager. You can install a git manager from the link below but there are many other git clients that you can use:

    Note that if you uses Microsoft Visual Studio (Windows OS), you can simply activate the Git Module of the application.

  • CMake : ParMmg uses the CMake building system that can be downloaded on the following web page: https://cmake.org/download/. On Windows OS, once CMake is installed, please do not forget to mark the option:

    "Add CMake to the system PATH for all users"
    

ParMmg download and compilation

Unix-like OS (Linux, MacOS...)

  1. Get the repository:
      wget https://gitlab.inria.fr/ParMmg/ParMmg/-/archive/alpha/ParMmg-1.0.0.alpha.zip

or

      git clone https://gitlab.inria.fr/ParMmg/ParMmg.git

The project sources are available under the src/ directory.

  1. By default ParMmg download and install automatically Mmg and Metis (as CMake external projects):
      cd ParMmg  
      mkdir build  
      cd build  
      cmake ..  
      make  
      make install

If the make install command fail, try to run the sudo make install command. If you don't have root access, please refers to the Installation section of the setup guide of Mmg and follow the same steps.

If you don't have internet access and/or want to use your own installation of Mmg (resp. Metis), you can disable the automatic download of Mmg setting the DOWNLOAD_MMG (resp. DOWNLOAD_METIS) CMake variable to OFF. In this case, you can help CMake to find Mmg (resp. Metis) by specifying the source directory of Mmg in the MMG_DIR variable and the build directory of Mmg in the MMG_BUILDDIR variable (resp. the installation directory of Metis in the METIS_DIR variable).

Example:

    cd ParMmg  
    mkdir build  
    cd build  
    cmake -DDOWNLOAD_MMG=OFF -DMMG_DIR=~/mmg -DMMG_BUILDDIR=~/mmg/build ..  
    cmake -DDOWNLOAD_METIS=OFF -DMETIS_DIR=~/metis-install ..  
    make  
    make install

The parmmg application is available under the parmmg_O3 command.

Note that if you use some specific options and want to set it easily, you can use a shell script to execute the previous commands. An example is provided in the Mmg wiki here.

Windows OS

For now we do not provide the windows portability.

Documentation

A short documentation is available here. To get ParMmg help, run:

  parmmg_O3 -h

To see the ParMmg default option:

  parmmg_O3 -val

Algorithm

The algorithm used in ParMmg has been developped by the Coria team and is detailed here.

About the team

ParMmg's current developers and maintainers are Luca Cirrottola and Algiane Froehly.

License and copyright

Code is under the terms of the GNU Lesser General Public License.

Copyright © Bx INP/Inria/UBordeaux, 2018- .

Reference

Three-dimensional adaptive domain remeshing, implicit domain meshing, and applications to free and moving boundary problems - C. Dapogny, C. Dobrzynski and P. Frey - April 1, 2014 - JCP

Mesh adaptation for large-eddy simulations in complex geometries. - P. Benard, G. Balarac, V. Moureau, C. Dobrzynski, G. Lartigue, et al. - 2016 - International Journal for Numerical Methods in Fluids