FiniteMesh.jl
This package provides lightweight methods for mesh I/O. The input interface is based on the Python project meshio. The supported formats include:
Abaqus (
.inp
), ANSYS msh (.msh
), AVS-UCD (.avs
), CGNS (.cgns
), DOLFIN XML (.xml
), Exodus (.e
,.exo
), FLAC3D (.f3grid
), H5M (.h5m
), Kratos/MDPA (.mdpa
), Medit (.mesh
,.meshb
), MED/Salome (.med
), Nastran (bulk data,.bdf
,.fem
,.nas
), Neuroglancer precomputed format, Gmsh (format versions 2.2, 4.0, and 4.1,.msh
), OBJ (.obj
), OFF (.off
), PERMAS (.post
,.post.gz
,.dato
,.dato.gz
), PLY (.ply
), STL (.stl
), Tecplot(.dat
), TetGen(.node/.ele
), SVG (2D output only) (.svg
), SU2 (.su2
), UGRID (.ugrid
), VTK (.vtk
), VTU (.vtu
), WKT (TIN) (.wkt
), XDMF (.xdmf
,.xmf
).
To read a mesh, simply do
using FiniteMesh
cells, points = read_mesh("filepath")
The resulted points
are the coordinates of nodes, and cells
provides the affiliation information of these points to cell IDs.
The connectivity calculator is provided with native Julia.
The following information can be inferred from cells
and points
:
- Node IDs of a face
- Adjacent cell IDs of a face
- Neighbor cell IDs of a cell
- Cell type (inner / boundary)
- Cell volume / area
- Cell center location
- Face center location