簡単なHDF5ファイルの作成(C/C++)と可視化(Para-view or Visit)

HDF5のサンプルコードを見つけた。

Using XDMF to read HDF5 - VisItusers.org

上では二次元構造要素のデータ(HDF5形式)と、XML形式で書かれたXDMFファイルを出力する。XDMFファイルにより、フリーの可視化ソフトであるpara-viewもしくはViSITでHDF5の中身を直接可視化できる。

これまで可視化に使っていたVTKフォーマットだと、可視化できる成分の数に制限があったり、binary形式の書き方がよくわからなかったり、いろいろ制約があった。

これを導入すれば、時系列データをひたすらHDF5に出力しておき、あとから好きにデータの取得や可視化が可能となる。現時点でも自分のコードに導入するメリットは非常に高い(と思う)。

 

なお、上のサンプルコードについて、Functionの一つであるH5Dcreateのフォーマットが最新版のHDF5と互換性がないようで、そのままコンパイルしようとするとエラーがでた。

引数が足りないようなので、末尾にH5P_DEFAULTを二つ付け足すと問題なく動作した。なんだかよくわからないが、いいことにする。

 

本家のユーザーガイドをみると、サンプルコードの内容はだいたい理解できる。XDMFファイルが現在ブラックボックス。非構造格子も可視化できるようになれば非常にうれしいのだけれども…。

HDF5 User's Guide