24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3608  |  回复: 11

leixiaobo713

银虫 (正式写手)

[求助] fluent中UDF编译的问题!

本人想编的程序是这样的:
材料是有初始温度的,而且初始温度为X(X轴坐标)的函数;模拟开始后,在很短时间内材料的温度将发生变化,变化的温度为初始温度的函数,在一定时间后(上面提到的很短时间),材料的温度仅随流体的流动而自然发生变化,没有再生热源。我变得程序是这样的,虽然能编译,但是模拟一开始就出现错误,请高手指点,本人是小白,谢谢!

#include "udf.h"
DEFINE_PROFILE(unsteady_temperature,thread,position)
{
real t, temperature;
face_t f;
real x;
begin_f_loop(f,thread)
{
t=RP_Get_Real("flow-time";
if(t<=0.000000001)
{temperature=325.0-0.115*x;
F_PROFILE(f,thread,position) =temperature+(297.68625-7.37218/(1+exp((temperature-299.65187)/7.97379)));
}
else
F_PROFILE(f,thread,position) =temperature;
}
end_f_loop(f,thread);
}
模拟出现的错误提示:
Updating solution at time level N... done.
  iter continuity x-velocity y-velocity     energy     time/iter
chip-exec: unsteady_temperature: wrong return type: float udf function expectedchip-exec: unsteady_temperature: argument 1: incorrect type (36): int expectedchip-exec: unsteady_temperature: argument 2: incorrect type (5): pointer expected
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的回帖

fangdian

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-09-08 22:06:42
是不是温度没有赋初值?如果t<=0.000000001条件达不到temperature等于多少呢??还有,即使满足t<=0.000000001,那么x值为多少?x不知道的话,温度也确定不了了啊

» 本帖已获得的红花(最新10朵)

2楼2013-09-04 08:41:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

送红花一朵
引用回帖:
2楼: Originally posted by fangdian at 2013-09-04 08:41:46
是不是温度没有赋初值?如果t<=0.000000001条件达不到temperature等于多少呢??还有,即使满足t<=0.000000001,那么x值为多少?x不知道的话,温度也确定不了了啊

对,你说的很对,这个赋初值以及对X的定义我的确不知道怎么办,希望你能给点指点,谢谢!
天道酬勤!
3楼2013-09-04 09:11:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

#include "udf.h"
DEFINE_PROFILE(unsteady_temperature,thread,position)
{
real t, temperature=298.0;
face_t f;
real x[ND_ND];
F_CENTROID(x,f,thread);
begin_f_loop(f,thread)
  {
    t=RP_Get_Real("flow-time";
      if(t>0&&t<=0.1)
         F_PROFILE(f,thread,position)=temperature;
      else if(t>=0.1&&t<0.4)
         {
           temperature=298.0+5*x[1];
           F_PROFILE(f,thread,position) =temperature+(297.68625-7.37218/(1+exp((temperature-299.65187)/7.97379)));
         }
      else
         {
           temperature=F_PROFILE(f,thread,position);
           F_PROFILE(f,thread,position) =temperature;
         }
  }
end_f_loop(f,thread);
}
我改成这样,还是上面的问题啊,请指教!

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: ()
天道酬勤!
4楼2013-09-04 11:13:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)

击破长空

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 鼓励讨论交流! 2013-09-08 22:06:50
将F_CENTROID(x,f,thread);放到begin_f_loop(f,thread)里面。
另外,你的这两句:
    temperature=F_PROFILE(f,thread,position);
           F_PROFILE(f,thread,position) =temperature;
其中第一句,是没有用的。应该去掉。
故善战人之势,如转圆石于千仞之山者,势也
5楼2013-09-04 12:40:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
5楼: Originally posted by 转石千仞 at 2013-09-04 12:40:09
将F_CENTROID(x,f,thread);放到begin_f_loop(f,thread)里面。
另外,你的这两句:
    temperature=F_PROFILE(f,thread,position);
           F_PROFILE(f,thread,position) =temperature;
其中第一句,是没有 ...

谢谢你的指点,不过按照你说的做了,课结果还是那样啊,出现上面的错误提示。
天道酬勤!
6楼2013-09-04 17:59:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)

击破长空

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 鼓励讨论交流! 2013-09-08 22:06:58
引用回帖:
6楼: Originally posted by leixiaobo713 at 2013-09-04 17:59:38
谢谢你的指点,不过按照你说的做了,课结果还是那样啊,出现上面的错误提示。...

#include "udf.h"
DEFINE_PROFILE(unsteady_temperature,thread,position)
{
real t, temperature=298.0;
face_t f;
real x[ND_ND];

begin_f_loop(f,thread)
  {
  F_CENTROID(x,f,thread);
    t=RP_Get_Real("flow-time";
      if((t>0)&&(t<=0.1))
         F_PROFILE(f,thread,position)=temperature;
      else if((t>=0.1)&&(t<0.4))
         {
           temperature=298.0+5.*x[1];
           F_PROFILE(f,thread,position) =temperature+(297.68625-7.37218/(1.+exp((temperature-299.65187)/7.97379)));
         }
      else
         {
           F_PROFILE(f,thread,position) =temperature;
         }
  }
end_f_loop(f,thread);
}
我修改了一下你的程序,然后编译了运行。是没有问题的。
你自己认真与修改后的核对一下。
这个程序,一点儿也不难,你用点心,完全可以搞定的。
故善战人之势,如转圆石于千仞之山者,势也
7楼2013-09-04 22:24:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

恩恩,我已经弄好啦,是我udf加载时弄错了,多谢指点,想问一个另一个问题,就是对于
else
         {
           F_PROFILE(f,thread,position) =temperature;
         }
这部分的表示方法有问题没,我是想着,在0.4s以后,就不提供热源了,材料的温度随流体的流过自然发生变化,不知道怎么写合适!
天道酬勤!
8楼2013-09-05 09:49:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)

【答案】应助回帖

先face_t f;然后real

不提供热源就赋值为0
9楼2013-09-09 16:19:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
9楼: Originally posted by 死天 at 2013-09-09 16:19:41
先face_t f;然后real

不提供热源就赋值为0

对热源赋值为0,就是在
else
         {
           F_PROFILE(f,thread,position) =temperature;
         }
中令 F_PROFILE(f,thread,position) =0?
我刚接触udf不是很理解,但是 F_PROFILE(f,thread,position) =0,我试了下,是不正确的,希望您指点下!
天道酬勤!
10楼2013-09-10 09:40:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 leixiaobo713 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 26申博自荐 +6 whh869393 2026-03-24 6/300 2026-03-29 21:05 by nxgogo
[考研] 各位老师好,我的一志愿为北京科技大学085601材料专硕 +9 Koxui 2026-03-28 9/450 2026-03-29 20:43 by 无际的草原
[考研] 考研调剂 +7 小蜡新笔 2026-03-29 7/350 2026-03-29 19:00 by 学员8dgXkO
[考研] 322求调剂:一志愿湖南大学 材料与化工(085600),已过六级。 +4 XX小邓 2026-03-29 4/200 2026-03-29 17:34 by 无际的草原
[考研] 22408 359分调剂 +4 Qshers 2026-03-27 6/300 2026-03-29 14:16 by Qshers
[考研] 321求调剂 +7 璞玉~~ 2026-03-25 8/400 2026-03-29 06:41 by 544594351
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 一志愿太原理工安全工程300分,求调剂 +5 0857求调剂. 2026-03-24 6/300 2026-03-28 22:04 by zhq0425
[考研] 生物学学硕,一志愿湖南大学,初试成绩338 +6 YYYYYNNNNN 2026-03-26 7/350 2026-03-28 20:52 by 唐沐儿
[考研] 085602 化工专硕 338分 求调剂 +12 路痴小琪 2026-03-27 12/600 2026-03-28 15:41 by L135790
[考研] 材料与化工(0856)304求B区调剂 +8 邱gl 2026-03-27 8/400 2026-03-28 12:42 by 唐沐儿
[考研] 308求调剂 +7 墨墨漠 2026-03-27 7/350 2026-03-28 07:43 by 热情沙漠
[考研] 085601 材料工程 313分 求调剂 +5 Ong3 2026-03-27 5/250 2026-03-27 12:24 by goldfish51
[论文投稿] Journal of Mechanical Science and Technology +3 Russ_ss 2026-03-25 5/250 2026-03-27 10:49 by 陆小果画大饼
[考研] 生物学 296 求调剂 +4 朵朵- 2026-03-26 6/300 2026-03-26 19:01 by 不吃魚的貓
[考研] 中国科学院深圳先进技术研究院-光纤传感课题组招生-中国科学院大学、深圳理工大学联培 +5 YangTyu1 2026-03-26 5/250 2026-03-26 18:27 by 猫咪猫咪呀
[考研] 上海电力大学材料防护与新材料重点实验室招收调剂研究生(材料、化学、电化学,环境) +4 我爱学电池 2026-03-23 4/200 2026-03-25 00:59 by 1027_324
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
[考研] 085404电子信息284分求调剂 +4 13659058978 2026-03-24 4/200 2026-03-24 12:15 by syl20081243
[考研] 求老师收我 +3 zzh16938784 2026-03-23 3/150 2026-03-23 12:56 by ztnimte
信息提示
请填处理意见