ANSYSFluent_批處理及連續(xù)計(jì)算方法
2016-09-04 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
一、前言
對(duì)于工程應(yīng)用來(lái)說(shuō),計(jì)算精度要求不高,但是計(jì)算的case比較多,尤其模型優(yōu)化工作,你可能有幾十個(gè)case要算。一個(gè)case只需要計(jì)算個(gè)把小時(shí),對(duì)于周末或者晚上來(lái)說(shuō),這么長(zhǎng)時(shí)間內(nèi)只能算一個(gè)工況,實(shí)在是浪費(fèi)時(shí)間。對(duì)于特殊瞬態(tài)問(wèn)題,不同時(shí)刻邊界條件或者材料參數(shù)或者工況有所變更,此時(shí)可以更改journal文件進(jìn)行連續(xù)計(jì)算。尤其是在工程應(yīng)用中,為我們?cè)O(shè)計(jì)工程師節(jié)省了不少的計(jì)算時(shí)間。
二、什么是journal文件?
journal 文件在fluent中的作用就像windows下的批處理文件一樣,文件中包含了一連串的操作命令(command)。
Journal文件是包含一系列TUI命令的文本文件。
Journal文件可以用文本編輯器來(lái)編寫(xiě),也可以由執(zhí)行分析時(shí)用的fluent命令記錄來(lái)產(chǎn)生。
Fluent生成的journal文件包括任何GUI操作(都是以TUI的形式)。如果有許多任務(wù)要執(zhí)行時(shí)使用journal文件顯得非常方便。以下介紹兩種制作journal文件的方法。
三、生成journal文件的方法
3.1 記錄操作方法寫(xiě)journal文件
基本原理是使用fluent的journal文件,你要寫(xiě)一個(gè)journal文件,命名為a.journal在fluent 的file/write/start journal,選擇文件名a.journal后,fluent就還是記錄你的操作到a.jouranl中,你操作完成后,file/write/stop journal,然后用記事本打開(kāi),全部都是記錄的操作步驟。
下面一段內(nèi)容為已寫(xiě)好的journal文件,其作用是讀取已有的case和data,計(jì)算保存計(jì)算結(jié)果。內(nèi)容如下:
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case & Data...") //打開(kāi) read case and data對(duì)話框
(cx-gui-do cx-set-text-entry "Select File*Text" "abcd.cas") //選擇文件“abcd.cas”,這個(gè)文件改成你的文件
(cx-gui-do cx-activate-item "Select File*OK") //點(diǎn)擊選擇文件對(duì)話框的確定
(cx-gui-do cx-activate-item "MenuBar*SolveMenu*Iterate...") //打開(kāi)iterate 對(duì)話框
(cx-gui-docx-set-integer-entry"Iterate*Table1*Frame2(Iteration)*Table2(Iteration)*IntegerEntry1(NumberofIterations)" 1000) //設(shè)置number of iterations 為1000,在你的case中沒(méi)有對(duì)iterate apply過(guò),這里默認(rèn)的是1,因此在這個(gè)文件中我又設(shè)置了一次計(jì)算步數(shù)
(cx-gui-do cx-activate-item "MenuBar*SolveMenu*Iterate...") //激活iterate 對(duì)話框
(cx-gui-do cx-activate-item "Iterate*PanelButtons*PushButton1(OK)") //點(diǎn)擊iterate,開(kāi)始運(yùn)算,直到運(yùn)算結(jié)束(滿足你設(shè)置的殘差要求或者達(dá)到了1000步)
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Case & Data...") //打開(kāi)保存case and data對(duì)話框
(cx-gui-do cx-set-text-entry "Select File*Text" "abcd.cas ") //選擇保存的文件名“abcd.cas”
(cx-gui-do cx-activate-item "Select File*OK") //點(diǎn)擊確定
(cx-gui-do cx-activate-item "Warning*OK") //由于前后兩次使用的文件名一致,會(huì)跳出一個(gè)對(duì)話框警告是否覆蓋,點(diǎn)擊ok;如果你兩次的對(duì)話框選擇的文件名不一致,就不會(huì)警告你要不要覆蓋,那么這一行就沒(méi)有了
至此完成了一個(gè)case的讀取,計(jì)算,保存。把上述過(guò)程再重復(fù)一次,其中讀取、保存的文件換成你的第二個(gè)case,那么就進(jìn)行第二個(gè)case的讀取計(jì)算保存了。你有n個(gè)case需要計(jì)算,那么copy n次以上內(nèi)容,更改讀取、保存的文件名字在同一個(gè)journal文件中,比如文件名為1.journal。
簡(jiǎn)單方法:
如果你case都是2維的,或者都是3維的,那就簡(jiǎn)單了。首先,你把所有的case都設(shè)置好,并進(jìn)行簡(jiǎn)單的計(jì)算,以確保你的case是收斂的。注意在iterate對(duì)話框中 number of iterations中輸入合理的數(shù)值后記得Apply一下,否則這個(gè)數(shù)值不能記錄到case中,那么以后你讀入的case文件只計(jì)算一步,保存好caseand data文件。
打開(kāi)對(duì)應(yīng)版本的fluent,可以是單機(jī)的,可以是聯(lián)網(wǎng)的;File/read/journal,選擇你journal文件即可。
命令行:
如果你的case會(huì)有維數(shù)的變化,那么你寫(xiě)一個(gè)bat文件即可。
用記事本寫(xiě)如下內(nèi)容,命名為1.bat, linux可以寫(xiě)shell腳本,對(duì)后綴沒(méi)有要求:
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
上述是打開(kāi)了四個(gè)不同的fluent,2d 2ddp 3d 3ddp,而journal文件11 12 13 14分別對(duì)應(yīng)讀取二維三維的case data文件。
3.2 TUI命令行寫(xiě)journal文件
打開(kāi)fluent,然后在TUI(Text User Interface文本用戶界面)輸入file,回車鍵入read-case-data,回車提示case/data file name,然后將case所在文件路徑copy到該命令行中,即可讀入指定的文件,后續(xù)以同樣的方法輸入相應(yīng)命令行,進(jìn)行相關(guān)設(shè)置 。
然后將設(shè)置命令行copy到記事本,保存名為a.jou,至此完成journal文件的編譯,具體操作方法請(qǐng)查看下面的案例分享。TUI中還包括圖形用戶界面中沒(méi)有的一些設(shè)置,如周期性邊界條件。
四、瞬態(tài)連續(xù)計(jì)算journal文件案例分享
工業(yè)廠房?jī)?nèi)堆放高溫固體,頂部分布24臺(tái)抽風(fēng)機(jī),前后門口敞開(kāi),墻壁側(cè)面安裝百葉窗,每隔3min工人師傅開(kāi)推車放進(jìn)一個(gè)250℃的高溫鋼卷,廠房?jī)?nèi)堆積360根鋼卷,因此必須滿足廠房?jī)?nèi)過(guò)道上的溫度在人體可以承受的溫度范圍內(nèi),否則該設(shè)計(jì)不合理,需要重新進(jìn)行風(fēng)口及風(fēng)量的布置。
對(duì)于我們仿真設(shè)計(jì)人員來(lái)說(shuō),在fluent中采取的方法是初始時(shí)所有的固體區(qū)域均設(shè)為流體區(qū)域,與大的空氣區(qū)域的接觸面為interior,3min后將其中一個(gè)小的流體域更改為solid,然后接觸面自然變?yōu)閣all,并生成相應(yīng)的wall-shadow,我們可以一直盯在電腦前,當(dāng)計(jì)算到3min時(shí),再將另一個(gè)小域變?yōu)楣腆w域,然后給定初始溫度250℃,但是這樣效率就明顯下降,這時(shí)我們需要利用強(qiáng)大的journal文件來(lái)實(shí)現(xiàn)自動(dòng)連續(xù)計(jì)算過(guò)程。
下面為TUI命令行編寫(xiě)的journal文件:
file/read-case "D: /aa.msh" //讀入aa.msh文件
mesh/check //網(wǎng)格檢查
mesh/scale 0.001 0.001 0.001//網(wǎng)格尺寸更改
define/models/unsteady-2nd-order y//打開(kāi)非穩(wěn)態(tài)計(jì)算
define/operating-conditions/gravity y 0 0 -9.81//打開(kāi)重力項(xiàng)
define/models/energy y n n n y//計(jì)算熱流動(dòng)分析,打開(kāi)能量方程
define/models/viscous/kr y//選擇realizable k-e湍流模型
define/models/viscous/buoyancy-effects y//勾選buoyancy-effects
define/materials/change-create air air y boussinesq 1.225 n n n n y 0.0033 n //修改氣體參數(shù)
define/materials/copy/solid steel //復(fù)制材料庫(kù)中steel的材料參數(shù)
define/boundary-conditions/zone-type zone1 solid //將第一個(gè)堆放區(qū)域單元類型改為solid,含義為工人師傅將一根鋼卷放入廠房?jī)?nèi)
define/boundary-conditions/pressure-inlet door-inlet y n 0 n 0 n 33 n y n n n y 5 4.2
define/boundary-conditions/pressure-inlet shutter y n 0 n 0 n 33 n y n n n y 5 3.314
define/boundary-conditions/pressure-outlet door-outlet n 0 n 33 n y n n n y 5 4.2 n n n
define/boundary-conditions/zone-type exhaust_fan exhaust-fan
define/boundary-conditions/exhaust-fan exhaust_fan n 0 n 33 n y n n n y 5 1.232 n n n constant 100//根據(jù)實(shí)際工況設(shè)定邊界條件
solve/set/p-v-coupling 24//設(shè)置壓力速度耦合為coupled
solve/set/gradient-scheme y//設(shè)置Gradient為Green-Gauss Node Based
solve/set/discretization-scheme/pressure 14//更改壓力離散格式為PRESTO!
solve/initialize/hyb-initialization //進(jìn)行初始化
solve/patch/(solid1) temperature 523.15//鋼卷zone1初始時(shí)刻溫度patch為523.15K
file/write-case-dat "D:/aa"http://保存aa.cas和aa.dat文件
//當(dāng)然以上所有設(shè)置可以在GUI圖形用戶界面中進(jìn)行鼠標(biāo)設(shè)置,以下為journal的重點(diǎn)內(nèi)容
solve/set/time-step 0.01//設(shè)置時(shí)間步長(zhǎng),初始時(shí)給定一個(gè)小的時(shí)間步,有助于快速收斂
solve/dual-time-iterate 100 20//給定瞬態(tài)時(shí)間步數(shù)
solve/set/time-step 0.1//調(diào)整時(shí)間步長(zhǎng)
solve/dual-time-iterate 90 20//給定瞬態(tài)時(shí)間步數(shù)
solve/set/time-step 1//調(diào)整時(shí)間步長(zhǎng)
solve/dual-time-iterate 170 20//給定瞬態(tài)時(shí)間步數(shù)
file/write-case-dat "D:/aa _zone1"http://保存case,data文件
define/boundary-conditions/zone-type zone2 solid//將該流體區(qū)域變?yōu)楣腆w區(qū)域,含義為3min后第二個(gè)鋼卷放入廠房?jī)?nèi)
solve/patch/(zone2) temperature 523.15//給定該鋼卷初始溫度為523.15K
solve/dual-time-iterate 180 20//瞬態(tài)迭代求解
file/write-case-dat "D:/aa _zone2"http://保存case,data文件
define/boundary-conditions/zone-type zone3 solid//將該流體區(qū)域變?yōu)楣腆w區(qū)域,含義為3min后第三個(gè)鋼卷放入廠房?jī)?nèi)
solve/patch/(zone3) temperature 523.15//給定該鋼卷初始溫度為523.15K
solve/dual-time-iterate 180 20//瞬態(tài)迭代求解
file/write-case-dat "D:/aa _zone3"http://保存case,data文件
……//復(fù)制更改對(duì)應(yīng)名稱
define/boundary-conditions/zone-type zone360 solid//將該流體區(qū)域變?yōu)楣腆w區(qū)域,含義為3min后第360個(gè)鋼卷放入廠房?jī)?nèi)
solve/patch/(zone360) temperature 523.15//給定該鋼卷初始溫度為523.15K
solve/dual-time-iterate 180 20//瞬態(tài)迭代求解
file/write-case-dat "D:/aa _zone360"http://保存case,data文件
……
以上操作即可實(shí)現(xiàn)該瞬態(tài)問(wèn)題的連續(xù)計(jì)算,為設(shè)計(jì)工程師節(jié)省不少時(shí)間,否則這是一個(gè)相當(dāng)大的工作,耗時(shí)長(zhǎng),需要工程師一直盯著。因此巧用journal命令行,可以實(shí)現(xiàn)工作最大化。
為方便演示journal瞬態(tài)連續(xù)計(jì)算問(wèn)題,以下是該物理問(wèn)題的簡(jiǎn)化,簡(jiǎn)化方案見(jiàn)下面示意圖。
define/boundary-conditions/zone-type zone1 solid
solve/patch/(zone1) temperature 523.15
solve/dual-time-iterate 180 20
file/write-case-dat "D:/aa _zone1"
define/boundary-conditions/zone-type zone2 solid
solve/patch/(zone2) temperature 523.15
solve/dual-time-iterate 180 20
file/write-case-dat "D:/aa _zone2"
define/boundary-conditions/zone-type zone3 solid
solve/patch/(zone3) temperature 523.15
solve/dual-time-iterate 180 20
file/write-case-dat "D:/aa _zone3
五 、總結(jié)
不論是使用記錄操作步驟生成journal文件,還是TUI中命令行寫(xiě)journal文件,宗旨只有一個(gè)節(jié)省時(shí)間,前一種方法操作簡(jiǎn)單,上手較快,但是更改起來(lái)就比較麻煩,因?yàn)檎Z(yǔ)句較為繁瑣,而后一種方法簡(jiǎn)單明了,能一眼就看明白一條命令的含義及作用,只是第一次編輯時(shí)需要自行編輯,后面類似的計(jì)算只需更改或添加相應(yīng)的命令行即可,個(gè)人比較偏向TUI命令行的方式,同時(shí)TUI語(yǔ)言編寫(xiě)的.jou文件,常常用于大型集群的投遞計(jì)算,因此了解TUI語(yǔ)言的編寫(xiě),將大大方便我們?cè)谝院蟮膶W(xué)習(xí)過(guò)程中進(jìn)行相關(guān)操作。
相關(guān)標(biāo)簽搜索:ANSYSFluent_批處理及連續(xù)計(jì)算方法 Fluent培訓(xùn) Fluent流體培訓(xùn) Fluent軟件培訓(xùn) fluent技術(shù)教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學(xué)反應(yīng) fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析