KVSMLConverter_JP - CCSEPBVR/CS-IS-PBVR GitHub Wiki

KVSMLコンバータ

概要

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 (外部リポジトリ)

リンク

⚠️ **GitHub.com Fallback** ⚠️