Ansys Fluent UDF,壁平均温度取决于入口速度

时间:2019-04-13 11:49:21

标签: c user-defined-functions fluent ansys

我正试图写UDF fluent code,墙壁平均温度状况取决于入口速度。我的ID为9,其平均温度取决于入口速度。当工作面平均温度升高时,进气速度在每个时间步(瞬态)都增加。

当我运行计算时,经过一个时间步长(例如10或20次迭代)后,出现错误,这意味着我无法通过第二个时间步长。

 Error: received a fatal signal (Segmentation fault). Error Object: #f
  • 我在序列上使用了流利的语言

  • 我将其用于瞬态,能量,粘性k-eps或层流

  • 我增加了用户定义的内存位置数量

  • 我已经将代码插入(kod.c)(在命令中没有错误)

  • 我已经完成了在Execute末尾添加函数钩子为(execute_at_end)

  • 我已将入口速度幅度添加为(unsteady_velocity)

代码是;

#include "udf.h"
real T_mean;

DEFINE_EXECUTE_AT_END(execute_at_end)
{
Domain *domain;
Thread *thread;
face_t face;
real area[ND_ND];
real total_area = 0.0;
real total_area_ave_temp = 0.0;
int ID = 9;
domain = Get_Domain(1);
thread = Lookup_Thread(domain, ID); 
    begin_f_loop(face, thread)
        F_AREA(area, face, thread);
        total_area += NV_MAG(area);
        total_area_ave_temp += NV_MAG(area)*F_T(face, thread);
    end_f_loop(face, thread)
T_mean = total_area_ave_temp/total_area;
printf("Area averaged T on boundary %d = %f K\n", ID, T_mean);
}


DEFINE_PROFILE(unsteady_velocity, thread, position)
{
face_t f;
real t = CURRENT_TIME;
begin_f_loop(f, thread)
{
F_PROFILE(f, thread, position) = (T_mean-273) ;
}
end_f_loop(f, thread)
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

0 个答案:

没有答案