找回密码
 注册
查看: 1533|回复: 4

UDF求帮助

[复制链接]
发表于 2012-8-7 15:18:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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行。
 楼主| 发表于 2012-8-7 15:19:24 | 显示全部楼层
求帮助。谢谢
发表于 2012-8-7 16:12:53 | 显示全部楼层

回复 2# xieaiyuan 的帖子

括号少了~没有对应起~
 楼主| 发表于 2012-8-7 16:21:33 | 显示全部楼层

回复 3# ya634984094 的帖子

检查过“{”及“}”的对应关系了。没有问题的,所以我才来问的
发表于 2012-8-7 21:25:25 | 显示全部楼层
这么多循环,感觉有问题,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表