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.2

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.2.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

meshio-2.3.2-py2.py3-none-any.whl (79.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file meshio-2.3.2.tar.gz.

File metadata

  • Download URL: meshio-2.3.2.tar.gz
  • Upload date:
  • Size: 56.6 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for meshio-2.3.2.tar.gz
Algorithm Hash digest
SHA256 78b7e86eff77e7c3d284088d7eca90847ec0de63f93cfe564b102464bea9936d
MD5 986486db8267e0a655dc78cd06001171
BLAKE2b-256 7558c0dfeb2a8d055b8199f941f5f49d11e445bcc00d4c174935f2c7e86bdbed

See more details on using hashes here.

File details

Details for the file meshio-2.3.2-py2.py3-none-any.whl.

File metadata

  • Download URL: meshio-2.3.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 79.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using 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

File hashes

Hashes for meshio-2.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 86e0a8db5fe9fa39154455c4bec0c1eb8e8ed16b41be8af2806b51e86b6c5507
MD5 971bd384a4a09c50b26aa57a9e1421c9
BLAKE2b-256 fca6bb649fa772ca13ddd357c71878ec57d88e84cbbbe5745f2b2f2c981c566f

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