网上找到的对速度的空间二阶导数求解的案例,编译后,HOOKadjust宏以后,初始化没有问题,一计算就会出错,Error: received a fatal signal (Segmentation fault).不HOOK宏就没有问题。欢迎各位虫友一起讨论学习~
#include"udf.h"
/*二阶速度导数求解*/
real ux,uy,uz;
DEFINE_ADJUST(adjust_gradient, domain)
{
Thread *t;
cell_t c;
face_t f;
domain = Get_Domain(4);
thread_loop_c (t,domain)
{
begin_c_loop (c,t)
{
C_UDSI(c,t,0) = C_DUDX(c,t); //这里是为了计算d2u/dx2
}
end_c_loop (c,t)
}
}
DEFINE_SOURCE(cell_x_source, cell, thread, dS, eqn)
{
real source1;
source1 = -2.0*C_UDSI_G(cell,thread,0)[0]; //d2u/dx2
ux=source1;
printf("ux=%g\n",ux);
return source1;
}
|