吾生有涯 学海无涯
析模有界 知识无界

风雷|01 软件编译

内容纲要

前阵子在研究AI4CFD,迫切地需要一个能方便调用的CFD求解器,然后将重点放在SU2上,搞了半天难受得要死,后来有朋友推荐说可以换国产的风雷试试。再然后就试了试。

风雷简介(官方原文):

风雷软件(PHengLEI,Platform for Hybrid ENGineering simulation of flows)是中国空气动力研究与发展中心(CARDC)研发的面向流体工程的混合CFD平台。平台以面向对象的设计理念,采用C++语言编程。2020年12月,风雷软件正式面向全国开源,与其他开源CFD软件相比,风雷软件具有扩展能力强、开发难度低、计算效率高等特点。

风雷软件(NNW-PHengLEI)目前在红山平台(https://www.osredm.com/)开源。托管平台上的发行版中只有一个2021年发布的v2171版本,且没有预编译可执行程序。另外附带另一个HyFLOW,目前不清楚是干什么用的,以后有时间再探索。

代码库中的最新版本是2312版,没有预编译可执行文件,需要从源代码自己编译。

今天来看看该软件的编译过程。

1 文件下载

首先下载源代码。

  • 进入红山开源平台。

点击链接的时候,会弹出一个让签署开源协议的对话框(我这里已经搞完了,就没法抓图了)。把文件下下来,然后填一下基本信息,打印出来签上字再扫描上传就可以了(这里需要拍身份证,不是很友好,个人建议如果非要实名信息,可以搞一个人脸识别)。上传完毕后很快就能审核通过。

可以使用git命令下载源代码,也可以直接入下图所示顺序直接下载源代码文件。

下载完毕后将其解压。文件夹内容如下所示。

这里需要自己编译。我没有找到官方预编译的可执行文件(强烈建议官方能够提供预编译版本,毕竟软件编译还挺麻烦的)。文件夹中有个名为快速入门的PDF文件,里面文档写的很详细。本文也是参照此文档内容。

2 编译工具

编译之前先准备工具。

风雷使用的编程语言是C++,可以使用CMake构建项目,并使用Visual Studio进行编译。

  • CMake下载地址:https://cmake.org/download/。在官网下载最新版本进行安装即可。
  • Visual Studio下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/。下载免费的社区版本即可。

如果想要编译并行版本,则需要安装MPI库。

  • MPI库下载地址:https://learn.microsoft.com/zh-cn/message-passing-interface/microsoft-mpi#ms-mpi-downloads。直接下载安装即可。

3 编译代码

  1. 进入代码中的 PhenglEI文件夹,打开 3rdparty文件夹,解压其中的 eigen.tar.gz压缩文件、PETSc.zip、Sacado.zip压缩文件。其中eigen.tar.gz是必须的,另外两个可选。
  1. 进入代码文件夹,打开 PHengLEI 文件夹,新建 build 文件夹
  1. 启动CMake程序,如图所示设置源代码路径及目标文件路径。点击按钮Configure
  1. 选择目标平台,如图所示选择x64,点击按钮Finish
  • 选择想要编译的选项,点击按钮Generate进行生成

注:这里有一些编译选项是依赖外部库的,如果没有提前准备,在后续编译的过程中可能会报错。

  • 生成完毕后,可以点击按钮Open Project打开Visual Studio并加载工程
  • 在解决方案模型树中,右键选择PHengLEI3d0节点,选择弹出菜单项设为启动项目
  • 选择Release x64编译

注:如果前面CMake中选择win32,那这里也必须使用win32。当然一般情况下我们都选择使用x64。

完毕后给出如下提示,表示编译成功。

此时在buildPHengLEIv3d0Release文件夹下生成了一个名为PHengLEIv3d0.exe的可执行程序,即求解器。

4 测试

编译完毕后可以使用自带的案例尝试一下是否编译成功。

  • PHengLEIv3d0.exe拷贝到PHengLEI文件夹下的子文件夹examples中,如下图所示
  • 利用cmd启动命令窗口,进入到examples目录下,执行命令
mpiexec -n 4 .PHengLEIv3d0.exe

如下图所示。

程序开始执行,计算完毕后如下图所示。

程序会将计算结果存储在results文件夹中。

可以直接使用tecplot打开进行后处理。

5 总结

总体上来说,PhengLEI的编译过程比较简单,编译后的可执行程序也足够简单(只有 1个单独的可执行文件)。

这里弱弱问一句,PhengLEI文件夹中的那个GUI编译应该怎么弄?我把VTK放进去,然后总是提示找不到VTK,官方有没有详细的编译过程?急求~


(本部分结束)

本篇文章来源于微信公众号: CFD之道

赞(1) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《风雷|01 软件编译》
文章链接:https://www.topcfd.cn/38715/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册