There are various mesh formats available for representing unstructured meshes, e.g.,
meshio can read and write all of these formats and smoothly converts between them. Simply call
meshio-convert input.msh output.vtu
with any of the supported formats.
In Python, simply call
points, cells, point_data, cell_data, field_data = \
meshio.read(args.infile)
to read a mesh. To write, do
points = numpy.array([
[0.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0],
])
cells = {
'triangle': numpy.array([
[0, 1, 2]
])
}
meshio.write(
'foo.vtk',
points,
cells,
# Optionally provide extra data on points, cells, etc.
# point_data=point_data,
# cell_data=cell_data,
# field_data=field_data
)
For both input and output, you can optionally specify the exact file_format
(in case you would like to enforce binary over ASCII VTK, for example).
meshio is available from the Python Package Index, so simply type
pip install -U meshio
to install or upgrade.
Just
import meshio
and make use of all the goodies the module provides.
To run the meshio unit tests, check out this repository and type
pytest
To create a new release
-
bump the
__version__
number, -
tag and upload to PyPi:
make publish
meshio is published under the MIT license.