並列フィルタ#

VTKライブラリーは並列ファイル・フォーマットをサポートしています.複数のファイルに分割されたメッシュの読み込みは,VTKおよびPyVistaでネイティブにサポートされています.

import os

import pyvista as pv
from pyvista import examples

いくつかのファイルに分割された pyvista.UnstructuredGrid を含むサンプルデータセットをダウンロードしてみましょう.

load=False を設定し,ダウンロードしたファイルがあるディレクトリを見て,データセットがどこにダウンロードされたかを調べてみましょう.

filename = examples.download_blood_vessels(load=False)
path = os.path.dirname(filename)
os.listdir(path)
['T0000000500.pvtu', 'T0000000500']
os.listdir(os.path.join(path, "T0000000500"))
['002.vtu', '000.vtu', '001.vtu', '003.vtu']

.pvtu ファイルはディレクトリの横にあるので注意してください.このディレクトリには,メッシュ全体を構成するすべての並列ファイルまたはピースが含まれています. .pvtu ファイルを読み取るだけで,VTKがメッシュをまとめます.

mesh = pv.read(filename)
mesh
HeaderData Arrays
UnstructuredGridInformation
N Cells39353
N Points48823
X Bounds5.300e+01, 1.210e+02
Y Bounds5.000e+01, 9.700e+01
Z Bounds6.400e+01, 1.820e+02
N Arrays5
NameFieldTypeN CompMinMax
node_valuePointsint3210.000e+003.000e+00
simerr_typePointsint3210.000e+003.000e+00
densityCellsfloat3212.203e-015.232e-01
velocityCellsfloat323-3.607e-018.989e-02
shearstressCellsfloat3216.160e-051.726e-02


つなぎ合わせたメッシュをプロットします

mesh.plot(scalars="node_value", categories=True)
read parallel
mesh.plot(scalars="density")
read parallel

Total running time of the script: (0 minutes 1.922 seconds)

Sphinx-Galleryによるギャラリー