当前位置:服务支持 >  软件文章 >  Fluent批量处理连续计算及批量后处理技术

Fluent批量处理连续计算及批量后处理技术

阅读数 8
点赞 0
article_banner
上一次,已经提到了采用journal文件进行计算前的模型参数设置,想必大家觉得很过瘾吧!根据本人自身经历来说的话,面对每次上千的工况,采用此种方法还是减少了很大的工作量。
本次,将继续介绍journal的另外一些别的用途:连续计算以及批量后处理。
1、连续计算
上千的工况case文件写好了,那就得计算,想想按照以往肯定是投一个计算,等着时间差不多了,或者计算完了再接着投计算,但是很多时候会遇到计算结束的时候是在晚上或者是在节假日,这时的话,如果第二天不来计算机房的话,那么宝贵的时间就浪费了,来机房的话,为了几个计算又显得不太值得。因此,本节将再次利用 fluent中的journal文件实现连续计算。
开始的步骤见帖子” http://forums.caenet.cn/showtopic-532623.aspx
以下是投计算的journal文件:
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...")
(cx-gui-do cx-activate-item "Warning*OK")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent1.cas")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "MenuBar*InitializeSubMenu*Initialize...")
(cx-gui-do cx-set-list-selections "Solution Initialization*DropDownList1(Compute From)" '( 6))
(cx-gui-do cx-activate-item "Solution Initialization*DropDownList1(Compute From)")
(cx-gui-do cx-activate-item "Solution Initialization*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "Solution Initialization*PanelButtons*PushButton2(Cancel)")
(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)" 3000)
(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" "fluent1.cas ")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Warning*OK")
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...")
(cx-gui-do cx-activate-item "Warning*OK")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent2.cas")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "MenuBar*InitializeSubMenu*Initialize...")
(cx-gui-do cx-set-list-selections "Solution Initialization*DropDownList1(Compute From)" '( 6))
(cx-gui-do cx-activate-item "Solution Initialization*DropDownList1(Compute From)")
(cx-gui-do cx-activate-item "Solution Initialization*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "Solution Initialization*PanelButtons*PushButton2(Cancel)")
(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)" 3000)
(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" "fluent2.cas ")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Warning*OK")
OK,不管你有多少个计算工况,统统按照这样编写就OK。不要要注意的是,确保你设置的步数”Iterate“下,计算结果能够收敛,这个很重要。
一个美好的夜晚或者周末就这样被你很好的利用起来了!觉得不错吧!
2、批量后处理
其实,思路还是和上面一样,所以直接上GUI代码:
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.cas")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "MenuBar*ReportMenu*Forces...")
(cx-gui-do cx-set-toggle-button "Force Reports*Frame1*Frame1(Options)*ToggleBox1(Options)*Forces" #f)
(cx-gui-do cx-activate-item "Force Reports*Frame1*Frame1(Options)*ToggleBox1(Options)*Forces")
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry1(X)" '( 1))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry2(Y)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry3(Z)" '( 0))
(cx-gui-do cx-set-list-selections "Force Reports*Frame2*List2(Wall Zones)" '())
(cx-gui-do cx-activate-item "Force Reports*Frame2*List2(Wall Zones)")
(cx-gui-do cx-activate-item "Force Reports*Frame2*PushButton3(DeselectAll)")
(cx-gui-do cx-set-list-selections "Force Reports*Frame2*List2(Wall Zones)" '( 1 2 3 5))
(cx-gui-do cx-activate-item "Force Reports*Frame2*List2(Wall Zones)")
(cx-gui-do cx-activate-item "Force Reports*PanelButtons*PushButton1(Write)")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry1(X)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry2(Y)" '( 1))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry3(Z)" '( 0))
(cx-gui-do cx-activate-item "Force Reports*PanelButtons*PushButton1(Write)")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Question*OK")
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry1(X)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry2(Y)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry3(Z)" '( 1))
(cx-gui-do cx-activate-item "Force Reports*PanelButtons*PushButton1(Write)")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Question*OK")
(cx-gui-do cx-set-toggle-button "Force Reports*Frame1*Frame1(Options)*ToggleBox1(Options)*Moments" #f)
(cx-gui-do cx-activate-item "Force Reports*Frame1*Frame1(Options)*ToggleBox1(Options)*Moments")
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry1(X)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry2(Y)" '( -2))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry3(Z)" '( 0))
(cx-gui-do cx-activate-item "Force Reports*PanelButtons*PushButton1(Write)")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Question*OK")
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry1(X)" '( 0))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry2(Y)" '( -1))
(cx-gui-do cx-set-real-entry-list "Force Reports*Frame1*Frame2*Frame1(Vector)*RealEntry3(Z)" '( 0))
(cx-gui-do cx-activate-item "Force Reports*PanelButtons*PushButton1(Write)")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Question*OK")
后面的接着同样的方式写就是了,很方便的。
其中”(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.txt")“这一步的后缀名,你也可以设置成别的,不过最好是txt。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空