ParMmg
Distributed parallelization of 3D volume mesh adaptation
Install / Use
/learn @MmgTools/ParMmgREADME
Parmmg - Parallel 3D volume remesher
ParMmg is an open source software for parallel mesh adaptation of 3D volume 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). ParMmg uses the Mmg software to perform the sequential remeshing steps.
:warning: ParMmg 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 ParMmg could be useful for your project, or to discuss opportunities for collaborations on specific developments. :warning:
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:
- 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 : 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 <span style="color:red"> do not forget to mark the option:
</span>"Add CMake to the system PATH for all users"
ParMmg download and compilation
Unix-like OS (Linux, MacOS...)
- Get the repository:
git clone https://github.com/MmgTools/ParMmg.git
The project sources are available under the src/ directory.
- 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:
- Mmg has to be built with the private header installation enabled (turn
ONtheMMG_INSTALL_PRIVATE_HEADERSCMake variable in Mmg at cmake configuration step); - you can help CMake to find Mmg by specifying the installation
directory of Mmg in the
MMG_DIRvariable; - you can help CMake to find Metis by specifying the installation directory of Metis in the
METIS_DIRvariable.
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 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 parallel algorithm used in ParMmg has been developed by the Coria team and is described here. Its current implementation and differences are 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- .
Acknowledgements
This work has received funding from the ExaQUte project (http://exaqute.eu/), founded by the European Union’s Horizon 2020 research and innovation programme under grant agreement No 800898. This work has also received funding from the FUI22 ICARUS project (http://i-carus.fr/), founded by Région Nouvelle- Aquitaine (RNA) under grant agreement 17001260-031 and the Fonds Unique intérministeriel (FUI) under grant agreement No DOS0050687100.
The authors would like to thank the scientific support of the YALES2 development team at the CORIA research center (http://www.coria.fr/) in the implementation of the parallel remeshing algorithm.
Reference
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
