meshio
There are various mesh formats available for representing unstructured meshes. meshio can read and write all of the following and smoothly converts between them:
- Abaqus
- ANSYS msh
- DOLFIN XML
- Exodus
- H5M
- Kratos/MDPA
- Medit
- MED/Salome
- Gmsh (versions 2 and 4)
- OFF
- PERMAS
- STL
- SVG (2D only, output only)
- VTK
- VTU
- XDMF
Simply call
meshio-convert input.msh output.vtu
with any of the supported formats.
In Python, simply call
import meshio
mesh = meshio.read(filename)
# mesh.points, mesh.cells, ...
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_points_cells(
"foo.vtk",
points,
cells,
# Optionally provide extra data on points, cells, etc.
# point_data=point_data,
# cell_data=cell_data,
# field_data=field_data
)
or explicitly create a mesh object for writing
mesh = meshio.Mesh(points, cells)
meshio.write("foo.vtk", mesh)
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).
Time series
The XDMF format supports time series with a shared mesh. You can write times series data using meshio with
writer = meshio.XdmfTimeSeriesWriter(filename)
writer.write_points_cells(points, cells)
for t in [0.0, 0.1, 0.21]:
writer.write_point_data({"phi": data}, t)
and read it with
reader = meshio.XdmfTimeSeriesReader(filename)
points, cells = reader.read_points_cells()
for k in range(reader.num_steps):
t, point_data, cell_data = reader.read_data(k)
Installation
meshio is available from the Python Package Index, so simply type
pip install -U meshio
to install or upgrade.
Testing
To run the meshio unit tests, check out this repository and type
pytest
Distribution
To create a new release
-
bump the
__version__number, -
tag and upload to PyPi:
make publish
License
meshio is published under the MIT license.
Release files for meshio 2.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meshio-2.3.2.tar.gz | 56.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meshio-2.3.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 135.7 kB
Release files / meshio-2.3.2.tar.gz
| Download URL | meshio-2.3.2.tar.gz |
|---|---|
| Size | 56.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78b7e86eff77e7c3d284088d7eca90847ec0de63f93cfe564b102464bea9936d
|
|
BLAKE2b-256 checksum How to use checksums |
7558c0dfeb2a8d055b8199f941f5f49d11e445bcc00d4c174935f2c7e86bdbed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.7rc1
|
Release files / meshio-2.3.2-py2.py3-none-any.whl
| Download URL | meshio-2.3.2-py2.py3-none-any.whl |
|---|---|
| Size | 79.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
86e0a8db5fe9fa39154455c4bec0c1eb8e8ed16b41be8af2806b51e86b6c5507
|
|
BLAKE2b-256 checksum How to use checksums |
fca6bb649fa772ca13ddd357c71878ec57d88e84cbbbe5745f2b2f2c981c566f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.7rc1
|