DEFINE_DELTAT宏
DEFINE_DELTAT是一個通用的宏,它可以用來控制瞬態計算中時間步長的大小。注意,只有在ANSYS FLUENT的Run Calculation task頁面的Time Stepping Method下拉列表中選擇了Adaptive,才可以使用這個宏。
DEFINE_DELTAT (name,d)
DEFINE_DELTAT有兩個參數: name和d。name是UDF的名字,domain通過ANSYS FLUENT求解器傳遞到UDF,而UDF將需要計算物理時間步長的實際值并將其返回到求解程序。
函數返回值:real。
下面這個名為mydeltat的UDF是一個簡單的函數,它展示了如何使用DEFINE_DELTAT來更改模擬中時間步長的值。首先,CURRENT_TIME用于獲取當前模擬時間的值(賦給變量flow_time)。然后,對于計算的前0.5秒,設置時間步長0.1。對于模擬的其余部分,將時間步長設置為0.2。然后將時間步長變量返回到求解器。源代碼如下:
/*********************************************************************
UDF that changes the time step value for a time-dependent solution
**********************************************************************/
#include "udf.h"
DEFINE_DELTAT(mydeltat,d)
{
real time_step;
real flow_time = CURRENT_TIME;
if (flow_time < 0.5)
time_step = 0.1;
else
time_step = 0.2;
return time_step;
}
可以看到我總共設置了10時間步,前5步計算用了0.5s,后5步用了1s,說明前5步每步是0.1秒,后5步每部用了0.2秒。
案例文件關注微信公眾號:“CFD流”獲取。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















