找回密码
 注册
查看: 3482|回复: 7

UDF编译成功但初始化出问题,请大侠们赐教

[复制链接]
发表于 2010-6-21 16:38:45 | 显示全部楼层 |阅读模式

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

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

x
我的问题是:两相流入口的第二相速度设置为与指定面上的第二相速度相等。编译成功,在边界条件里也可以选择,但是选择了以后就报错,acces_violation。据说这个报错一般都是访问了未初始化的变量所致,请各位帮帮忙,拜谢!


#include "udf.h"
#include "mem.h"

DEFINE_PROFILE(inlet_z_velocity,dx_thread,f_col)
{
   Domain *domain;
   face_t f;
   Thread *mix_thread, *thread_s;
   int zone_ID=10;
   double z_velocity,inlet_z_velocity;
   dx_thread = Lookup_Thread(domain,zone_ID);
   thread_s=THREAD_SUB_THREAD(dx_thread,f_col);
   z_velocity=C_W(f,thread_s);

   inlet_z_velocity=fabs(z_velocity);

}
发表于 2010-6-29 20:57:46 | 显示全部楼层
domain未赋值
 楼主| 发表于 2010-6-30 10:59:37 | 显示全部楼层

回复 2# jhxjhx 的帖子

谢谢,已解决
发表于 2011-11-21 16:38:26 | 显示全部楼层

请问你怎么解决的??

请问你怎么解决的??谢谢啊
发表于 2011-11-21 20:55:45 | 显示全部楼层
又遇到这样的人,很不舒服。
自己发帖来问,问了之后,解决了居然不贴出方法。
虽然我对你的问题不是很感兴趣,但是,你这样的做法,很不厚道。
发表于 2011-11-24 12:09:02 | 显示全部楼层
很简单,在UDF中加一句,使第一次迭代的时候UDF不参与计算就可以了。

没有初始化,就没有z velocity,当然asscess voilation
发表于 2011-11-25 20:34:35 | 显示全部楼层
加的那一句是什么啊
发表于 2011-11-25 20:57:21 | 显示全部楼层

噢,果然如此。感谢。加一个条件语句 if (N_TIME>1) 即可实现在第一步不迭代而以后的步数都迭代。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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