七十、Fluent表達(dá)式基礎(chǔ)實(shí)例
1. 表達(dá)式介紹
UDF的使用雖然很方便,但入門需要一定的門檻,導(dǎo)致很多同學(xué)不敢深入學(xué)習(xí)。Fluent新的版本提供了表達(dá)式Expression功能,能夠?qū)DF進(jìn)行一定的替代和補(bǔ)充。
注:
a.?表達(dá)式功能最重要的一點(diǎn)就是量綱要統(tǒng)一,大部分的表達(dá)式出現(xiàn)問題,都是量綱問題
b.?很多時(shí)候表達(dá)式比UDF還要復(fù)雜,與其糾結(jié)表達(dá)式,不如踏實(shí)學(xué)習(xí)UDF
c. 表達(dá)式并不是UDF的簡化版本,對于縮減操作,表達(dá)式有其獨(dú)有的優(yōu)勢。
2. 表達(dá)式案例
本文通過三個(gè)案例簡單介紹表達(dá)式功能的使用。
2.1 案例1:入口速度隨時(shí)間變化
這個(gè)案例看似非常簡單,對于UDF來說確實(shí)如此,但對于表達(dá)式來說可能就比較麻煩。表達(dá)式最麻煩的地方就在于量綱要統(tǒng)一。
讓模型的入口速度隨時(shí)間變化,這里設(shè)置速度是時(shí)間的三角函數(shù)的絕對值。我們需要注意的就是要讓表達(dá)式的量綱統(tǒng)一,這也是大家使用expression經(jīng)常出錯(cuò)的地方。
1. 打開Fluent,導(dǎo)入想要設(shè)置的case,這里在文章末尾給大家提供了我所使用的case。由于使用到了時(shí)間t,因此必須是瞬態(tài)
2. 雙擊Boundary condition,找到需要設(shè)置表達(dá)式的邊界,設(shè)置為velocity inlet。
雙擊in邊界,在Velocity Magnitude后的下拉列表后面選擇expression?
選擇expression后,可以直接在Enter Expression輸入公式。也可以點(diǎn)擊后面的f(x),彈出expression窗口輸入公式
3.?Expression窗口
簡單介紹一下,后面會(huì)有文章詳細(xì)介紹:
①輸入公式的文本框
②Functions自帶的各種函數(shù),包含條件函數(shù)Conditional如if、數(shù)學(xué)公式Mathematical比如絕對值函數(shù)、最大最小值函數(shù)等。其中的Reduction函數(shù)比較難理解,也比較重要。
③Variables Fluent中所能輸出的物理量,包含壓力、溫度、速度等
④Constants自帶的常數(shù),比如PI,氣體常數(shù)R,自然對數(shù)e等
⑤Location 模型中的各種區(qū)域,包含邊界區(qū)域和計(jì)算域
4.?輸入速度公式
公式中的sin可以直接輸入文本sin()表示正弦函數(shù),也可從Functions中選擇sin函數(shù)。公式中的π需要輸入PI或者從Constants中選擇PI。
表達(dá)式中用t來表示時(shí)間,可以直接輸入t,也可在Variables中選擇t。公式中的絕對值用abs函數(shù)表示
按照上面的描述,表達(dá)式應(yīng)該為
abs(sin(200*PI*t))
但按照上述公式輸入,會(huì)發(fā)現(xiàn)下面有報(bào)錯(cuò)信息,翻譯一下:sin函數(shù)參數(shù)應(yīng)該是無量綱的或者是角度單位,但現(xiàn)在的公式單位是時(shí)間單位s。
也就是說量綱不對,所以我們需要修改量綱,使sin的參數(shù)無量綱。如何修改??其實(shí)不管那么多強(qiáng)制修改就可以,有s的單位,除以1s就沒有單位了
sin(200*PI*t/1[s])
當(dāng)然還有很多表達(dá)方式,只要能保證滿足單位要求即可。
sin(200*PI*t*1[s^-1])
sin(200*PI*1[Hz]*t)
注:
a. 表達(dá)式的量綱格式為[Pa kg^-3 s],用中括號(hào)括起來,指數(shù)用^表示;復(fù)合單位,單位和單位直接用空格,用*也可以。
b. 修改公式量綱原則:怎么修改都可以,不需要考慮物理意義,只要滿足量綱要求就行
按照上述公式輸入后,又提示錯(cuò)誤
錯(cuò)誤信息:公式單位錯(cuò)誤,需要的公式單位使[m s^-1],但給出的公式單位是[]無量綱。
仍然是量綱問題,雖然我們使sin函數(shù)滿足無量綱的要求了,但速度公式要求的是m/s的單位,因此需要將公式單位改為m/s。還是有多種方式,比如
sin(200*PI*t*1[s^-1])*1[m/s]
sin(200*PI*t*1[s^-1])*1[m*s^-1]
1[m*s^-1]*sin(200*PI*t*1[s^-1])
按照上面的公式輸入后,窗口會(huì)變成下圖
此時(shí)不再出現(xiàn)報(bào)錯(cuò)信息,同時(shí)會(huì)出現(xiàn)Primary Independent Variable框,此框用于繪圖。Min和max表示自變量的范圍,count表示繪圖的節(jié)點(diǎn)數(shù)。
計(jì)算驗(yàn)證
把上面的公式輸入后,進(jìn)行計(jì)算驗(yàn)證,檢測入口速度隨時(shí)間變化曲線。下面是一個(gè)周期的圖像
2.2 案例2:壁面溫度隨x軸變化
上面的例子介紹的比較詳細(xì),這個(gè)例子當(dāng)作練習(xí),簡單說明。
假設(shè)壁面溫度和x的函數(shù)關(guān)系為二次函數(shù)
Tw=273+30*x+20*x^2
步驟和案例1相同,這里我們只對輸入公式進(jìn)行說明(涉及到溫度,需要打開能量方程)
在wall邊界中,勾選Temperature,點(diǎn)擊expression,進(jìn)入到輸入公式界面。
公式說明:Tw=273+30*x+20*x^2
a.?公式中的x表示x軸坐標(biāo),可以直接輸入x,也可以在Variables中選擇x坐標(biāo)
b. 最重要的還是量綱問題,273無量綱,30*x量綱是[m],20*x^2量綱是[m^2]。需要將公式的量綱調(diào)整為K。
c. 調(diào)整量綱思路:將公式的每一項(xiàng)都變成無量綱,最后統(tǒng)一變成K
(273+30*x/1[m]+20*x^2/1[m^2])*1[K]
導(dǎo)入公式后,初始化。查看wall壁面的溫度分布
2.3 案例3:材料密度為壓力和溫度的函數(shù)
認(rèn)為空氣密度是壓力和溫度的函數(shù),根據(jù)理想氣體狀態(tài)方程可得到
其中的R為氣體常數(shù),單位為J/(K·mol);M為空氣的分子量M=29g/mol
公式說明:
a.?公式中的P和T均為Fluent可以提供的物理量,通過Variables選取即可
b. R為氣體常數(shù),如果是自己輸入的話,是沒有單位的;但是Fluent的Constants提供的R包含了單位J/(K·kmol)。
c. 按照上面物理量的量綱,M=29kg/kmol。最終公式:
AbsolutePressure*29[kg/kmol]/(StaticTemperature*R)
導(dǎo)入公式后可以畫出曲線圖
回到材料設(shè)置界面,單擊Change按鈕會(huì)出現(xiàn)報(bào)錯(cuò)信息
信息顯示密度表達(dá)式不能同時(shí)是溫度和壓力的函數(shù),說明Expression的方式還是有局限性。
鏈接:?
https://pan.baidu.com/s/1Yoo1Pp_Mqhi8P4BCS6CoAw?pwd=ccw5
提取碼: ccw5?
為了方便大家學(xué)習(xí)交流,我創(chuàng)建了QQ群:863690217,大家可以在其中討論相關(guān)的問題,同時(shí)我會(huì)將所有文章的源文件都放到QQ群中,還會(huì)放一些其它的學(xué)習(xí)文件。歡迎大家加入。