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