24小时热门版块排行榜    

查看: 4242  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 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的回帖
相关版块跳转 我要订阅楼主 尘积 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-16 3/150 2026-03-21 03:59 by JourneyLucky
[考研] 083200学硕321分一志愿暨南大学求调剂 +3 innocenceF 2026-03-17 3/150 2026-03-21 02:35 by JourneyLucky
[考研] 278求调剂 +6 烟火先于春 2026-03-17 6/300 2026-03-21 01:57 by JourneyLucky
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 材料专业求调剂 +6 hanamiko 2026-03-18 6/300 2026-03-21 00:24 by JourneyLucky
[考研] 317求调剂 +8 申子申申 2026-03-19 13/650 2026-03-21 00:09 by 刘国森
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +4 晨昏线与星海 2026-03-19 4/200 2026-03-20 22:15 by JourneyLucky
[考研] 329求调剂 +9 想上学吖吖 2026-03-19 9/450 2026-03-20 22:01 by luoyongfeng
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[考研] 265求调剂 +12 梁梁校校 2026-03-19 13/650 2026-03-20 21:01 by 无际的草原
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 求调剂 +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +5 枫桥ZL 2026-03-18 7/350 2026-03-19 14:52 by 功夫疯狂
[考研] 一志愿福大288有机化学,求调剂 +3 小木虫200408204 2026-03-18 3/150 2026-03-19 13:31 by houyaoxu
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
信息提示
请填处理意见