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

请教关于动量方程源项udf添加

[复制链接]
发表于 2010-9-29 17:09:55 | 显示全部楼层 |阅读模式

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

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

x
最近在做动量方程udf添加,编译通过了,但是迭代的时候就遇上了我们经常遇到的4行错误提示。目的是要在流场区域{-25mm<=x<=-12mm, 7mm<=y<=12mm}范围内添加源项,计算内容只是简单的外部扰流单相稳态问题,下面是源程序,麻烦高手帮忙指导一下。
#include "udf.h"
#define  Pm 0.03
#define  Pmx 0.9
#define  Et 20
DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
    real xc[ND_ND];              
    real force;
    cell_t cell;
Thread*cell_thread;
Domain*subdomain;
real A,B,C,source;
begin_c_loop_all(cell,cell_thread)
{
            C_CENTROID(xc,cell,cell_thread);
                  if(xc[0]>=-25 && xc[0]<=-12 )
                 {
                  if(xc[1]>=7 && xc[1]<=12)
        force=3200*pow(10,-275*fabs(xc[0])-275*fabs(xc[1]));
        A=1/(C_R(c,t)*force);
                  B=2*Pm*Pmx*Et/C_R(c,t);
                  source=C_R(c,t)*(sqrt(A*C_U(c,t)*C_U(c,t)+B)-C_U(c,t));
                  dS[eqn]=A*C*pow((A*C_U(c,t)*C_U(c,t)+B),3/2)-C;
                return source;
                      }
end_c_loop_all(cell,cell_thread)
     }
}
发表于 2010-9-29 20:54:01 | 显示全部楼层
SOURCE宏不是自动遍历的吗??其中加循环可以用吗??
报错的提示是什么??(我也刚刚做了不久,也是关于源项的,比你这个又麻烦了一些)
我的可以计算了,但是迭代了一个多小时还没有一步。。我也在检查呢。。
 楼主| 发表于 2010-10-1 10:33:06 | 显示全部楼层

回复 2# 爱电脑 的帖子

就是一开始迭代就错了,有4、5行错误提示。我主要搞不清楚怎么用程序表达出x,y的范围,因为我只要在{-25mm<=x<=-12mm, 7mm<=y<=12mm}区域内加源项,其余地方不加。
发表于 2010-10-28 21:36:40 | 显示全部楼层
udf中的单位是SI,你这用的是mm, 把这个问题弄清楚,直接用if语句就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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