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

导入UDF后初始化出问题,大家帮帮忙

[复制链接]
发表于 2009-5-12 08:29:04 | 显示全部楼层 |阅读模式

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

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

x
我的问题是:解释UDF成功没有任何的问题,可是设置边界条件完以后,初始化(solver—>initialization))有问题,提示如下:
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: ()

                               
登录/注册后可看大图

中间未画网格的,定义壁面温度T=-0.26
周围为绝热面,
顶部有一部分为罐底面,应用UDF定义热流量


Fluent中的设置步骤
1.
设置单位,温度为摄氏度,选中“能量方程”
2.
设置物性参数,导热系数改为0.1818
3.
设置边界条件
abottom(罐底面)热流量选为UDF  (注,我的bottom是在最上面的那个面的一部分,才cas里面可以看出)
bfuild中设定fixed value 速度设置为零
c)周围的wall选为热流量为0
d)阳极壁面选为temperature=-0.26
5.solution中只选enenry 方程 ,用一阶迎风格式
6.然后初始化,就出现这个问题了。


我在网上找到类似的问题,别人说是因为在UDF中用了F_T()来调用温度,开始的时候没有数据可用。所以出现这个问题,建议先迭代一次以后在设置UDF。可是不知什么原因,问题依旧。后来我就自己编了一个小的UDF来初始化bottom的温度,还是不行。


#include "udf.h"
#include<math.h>
DEFINE_PROFILE(currentdensity,thread,position)
{
double potential,icorr,iL,Ecorr,bc,ba;
double a,a1,a2,a3,ic,ia,iA;
face_t f;
Thread *thread;
icorr=1.53e-5;
Ecorr=-0.55;
bc=0.1;
iL=3.09e-3;
ba=0.1;
begin_f_loop(f,thread)
{
potential=-1*F_T(f,thread);
a1=-1*(potential-Ecorr)/bc;
a2=pow(10,a1);
a=icorr/iL*(1-a2);
ic=icorr*a2/(1-a);
a3=(potential-Ecorr)/ba;
ia=icorr*pow(10,a3);
iA=ic-ia;
F_PROFILE(f,thread,position)=-1*iA;
}
end_f_loop(f,thread)
}

DEFINE_INIT(my_init_function,domain)
{
face_t f;


Thread *f_thread=Lookup_Thread(domain,4);


Thread *cell_threads;


cell_t cell;

begin_f_loop(f,f_thread)
{
F_T(f,f_thread)=0.0;
}
end_f_loop(f,f_thread)


}
各位帮我看看那里出问题了,cas和UDF通过附件上传

cas和 UDF.rar

31.17 KB, 下载次数: 100

发表于 2009-5-12 08:34:17 | 显示全部楼层
我帮你顶一下
发表于 2009-5-19 01:41:20 | 显示全部楼层
本人也遇到一样的问题呀,找了好久都没有找到答案
谁出来说说   我将表示非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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