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)操作。



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(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電磁分析 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com