找回密码
 注册
查看: 1885|回复: 3

动网格udf

[复制链接]
发表于 2011-5-13 15:12:56 | 显示全部楼层 |阅读模式

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

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

x
在动网格加UDF编译过程中出现如下错误:
..\..\src\dm_1-5.c(23) : error C2115: '=' : incompatible types
..\..\src\dm_1-5.c(23) : error C2106: '=' : left operand must be l-value
..\..\src\dm_1-5.c(24) : error C2115: '=' : incompatible types
..\..\src\dm_1-5.c(24) : error C2106: '=' : left operand must be l-value
UDF如下:(我试着改了好多次都还是出现类似错误,请高手指教!十分感谢啊!)
#include "udf.h"
#include "unsteady.h"
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"

DEFINE_CG_MOTION(movewall,dt,vel,omega,time,dtime)
{
Thread *t;
cell_t c;
real cx,cy;
real vx[3000],vy[3000];
int i;
int n=0;

if(!Data_Valid_P())
  return;
t=DT_THREAD(dt);
cx=0;
cy=0;
begin_c_loop(c,t)
{
   vx=vx+C_U(c,t);
   vy=vy+C_U(c,t);
  n++;
}
end_c_loop(c,t);

for(i=0;i<n;i++)
{
    cx=cx+vx;
    cy=cy+vy;
}
cx=cx/n;
cy=cy/n;
vel[0]=cx;
vel[1]=cy;
   Message("\n n=%d, vx=%f, vy=%f\n",n,vel[0],vel[1]);

}
 楼主| 发表于 2011-5-13 15:22:37 | 显示全部楼层

回复 1# 梦游娃娃 的帖子

报错位置是vx=vx+C_U(c,t);
   vy=vy+C_U(c,t);
现在知道是因为数组不能整体赋值,但是要怎么改呢?麻烦高手出手相助啊!十分感谢!
 楼主| 发表于 2011-5-13 15:41:27 | 显示全部楼层
。。。
把vx改为vx,vy改为vy是不报错了,但是不知道最后的运行结果是不是对的
这个例子是江帆的fluent学习书中的第九章动网格计算实例一中的程序,如果有人用到的话也许能参考一下
 楼主| 发表于 2011-5-13 15:42:44 | 显示全部楼层
是把vx改为vx[i],vy改为vy[i],上一条回复没正常显示。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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