每日學(xué)幾個(gè)UDF宏_01
DEFINE_PROFILE(name, thread, i)?{ ;}
輸出參數(shù):
????name-創(chuàng)建函數(shù)的名稱(首字符不能是數(shù)字)。
輸入?yún)?shù):thread-指針數(shù)組;
????i-整數(shù)型(一個(gè)標(biāo)識(shí)要定義的變量的 ID;當(dāng)將UDF與邊界條件對(duì)話框中的變量hook時(shí),將設(shè)置i)。
????使用DEFINE_PROFILE定義自定義邊界輪廓或單元格區(qū)域條件,該條件隨空間坐標(biāo)或時(shí)間而變化。
????請(qǐng)注意,DEFINE_PROFILE僅允許修改?wall heat flux?的單個(gè)值。如果要將?wall heat flux?的源項(xiàng)線性化,并分別考慮熱傳導(dǎo)和熱輻射,則需要使用DEFINE_heat_flux來(lái)指定UDF。
F_PROFILE(f, thread, i) = f(x,y,z,t)
輸出參數(shù):無(wú)。
輸入?yún)?shù):thread-指針數(shù)組;
????f-?face_t?整數(shù)型;
????i-整數(shù)型(這里專門指向網(wǎng)格面上某個(gè)給定的變量)。
為給定的網(wǎng)格面設(shè)置邊界條件值,與DEFINE_PROFILE(name, thread, i) 配套使用。
當(dāng)將UDF hook到特定邊界時(shí),thread 將被自動(dòng)定義;
begin_f_loop(f, facethread)?
{ ;}
f- face_t/整數(shù)型,facethread-指針組;
f 的作用類似于for循環(huán)中的遞增變量 i,這樣可以依次對(duì)每個(gè)網(wǎng)格面進(jìn)行操作。
F_CENTROID(C, f, facethread)
返回值: real C[ND_ND] (實(shí)數(shù))
輸入:face_t f(整數(shù)型);
????Thread *facethread (指針數(shù)組);
返回值 C (包含不同維度坐標(biāo)值的數(shù)組);ND_ND 應(yīng)該是一個(gè)內(nèi)部定義好的常量(二維時(shí)=2,三維時(shí)=3)

閑話,血的教訓(xùn)(注釋加的地方要注意)
比如下面這個(gè)注釋1,這樣也會(huì)生成一個(gè)UDF庫(kù)函數(shù),但編譯會(huì)出錯(cuò),不仔細(xì)發(fā)現(xiàn)不了;
然后去加載的時(shí)候就報(bào)錯(cuò):

我開開心心去網(wǎng)上搜? “The UDF library you are trying to load (libudf01) is not compiled for parallel use on the current platform (win64).”
確實(shí)一下就出了很多教程,大概就是原因很多,反正Visual Studio 未安裝或版本太舊是一個(gè)。檢查了一下自己電腦,點(diǎn)擊Windows圖標(biāo)去搜索安裝程序,沒(méi)找到,我就以為確實(shí)是這個(gè)原因,得裝一個(gè)。(其實(shí)可以在 設(shè)置→應(yīng)用與功能 里找到,發(fā)現(xiàn)已經(jīng)安裝了)
結(jié)果想安裝個(gè)2019版是真難!

現(xiàn)在微軟搞的是在線下載安裝,然后我這電腦就是過(guò)不了驗(yàn)證關(guān)。(然后又是一波上網(wǎng)搜怎么解決,各種改NDS地址、往驅(qū)動(dòng)里的hosts文件添加IP和域名)。還學(xué)到了一招,在安裝日志里找問(wèn)題:CSDN博主「RadiantJeral」的文章,鏈接:https://blog.csdn.net/RadiantJeral/article/details/115002474
好吧,那我就去裝個(gè)舊版網(wǎng)上直接下了個(gè)2013安裝包(解壓密碼用yiliu),離線安裝成了。
結(jié)局就是,跟Visual Studio沒(méi)關(guān)系(雖然和ta死磕了半天),還是要注意檢查 Fluent控制臺(tái),好好檢查代碼。
