首页/文章/ 详情

风雷|03 图形界面

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
1月前浏览288

PHengLEI的参数设置虽说不是太复杂,不过对于日常使用来说,频繁的改写文本文件还是效率太低。如果能有一个GUI操作界面,无疑会极大地提高使用效率。官方提供的GUI我编译的时候总是报错,而且从网上找到的截图来看,编译出来也是极为简陋的界面,无奈只好放弃了。不过后面发现了HyFLOW,发现其求解器使用的是风雷。于是有了个想法。

本文描述将HyFLOW用作PHengLEI前处理界面的操作流程。

1 安装HyFLOW

上次提到了在PHengLEI开源仓库中有一个名为HyFLOW的软件包(https://www.osredm.com/PHengLEI/PHengLEI/releases),如下图所示,将三个压缩包下载下来,然后解压并安装。

安装过程比较简单,双击一路下一步即可,这里就不详述了。

2 HyFLOW应用

软件启动后的界面是这样式儿的。真心的和我的审美观不匹配,丑到yue~

  • 点击按钮 新建工程 ,选择工程目录,例如D:\NNW\HyFlow
  • 然后再弹出的对话框中选择计算类型及网格信息等。如本案例为低速流动,网格为2D网格,求解器采用结构求解器。点击 确定 按钮新建工程。
 

这个地方的路径似乎还能改,不知GUI设计是怎么考虑的,如果这里能改,前面有必要选择文件路径么。还有就是工作路径不让有其他文件,必须是空文件,不清楚有啥必要非要这么搞。

工作界面如图所示。

  • 进入软件后,可以在工具选项卡中点击按钮 换肤 转换为暗黑皮肤。这样看起来要稍微舒服一点。
  • 在工作文件夹下创建子文件夹grid,再将网格文件30p30n.cgns拷贝到该文件夹下

这样做的目的是为了和风雷的文件夹组织结构保持一致。

  • 点击源网格后的浏览按钮,选择网格文件30p30s.cgns

软件会自动调用PHengLEI进行网格转换。网格转换完毕后会给出提示信息。

程序会自动将网格显示在图形窗口中。

  • 选择 解算器设置 下的 控制参数 按钮,如下图所示设置参数

解算器设置下方包括6个按钮:控制参数、边界条件、空间离散、时间离散、后置处理、计算结果。

  • 点击 边界条件 按钮,如下图所示设置边界参数
  • 点击 空间离散 按钮,如下图所示指定空间离散算法
  • 点击 时间离散 按钮,如下图所示设置时间离散参数
  • 点击 后置处理 按钮,如下图所示设置后处理参数
  • 点击 计算结果 按钮,指定计算文件输出参数
  • 点击按钮 开始计算 ,程序会调用风雷求解器进行计算

此时软件开始计算,右侧自动显示残差曲线。

也可有通过点击 视图 选项卡中的按钮来观察不同的监测曲线。

  • 气动力监测
  • 部件积分曲线图

这里算了3000步将其终止。

点击按钮 流场视图 ,可以以云图形式查看流场分布

  • 密度分布
  • 马赫数等值线分布

3 移植

  • 将风雷程序PHengLEI.exe拷贝到工作路径下
  • 此时在文件夹下运行风雷,使用命令mpiexec -n 4 ./PHengLEI.exe,然而运行出错

从出错信息上看,说是找不到nAxisRotateTimes,然而此参数是用于网格转换的。还得从参数文件入手进行查看。打开bin文件夹。

  1. 查看bin文件夹中的key.hypara文件
string title  =  "PHengLEIMainParameterControlFile";
string defaultParaFile  =  "./bin/default_cfd_para.hypara";
int ndim =  2;
int nparafile =  1;
int    nsimutask =  0;
string parafilename  =  "./bin/cfd_para.hypara";
int numberOfGridProcessor =  0;
string parafilename1  =  """";
string parafilename2  =  "";

可以看到参数配置文件为cfd_para.hypara

  1. 查看bin文件夹中的cfd_para.hypara文件

这个文件里面的内容极其混乱。感觉开发者使用的是文本替换法,文件中出现了大量与案例无关的网格文件路径。而且里面的内容压根没法看,太混乱了。

  • 找到PHengLEI示例文件中的grid_para.hypara文件,拷贝其内容替换当前文件default_cfd_para.hypara

再次运行,出现如下所示的错误提示。

从提示信息来看,应该是文件boundary_condition.hypara,打开此文件,看不到有什么问题。

抱着试一试的想法,将第一行改成int nBoundaryConditions = INTEGER;,如下图所示。

再次运行后,似乎问题解决了。能够正常往下算了。

4 总结

使用HyFLOW作为PHengLEI的前处理GUI工具,从方法上是行得通的。虽说效果不咋地,但聊胜于无!

来源:CFD之道
UM控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-11
最近编辑:1月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2487粉丝 10673文章 682课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈