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

边界条件UDF的编辑和加载问题,着急毕业啊。。。

[复制链接]
发表于 2013-3-15 20:12:49 | 显示全部楼层 |阅读模式

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

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

x
看到的高人,请一定指点啊。最近想写一个关于粘性阻力系数关于压力变化的程序,想在二维的流场中都使用。程序可以通过编译,初始化的时候提示出错FATAL ERROR,但是可以点初始化,之后还可以正常计算,不知道是什么问题。我的程序这样写的。我担心的是怕这样出错继续使用这个程序就没有加载,或者我的程序本身没有在面上循环。所以想请各位指点下。万分感谢。
DEFINE_PROFILE(vis_res,t,i)
{
  face_t f;
  real vr;
  real vc;
  real ln;
  real mix;
  real vo;
  real p_sum_3;
  p_sum_3=C_P(f,t);
  begin_c_loop(f,t)
  {
    vo=22.4;                        
    mix=1+(p_sum_3+P_OPR)/P_LAN_CH;
    ln=log(mix);
    vc=2.0*V_LAN_CH4*ROU_S*0.001*0.00002296*8.314*3.0*ln/9.0*vo;
    vr=K_O*(1-vc/PORO_S);
    F_PROFILE(f,t,i)=1/vr;
  }
  end_c_loop(c,t)
}
发表于 2013-3-15 20:21:58 | 显示全部楼层

注意看是针对的单元还是面

begin_c_loop循环针对的是单元,但是,在你的UDF中,却是面的变量(f,t)
正确时应该是:begin_f_loop(f,t)
而且,p_sum_3=C_P(f,t),这个语句有两个错误,一是C_P针对的是单元,应该是C_P(c,t);二是,即使该用法是正确的,位置不对,此时的f线程还没有赋值,无法调用
 楼主| 发表于 2013-3-16 11:49:43 | 显示全部楼层

回复 2# wind_cool2009 的帖子

非常感谢您的回答,我才开始用UDF,很多东西不是很明白。还有两个问题想请问一下:1、我的物理模型是在二维流场中,惯性阻力根据流场中每个空间点p_sum_3取到的压力值变化,这个是应该使用面循环宏,还是线循环宏呢?   2、您说的取不到值的问题之前我也遇到过,可是不知道怎么解决,还想请您指点下。真的万分感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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