Linux/HDF5/CGNS-从源代码编译HDF5和CGNS

  CFD General Notation System (CGNS)是CFD软件中非常重要的数据格式,正在得到越来越广泛的应用,CGNS 提供了一个通用的可移植且可扩展的标准,用于存储和检索计算流体动力学 (CFD)的分析数据。 它由一个自由和开放软件。 它是自我描述的、独立于机器的、有据可查的,也是美国研究所航空航天 (AIAA)推荐标准。

  由于CGNS依赖HDF5,因此在编译CGNS时需要先编译HDF5,并在编译CGNS时制定HDF5的路径。

  1. HDF5

  The HDF5® Library & File Format - The HDF Group

  HDF5编译较为简单,只需要以下步骤:

mkdir build
cd build
cmake ..
make -j
make install

  在“cmake ..”命令中需要注意指定HDF5的安装目录,默认是安装到系统位置,也可以自己指定位置,但是要记下自己指定的位置,稍后CGNS需要。

  HDF5没有必需的依赖库,如果需要的话可以自行安装SZIP、ZLIB等库。

  通常,以上命令执行完成后,HDF5就已经安装到了预定位置。如果没有cmake,也可以使用configure。

  2. CGNS

  CFD通用符号系统 (cgns.github.io)

  在确保HDF5正确安装完成后,编译CGNS,同样步骤:

mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH=/path/to/hdf5
make -j
make install

  在"cmake .."命令中需要注意指定CGNS的安装目录,默认是安装到系统位置,也可以自己指定位置。“-DCMAKE_PREFIX_PATH”是为了指定刚刚HDF5的安装路径,路径正确的话会有如下输出:

-- HDF5 find comps: C;shared
-- HDF5 C libs:1 static: and shared:1
-- HDF5-1.14.3 found: INC=/path/to/hdf5/include TOOLS=/path/to/hdf5/bin HDF5_BUILD_SHARED_LIBS=YES
-- HDF5 link libs: hdf5-shared

  否则就会提示:

Could NOT find HDF5 (missing: HDF5_DIR)

  通常,以上命令执行完成后,CGNS也已经安装到了预定位置。如果没有cmake,也可以使用configure。

posted @ 2023-11-03 16:51  流光Light  阅读(1270)  评论(0)    收藏  举报