|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
设定壁面剪切应力条件,因为和流场(相邻网格)相关,所以两次在面上循环,一次读取流场参数保存到相应数组里,一次付剪切应力。UDF如下。出现的错误是
ss1.c(91) : fatal error C1075: 与左侧的 大括号“{”(位于“..\..\src\Class1.c(28)”)匹配之前遇到文件结束
#include "udf.h"
DEFINE_PROFILE(shearxx ,t,position)
{
face_t f;
face_t f1;
Thread *t0 = t->t0 ;
Thread *thread_c;
Thread *thread_f;
cell_t cell;
real xxcell[1000];
real yycell[1000];
real yyface[1000];
real u[1000];
real v[1000];
real viscosity[1000];
real xcell[ND_ND];
real xface[ND_ND];
real area[ND_ND];
real DU;
real VY;
real DX;
real DY;
real a[ND_ND];
int i=0;
int n;
int j=0;
begin_f_loop(f,t) //这里是28行
{
j=i;
F_CENTROID(xface,f,t);
yyface=xface[1];
cell=F_C0(f,t);
thread_c=THREAD_T0(t);
C_CENTROID(xcell,cell,thread_c);
xxcell=xcell[0];
yycell=xcell[1];
u=C_U(cell,thread_c);
v=C_V(cell,thread_c);
viscosity=C_MU_EFF(cell,thread_c);
i=i+1;
}
end_f_lopp(f,t);
i=0;
begin_f_loop(f,t)
{
if(i=0)
{
cell=F_C0(f,t);
thread_c=THREAD_T0(t);
c_face_loop(cell,thread_c,n)
{
f1=C_FACE(cell,thread_c,n);;
thread_f=C_FACE_THREAD(cell,thread_c,n);
F_AREA(area,f1,thread_f);
if(area[1]<0)
{
F_CENTROID(a,f1,thread_f);
}
}
DU=2*u;
DX=2*(xxcell-a[0]);
}
else if(i=j)
{
cell=F_C0(f,t);
thread_c=THREAD_T0(t);
c_face_loop(cell,thread_c,n)
{
f1=C_FACE(cell,thread_c,n);;
thread_f=C_FACE_THREAD(cell,thread_c,n);
F_AREA(area,f1,thread_f);
if(area[1]>0)
{
F_CENTROID(a,f1,thread_f);
}
}
DU=2*u;
DX=2*(xxcell-a[0]);
}
else
{
DU=u-u[i-1];
DX=xxcell-xxcell[i-1];
}
F_PROFILE(f,t,position) = 2/3*viscosity*(DU/DX-v/yycell);
i=i+1;
}
end_f_loop(f,t)
} 这里是91行。 |
|