エンジン内の燃焼解析ソフトKIVA4のメッシュデータ(kiva4grid)をVTKの非構造メッシュ形式(*.vtu)に変換します。
使用法 †
使用法は、コマンドプロンプト(Windows)やシェル(Linux)で以下のコマンドを打ちます。
kiva4ReaderTest.exe kiva4grid OutputFace
入力:
- kiva4grid: KIVA4のメッシュファイル名
- OutputFace: (0: ボリューム要素のみ、1: ボリューム要素+シェル要素、2: ボリューム要素+シェル要素(内部境界含む))
出力:
- kiva4grid.vtu: 変換されたVTKの非構造メッシュ
例:kiva4gridvalvesのボリュームのみ変換
kiva4ReaderTest.exe kiva4gridvalves 0
kiva4ReaderTest.cxx †
mainプログラムは以下の通り。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
-
|
-
|
|
!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
| #include <vtkSmartPointer.h>
#include <vtkXMLUnstructuredGridWriter.h>
#include <vtksys/SystemTools.hxx>
#include "vtkKiva4Reader.h"
int main(int argc, char* argv[])
{
if (argc < 3)
{
std::cout << "Required parameters: FileName OutputFace" << std::endl;
return EXIT_FAILURE;
}
std::string fileName = argv[1];
std::string fileNameWithoutExt =
vtksys::SystemTools::GetFilenameWithoutExtension(fileName);
int outputFace = atoi(argv[2]);
auto reader = vtkSmartPointer<vtkKiva4Reader>::New();
reader->SetFileName(fileName.c_str());
reader->SetOutputFace(outputFace);
reader->Update();
std::string outputFileName = fileNameWithoutExt + ".vtu";
auto writer = vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
writer->SetFileName(outputFileName.c_str());
writer->SetInputConnection(reader->GetOutputPort());
writer->Write();
return EXIT_SUCCESS;
}
|
ダウンロードとビルド †
Kiva4Reader