I/O for various mesh formats
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file meshio-2.3.5.tar.gz
.
File metadata
- Download URL: meshio-2.3.5.tar.gz
- Upload date:
- Size: 57.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44f4a9defcac0868493beafead11c8e8e434f51ec253fd09d10abbc412cd2a2f |
|
MD5 | b7ceb8daf4e05ed2c519dbe392737f72 |
|
BLAKE2b-256 | 7a4bc335f6de40cb4f6f2629ae35c824a8c11e664365aacb0104725eff522718 |
File details
Details for the file meshio-2.3.5-py2.py3-none-any.whl
.
File metadata
- Download URL: meshio-2.3.5-py2.py3-none-any.whl
- Upload date:
- Size: 70.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e87f835b6e2248bc55f3a3b36fc0c977a1336f41ec0670c7bff32b53d6dc2d30 |
|
MD5 | 8cf8e947052430c34403ba36603e51bc |
|
BLAKE2b-256 | fab572c704af9972341db2ad42bb00ae5008efaf6c92ec57b369e9298354b7f0 |