Linux下OpenCFD-SCU源码编译安装及使用
目录
软件介绍
基本依赖
一、源码下载
二、解压缩
三、编译安装
四、算例测试
软件介绍
OpenCFD-SCU是基于中国科学院力学研究所李新亮研究员自主开发的高精度计算流体力学软件OpenCFD-SC(Open Computational Fluid Dynamic code for Scientific Computation)进行异构移植优化,软件针对可压缩NS方程采用有限差分法离散求解,数值精度高。无粘项的差分离散除了常规的线性差分格式和常见的激波捕捉格式外,还集成了自主构造的带有迎风性质的混合格式,兼具高精度、低耗散、高鲁棒性;粘性项离散采用中心型差分格式,时间推进方法采用显式TVD型三步三阶龙格库塔(R-K)方法,能够最大程度保证计算程序的并行可扩展性。软件支持GPU加速,可以在英伟达CUDA、AMD的ROCM异构计算平台上执行并行计算。
基本依赖
1、gcc/g++ 编译器
2、Fortran 编译器
3、make自动化编译工具
4、cmake跨平台安装工具
5、python(版本≥3.8)
6、MPI
7、DTK 开发工具
一、源码下载
目前软件完全开源,版本V1.00,可通过下面的链接进行源码访问。
OpenCFD-IMECH/OpenCFD-SCU: GPU 高精度有限差分CFDhttps://github.com/OpenCFD-IMECH/OpenCFD-SCU/danggl / OpenCFD-SCU · GitLab
https://developer.sourcefind.cn/codes/danggl/opencfd-scu
二、解压缩
三、编译安装
编译平台:海光CPU+DCU
编译环境:MPI(hpcx-2.4.1)、ROCM(dtk-23.04)
①源码文件夹结构为:
其中,src文件夹存放程序源码文件:
src_hip文件夹存储着使用hipify-perl将CUDA代码转换为HIP代码的源码文件。
head文件夹存放源程序的头文件:
head_hip文件夹存储着使用hipify-perl将CUDA代码转换为HIP代码的头文件。
benchmark_comp文件夹为基准测试算例。
②编译
修改makefile中"MPI_PATH”变量值,对应用户安装环境中MPI的路径;修改makefile中“DEV_PATH”变量值,对应用户安装环境中HIP的路径。
执行“make”命令,开始编译。安装完成后,在当前路径下生成可执行程序“opencfd-scu.out”。
四、算例测试
使用程序自带算例“超声速压缩折角流动”进行测试,来流速度2.9马赫,坡面角24度。
算例位于benchmark_comp文件夹中。
按照README.md中的顺序依次编译网格生成工具Mesh、计算初始化工具init,并生成网格、执行计算初始化。
执行计算。
./opencfd-scu.out
计算中。
编译后处理工具Post,执行后处理,将结果文件OCFD00001000.dat转换为tecplot支持的文件data07.dat。使用Tecplot软件进行结果查看。