24小时热门版块排行榜    

查看: 4988  |  回复: 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: ()
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

onwardupward

金虫 (正式写手)

Dr.


小木虫: 金币+0.5, 给个红包,谢谢回帖
看看你们编译的UDF不难发现,粘度都是温度的函数,那么你们在进行计算的时候有没有打开能量方程?如果没打开那就打开试试,应该可以初始化成功。
onwardandupward
11楼2014-12-04 17:54:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

xingwuyan

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我也遇到了这情况啊!lz大哥你就绝了没有,我是自定义的密度和粘度,编译没问题,初始化通不过,附上我的程序,求指导~
#include "udf.h"
#define TC 305.25
#define PC 7380000
#define W 0.225
#define R 8.314
#define tc 305.25
#define pc 7375000
#define w 0.225
#define r 8.314
#define pc1 73.75
#define dc 468
#define m 44.01
#define v0 150

DEFINE_PROPERTY(cell_density, cell, thread)
{
  real dd;
  real temp = C_T(cell, thread);
  real pres = C_P(cell, thread);
  real tr,k,a1,a2,a,b,a3,a4,a5,a6,b1,b2,b3,y1,y2,y3,x;
  tr = temp/TC;
  k = 0.37464+1.54226*W-0.26992*W*W;
  a1 = (1+k*(1-sqrt(tr)))*(1+k*(1-sqrt(tr)));
  a2 = 0.45724*R*R*TC*TC/PC;
  a = a1*a2;
  b=0.0778*R*TC/PC;
  a3=pres;
  a4=pres*b-R*temp;
  a5=a-3*pres*b*b-2*R*temp*b;
  a6=pres*b*b*b+R*temp*b*b-a*b;
  b1 = a4*a4-3*a3*a5;
  b2 = a4*a5-9*a3*a6;
  b3 = a5*a5-3*a4*a6;
  y1 = b1*a4+3*a3*(-b2+sqrt(b2*b2-4*b1*b3))/2;
  y2 = b1*a4+3*a3*(-b2-sqrt(b2*b2-4*b1*b3))/2;
  if (y1<0)
         {y3=-y1;}
           else
           {y3=y1;}
  x = (-a4-(pow(y3,0.33333)-pow(-y2,0.33333)))/(3*a3);
  dd =44/(1000*x);
  
  return dd;
}

DEFINE_PROPERTY(cell_viscosity, cell, thread)
{
  real v;
  real temp = C_T(cell, thread);
  real pres = C_P(cell, thread);
  real tr,k,a1,a2,a,b,a3,a4,a5,a6,b1,b2,b3,y1,y2,y3,x,dd,b4,b5,dr;
  tr=temp/tc;
  k=0.37464+1.54226*w-0.26992*w*w;
  a1=(1+k*(1-sqrt(tr)))*(1+k*(1-sqrt(tr)));
  a2=0.45724*r*r*tc*tc/pc;
  a=a1*a2;
  b=0.0778*r*tc/pc;
  a3=pres;
  a4=pres*b-r*temp;
  a5=a-3*pres*b*b-2*r*temp*b;
  a6=pres*b*b*b+r*temp*b*b-a*b;
     b1=a4*a4-3*a3*a5;
     b2=a4*a5-9*a3*a6;
     b3=a5*a5-3*a4*a6;
     y1=b1*a4+3*a3*(-b2+sqrt(b2*b2-4*b1*b3))/2;
     y2=b1*a4+3*a3*(-b2-sqrt(b2*b2-4*b1*b3))/2;
         if (y1<0)
         {y3=-y1;}
           else
           {y3=y1;}
         x=(-a4-(pow(y3,0.333333)-pow(-y2,0.333333)))/(3*a3);
     dd=44/(1000*x);
   b4=pow(tc,0.166666)/(sqrt(m)*pow(pc1,0.666666));
   dr=dd/dc;
   b5=1.0230+0.23364*dr+0.058533*pow(dr,2)-0.40758*(dr,3)+0.093324*pow(dr,4);
   v=(((pow(b5,4)-1)/b4)+v0)*0.000001;
  
  return v;
}
错误提示:
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: ()
5楼2012-07-18 10:30:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
5楼: Originally posted by xingwuyan at 2012-07-18 10:30:31
我也遇到了这情况啊!lz大哥你就绝了没有,我是自定义的密度和粘度,编译没问题,初始化通不过,附上我的程序,求指导~
#include "udf.h"
#define TC 305.25
#define PC 7380000
#define W 0.225
#define R 8 ...

顶一个,我也遇到这种问题啊,编译能通过,但是一运行就出现上面显示的这种错误,小白,遇到这种棘手问题,茫然!
天道酬勤!
6楼2013-09-04 11:23:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengxiaowei

金虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
5楼: Originally posted by xingwuyan at 2012-07-18 10:30:31
我也遇到了这情况啊!lz大哥你就绝了没有,我是自定义的密度和粘度,编译没问题,初始化通不过,附上我的程序,求指导~
#include "udf.h"
#define TC 305.25
#define PC 7380000
#define W 0.225
#define R 8 ...

请问你的问题解决了吗?(设置密度随温度变化的udf连接没错,初始化出错)
7楼2013-09-08 14:51:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gengxiaowei

金虫 (初入文坛)

引用回帖:
6楼: Originally posted by leixiaobo713 at 2013-09-04 11:23:26
顶一个,我也遇到这种问题啊,编译能通过,但是一运行就出现上面显示的这种错误,小白,遇到这种棘手问题,茫然!...

你好你的问题解决了吗?我也遇到了同样的问题。。。。(改变物理参数,编译没错,初始化出错)
8楼2013-09-08 14:53:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
先face_t f;

然后在real 定义
9楼2013-09-09 16:14:37
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 尘积 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jCd0dEvKHShX 2026-08-29 4/200 2026-08-30 13:54 by GkCVyODlx4mR
[基金申请] 有没有仍没收到信息的 +6 德尚中行 2026-08-27 7/350 2026-08-30 12:53 by Bxndjjd
[论文投稿] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 ASdOkHsho7FD 2026-08-28 6/300 2026-08-30 11:07 by l0VvVHGBGRLv
[基金申请] 面上意见出来了 +9 黄鸟于飞Chao 2026-08-29 17/850 2026-08-30 10:28 by 孤独的英雄6
[基金申请] 29号明天会评吗 +3 笨笨唐 2026-08-28 3/150 2026-08-30 09:29 by cww8181
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 G6APbkg8SA6w 2026-08-29 4/200 2026-08-30 07:17 by ZPa0EcMwuECS
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +7 ASdOkHsho7FD 2026-08-28 11/550 2026-08-30 05:40 by ZPa0EcMwuECS
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +6 ASdOkHsho7FD 2026-08-28 13/650 2026-08-30 05:38 by ZPa0EcMwuECS
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 01:58 by ZPa0EcMwuECS
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
信息提示
请填处理意见