UDF编写问题本人刚刚接触fluent自定义函数,对函数的编写理解还很浅显,写了以下一段程序作为速度入口边界条件,原风速廓线方程为u=Uref*(z/Zref)^0.22,其中Uref=5m/s,Zref=0.5m,但是导入fluent以后,第一步迭代就出现divergence detected in AMG solver:x-momentum的错误提示,之前不用自定义函数时,计算是可以收敛的,请问这是什么原因?程序编写有错误吗?小弟先谢过了.#include "udf.h"#define a 0.22#define Uref 5#define Zref 0.5DEFINE_PROFILE(x_velocity,thread,position){real z,u,x[ND_ND];face_t f;begin_f_loop(f,thread){F_CENTROID(x,f,thread);z=x[1];u=Uref*pow(z/Zref,a);F_PROFILE(f,thread,position
问题描述:
UDF编写问题
本人刚刚接触fluent自定义函数,对函数的编写理解还很浅显,写了以下一段程序作为速度入口边界条件,原风速廓线方程为u=Uref*(z/Zref)^0.22,其中Uref=5m/s,Zref=0.5m,但是导入fluent以后,第一步迭代就出现divergence detected in AMG solver:x-momentum的错误提示,之前不用自定义函数时,计算是可以收敛的,请问这是什么原因?程序编写有错误吗?小弟先谢过了.
#include "udf.h"
#define a 0.22
#define Uref 5
#define Zref 0.5
DEFINE_PROFILE(x_velocity,thread,position)
{
real z,u,x[ND_ND];
face_t f;
begin_f_loop(f,thread)
{
F_CENTROID(x,f,thread);
z=x[1];
u=Uref*pow(z/Zref,a);
F_PROFILE(f,thread,position)=u;
}
end_f_loop(f,thread)
}
答