[ANN] FiniteMesh.jl: mesh I/O and connectivity

The current functionality of mesh I/O in Julia community seems to be far from mature.
This package (GitHub - vavrines/FiniteMesh.jl: Mesh I/O and connectivity computation methods) provides a wrapper of the popular Python project meshio.
The package supports all commonly used mesh formats, and the compatibility between Python and Julia is handled smoothly.
Native Julia methods are built to compute the connectivity that is needed by the simulation of finite difference, volume and element methods. The information includes:

  • point IDs of an edge
  • neighboring cell IDs of an edge
  • neighboring cell IDs of a cell
  • cell areas
  • cell center locations
  • edge IDs of a cell
  • types (inner/boundary) of cells and edges

Thanks. If the package is for Mesh IO, I would call it something else other than FiniteMesh.jl.

Also, I would like to point out that Meshes.jl is a pure Julia meshes library, and we already have support for multiple types of topological structure, including half-edge and explicit structures for the connectivity list. So the types of queries you listed above are already supported.

I would be interested in seeing MeshIO.jl updated to work with Meshes.jl. Thanks for the package, it can be a convenient solution while we settle the ecosystem in JuliaGeometry.

1 Like

Thanks! The nomenclature is a problem due to the increasing package numbers in Julia. I try to keep the Damerau-Levenshtein distance from existing packages, and this is the third name I came up with. Since I basically focus on finite element computations, I guess the current name still falls within the range.

I’ve been keeping an eye on MeshIO.jl and Meshes.jl for a while, and I’m willing to help there. The motivation is exactly what you mentioned: to provide simple solution to deal with mesh until we see the maturity of JuliaGeometry.

Did you register the package already? You could try renaming it to PyMeshIO.jl or something more explicit about the fact that this is a wrapper for Python’s meshio library.

Also, if you have experience with mesh IO in general, MeshIO.jl would be a good place for contributions. I was planning to work on it by the end of the month, but got stuck with other projects.

It’s already registered, and I’d better not occupy another name for a single package : )

1 Like