搜档网
当前位置:搜档网 › Fluent 批处理技巧

Fluent 批处理技巧

Fluent批量计算
对于工程应用来说,计算精度要求不高,但是计算的case比较多,尤其模型优化工作,你可
能有几十个case要算。一个case只需要计算个把钟头,对于周末的大好时光来说,两天时间
只能算一个,实在是浪费时间。经过一番研究,找到了解决方法。基本原理是使用fluent的
journal文件,你要写一个journal文件,命名为1.journal
在fluent 的file/write/start journal,选择文件名1.journal后,fluent就还是记录你的
操作到1.jouranl中,你操作完成后,file/write/stop journal,用记事本打开看看就知道
了。
来一个我写好的journal文件,其作用是读取已有的case and data,计算,保存计算结果。
内容如下:
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...")
(cx-gui-do cx-set-text-entry "Select File*Text" "lzzmn.cas")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "MenuBar*SolveMenu*Iterate...")
(cx-gui-do cx-set-integer-entry
"Iterate*Table1*Frame2(Iteration)*Table2(Iteration)*IntegerEntry1(Number of
Iterations)" 2000)
(cx-gui-do cx-activate-item "MenuBar*SolveMenu*Iterate...")
(cx-gui-do cx-activate-item "Iterate*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Case & Data...")
(cx-gui-do cx-set-text-entry "Select File*Text" "lzzmn.cas ")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Warning*OK")

为方便使用,注释集中写在下面:
打开 read case and data对话框;
选择文件“lzzmn.cas”,这个文件改成你的文件;
点击选择文件对话框的确定;
打开iterate 对话框;
设置number of iterations 为2000,在你的case中没有对iterate apply过,这里默认的是
1,因此在这个文件中我又设置了一次计算步数;
激活iterate 对话框;
点击iterate,开始运算,这就开始工作啦,直到运算结束(满足你设置的残差要求或者达
到了2000步);
打开保存case and data对话框;
选择保存的文件名“lzzmn.cas”,换成你自己的;
点击确定;
由于前后两次使用的文件名一致,会跳出一个对话框警告是否覆盖,点击ok;如果你两次的
对话框选择的文件名不一致,就不会警告你要不要覆盖,那么这一行就没有了;至此完成了
一个case的读取,计算,保存;把上述过程再重复一次,其中读取、保存的文件换成你的第
二个case,那么
就进行第二个case的读取计算保存了。你有n个,那么copy n次以上内容,更改读取、保存
的文件名字在同一个journal文件中,比如文件名为1.journal。

简单方法:

如果你case都是2维的,或者都是3维的,那就简单了。首先,你把所有的case都设置好,并
进行简单的计算,以确保你的case是收敛的。注意在iterate对话框中 number of
iterati

ons中输入合理的数值后记得Apply一下,否则这个数值不能记录到case中,那么以
后你读入的case文件只计算一步,保存好case and data文件。
打开对应版本的fluent,可以是单机的,可以是联网的;
File/read/journal,选择你journal文件即可。

命令行:
如果你的case会有维数的变化,那么你写一个bat文件即可。
用记事本写如下内容,命名为1.bat, linux可以写shell脚本,对后缀没有要求:
fluent 2d -g -i g -i 11.journal
fluent 3d -g -i g -i 12.journal
fluent 2ddp -g -i g -i 13.journal
fluent 3ddp -g -i g -i 14.journal

上述是打开了四个不同的fluent,2d 2ddp 3d 3ddp,而journal文件11 12 13 14分别对应读
取二维 三维的case data文件。

只要你的case 收敛,你的case文件足够多,你就可以让你的电脑周末两天一点也没的休息
了(心黑点了吧?)。


作者:felicity6056

好帖子,慢慢看

作者:nono2009

又和K版撞车了。:D
金币就送给楼主了。:D

作者:tacaro

不会在windows下弄这种东西

我们这里有一台集群服务器

Linux Suse10的系统

通过网络提交任务,可以进行并行计算

目前用的是openpbs作业调度管理

调用方法基本就是fluent的text command line+pbs

比自己机器算爽

并行好快,还可以一起算多个cas

:D:D:D

作者:夏之篮

这个管用,up~~

作者:haizi37

我最近也想用集群服务器计算。但是不知道该如何调用
你说的调用方法是使用text command line+pbs
能说得具体一些吗?
多谢
QUOTE:
Originally posted by tacaro at 2009-11-15 15:38:37:
不会在windows下弄这种东西

我们这里有一台集群服务器

Linux Suse10的系统

通过网络提交任务,可以进行并行计算

目前用的是openpbs作业调度管理

调用方法基本就是fluent的text command line+pbs
...

作者:rewind

尝试过让计算机几天不停的算
但是每次都是算到一定时候 fluent就会出现需要利用资源管理器才能关闭现象
不知您们是不是出现过 有没有比较好的解决办法
反正我现在是用比较笨的法子...

作者:sosososo1114

QUOTE:
Originally posted by rewind at 2010-05-05 21:36:17:
尝试过让计算机几天不停的算
但是每次都是算到一定时候 fluent就会出现需要利用资源管理器才能关闭现象
不知您们是不是出现过 有没有比较好的解决办法
反正我现在是用比较笨的法子...
没有遇到过,,,不过有点不同,我用的不是bat,而是scheme,不过缺陷是执行循环的时候如果要强制退出只能就只能用cntrl +alt+del,了。。。。。但是可移植性不错


相关主题