找回密码
 注册
查看: 1042|回复: 0

求教一个fluent循环的问题

[复制链接]
发表于 2012-10-26 21:11:53 | 显示全部楼层 |阅读模式

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

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

x
各位晚上好,我想请教一个关于在fluent loop中再嵌套循环的问题。
我现在在define_adjust中遍历每个cell,要的结果是流场其他所有cell的电流在这个cell上产生的磁场的和,所以在循环中的每个cell上再去遍历其他cell,我尝试了在c_loop中再嵌套loop的方法,但是fluent报错说是非法访问,请问有什么办法解决吗?
附上我的程序。
后来程序改到DEFINE_EXECUTE_AT_END中,依然存在这个问题,请各位帮帮忙啊。
DEFINE_EXECUTE_AT_END(Bz_adjust)
{
    cell_t c,c1;
    Thread *t,*t1;
    real x1[ND_ND],x2[ND_ND];
    float z1,z2,r1,r2,r3;
    double Bzself;                                   
    int i;
    Domain *d0,*d1;
    d0=Get_Domain(2);
    thread_loop_c(t,d0)
    {
    begin_c_loop(c,t)
    {
    C_UDSI(c,t,3)=0;                                /*存储外部磁场轴向分量*/
    C_CENTROID(x1,c,t);
    z1=fabs(x1[0]);
    r1=fabs(x1[1]);
    Bzself=0;
    d1=Get_Domain(2);
    thread_loop_c(t1,d1)
    {
    begin_c_loop(c1,t1)
    {
    C_CENTROID(x2,c1,t1);
    z2=fabs(x2[0]);
    r2=fabs(x2[1]);
    for(i=0;i<628;i++)
    {
    r3=sqrt(fabs(pow(r1,2.0)+pow(r2,2.0)+pow(z2-z1,2.0)-2*r1*r2*cos(i*0.01)));
    if(r3!=0)
    {
     Bzself+=(u0)*C_UDMI(c1,t1,2)*C_VOLUME(c1,t1)*0.01*(r2-r1*cos(i*0.01))/(4*3.14*pow(r3,1.5));
    }
    }
                                                       
    }
    end_c_loop(c1,t1)
    }
    C_UDSI(c,t,3)=Bzself;                                /*存储电流自生磁场环向分量*/       
    }
    end_c_loop(c,t)
    }
}
错误类型
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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