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

歡迎光臨散文網 會員登陸 & 注冊

五十七、Fluent UDF自定義材料物性參數(shù)

2023-05-26 21:44 作者:Dearanwen  | 我要投稿


1. 材料屬性的設置



有兩種方式可以自定義材料的屬性參數(shù),第一種材料下拉框選擇,第二種UDF自定義函數(shù)。



我們這次主要介紹第二種方式,通過UDF的方式自定義材料屬性。之前有兩篇文章介紹過UDF的基礎和UDF DEFINE _PROFILE宏


自定義材料屬性的define宏主要是DEFINE_PROPERTY,除此之外如果需要定義擴散系數(shù),還需要使用DEFINE_DIFFUSIVITY宏。


擴散系數(shù)一般是打開組分輸運方程,或者使用UDS才需要定義。




2. DEFINE_PROPERTY宏的用法



我們詳細說說DEFINE_PROPERTY宏的使用,同時給出幾個例子



2.1 物性參數(shù)



DEFINE_PROPERTY宏可以定義的物性參數(shù)如下:


? density (as a function of temperature):密度

? viscosity:粘度

? thermal conductivity:導熱系數(shù)

? absorption and scattering coefficients:吸收系數(shù)和散射系數(shù)

? laminar flame speed:層流火焰速度

? rate of strain:應變率

? frictional modulus (Eulerian model):摩擦模量

? elasticity modulus (Eulerian model):彈性模量

? heat transfer coefficient (Mixture model):傳熱系數(shù)

? particle or droplet diameter (Mixture model):液滴直徑

······················

注:

a. DEFINE_PROPERTY宏可定義大多數(shù)的物性參數(shù),上面只是列舉出一部分。當需要定義物性參數(shù)時,首選DEFINE_PROPERTY宏

b. 擴散系數(shù)需要使用DEFINE_DIFFUSIVITY宏定義

c. 比熱容需要使用DEFINE_SPECIFIC_HEAT宏定義


2.2 DEFINE_PROPERTY的用法




DEFINE_PROPERTY (name, c, t)

name:udf的名字,隨便起,只要符合c語言變量命名規(guī)則即可。比如Ergouzi,xiaoerhua。建議取表示物性的單詞作為名字density、viscosity等


c:網格變量cell,返回網格的編號值。其實就是一個整數(shù),看過Fluent UDF為所欲為的后門這篇文章的應該印象深刻些


t:線程thread,是一個結構體,包含一些列cell、face等。


返回值return:real類型,返回物性參數(shù)值


注:

a. c和t都是這個宏從fluent中取出來給用戶使用的,不需要任何的定義,直接可以使用c和t


b. 由于DEFINE_PROPERTY 宏已經給用戶傳遞了c和t,因此使用這個宏不需要遍歷thread,也不需要遍歷網格。也就是說不需要使用loop宏,直接對c進行操作即可。


c. 與之相對的,如DEFINE_ADJUST宏,沒有傳遞c和t,因此必須要先遍歷thread或者查找thread,然后再遍歷網格。




3. DEFINE_PROPERTY示例



3.1 粘度定義



定義粘度viscosity,當溫度大于288K,粘度等于5.5e-3;當溫度小于286K,粘度等于1.0;否則粘度等于溫度T的函數(shù)。

UDF代碼如下:


#include "udf.h"

DEFINE_PROPERTY(cell_viscosity,c,t)

{

????real mu_lam;

????real temp = C_T(c,t);

????if (temp > 288.)

????????mu_lam = 5.5e-3;

????else if (temp > 286.)

????????mu_lam = 143.2135 - 0.49725 * temp;

????else

????????mu_lam = 1.;

????return mu_lam;

}


解釋一下:

real mu_lam;

//聲明了一個real變量,其實就是c語言的float類型,只不過real可以自動改變單精度還是雙精度。mu_lam是變量名稱,可隨意命名。


real temp = C_T(c,t);

//聲明了一個real變量,并且賦值。temp即變量名,使用C_T宏給其賦值。

//C_T宏用于獲取網格溫度,括號中的c和t即是DEFINE_PROPERTY(cell_viscosity,c,t)中的c和t。兩者必須一致,要改都改。


if (temp > 288.)

? ? ?mu_lam = 5.5e-3;

else if (temp > 286.)

? ? ?mu_lam = 143.2135 - 0.49725 * temp;

else

? ? ?mu_lam = 1.;

//if else語句,根據溫度值來確定粘度值。288.為什么要加一個點,如果不加點則表示整型,加點表示浮點型,其實就是288.0。如果不是整型,即使是整數(shù)最好也要寫成小數(shù)形式,否則會出現(xiàn)一些很難察覺到的錯誤。


return mu_lam;

//返回mu_lam值,這個值會自動傳遞給Fluent的物性參數(shù),對于DEFINE_PROPERTY宏,必須要有返回值,返回就是自己設置的物性參數(shù)。



3.2 表面張力系數(shù)定義


表面張力系數(shù)定義為溫度的函數(shù),sur_ten=1.35 - 0.004*T + 5.0e-6*T*T


UDF代碼如下:


#include "udf.h"

DEFINE_PROPERTY(sfc,c,t)

{

????real T = C_T(c,t);

????return 1.35 - 0.004*T + 5.0e-6*T*T;

}

直接以表達式的形式返回物性參數(shù)



3.3 密度和時間相關



這里僅僅是演示,實際上我們的物性更多是和壓力溫度有關,和時間沒有關系。這里為了說明UDF的靈活性,簡單演示。


假設當流動時間小于1s,密度為1000kg/m3;流動時間大于等于1s,密度為1kg/m3。


UDF代碼如下:


#include "udf.h"

DEFINE_PROPERTY(den_time,c,t)

{

? ? real density;

????real current_time;

????current_time = CURRENT_TIME;?

????if(current_time<1.0)

????{

????????density=1000.0;

????}

????else

????{

????????density=1.;

????}

????return density;

}


邏輯很簡單,這里只說明一點。

current_time = CURRENT_TIME;?

//CURRENT_TIME是fluent中的一個宏,也可以認為是一個變量,返回當前的流動時間。


4. UDF的編譯與加載


兩種UDF編譯的方式,參考文章四十九、Fluent UDF編譯正確的流程??煞譃镮nterpreted和Compiled。


對于解釋型Interpreted,優(yōu)點是簡單、方便,缺點是很多高級宏不適用。因此建議大家不要使用解釋型編譯UDF。


這里還是簡單說一下,下圖為解釋型界面,直接點擊Browse,選中寫好的UDF,然后點擊Interpret即可。如果UDF沒問題,則不會出現(xiàn)報錯信息。



編譯型UDF界面如下圖,上面有兩個框Source Files和Header Files,Source Files表示源文件,就是編寫好的UDF文件;




Header Files表示頭文件,只有當UDF很復雜,為了使UDF模塊化才需要從這里導入頭文件。UDF自帶了很多頭文件如udf.h,但是這些頭文件不需要從這里導入。



首先點擊Add,選中編寫好的UDF后導入,然后點擊Build,如果UDF沒有問題,則不會出現(xiàn)任何報錯信息(只要控制界面有error,則說明有問題)。


在沒有報錯的前提下,點擊Load,則UDF加載成功。關于UDF報錯問題,建議大家看看文章四十九、五十和五十一。如果沒有報錯,控制臺應該會顯示下面的信息,其中就有各種DEFINE宏的name







5. UDF的使用


不同的DEFINE宏,UDF的使用方式不同。對于DEFINE_PROPERTY宏,定義材料的物性參數(shù)。因此使用時,直接在材料物性界面選中即可



比如需要修改air的粘度,在Viscosity處選擇user-defined,會彈出右圖,然后選中DEFINE的name就行,點擊OK。






公眾號:Fluent學習筆記。為了方便大家學習交流,我創(chuàng)建了QQ群:466988009,大家可以在其中討論相關的問題,同時我會將所有文章的源文件都放到QQ群中,還會放一些其它的學習文件。歡迎大家加入。





五十七、Fluent UDF自定義材料物性參數(shù)的評論 (共 條)

分享到微博請遵守國家法律
博爱县| 嘉善县| 微博| 芦山县| 西吉县| 舞阳县| 吉首市| 托克托县| 曲松县| 班玛县| 筠连县| 景洪市| 诸暨市| 乌兰县| 谷城县| 陈巴尔虎旗| 吴忠市| 德清县| 巩义市| 双辽市| 高青县| 和硕县| 石泉县| 绥芬河市| 江山市| 杨浦区| 赞皇县| 滨州市| 牙克石市| 自贡市| 花莲县| 兰坪| 东海县| 绍兴县| 曲松县| 兴安县| 菏泽市| 怀宁县| 新竹县| 锡林浩特市| 什邡市|