最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

七、Fluent用戶自定義函數(shù)(UDF)基礎(chǔ)(1)

2021-04-01 21:29 作者:Dearanwen  | 我要投稿

? 前面我們所講述的Fluent的相關(guān)知識只是很少很少的一部分,但是今天我們還是開始一部分新的知識。之所以這樣做,是因為今天所講述的知識在大家以后的學(xué)習(xí)中用途很廣泛,同時這部分知識需要大家提前學(xué)習(xí)一些基礎(chǔ)知識。

圖1.UDF用戶手冊

UDF介紹:所謂UDF-用戶自定義函數(shù)(User-defined functions),學(xué)習(xí)過編程語言的同學(xué)對此應(yīng)該并不陌生,無論是C語言、JAVA還是Python,自定義函數(shù)被廣泛的應(yīng)用著,它能夠使語言邏輯和代碼的簡潔性大幅度提高。Fluent的UDF有著同樣的功能,但是又不完全相同。

在Fluent中,UDF使用C語言來編寫,因此需要大家有一定的C語言基礎(chǔ),但是不必過于深入,大家只需要了解基本的格式和語法結(jié)構(gòu)即可,同時需要對指針有一點了解。建議有其他語言基礎(chǔ)的同學(xué)花一周的時間學(xué)習(xí)一下C語言---一周的時間已經(jīng)足夠了。

?

UDF特殊性:接下來我們說一下Fluent UDF的特殊性,實際上即便C語言功底很厲害的高手并不一定能夠?qū)懞肬DF,為什么呢?因為Fluent UDF和C語言的自定義函數(shù)完全就是兩碼事。它是Fluent封裝好的可以傳遞給求解器的函數(shù),主要由各種宏組成,每個宏有各自的作用。說的通俗易懂一點,其實UDF就是Fluent已經(jīng)給用戶起好了自定義函數(shù)的名字了,用戶達(dá)到什么樣的目的,使用相對應(yīng)的宏就行。類似于我乘坐地鐵去電影院,為了達(dá)到去電影院的目的,我使用了名叫地鐵的工具,這里的名字“地鐵”就相當(dāng)于Fluent中的宏;如果放到C語言中,你可以給“地鐵”起任意名字如“自行車”,這樣會帶來混亂,導(dǎo)致Fluent求解器識別不了你的目的。比如用戶想讓進(jìn)口流體的速度正弦變化,那么就需要找到能夠修改邊界條件的宏-DEFINE_PROFILE(name, t, i),然后在里面指定速度函數(shù)即可。

圖2.C語言自定義函數(shù)

圖3.Fluent UDF

UDF功能:對于Fluent而言,UDF可以顯著增強其功能,使用UDF你可以做如下的事情:

1.?自定義邊界條件、材料特性、表面和體積反應(yīng)速率、用戶定義標(biāo)量(UDS)、傳輸方程中的源項、擴散系數(shù)函數(shù)等

2. 每次迭代調(diào)整一次計算值。

3.?自定義的求解初始化

4.?按需執(zhí)行UDF

5.?在迭代結(jié)束時、退出ANSYS Fluent或加載已編譯的UDF庫時執(zhí)行

6.?增強后處理效果

7.?改進(jìn)現(xiàn)有的ANSYS Fluent模型(如離散相模型、多相混合模型、離散坐標(biāo)輻射模型)

上述功能都是直接使用Fluent比較難以完成但是實際又經(jīng)常會用到的,尤其1、2在以后的學(xué)習(xí)中會經(jīng)常使用到。

?

UDF宏:UDF有兩類宏,DEFINE宏和結(jié)構(gòu)宏。DEFINE宏是大的功能宏,能夠完成某一項功能,如定義材料特性、定義邊界條件等等。想要完成不同的功能就要在對應(yīng)的DEFINE宏中書寫代碼,上述的每個功能都有其DEFINE宏。結(jié)構(gòu)宏和FLUENT計算方式有關(guān),涉及到網(wǎng)格、線程和相域的相關(guān)知識,比較復(fù)雜,我們以后再詳細(xì)了解。結(jié)構(gòu)宏可以相互嵌套,但是只能大套小。比較常見的結(jié)構(gòu)宏如:

begin_f_loop(f, t)//遍歷線程t上的面

{

????//代碼//

}

end_f_loop(f, t)

thread_loop_c(t, d)////遍歷混合域d上的線程

{

????//代碼//

}

值得注意的是,DEFINE宏里面會包含結(jié)構(gòu)宏,這樣說來,DEFINE宏可以類比為C語言中的自定義函數(shù),而結(jié)構(gòu)宏則可以類比成循環(huán)語句for或while,只不過這里的循環(huán)的是網(wǎng)格或線程。

要想達(dá)到我們的目的,我們還需要知道各種物理量,UDF也給我們提供了各種各樣的物理量,如獲取網(wǎng)格溫度C_T(c,t)。物理量宏都是這樣的寫法,C表示網(wǎng)格,T表示溫度,(c,t)表示從t線程獲取網(wǎng)格c的溫度。C_T必須大寫,(c,t)必須小寫。下面給出一部分常用的物理量宏:

圖4.常用的物理量宏

最后說一下,由于FLUENT UDF內(nèi)容很多,我們不可能全部掌握,只能對一些常用的熟記。遇到比較特殊的要求,最簡單方便的方法就是查看官方UDF用戶手冊。這里的手冊是全英文的,大家要是覺得不夠方便可以多多關(guān)注我,我以后會持續(xù)做一些這方面的內(nèi)容。

UDF用戶手冊資源:

鏈接:https://pan.baidu.com/s/1insmk2rkP9hIcrtelHwVIw

提取碼:iuj1

對你有幫助的話,關(guān)注微信公眾號:Fluent學(xué)習(xí)筆記


七、Fluent用戶自定義函數(shù)(UDF)基礎(chǔ)(1)的評論 (共 條)

分享到微博請遵守國家法律
霍邱县| 历史| 民丰县| 从化市| 乡城县| 静乐县| 宁城县| 馆陶县| 若羌县| 楚雄市| 屯门区| 红河县| 循化| 浦东新区| 新巴尔虎右旗| 北流市| 昭通市| 定日县| 汉阴县| 德令哈市| 长沙县| 郑州市| 南昌县| 盐亭县| 桂阳县| 左云县| 蓬安县| 湘潭市| 太和县| 洛南县| 彭阳县| 慈溪市| 博白县| 珠海市| 平舆县| 虎林市| 济源市| 云霄县| 来宾市| 启东市| 韶山市|