Skip to main content

I/O for various mesh formats

Project description

meshio

CircleCI codecov Code style: black PyPi Version Debian CI DOI GitHub stars

There are various mesh formats available for representing unstructured meshes. meshio can read and write all of the following and smoothly converts between them:

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

  1. bump the __version__ number,

  2. tag and upload to PyPi:

    make publish
    

License

meshio is published under the MIT license.

Project details


Release history Release notifications | RSS feed

This version

2.3.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshio-2.3.5.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

meshio-2.3.5-py2.py3-none-any.whl (70.4 kB view details)

Uploaded Python 2 Python 3

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

Hashes for meshio-2.3.5.tar.gz
Algorithm Hash digest
SHA256 44f4a9defcac0868493beafead11c8e8e434f51ec253fd09d10abbc412cd2a2f
MD5 b7ceb8daf4e05ed2c519dbe392737f72
BLAKE2b-256 7a4bc335f6de40cb4f6f2629ae35c824a8c11e664365aacb0104725eff522718

See more details on using hashes here.

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

Hashes for meshio-2.3.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e87f835b6e2248bc55f3a3b36fc0c977a1336f41ec0670c7bff32b53d6dc2d30
MD5 8cf8e947052430c34403ba36603e51bc
BLAKE2b-256 fab572c704af9972341db2ad42bb00ae5008efaf6c92ec57b369e9298354b7f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page