好的,这不是一个核心的编程问题;它更多的是一个关于cgns (CFD通用符号系统) API的问题。
我从ANSYS导出了一个网格/网格文件(它最初是在Gambit 2.46中创建的),我编写了一个非常简单的Fortran程序来打开和关闭它(什么也不做)。为了检查文件是否损坏,我在Tecplot中绘制了该文件。
因此,当我使用上述的cgns使用gfortran编译并运行程序时,我得到了这个错误(作为cg_error_exit_f()的一部分)
ADF_Database_Open:File不存在或不是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中打包的2.5.5版本和科学Linux6.1版)只支持HDF5,而导出的网格文件是用ADF格式编写的。
有什么办法可以绕过这个问题,或者增加ADF呢?顺便说一句,这两个发行版都没有打包。是否还有任何其他网格生成器与cgns版本2.5.5兼容?
我希望我说的很清楚。任何需要的进一步信息,我会提供。
发布于 2011-08-31 12:56:28
这里有那么多可能出错的地方,恐怕你并没有把问题缩小到很小的范围。
您说您从Fluent导出了一个文件(它是什么样的文件?)确定!)。cg_error_exit_f()给出了一个列出的错误。我假设你有这些例行公事的来源?在程序中,您包括了一个cgnslib_f.h文件--其中包含了什么?我假设编译的程序没有任何错误,这是一个文件格式问题,而不是fortran问题。
再次,验证哪种文件流畅产生。
发布于 2013-07-04 18:59:55
当我遇到这种情况时,我发现了以下工具: hdf2adf adf2hdf
它们在Ubuntu上的cgns转换包中,并且可能也可用于您的发行版。
https://stackoverflow.com/questions/7256278
复制相似问题