PAMELA (PArallel MEsh LibrAry) is a C++ library dedicated to the mesh manipulation in parallel.
PAMELA provides tools to read meshes from several formats
- GMSH v2
- INRIA MEDIT Mesh
- ECLIPSE file formats (.GRDECL and .EGRID).
PAMELA provides a basic tools to partitionate meshes. PAMELA can also use METIS to do the partitioning.
PAMELA is able to perform several operations related to mesh cleaning. If PAMELA is compiled with MPI, these operations are done in parallel.
PAMELA provides tools to write meshes to several formats:
- VTK
- Ensight Gold
- CMake
- A C++11 compiler.
PAMELA can compile as a standalone but can be used with other libraries:
In order to benefit to the full features of PAMELA, we advise the user to compile VTK with the CMake option
VTK_USE_MPI
set to On
.
PAMELA uses git and has several submodules. To get the code, please ensure that the git lfs module is installed on your system. Instructions to get git lfs can be found here.
git clone git@github.com:GEOSX/PAMELA.git
git submodule init
git submodule update
PAMELA uses CMake as a build system generator and 4 options you can choose to activate or not
To use PAMELA with MPI
To compile the PAMELA use cases
To use VTK for ouptut
To use METIS to partitionate the mesh.
For instance:
mkdir build
cd build
cmake .. -DENABLE_MPI=ON -DPAMELA_WITH_EXAMPLES=ON -DPAMELA_WITH_VTK=ON -DPAMELA_WITH_VTK=ON -DPAMELA_WITH_METIS=ON
make
Examples in the folder examples/
are showing how to use PAMELA.