I/O for various mesh formats
Project description
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
- 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.
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-3.2.8.tar.gz
.
File metadata
- Download URL: meshio-3.2.8.tar.gz
- Upload date:
- Size: 74.1 kB
- Tags: Source
- Uploaded using 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.37.0 CPython/3.7.5rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520ff6658ff212914c2702aff79e8a24c750a812d3bc23f5a3f86d47dcf93a7c |
|
MD5 | b00d1deb980f933dba296f9ca1c66745 |
|
BLAKE2b-256 | 4ddc6dcfb69458ee69b4000af0f2790bad7b93e5beef11237a866bf856d6e230 |
File details
Details for the file meshio-3.2.8-py3-none-any.whl
.
File metadata
- Download URL: meshio-3.2.8-py3-none-any.whl
- Upload date:
- Size: 180.7 kB
- Tags: Python 3
- Uploaded using 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.37.0 CPython/3.7.5rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25463b61b15499d403b59296ac0bed375f34fe712f37cdca796a06dfb7bcbd90 |
|
MD5 | 655186f5dba0c321aa65bd22a0b79629 |
|
BLAKE2b-256 | 4b499115de15d40c126d6c19e55afa23c02eee1f9b1cbcb3a92d71f693b2a9ea |