KVSMLConverter_JP - CCSEPBVR/CS-IS-PBVR GitHub Wiki
KVSMLコンバータはCFDの出力として利用される様々なファイル形式をCS-PBVR向けのKVSML形式に変換するライブラリです.出力ファイルはKVSMLデータ本体と, そのメタデータを記述するPFI/PFLファイルです.
- C++17に対応したC++コンパイラ
- GNU Make (ただしCygwinは除く)またはVisual Studio nmake
- CCSEPBVR/KVS
- VTK 9.2以降
ビルド成功後, Example/Release, またはインストール先/binにkvsml-converterというバイナリが生成されます.
このバイナリは入力ファイルをKVSML形式に変換し, 出力先ディレクトリに保存します.
出力ファイルはKVSMLデータと, そのメタデータを記述するPFI/PFLファイルです.
サンプルコードの実行方法は以下の通りです.
<パス>/kvsml-converter <入力ファイル> <出力先ディレクトリ>
例として.vtuファイルをKVSML形式に変換します.
カレントディレクトリがCS-IS-PBVR/CS_server/KVSMLConverterの場合, 以下コマンドとなります.
# 入力ファイルの場所はExample/Input/VTKExamples/src/Testing/Data/fire_ug.vtu
# 出力先ディレクトリはfire_ug
Example/Release/kvsml-converter ./Example/Input/VTKExamples/src/Testing/Data/fire_ug.vtu ./fire_ug
実行すると, 以下ファイルが作成されます.
- KVSMLファイル一式
- fire_ug_2_00000_0000001_0000001.kvsml
- fire_ug_2_00000_0000001_0000001_coord.dat
- fire_ug_2_00000_0000001_0000001_connect.dat
- fire_ug_2_00000_0000001_0000001_value.dat
- fire_ug.pfi
- fire_ug.pfl
時系列ファイルの例として.vtuの時系列ファイルをKVSML形式に変換します.
入力ファイルとして時系列ファイルを指定する場合はワイルドカード(*)を使用してください.
macOSかLinuxの場合, 入力ファイルはシングルクォーテーションで囲んで指定してください.
Windowsの場合, 入力ファイルはシングルクォーテーションで囲まずに指定してください.
カレントディレクトリがCS-IS-PBVR/CS_server/KVSMLConverterの場合, 以下コマンドとなります.
# 入力ファイルの場所はExample/Input/Tetra/tetra_only_*.vtu
# 出力先ディレクトリはTetra
(macOS or Linux):Example/Release/kvsml-converter 'Example/Input/Tetra/tetra_only_*.vtu' Tetra
(Windows):Example\Release\kvsml-converter.exe Example\Input\Tetra\tetra_only_*.vtu Tetra
実行すると, 以下ファイルが作成されます.
- KVSMLファイル一式(*:0~9)
- tetra_only_1_0000*_0000001_0000001.kvsml
- tetra_only_1_00000_0000001_0000001_coord.dat
- tetra_only_1_00000_0000001_0000001_connect.dat
- tetra_only_1_0000*_0000001_0000001_value.dat
- tetra_only_1.pfi
- tetra_only.pfl
以下 Example 以下に格納されています.
ファイル名 | 関数名 | 概要 |
---|---|---|
AVSExample.cpp | AvsUcd2Kvsml | AVS UCD ファイルの読み込み |
CgnsExample.cpp | Cgns2Kvsml | CGNS ファイルの読み込み |
EnSightExample.cpp | Case2Kvsml | EnSight Gold バイナリファイルの読み込み |
Plot3dExample.cpp | Plot3d2Kvsml | PLOT3D ファイルの読み込み |
PvtsExample.cpp | Pvts2Kvsml | PVTS 形式ファイル読み込み |
PvtuExample.cpp | Pvtu2Kvsml | 単一 PVTU 形式ファイル読み込み |
PvtuExample.cpp | SeriesPvtu2Kvsml | 時系列 PVTU 形式ファイル分散読み込み |
PvtuExample.cpp | SeriesPvtu2KvsmlWhole | 時系列 PVTU 形式ファイル一括読み込み |
StlExample.cpp | Stl2Stl | STL 読み込み |
StlExample.cpp | Stl2Kvsml | STL 読み込み |
VtiExample.cpp | StructuredPoints2Kvsml | StructuredPoints 形式(レガシー VTK 形式)読み込み |
VtiExample.cpp | Vti2Kvsml | 単一 VTI 形式ファイル読み込み |
VtiExample.cpp | SeriesVti2Kvsml | 時系列 VTI 形式ファイル読み込み |
VtmExample.cpp | Vtm2Kvsml | 非構造格子のみの VTK MultiBlock 読み込み |
VtmExample.cpp | SeriesVtm2Kvsml | 非構造格子のみの時系列 VTK MultiBlock 読み込み |
VtpExample.cpp | Vtp2Kvsml | VTP 形式ファイル読み込み |
VtrExample.cpp | Vtr2Kvsml | VTR 形式ファイル読み込み |
VtsExample.cpp | Vts2Kvsml | VTS 形式ファイル読み込み |
VtuExample.cpp | Vtu2Kvsml | VTU 形式ファイル読み込み |
VtuExample.cpp | SeriesVtu2Kvsml | 時系列 VTU 形式ファイル読み込み |
VtuExample.cpp | PointVtu2Kvsml | 節点のみの VTU 形式ファイル読み込み |
VtuExample.cpp | LineVtu2Kvsml | 線分のみの VTU 形式ファイル読み込み |
VtuExample.cpp | TriangleVtu2Kvsml | 三角要素のみの VTU 形式ファイル読み込み |
以下 Example/Input 以下に格納されています.
ディレクトリ名 | 概要 |
---|---|
Hex | 時系列六面体非構造格子 |
MultiBlock | 複数のデータ型を格納したマルチブロック |
pbvr_sample_data | CCSEPBVR/pbvr_sample_data (外部リポジトリ) |
Polygon | ポリゴンデータ |
Pvts | 分散構造格子 |
Pvtu | 時系列分散混合要素非構造格子 |
Tetra | 時系列四面体非構造格子 |
TetraAndHex | 時系列四面体と六面体混合非構造格子 |
Triangle | 三角要素非構造格子 |
UnstructuredMultiBlock | 時系列混合要素非構造格子マルチブロック |
Vertex | 節点要素非構造格子 |
Vti | 時系列構造格子 |
VTKExamples | Kitware/vtk-examples (外部リポジトリ) |