|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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]);
|
|