ParMmg2D is an open source software for parallel mesh adaptation of 2D surface meshes. The parallel mesh adaptation algorithm is based on iterative remeshing and repartitioning of the distributed mesh (see 1). It is inspired by the Yales2 algorithm (see 2). ParMmg2D uses the Mmg software to perform the sequential remeshing steps.
ParMmg2D
is built on Mmg
but it is not officially patronized by the Mmg Consortium, thus it does not benefit from the same professional user support. Support is currently done with love by the developers and the community, on their own initiative and free time, and without related funding.
Feel free to contact the maintainers if you think that an advanced usage of ParMmg2D
could be useful for your project, or to discuss opportunities for collaborations on specific developments.
To get and build ParMmg2D, 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:
- Official Git client (command line program)
- GitKraken
- SourceTree
Note that if you uses Microsoft Visual Studio (Windows OS), you can simply activate the Git Module of the application.
-
CMake : ParMmg2D 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"
- Get the repository:
git clone https://github.com/MmgTools/ParMmg2D.git
The project sources are available under the src/ directory.
- By default ParMmg2D download and install automatically Mmg and Metis (as CMake external projects):
cd ParMmg2D
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 ParMmg2D
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 parmmg2d application is available under the parmmg2d_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.
For now we do not provide Windows portability.
To get ParMmg2D help, run:
parmmg2d_O3 -h
To see the ParMmg2D default option:
parmmg2d_O3 -val
The parallel algorithm used in ParMmg2D has been developed by the Coria team and is described here. Its current implementation and differences directly derived from the 3D approach here.
ParMmg2D's current developer and maintainer is Fabien Salmon.
Code is under the terms of the GNU Lesser General Public License.
Copyright © Bx INP/Inria/UBordeaux, 2025- .
This work has received funding from the Institut des Mathématiques pour la Planète Terre.