各种网格格式的I/O
meshio的Python项目详细描述
网格文件的I/O。
有多种网格格式可用于表示非结构化网格。 Meshio可以读取和写入以下所有内容,并在它们之间进行平滑转换:
- Abaqus
- ANSYS msh
- DOLFIN XML
- Exodus
- H5M
- Kratos/MDPA
- Medit
- MED/Salome
- Nastran(批量数据)
- Gmsh(版本2和4)
- OFF
- PERMAS
- STL
- TetGen .node/.ele
- SVG(仅二维,仅输出)
- VTK
- VTU
- XDMF
使用安装
pip3 install meshio[all] --user
只需拨打
meshio-convert input.msh output.vtu
任何支持的格式。
在python中,只需执行
importmeshiomesh=meshio.read(filename)# optionally specify file_format# mesh.points, mesh.cells, ...
阅读一个网格。要编写,请执行
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)
或者显式创建用于写入的网格对象
mesh=meshio.Mesh(points,cells)meshio.write("foo.vtk",mesh)
对于输入和输出,可以选择指定精确的file_format
。
(例如,如果希望在二进制vtk上强制使用ascii)。
时间序列
XDMF format支持时间 具有共享网格的系列。您可以使用meshio和
writer=meshio.XdmfTimeSeriesWriter(filename)writer.write_points_cells(points,cells)fortin[0.0,0.1,0.21]:writer.write_data(t,point_data={"phi":data})
并用
reader=meshio.XdmfTimeSeriesReader(filename)points,cells=reader.read_points_cells()forkinrange(reader.num_steps):t,point_data,cell_data=reader.read_data(k)
安装
梅希奥是available from the Python Package Index, 所以只要做
pip3 install meshio --user
安装。
对于某些 输出格式,可通过
pip install -U meshio[all]
测试
要运行meshio单元测试,请签出此存储库并键入
pytest
许可证
meshio发布在MIT license下。