注釈
Go to the end をクリックすると完全なサンプルコードをダウンロードできます.
並列フィルタ#
VTKライブラリーは並列ファイル・フォーマットをサポートしています.複数のファイルに分割されたメッシュの読み込みは,VTKおよびPyVistaでネイティブにサポートされています.
from __future__ import annotations
from pathlib import Path
import pyvista as pv
from pyvista import examples
いくつかのファイルに分割された pyvista.UnstructuredGrid
を含むサンプルデータセットをダウンロードしてみましょう.
load=False
を設定し,ダウンロードしたファイルがあるディレクトリを見て,データセットがどこにダウンロードされたかを調べてみましょう.
filename = examples.download_blood_vessels(load=False)
path = Path(filename).parent
list(path.iterdir())
[PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500.pvtu'), PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500')]
list((path / 'T0000000500').iterdir())
[PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500/002.vtu'), PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500/001.vtu'), PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500/000.vtu'), PosixPath('/home/runner/.cache/pyvista_3/pvtu_blood_vessels/blood_vessels.zip.unzip/blood_vessels/T0000000500/003.vtu')]
.pvtu
ファイルはディレクトリの横にあるので注意してください.このディレクトリには,メッシュ全体を構成するすべての並列ファイルまたはピースが含まれています. .pvtu
ファイルを読み取るだけで,VTKがメッシュをまとめます.PyVista では、これは pyvista.read()
によって実現されます。
つなぎ合わせたメッシュをプロットします
mesh.plot(scalars='node_value', categories=True)

mesh.plot(scalars='density')

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