KIVA4 grid(kiva4grid)⇒VTK Unstructured Grid(vtu)

エンジン内の燃焼解析ソフトKIVA4のメッシュデータ(kiva4grid)をVTKの非構造メッシュ形式(*.vtu)に変換します。

使用法

使用法は、コマンドプロンプト(Windows)やシェル(Linux)で以下のコマンドを打ちます。

kiva4ReaderTest.exe kiva4grid OutputFace

入力:

  • kiva4grid: KIVA4のメッシュファイル名
  • OutputFace: (0: ボリューム要素のみ、1: シェル要素+ボリューム要素)

出力:

  • kiva4grid.vtu: 変換されたVTKの非構造メッシュ

例:kiva4gridvalvesのボリュームのみ変換

 kiva4ReaderTest.exe kiva4gridvalves 0
 OutputFace option

kiva4ReaderTest.cxx

mainプログラムは以下の通り。

Everything is expanded.Everything is shortened.
  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
 34
 35
 36
 
 
 
 
 
 
 
 
-
|
-
|
|
!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
 
#include <vtkGenericDataObjectWriter.h>
#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]);
 
  vtkSmartPointer<vtkKiva4Reader> reader =
    vtkSmartPointer<vtkKiva4Reader>::New();
  reader->SetFileName(fileName.c_str());
  reader->SetOutputFace(outputFace);
  reader->Update();
 
  std::string outputFileName = fileNameWithoutExt + ".vtu";
  vtkSmartPointer<vtkXMLUnstructuredGridWriter> writer =
    vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
  writer->SetFileName(outputFileName.c_str());
  writer->SetInputConnection(reader->GetOutputPort());
  writer->Write();
 
  return EXIT_SUCCESS;
}

ダウンロードとビルド

ソースコードとCMakeLists.txtファイル:


添付ファイル: fileOutputFace_option.png 312件 [詳細] filekiva4ReaderTest.zip 266件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-25 (水) 20:05:11 (320d)