CyRhmU.jpeg
查看: 3886  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

尘积

银虫 (小有名气)

[交流] 【求助】fluent计算中,udf编译通过,初始化出错已有2人参与

麻烦达人老兄们救急,这个程序是用来定义出口处的压力的,编译成功,但是在边界条件里选中此UDF后,在初始化时报错,不知是何缘故,请各位不吝赐教,拜谢!
程序为:#include "udf.h"
DEFINE_PROFILE(pressure_outlet,thread,position)
{
  real x[ND_ND];
  real y;
  real a;
  face_t f;
  cell_t c;

  
  begin_f_loop(f,thread)
    {
       F_CENTROID(x,f,thread);
       y=x[1];
       a=F_U(f,thread);
       F_PROFILE(f,thread,position)=1000*9.81*(1-y/1000)-0.5*1000*a*a;
     }
   end_f_loop(f,thread)
}

错误提示为:
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

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pan1987cy

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我也遇到了一样的问题,我要把回水口的温度加上2℃,然后赋值给入口。程序如下:
#include "udf.h"

DEFINE_PROFILE(inlet_t_1, inlet, index)
{
Domain *d=Get_Domain(1);
Thread *out = Lookup_Thread(d, 18);
face_t face;
real t_out=0.0, area_out=0.0;
real NV_VEC(area);
begin_f_loop(face, out)
    {
    F_AREA(area, face, out);
    t_out += F_T(face, out)*NV_MAG(area);
    area_out += NV_MAG(area);
    }
end_f_loop(face, out)
t_out = t_out/area_out+2.0;
begin_f_loop(face, inlet)
    {
    F_PROFILE(face, inlet, index) = t_out;
    }
end_f_loop(face, inlet)
}
然后设置边界条件的时候选中这个udf,就出现跟楼主一样的error,你是怎么解决的啊
10楼2013-12-12 12:05:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

sghudng

铜虫 (小有名气)


robert2020(金币+1):多谢应助! 2010-07-16 18:39:29
尘积(金币+1): 2010-11-16 15:59:50
引用回帖:
Originally posted by 尘积 at 2010-07-16 14:41:36:
麻烦达人老兄们救急,这个程序是用来定义出口处的压力的,编译成功,但是在边界条件里选中此UDF后,在初始化时报错,不知是何缘故,请各位不吝赐教,拜谢!
程序为:#include "udf.h"
DEFINE_PROFILE ...

乍一看没啥问题啊……只知道cell_t c;这一行是多余的,根本没用到,你是面循环,又没用到相邻网格,要它干嘛
2楼2010-07-16 16:35:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

尘积

银虫 (小有名气)

引用回帖:
Originally posted by sghudng at 2010-07-16 16:35:36:

乍一看没啥问题啊……只知道cell_t c;这一行是多余的,根本没用到,你是面循环,又没用到相邻网格,要它干嘛

编译能通过 表明语法没错  就是在初始化是出错
3楼2010-07-16 22:48:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangj25

金虫 (正式写手)


robert2020(金币+1):多谢虫友应助!鼓励继续解答! 2010-09-06 18:56:51
尘积(金币+1): 2010-11-16 15:59:37
试了一下编辑可以通过:程序应该为
#include "udf.h"
DEFINE_PROFILE(pressure_outlet,thread,position)
{
  real x[ND_ND];
  real y;
  real a;
  face_t f;

  
  begin_f_loop(f,thread)
    {
       F_CENTROID(x,f,thread);
       y=x[1];
       a=F_U(f,thread);
       F_PROFILE(f,thread,position)=1000.*9.81*(1-y/1000.)-0.5*1000.*a*a;
     }
   end_f_loop(f,thread)
}
4楼2010-09-06 16:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见