MEDCoupling is a powerful library to manipulate meshes and fields.
Table of Contents
MEDCoupling is part of the Salome project. It is a powerfull mesh and field library able to compute mesh intersections, volumes, ... The library is co-developed between the CEA and EDF.
You can find MEDCoupling binaries for multiple platforms on the Salome website. It is available under Windows and a few Linux distributions.
MEDCoupling can be used to:
- create structured/unstructured meshes by hand (no geometrical auto-tetra meshing)
- intersecting meshes, merging nodes, extracting part of a mesh, ...
- creating custom fields on meshes (by constant, expression, measure, ...)
- load and write mesh in the
medfile
file format (.med
extension) - coupling codes by transfering fields from one mesh to another
- post-processing fields and mesh informations
The MEDCoupling format is quite versatile and allows to manage mesh with different kind of cells (tetra, hexa, higher order, ...) and fields on cells, on nodes, or on gauss points.
The MEDCoupling library is under a major refactoring for the v10. It will allow to:
- Make usage easier
- Better documentation
- Build a new unified documentation with Sphinx and its amazing elastic search integration
- Take advantage of
breathe
to integrateMEDCoupling
API to the doc - Replace the
.rst
files of the tutorial doc with executable notebooks
- Better compilation process
- Usage of modern cmake and clearer targets names
- Allow python native compilation
- Adding
spack
andconan
recipes
- Empowering medcoupling core mesh abililties
- Separate the usefull
MEDFileXXX
objects from themedfile
dependency - Make
medfile
one of the mesh backends - Add a new file format backend (namely CGNS)
- Separate the usefull
- Better documentation
- Make contributions easier
- Modular architecture
- Clarify what is part of medcoupling core data structure and what is not
with the introduction of
medcoupling_tools
- Separate the remapper to make it into a tool
- Clarify what is part of medcoupling core data structure and what is not
with the introduction of
- Modern and standard C++
- Modernize the whole repository by adding standard tooling (clang-tidy, clang-format, pre-commit, ...)
- Public CI/CD
- Taking advantage of GitHub by adding github workflows
- Modular architecture
The recommended approach to compile is to use SALOME official package manager (SAT). SAT will install MEDCoupling dependencies such as HDF5 and MEDFile, depending on the requested configuration (native or not).