I/O for mesh files.
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
- CGNS
- DOLFIN XML
- Exodus
- FLAC3D
- H5M
- Kratos/MDPA
- Medit
- MED/Salome
- Nastran (bulk data)
- Gmsh (versions 2 and 4)
- OBJ
- OFF
- PERMAS
- PLY
- STL
- TetGen .node/.ele
- SVG (2D only, output only)
- VTK
- VTU
- XDMF
Install with
pip3 install meshio[all] --user
and simply call
meshio-convert input.msh output.vtu
with any of the supported formats.
In Python, simply do
import meshio
mesh = meshio.read(filename) # optionally specify file_format
# 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 ASCII over binary VTK, for example).
Time series
The XDMF format supports time series with a shared mesh. You can write times series data using meshio with
with meshio.XdmfTimeSeriesWriter(filename) as writer:
writer.write_points_cells(points, cells)
for t in [0.0, 0.1, 0.21]:
writer.write_data(t, point_data={"phi": data})
and read it with
with meshio.XdmfTimeSeriesReader(filename) as reader:
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 do
pip3 install meshio --user
to install.
Additional dependencies (netcdf4, h5py and lxml) are required for some of the
output formats and can be pulled in by
pip install -U meshio[all]
Testing
To run the meshio unit tests, check out this repository and type
pytest
License
meshio is published under the MIT license.
Release files for meshio 3.2.11
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-3.2.11.tar.gz | 75.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meshio-3.2.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 256.7 kB
Release files / meshio-3.2.11.tar.gz
| Download URL | meshio-3.2.11.tar.gz |
|---|---|
| Size | 75.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd227f89e4992325d8600012372589bd7229572cd8bf82a5becbbf942785353d
|
|
BLAKE2b-256 checksum How to use checksums |
2e38b42ab5c060954a7551beed2ec7ecadcb4357acd83b90fa1d62eaa40e8987
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
|
Release files / meshio-3.2.11-py3-none-any.whl
| Download URL | meshio-3.2.11-py3-none-any.whl |
|---|---|
| Size | 181.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e9787aa1a3ab1b6a79dfa95b827427794e6056119fee6b49a76718384ecd7e3
|
|
BLAKE2b-256 checksum How to use checksums |
700d797891d824f4261f88422bf0df06b97bb573fb64e5941a105b5658566cfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
|