1

わかりました、これはコア プログラミングの質問ではありません。cgns (CFD General Notational System) API に関する質問です。

ANSYS Fluent (Gambit 2.46 で最初に作成された) からグリッド/メッシュ ファイルをエクスポートし、それを開いたり閉じたりする (他に何もしない) 非常に単純な Fortran プログラムを作成しました。ファイルが破損していないことを確認するために、Tecplot でプロットしました。

したがって、前述の cgns で gfortran を使用してコンパイルし、プログラムを実行すると、このエラーが発生しました (cg_error_exit_f() の一部として)。

ADF_Database_Open:ファイルが存在しないか、HDF5 ファイルではありません

プログラムはこちら

program cavity
include "/usr/include/cgnslib_f.h"
call cg_open_f("Cavity.cgns",CG_MODE_READ,index_file,ier)
!check for error if so exit
if (ier .ne. CG_OK) then
call cg_error_exit_f()
end if
write(*,*)"I kind of opened the file?"
call cg_close_f(index_file,ier)
stop
end program cavity

問題なく、構造化グリッドと非構造化グリッドの両方を cgns 形式で書き込むことができます。

私が使用している cgns ライブラリ (Fedora 15 および Scientific Linux 6.1 にパッケージ化されたバージョン 2.5.5) は、HDF5 のみをサポートするように構築されていると思われますが、エクスポートされたグリッド ファイルは ADF 形式で記述されています。

これを回避したり、ADF を追加したりするアイデアはありますか? ちなみに、どちらのディストリビューションにもパッケージ化されていません。cgns バージョン 2.5.5 と互換性のある他のグリッド ジェネレーターはありますか?

私がはっきりしていたことを願っています。さらに情報が必要な場合は、提供します。

4

2 に答える 2

0

ここには間違ったことがたくさんあります。残念ながら、あなたは問題を正確に絞り込んでいませんでした。

Fluent からファイルをエクスポートしたとおっしゃいました (ファイルの種類を確認してください!)。cg_error_exit_f()でエラーが表示されました。言及されたルーチンのソースを持っていると思いますか? プログラムには cgnslib_f.h ファイルが含まれていますが、その内容は何ですか? 私は、プログラムがあらゆる種類のエラーなしでコンパイルされたと仮定しているため、これはファイル形式の問題であり、fortran の問題ではありません。

ここでも、Fluent が生成したファイルの種類を確認します。

于 2011-08-31T12:56:28.573 に答える
0

このような状況に遭遇したとき、次のツールを発見しました: hdf2adf adf2hdf

それらは Ubuntu の cgns-convert パッケージに含まれており、おそらくディストリビューションでも利用できます。

于 2013-07-04T18:59:55.980 に答える