找回密码
 注册
查看: 1586|回复: 2

UDF里运行FOR出错

[复制链接]
发表于 2008-1-5 23:27:04 | 显示全部楼层 |阅读模式

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

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

x
程序如下,想计算L[][]和u[][]的值,但计算的结果发现值错位,将u[1][3]的值付给了L[
2][3],请大家看下错误的原因,非常感谢!!
# include "udf.h"
# define domain_ID 2
DEFINE_ADJUST(adjust_gradient,domain)
{
    Thread *t;
    cell_t c;
    face_t f;
    int i;
    int j,j0,j1,j2,j3,j4,j5,j6,j7;
    int k,k0,k1,k2,k3,k4,k5,k6,k7;
    real r=1.7;
    real v[7];
    real g[6];
    real d[6];
    real L[6][6];
    real u[6][6];
    real we[6][6];
    real A[6][6];
    real B[6][6];
    real Pc[6][6];
    real C[6][6];
    real c1=0.4;
    real o=0.0725;
    real pl=998.;
    real pg=1.225;
    real pi=3.14159265;

/**************************************************/
/*------------------------------------------------*/
    v[0]=0;
    g[0]=0;
    v[1]=1.0e-10;
    for(i=1;i<=5;i++)
       {
        v[i+1]=r*v;
        g=0.5*(v+v[i+1]);
        d=pow((6.*g/3.14159265),1./3.);
       }
        g[1]=v[1];
        g[5]=v[6];
        d[1]=pow((6.*g[1]/3.14159265),1./3.);
        d[5]=pow((6.*g[5]/3.14159265),1./3.);
for(j0=1;j0<=5;j0++)
   for(k0=j0;k0<=5;k0++)
   {
   L[j0][k0]=d[j0]/d[k0];
  }
for(j0=1;j0<=5;j0++)
  {
    for(k0=j1;k0<=5;k0++)
   {
   u[j0][k0]=1.414*pow((pow(d[j0],2.0/3.0)+pow(d[k0],2.0/3.0)),0.5);
   }
  }
domain=Get_Domain(domain_ID);
                                                                                
    /*Fill UDS with the variable.*/
     thread_loop_c (t,domain)                                                   
   {
                                                                                
      begin_c_loop (c,t)
        {                                                                       
          C_UDMI(c,t,0)=0;
                                                                                
         }
      end_c_loop(c,t)                                                         
    }
printf("L:%g\n",L[2][3]);
                                                                                
//printf("L:%g\n",L[2][1]);
发表于 2008-1-11 11:50:51 | 显示全部楼层

UDF里运行FOR出错

  描述一下这个程序做什么用?
 楼主| 发表于 2008-1-11 14:51:41 | 显示全部楼层

UDF里运行FOR出错

程序调试,就是想看下计算的结果对不对,结果发现计算的结果不对而错位...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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