UDF使用指南-1_第1頁(yè)
UDF使用指南-1_第2頁(yè)
UDF使用指南-1_第3頁(yè)
UDF使用指南-1_第4頁(yè)
UDF使用指南-1_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、UDF有多種功能,如:定制邊界條件,定義材料屬性,定義表面和體積反應(yīng)率,定義Fluent輸運(yùn)方程中的源項(xiàng),用戶自定義標(biāo)量輸運(yùn)方程UDS中的源項(xiàng)擴(kuò)散率函數(shù)等。1、 UDF基礎(chǔ)1、 Fluent的求解次序了解fluent的求解過(guò)程有助于理解UDF的調(diào)用過(guò)程,確定在給定的任意時(shí)間內(nèi)哪些數(shù)據(jù)是當(dāng)前的和有效的。對(duì)于不同的求解器,其求解次序是不一樣的。在分離式求解器求解過(guò)程中,用戶定義的初始化函數(shù)(使用DEFINE_INIT定義的)在迭代循環(huán)開(kāi)始之前執(zhí)行。然后迭代循環(huán)開(kāi)始執(zhí)行用戶定義的調(diào)整函數(shù)(使用DEFINE_ADJUST定義的)。接著,求解守恒方程,順序是從動(dòng)量方程和后來(lái)的壓力修正方程到與特定計(jì)算相關(guān)

2、的附加標(biāo)量方程。守恒方程之后,屬性被更新(包含用戶定義屬性)。這樣,如果模型涉及氣體定律,這時(shí),密度將隨更新的溫度(和壓力、物質(zhì)質(zhì)量分?jǐn)?shù))而被更新,進(jìn)行收斂或者附加要求的迭代的檢查、循環(huán)或者繼續(xù)或者停止。在耦合求解器求解過(guò)程中,用戶定義的初始化函數(shù)(使用DEFINE_INIT定義的)在迭代循環(huán)開(kāi)始之前執(zhí)行;然后迭代循環(huán)開(kāi)始執(zhí)行用戶定義的調(diào)整函數(shù)(使用DEFINE_ADJUST定義的);接著,F(xiàn)luent求解連續(xù)、動(dòng)量和(適合的地方)能量的控制方程及相關(guān)的物質(zhì)輸運(yùn)或矢量方程。其余的求解步驟與分離式求解器相同。2、 Fluent網(wǎng)格拓?fù)? 單元(cell):區(qū)域被分割成的控制體積2 單元中心(ce

3、ll center):Fluent中數(shù)據(jù)存儲(chǔ)的地方3 面(face):?jiǎn)卧ǘS或三維)的邊界4 邊(edge):面(三維)的邊界5 節(jié)點(diǎn)(node):網(wǎng)格點(diǎn)6 單元線索(cell thread):在其中分配了材料數(shù)據(jù)和源項(xiàng)的單元組7 面線索(face thread):在其中分配了邊界數(shù)據(jù)的面組8 節(jié)點(diǎn)線索(node thread):節(jié)點(diǎn)組9 區(qū)域(domain):由網(wǎng)格定義的所有節(jié)點(diǎn)、面和單元線索的組合3、 Fluent的數(shù)據(jù)類型在編寫(xiě)UDF時(shí),除了可以使用C語(yǔ)言數(shù)據(jù)類型外,還可以直接使用Fluent指定的與求解器數(shù)據(jù)相關(guān)的數(shù)據(jù)類型。常用的Fluent數(shù)據(jù)類型如下。cell_t是線索內(nèi)單元標(biāo)

4、示符的數(shù)據(jù)類型,是一個(gè)識(shí)別給定線索內(nèi)單元的整數(shù)索引。face_t是線索內(nèi)面標(biāo)示符的數(shù)據(jù)類型,是一個(gè)識(shí)別給定線索內(nèi)面的整數(shù)索引。Thread是單元或面的組合相關(guān)的數(shù)據(jù)容器。Node是單元或面的拐角相關(guān)的數(shù)據(jù)容器。Domain是Fluent中最高水平的數(shù)據(jù)結(jié)構(gòu),是一個(gè)與網(wǎng)格中所有節(jié)點(diǎn)、面和單元線索組合相關(guān)的數(shù)據(jù)容器。2、 UDF中訪問(wèn)Fluent變量的宏(一)訪問(wèn)單元的宏1、 訪問(wèn)單元流體變量的宏在Fluent中可以用來(lái)訪問(wèn)單元上流體變量的宏在表1中列出,注意加了_G、_RG、_M1和_M2這些下標(biāo)的單元格溫度的宏,可以應(yīng)用于表1中除單元格壓力(C_P)的所有求解器的變量中。這些下標(biāo)表示的是矢量梯

5、度、改造的矢量梯度、前一次的步長(zhǎng)和前兩次的步長(zhǎng)。而對(duì)于單元格壓力,它的矢量梯度和相應(yīng)的分量是使用C_DP得到的,而不是C_P_G。表1 在mem.h文件中的流體標(biāo)量宏名稱(參數(shù))參數(shù)類型返回值C_T(c,t)cell_t c,Thread*t溫度C_T_G(c,t)cell_t c,Thread*t溫度梯度矢量C_T_G(c,t)icell_t c,Thread*t,inti溫度梯度矢量的分量C_T_RG(c,t)cell_t c,Thread*t改造后的溫度梯度矢量C_T_RG(c,t)icell_t c,Thread*t,inti改造后的溫度梯度矢量的分量C_T_M1(c,t)cell_t

6、 c,Thread*t溫度的前一次步長(zhǎng)C_T_M2(c,t)cell_t c,Thread*t溫度的前二次步長(zhǎng)C_P(c,t)cell_t c,Thread*t壓力C_DP(c,t)cell_t c,Thread*t壓力梯度矢量C_DP(c,t)icell_t c,Thread*t,inti壓力梯度矢量的分量C_U(c,t)cell_t c,Thread*tu方向的速度C_V(c,t)cell_t c,Thread*tv方向的速度C_W(c,t)cell_t c,Thread*tw方向的速度C_YI(c,t,i)cell_t c,Thread*t,inti物質(zhì)質(zhì)量分?jǐn)?shù)C_K(c,t)cell_

7、t c,Thread*t湍流運(yùn)動(dòng)能C_D(c,t)cell_t c,Thread*t湍流運(yùn)動(dòng)能的分散速率(1) 可以在宏中加入下標(biāo)_G來(lái)得到梯度矢量和其分量。例如,C_T_G(c,t)就是返回單元格的溫度梯度矢量。注意:只有當(dāng)已經(jīng)求解出包含這個(gè)變量的方程時(shí)才能得到梯度變量。例如,如果定義了一個(gè)關(guān)于能量的源程序,那么所編的UDF可以使用C_T_G讀寫(xiě)單元格的溫度梯度,而不能使用C_T_G讀寫(xiě)X方向的速度分量。而且,如果建立一個(gè)由使用者確定的方式轉(zhuǎn)移方程,那么就不能得到一部分的梯度了。這是因?yàn)榍蠼馄鞑粩嗟匾谱咚恍枰臄?shù)據(jù)。可以使用下面的方法來(lái)阻止存儲(chǔ)器釋放記憶:發(fā)出文本命令save/set/ex

8、pert,然后對(duì)計(jì)算機(jī)提出的是否阻止暫時(shí)的求解器記憶釋放這一提問(wèn)回答是,按照這種做法就可以保留所有的梯度數(shù)據(jù),但是這種計(jì)算需要更多的內(nèi)存。(2) 在調(diào)用梯度矢量時(shí)把某一分量作為參數(shù),這樣就可以得到梯度分量了,參數(shù)0代表X方向的分量,1代表Y方向的分量,2代表Z方向的分量。例如,C_T_G(c,t)0就是返回溫度梯度X方向的分量.注意:在表1中,雖然只列出了溫度梯度和其分量求解的宏,但是卻可以擴(kuò)展到除了壓力以外的所有變量中去,對(duì)于壓力只能按照表1中的方法使用C_DP來(lái)得到壓力梯度和其分量。(3) 和梯度一樣的方式,可以通過(guò)加RG的下標(biāo)在宏中得到梯度向量和其分量。通過(guò)使用恰當(dāng)?shù)恼麛?shù)作為參數(shù)來(lái)獲得想

9、要的矢量分量,參數(shù)0代表X方向的分量,1代表Y方向的分量,2代表Z方向的分量。當(dāng)完成自己的插補(bǔ)計(jì)劃時(shí)可以使用改造過(guò)的梯度。改造過(guò)的溫度梯度和其分量在表1中列出了,同樣可以推廣到所有的變量。注意:改造過(guò)的梯度矢量和梯度矢量一樣都只有在梯度方程被求解出來(lái)時(shí)才可以得到。(4) 在表1中的宏中加入下標(biāo)_M1就可以得到前一次步長(zhǎng)時(shí)間下的變量的值,得到的這些數(shù)據(jù)可以在瞬態(tài)的模擬中使用。例如,C_T_M1(c,t),返回前一步時(shí)間下的單元格溫度的值。若在表1里宏的后面加上下標(biāo)_M2就可以得到前兩次步長(zhǎng)下的時(shí)間,這些數(shù)據(jù)可用于瞬態(tài)的模擬計(jì)算中。在表1中僅列出了溫度的前一次步長(zhǎng)的求法,也可以擴(kuò)展到其他的變量中去

10、。2、 訪問(wèn)導(dǎo)數(shù)的宏表2 在mem.h文件中訪問(wèn)導(dǎo)數(shù)個(gè)宏名稱(參數(shù))參數(shù)類型返回值C_DUDX(c,t)cell_t c,Thread*tU速度對(duì)x方向的導(dǎo)數(shù)C_DUDY(c,t)cell_t c,Thread*tU速度對(duì)y方向的導(dǎo)數(shù)C_DUDZ(c,t)cell_t c,Thread*tU速度對(duì)z方向的導(dǎo)數(shù)C_DVDX(c,t)cell_t c,Thread*tV速度對(duì)x方向的導(dǎo)數(shù)C_DVDY(c,t)cell_t c,Thread*tV速度對(duì)y方向的導(dǎo)數(shù)C_DVDZ(c,t)cell_t c,Thread*tV速度對(duì)z方向的導(dǎo)數(shù)C_DWDX(c,t)cell_t c,Thread*tW速度

11、對(duì)x方向的導(dǎo)數(shù)C_DWDY(c,t)cell_t c,Thread*tW速度對(duì)y方向的導(dǎo)數(shù)C_DWDZ(c,t)cell_t c,Thread*tW速度對(duì)z方向的導(dǎo)數(shù)3、 訪問(wèn)材料性質(zhì)的宏表3 在mem.h文件中訪問(wèn)材料性質(zhì)的宏名稱(參數(shù))參數(shù)類型返回值C_FMEAN(c,t)cell_t c,Thread*t第一次混合分?jǐn)?shù)的平均值C_FMEAN2(c,t)cell_t c,Thread*t第二次混合分?jǐn)?shù)的平均值C_FVAR(c,t)cell_t c,Thread*t第一次混合分?jǐn)?shù)變量C_FVAR2(c,t)cell_t c,Thread*t第二次混合分?jǐn)?shù)變量C_PREMIXC(c,t)cel

12、l_t c,Thread*t反應(yīng)過(guò)程變量C_LAMFLAME SPEED(c,t)cell_t c,Thread*t層流焰速度C_CRITICAL STRAIN RATE(c,t)cell_t c,Thread*t臨界應(yīng)變速度C_POLLUT(c,t,i)cell_t c,Thread*t,inti第i個(gè)污染物質(zhì)的質(zhì)量分?jǐn)?shù)C_R(c,t)cell_t c,Thread*t密度C_MU L(c,t)cell_t c,Thread*t層流速度C_MU T(c,t)cell_t c,Thread*t湍流速度C_MU EFF(c,t)cell_t c,Thread*t有效粘度C_K_L(c,t)cel

13、l_t c,Thread*t熱傳導(dǎo)系數(shù)C_K_T(c,t)cell_t c,Thread*t湍流熱傳導(dǎo)系數(shù)C_K_EFF(c,t)cell_t c,Thread*t有效熱傳導(dǎo)系數(shù)C_CP(c,t)cell_t c,Thread*t確定的熱量C_RGAS(c,t)cell_t c,Thread*t氣體常數(shù)C_DIFF L(c,t,i,j)cell_t c,Thread*t,int i,int j層流物質(zhì)的擴(kuò)散率C_DIFF EFF(c,t,i)cell_t c,Thread*t,int i物質(zhì)的有效擴(kuò)散率C_ABS COEFF(c,t)cell_t c,Thread*t吸附系數(shù)C_SCAT CO

14、EFF(c,t)cell_t c,Thread*t擴(kuò)散系數(shù)C_NUT(c,t)cell_t c,Thread*t湍流速度4、 訪問(wèn)用戶自定義的單元標(biāo)量和存儲(chǔ)器的宏表4 在mem.h文件中的可以為單元格訪問(wèn)用戶定義的標(biāo)量和存儲(chǔ)器的宏名稱(參數(shù))參數(shù)類型返回值C_UDSI(c,t,i)cell_t c,Thread*t,int i用戶定義的單元格標(biāo)量C_UDSI M(c,t,i)cell_t c,Thread*t,int i前一次步長(zhǎng)下用戶定義的單元格標(biāo)量C_UDSI_DIFF(c,t,i)cell_t c,Thread*t,int i用戶定義的標(biāo)量的單元格分散率C_UDMI(c,t,i)cell

15、_t c,Thread*t,int i用戶定義的單元格存儲(chǔ)器5、 訪問(wèn)雷諾茲壓力模型的宏表5 在metric.h文件中的可以給雷諾茲壓力模型讀寫(xiě)標(biāo)量的宏名稱(參數(shù))參數(shù)類型返回值C_RUU(c,t)cell_t c,Thread*tuu雷諾茲壓力C_RVV(c,t)cell_t c,Thread*tvv雷諾茲壓力C_RWW(c,t)cell_t c,Thread*tww雷諾茲壓力C_RUV(c,t)cell_t c,Thread*tuv雷諾茲壓力C_RVW(c,t)cell_t c,Thread*tvw雷諾茲壓力C_RUW(c,t)cell_t c,Thread*tuw雷諾茲壓力(二)訪問(wèn)面的

16、宏1、訪問(wèn)面流體標(biāo)量的宏注意:如果表面在邊界上,那么流體的方向是由F_FLUX決定的點(diǎn)指向外圍空間。表6 在mem.h文件中可以在邊界面讀寫(xiě)流體標(biāo)量的宏名稱(參數(shù))參數(shù)類型返回值F_R(f,t)face_t f,Thread*t密度F_P(f,t)face_t f,Thread*t壓力F_U(f,t)face_t f,Thread*tu方向的速度F_V(f,t)face_t f,Thread*tv方向的速度F_W(f,t)face_t f,Thread*tw方向的速度F_T(f,t)face_t f,Thread*t溫度F_H(f,t)face_t f,Thread*t焓F_K(f,t)fac

17、e_t f,Thread*t湍流運(yùn)動(dòng)能F_D(f,t)face_t f,Thread*t湍流運(yùn)動(dòng)能的分散速率F_YI(f,t,i)face_t f,Thread*t,int i物質(zhì)的質(zhì)量分?jǐn)?shù)F_FLUX(f,t)face_t f,Thread*t通過(guò)邊界表面的質(zhì)量流速2、 讀寫(xiě)用戶定義的面標(biāo)量和存儲(chǔ)器的宏表7 在mem.h文件中的表面讀寫(xiě)用戶定義的標(biāo)量和存儲(chǔ)器的宏名稱(參數(shù))參數(shù)類型返回值F_UDSI(f,t,i)face_t f,Thread*t,int i用戶確定的表面標(biāo)量F_UDMI(f,t,i)face_t f,Thread*t,int i用戶定義的表面存儲(chǔ)器3、 訪問(wèn)混合面標(biāo)量的宏表

18、8 在mem.h文件中的訪問(wèn)混合面的宏名稱(參數(shù))參數(shù)類型返回值F_C0(f,t)face_t f,Thread*t訪問(wèn)表面0邊上的單元變量F_C0_THREAD(f,t)face_t f,Thread*t訪問(wèn)表面0邊上的單元線索F_C1(f,t)face_t f,Thread*t訪問(wèn)表面1邊上的單元變量F_C1_THREAD(f,t)face_t f,Thread*t訪問(wèn)表面1邊上的單元線索(3) 訪問(wèn)幾何的宏1、 節(jié)點(diǎn)和面的數(shù)量宏C_NNODES和C_NFACES返回相應(yīng)的節(jié)點(diǎn)和面的整數(shù)值。對(duì)于一個(gè)給定的單元格,F(xiàn)_NNODES返回與某個(gè)表面相關(guān)的節(jié)點(diǎn)的整數(shù)個(gè)數(shù)。表9 在mem.h文件中的

19、節(jié)點(diǎn)和表面的宏名稱(參數(shù))參數(shù)類型返回值C_NNODES(c,t)cell_t c,Thread*t一個(gè)單元格的節(jié)點(diǎn)數(shù)C_NFACES(c,t)cell_t c,Thread*t一個(gè)單元格中的表面數(shù)F_NNODES(f,t)cell_t f,Thread*t一個(gè)表面中的節(jié)點(diǎn)數(shù)2、 單元格和表面的重心表10列出的宏可以獲得一個(gè)單元格或是表面的真實(shí)重心。C_CENTROID找到單元格的重心坐標(biāo),并把它的坐標(biāo)存儲(chǔ)在矩陣X中。F_CENTROID找到表面的重心的坐標(biāo),并把它的坐標(biāo)存儲(chǔ)在矩陣X中。注意,矩陣X可以是一維、二維或是三維的。表10 在metric.h文件中的變量重心宏名稱(參數(shù))參數(shù)類型返回

20、值C_CENTROID(x,c,t)realxND ND,cell_t c,Thread*t單元格重心的x值F_CENTROID(x,f,t)realxND ND,face_t f,Thread*t表面中心的x值3、 表面積宏F_AREA可以被用于返回一個(gè)實(shí)數(shù)的面積向量。對(duì)于內(nèi)部的表面,標(biāo)準(zhǔn)的面積向量的方向是從單元格C0指向單元格C1。標(biāo)準(zhǔn)的方向總是從邊界面指向外(范圍之外)的。表11 在metric.h文件中的表面積宏名稱(參數(shù))參數(shù)類型返回值F_AREA(A,f,t)AND ND,face_t f,Thread*t面積向量A4、 單元格體積表12列出的宏可以用于獲得二維、三維和軸對(duì)稱的模型

21、的單元格的真實(shí)體積表12 在mem.h文件中的單元格體積宏名稱(參數(shù))參數(shù)類型返回值C_VOLUME(c,t)cell_t c,Thread*t二維或是三維的單元格體積單元格體積/是軸對(duì)稱模型的體積(四)訪問(wèn)節(jié)點(diǎn)的宏表13和表14列出的宏返回單元格節(jié)點(diǎn)的實(shí)數(shù)直角坐標(biāo)(在單元格的拐角)和相應(yīng)的節(jié)點(diǎn)速度的分量。例如,在移動(dòng)的網(wǎng)格模擬中節(jié)點(diǎn)速度是相對(duì)應(yīng)的,每個(gè)變量的Node*node的參數(shù)定義了一個(gè)節(jié)點(diǎn)。表13 在mem.h文件中變量的節(jié)點(diǎn)坐標(biāo)名稱(參數(shù))參數(shù)類型返回值NODE X(node)Node*node節(jié)點(diǎn)的X坐標(biāo)NODE Y(node)Node*node節(jié)點(diǎn)的Y坐標(biāo)NODE Z(node)

22、Node*node節(jié)點(diǎn)的Z坐標(biāo)表14 在mem.h文件中的節(jié)點(diǎn)速度變量宏名稱(參數(shù))參數(shù)類型返回值NODE GX(node)Node*node節(jié)點(diǎn)速度的X分量NODE GX(node)Node*node節(jié)點(diǎn)速度的Y分量NODE GX(node)Node*node節(jié)點(diǎn)速度的Z分量(五)訪問(wèn)多相的宏表15列出的宏返回一個(gè)與整體多相節(jié)點(diǎn)相連的實(shí)數(shù)變量。這些變量的定義在sg_mphase.h文件中可以找到,這些包含在udf.h文件中。表15 在sg_mphase.h文件中的變量宏名稱(參數(shù))參數(shù)類型返回值C_VOF(c,pt0)cell_t c,Thread*pt主要相的體積分?jǐn)?shù)C_VOF(c,ptn

23、)cell_t c,Thread*pt第n個(gè)輔助相的體積分?jǐn)?shù)3、 一般循環(huán)宏1、 查詢控制區(qū)的單元線當(dāng)查詢給定控制區(qū)的單元線索時(shí),可以用thread_loop_c。它包含單獨(dú)的說(shuō)明,后面是對(duì)控制區(qū)的單元線索所做的操作,正如下面顯示的包含在中。注意:thread_loop_c在執(zhí)行上和下面的thread_loop_c相似。Domain *domain;Thread *c_thread;Thread_loop_c(c_thread,domain)/*loops over all cell threads in domain*/2、 查詢控制區(qū)的面當(dāng)查詢給定控制區(qū)的面時(shí),可以用thread_loop

24、_f。它包含單獨(dú)的說(shuō)明,后面是對(duì)控制區(qū)的面所做的操作,正如下面顯示的包含在中。注意:thread_loop_f在執(zhí)行上和上面的thread_loop_c相似。Thread *f_thread;Domain *domain;Thread_loop_f(f_thread,domain)/*loops over all face threads in a domain*/3、 查詢單元線索中的單元當(dāng)要查詢給定單元線索c_thread上所有的單元時(shí),可以用begin_c_loop和end_c_loop。它包含begin和end loop的說(shuō)明,完成對(duì)單元線索所做的操作,定義包含在中。當(dāng)查找控制區(qū)單元線

25、索的單元時(shí),應(yīng)用loop全嵌套在thread_loop_c中。cell_t c;Thread *c_thread;Begin_c_loop(c,c_thread)/*loops over cells in a cell thread*/end_c_loop(c,c_thread) 4、查詢面線索中的面當(dāng)要查找給定面線索f_thread的所有面時(shí),可以用begin_f_loop和end_f_loop。它包含begin和end loop的說(shuō)明,完成對(duì)面線索中面單元所做的操作,定義包含在中。當(dāng)查找控制區(qū)面線索的所有面時(shí),應(yīng)用loop全嵌套在thread_loop_f中。face_t f;Thread

26、 *f_thread;Begin_f_loop(f,f_thread)/*loops over faces in a face thread*/end_f_loop(f,f_thread) 5、 查詢單元中的面下面函數(shù)用以查詢給定單元中所有面。它包含單獨(dú)的查詢說(shuō)明,后面是所做的操作,意義包含在中。face_t f;Thread *tf;int n;c_face_loop(c,t,n)/*loops over all faces on a cell*/ F=C_FACE(c,t,n);tf=C_FACE_THREAD(c,t,n);這里n是當(dāng)前面的索引號(hào)。當(dāng)前面的索引號(hào)用在C_FACE宏中以獲得

27、所有面的數(shù)量。例如,f=C_FACE(c,t,n).另一個(gè)在c_face_loop中有用的宏是C_FACE_THREAD。這個(gè)宏用于合并兩個(gè)面線索,例如,tf=C_FACE_THREAD(c,t,n).6、 查詢單元節(jié)點(diǎn)C_node_loop函數(shù)用以查詢給定單元中所有節(jié)點(diǎn)。它包含單獨(dú)的查詢說(shuō)明,后面是所做的操作,定義包含在中。cell_t c;Thread *t;int n;c_node_loop(c,t,n) node=C_NODE(c,t,n);這里n是當(dāng)前節(jié)點(diǎn)的索引號(hào)。當(dāng)前節(jié)點(diǎn)的索引號(hào)用在C_NODE宏中以獲得所有節(jié)點(diǎn)的數(shù)量。例如,node=C_NODE(c,t,n).4、 查詢多相組分

28、的宏1、 查詢混合物中相的控制區(qū)sub_domain_loop宏用于查詢混合物控制區(qū)的所有相的子區(qū)。這個(gè)宏查詢并在混合物控制區(qū),給每個(gè)相區(qū)定義指針以及相關(guān)的phase_domain_index??刂茀^(qū)需要指針,在每個(gè)相中都有權(quán)訪問(wèn)部分?jǐn)?shù)據(jù)。注意:sub_domain_loop宏在執(zhí)行中和下面的sub_thread_loop宏是相似的。int phase_domain_index;/*index of subdomain pointers*/Domain *mixture_domain;Domain *subdomain;sub_domain_loop(subdomain,mixture_dom

29、ain,phase_domain_index)sub_domain_loop的變量是subdomain、mixture_domain和phase_domain_index。subdomain是phase_level domain的指針,mixture_domain是mixture_level domain的指針。當(dāng)想用DEFINE宏時(shí),mixture_domain(包含控制區(qū)變量,如DEFINE_ADJUST)通過(guò)Fluent求解器自動(dòng)傳遞給UDF,混合物就和UDF相關(guān)了。如果mixture_domain沒(méi)有顯式地址傳遞給UDF,應(yīng)用另外一個(gè)宏來(lái)恢復(fù)它,如在sub_domain_loop前使用Get_Domain(1)。phase_domain_index是子區(qū)指針?biāo)饕?hào),phase_domain_index指向初始相時(shí),其索引號(hào)為0,混合物中其他相一次加1,注意:subdomain和phase_domain_index是在sub_domain_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論