找回密码
 注册
查看: 2851|回复: 6

请教:在DPM模型中采用UDF加入电磁力后运行出错

[复制链接]
发表于 2008-6-25 09:04:15 | 显示全部楼层 |阅读模式

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

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

x
我的计算网格模型是一个二维轴对称模型。加入UDF后计算几步后总是出现如下错误:
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: ()
UDF程序如下:
#include "udf.h"
#define Q 1.0         /* particle electric charge      */
#define BZ 1.0
DEFINE_DPM_BODY_FORCE(particle_body_force, p, i)
{
        Thread *t;
        cell_t c;
        Domain *d;
        real bforce;
        real xc[ND_ND];
        real x, y;
/* loop over all cell threads in the domain  */
  thread_loop_c (t,d)
  {
/* loop over all cells  */
   begin_c_loop_all (c,t)
    {
          C_CENTROID(xc,c,t);
          x=xc[0];
  y=xc[1];
        if((y<=0.03) & (x<=0.35) & (x>=0.15))
        {
           if(i==0) bforce=Q*BZ*P_VEL(p)[1];      
           else if(i==1) bforce=-Q*BZ*P_VEL(p)[0];
         
        }
        else
           bforce=0.0;
        /* an acceleration should be returned */
        return (bforce/P_MASS(p));
    }
   end_c_loop_all (c,t)
  }
请各位多多指教,不胜感谢!
发表于 2008-6-25 11:28:43 | 显示全部楼层

请教:在DPM模型中采用UDF加入电磁力后运行出错

不知道是不是你拷贝错误,就你上面程序,后面少一个大括号。第二个就是一般return语句在最后的大括号前面,不是在循环里面,我想放在里面可能会导致循环出错。
 楼主| 发表于 2008-6-26 12:03:27 | 显示全部楼层

请教:在DPM模型中采用UDF加入电磁力后运行出错

谢谢斑竹。
少一个括号是拷贝的问题。
我把程序改了一下,还是不行,收敛10步左右后出现错误提示。请再帮我看看原因是什么?错误信息还是
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: ()
程序如下:
DEFINE_DPM_BODY_FORCE(particle_body_force, p, i)
{
        Thread *t;
        cell_t c;
        Domain *d;
        real bforce;
        real xc[ND_ND];
        real x, y;
          C_CENTROID(xc,c,t);
          x=xc[0];
  y=xc[1];
        if((x<=0.35) & (x>=0.15))
        {
           if(i==0) bforce=Q*BZ*P_VEL(p)[1];      
           else if(i==1) bforce=-Q*BZ*P_VEL(p)[0];
         
        }
        else
           bforce=0.0;
        /* an acceleration should be returned */
        return (bforce/P_MASS(p));
}
 楼主| 发表于 2008-6-26 15:11:06 | 显示全部楼层

请教:在DPM模型中采用UDF加入电磁力后运行出错

另外,我想请教一下如何能得到离散相颗粒的坐标值?我使用了提取离散相颗粒质量和速度值的宏,如上。
我查了一下帮助文档,里面有很多宏可以得到离散相的各种参数,唯独没有如何提取离散相颗粒的坐标的宏。
发表于 2009-3-14 21:58:30 | 显示全部楼层

你好,你这个问题现在解决了吗?呵呵

我也是出现这样的问题呢,不知怎么解决的?呵呵,我的qq号是715176266,你若是解决的请指点!谢谢
发表于 2009-3-20 23:20:27 | 显示全部楼层
我也想知道
发表于 2009-7-6 12:41:42 | 显示全部楼层

回复 4# yf1978 的帖子

离散相颗粒坐标,P_POS(p)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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