无法打开cgns文件

时间:2011-08-31 11:27:57

标签: gfortran cgns

哦,这不是核心编程问题;这更像是关于cgns(CFD通用符号系统)API的问题。

我从ANSYS Fluent导出了一个网格/网格文件(最初是在Gambit 2.46中创建的),我写了一个非常简单的Fortran程序来打开和关闭它(什么都不做)。为了检查文件是否已损坏,我将其绘制在Tecplot中。

所以,当我使用gfortran使用提到的cgns编译并运行程序时我得到了这个错误(作为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兼容的网格生成器?

我希望我很清楚。如果需要进一步的信息,我会提供。

2 个答案:

答案 0 :(得分:0)

在这里有很多可能出错的地方,我担心你没有把问题缩小到底。

你说你从Fluent导出了一个文件(它是什么类型的文件?确定!)。 cg_error_exit_f()列出了错误。我假设你有上述例程的来源?在程序中,你包含一个cgnslib_f.h文件 - 它里面有什么?我假装编译的程序没有任何错误,使这成为一个文件格式问题,而不是一个fortran问题。

再次,验证Fluent生成的文件类型。

答案 1 :(得分:0)

当我遇到这种情况时,我发现了以下工具: hdf2adf adf2hdf

它们位于Ubuntu上的cgns-convert包中,也可能适用于您的发行版。