PHengLEI的参数设置虽说不是太复杂,不过对于日常使用来说,频繁的改写文本文件还是效率太低。如果能有一个GUI操作界面,无疑会极大地提高使用效率。官方提供的GUI我编译的时候总是报错,而且从网上找到的截图来看,编译出来也是极为简陋的界面,无奈只好放弃了。不过后面发现了HyFLOW,发现其求解器使用的是风雷。于是有了个想法。
本文描述将HyFLOW用作PHengLEI前处理界面的操作流程。
上次提到了在PHengLEI开源仓库中有一个名为HyFLOW的软件包(https://www.osredm.com/PHengLEI/PHengLEI/releases),如下图所示,将三个压缩包下载下来,然后解压并安装。
安装过程比较简单,双击一路下一步即可,这里就不详述了。
软件启动后的界面是这样式儿的。真心的和我的审美观不匹配,丑到yue~
D:\NNW\HyFlow
这个地方的路径似乎还能改,不知GUI设计是怎么考虑的,如果这里能改,前面有必要选择文件路径么。还有就是工作路径不让有其他文件,必须是空文件,不清楚有啥必要非要这么搞。
”
工作界面如图所示。
grid
,再将网格文件30p30n.cgns
拷贝到该文件夹下这样做的目的是为了和风雷的文件夹组织结构保持一致。
30p30s.cgns
软件会自动调用PHengLEI进行网格转换。网格转换完毕后会给出提示信息。
程序会自动将网格显示在图形窗口中。
解算器设置下方包括6个按钮:控制参数、边界条件、空间离散、时间离散、后置处理、计算结果。
此时软件开始计算,右侧自动显示残差曲线。
也可有通过点击 视图 选项卡中的按钮来观察不同的监测曲线。
这里算了3000步将其终止。
点击按钮 流场视图 ,可以以云图形式查看流场分布
mpiexec -n 4 ./PHengLEI.exe
,然而运行出错从出错信息上看,说是找不到nAxisRotateTimes
,然而此参数是用于网格转换的。还得从参数文件入手进行查看。打开bin
文件夹。
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
。
bin
文件夹中的cfd_para.hypara
文件这个文件里面的内容极其混乱。感觉开发者使用的是文本替换法,文件中出现了大量与案例无关的网格文件路径。而且里面的内容压根没法看,太混乱了。
PHengLEI
示例文件中的grid_para.hypara
文件,拷贝其内容替换当前文件default_cfd_para.hypara
。再次运行,出现如下所示的错误提示。
从提示信息来看,应该是文件boundary_condition.hypara
,打开此文件,看不到有什么问题。
抱着试一试的想法,将第一行改成int nBoundaryConditions = INTEGER;
,如下图所示。
再次运行后,似乎问题解决了。能够正常往下算了。
使用HyFLOW作为PHengLEI的前处理GUI工具,从方法上是行得通的。虽说效果不咋地,但聊胜于无!