fluent-UDF-DEFINE_ADJUST宏

文章首發在公眾號,歡迎大家關注公眾號:CFD流

DEFINE macros是ANSYS fluent提供的預定義宏,必須用于定義你的UDF。DEFINE macros的定義包含在udf.h文件中。示例并非都是可以在ANSYS FLUENT中作為獨立udf執行的完整函數。示例僅用于演示定義宏的用法。

重要提示

?在你的源代碼中,你必須把所有的參數都放在同一行,將DEFINE語句分割成幾行會導致編譯錯誤。

?確保宏(如DEFINE_PROFILE)和參數的第一個括號之間沒有空格,因為這會在Windows中導致錯誤。

?不要在源代碼的注釋中包含DEFINE宏語句(比如DEFINE_PROFILE)。這將導致編譯錯誤。

1

DEFINE_ADJUST是一個通用的宏,可以用來調整或修改ANSYS FLUENT中沒有作為參數傳遞的變量。例如,你可以使用DEFINE_ADJUST來修改流動變量(例如,速度、壓力)和計算積分。你還可以使用它對一個域上的標量進行積分,并根據結果調整邊界條件。使用DEFINE_ADJUST定義的函數在每次迭代時執行,并在每次迭代開始時調用,然后才解出傳輸方程。

2

用法:DEFINE_ADJUST (name,d)

DEFINE_ADJUST有兩個參數:name和d。name是UDF的名字,d通過ANSYS FLUENT求解器傳遞到UDF。

domain*d 指向要在其上應用adjust函數的域的指針。域參數提供對網格中所有單元和面thread的訪問。對于多相流,求解器傳遞給函數的指針是混合域的。

函數返回值:void。

3

下面的UDF,名為my_adjust,使用DEFINE_ADJUST計算了整個域的湍流耗散。然后在控制臺中顯示此值。每個迭代調用一次UDF。它可以作為一個解釋或編譯UDF在ANSYS FLUENT中執行。           

/
UDF for integrating turbulent dissipation and displaying it in the
console
*/

include "udf.h"

DEFINE_ADJUST(my_adjust,d)
{
Thread t; 

/ *Integrate dissipation. *

real sum_diss=0.; 

cell_t c; 

thread_loop_c(t,d) 

    { 

        begin_c_loop(c,t) 

        sum_diss += C_D(c,t)*C_VOLUME(c,t);

        end_c_loop(c,t)
    }
printf("Volume integral of turbulent dissipation: %g\n", sum_diss);
}

fluent-UDF-DEFINE_ADJUST宏的圖1

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

4
1
1