DEFINE_PROFILE用法介紹(1)

01— 概述


可以使用DEFINE_PROFILE定義一個自定義邊界配置文件或單元格區域條件,該條件隨空間坐標或時間而變化。可以自定義的變量如下:

  • 速度,壓力,溫度,湍流動能,湍流耗散率;
  • 質量流量;
  • 目標質量流量作為流動時間的函數;
  • 物種質量分數(物種輸運);
  • 體積分數(多相流模型);
  • 壁面熱邊界條件(溫度、熱通量、產熱率、傳熱系數、外發射率等等);
  • 殼層熱生成率;
  • 壁面粗糙度;
  • 壁面的剪切和應力條件;
  • 孔隙度;
  • 多孔阻力方向矢量;
  • 壁面粘附接觸角(VOF多相流模型);
  • 源項;
  • 固定的變量;
注意,DEFINE_PROFILE只允許修改壁面熱流的單個值。對于 ANSYS Fluent沒有線性化的顯式源項,采用單值計算。如果你想要線性化你的壁面熱流源項,并分別考慮傳導熱流和輻射熱流,你需要使用DEFINE_HEAT_FLUX來指定你的UDF。
02— 用法


DEFINE_PROFILE (name, t, i)

  • symbol name:UDF的名字;
  • Thread *t:指向要在其上應用邊界條件的線程的指針;
  • int i:標識要定義的變量的索引。當你通過圖形用戶界面將UDF與邊界條件對話框中的變量連接時,就設置了i。這個索引隨后通過ANSYS Fluent求解器傳遞到你的UDF,以便函數知道操作哪個變量。
  • 函數返回值:void;
DEFINE_PROFILE通常用于指定邊界面區域上的邊界條件,但在計算期間也可以用于指定或固定單元區域中流動變量保持不變。
注意,與term source和property udf不同,profile udf(使用DEFINE_PROFILE定義)不是ANSYS Fluent從邊界區域中的線程循環中調用的。求解器只將指向與邊界區域關聯的線程的指針傳遞給DEFINE_PROFILE宏。你的UDF需要執行以下工作:遍歷線程中的所有面,計算邊界變量的面值,然后將值存儲在內存中。ANSYS Fluent為你提供了一個面循環宏,可以在一個線程中對所有面進行循環(begin_f_loop…)。
F_PROFILE通常與DEFINE_PROFILE一起使用,它是一個由ANSYS Fluent提供的預定義宏。F_PROFILE在內存中為給定的面和線程存儲邊界條件,并嵌套在面循環中,如下面的示例所示。需要注意的是,索引i是DEFINE_PROFILE的一個參數,它與F_PROFILE的參數是相同的。F_PROFILE使用線程指針t、面標識符f和索引i在內存中設置適當的邊界面值。注意,在使用孔隙度配置文件的情況下,還可以使用C_PROFILE來定義這些類型的函數。在多相流情況下,可以多次調用DEFINE_PROFILE UDF(特別是在混合域線程中使用該概要文件時)。如果必須避免這種情況,那么將前綴MP_添加到UDF名稱中。然后該函數將只被調用一次,即使它用于多個配置文件。

03— 示例


如下圖所示,有一根圓形管道,我們需要在管壁施加一個隨著Z軸變化的熱通量。

Q=8000+10000*Z

UDF代碼如下:

#include "udf.h"
DEFINE_PROFILE(wall_heat_flux, thread, position)
{  
real x[ND_ND]; /* this will hold the position vector */
real z;
face_t f;
begin_f_loop(f,thread)
  {    
      F_CEntrOID(x, f, thread);/*ntr改成大寫*/
      z =x[2];    
      F_PROFILE(f, thread, position) = 8000.+10000.*z;  
   }  
   end_f_loop(f, thread)
}
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

4