24小时热门版块排行榜    

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

ykxyer

铁杆木虫 (文坛精英)

[求助] fluent UDF如何实现瞬态,壁面heat flux为 上一时刻温度与此时温度差的函数的?

壁面热流边界满足公式heat flux=C_all*Density_all*t_all*(T1-T0))/delta_t;其中
C_all为总的热容;
Density_all为总的密度;
t_all为总的厚度;
T1为前一时刻的壁面温度;
T0为此时的壁面温度;
delta_t为两温度时间的差值;
壁面边界处,材料会随着温度的升高而吸收一部分热量,而这部分传热以heat flux形式表示,fluent中heat flux的单位为W/m2,
因此就简化了公式Q=C*m*(T1-T2),m=density*Volume近似等于:密度*厚度*面积,这部分热量不是随着时间变化的,而是随着温度变化的,
fluent中的单位为W/m2,在计算热量 时会乘以时间,因此在UDF中除了时间。

///////////////////////////////////////////////////////////////////////////////
下面是我自己写得UDF,但是初始化的时候有如下提示的错误:
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: #f
///////////////////////////////////////////////////////////////////////////////

#include "udf.h"
/*5-the wall heat flux*/
/*-----------------------------------------------------------------------*/
DEFINE_PROFILE(wall_heat_flux, thread, position)
{
/*--------------壁面材料储热部分--------------------*/
real Density_Al=2700;      /*铝的密度*/
real Density_CRFP=1570;    /*CRFP的密度*/
real C_Al=902;             /*铝的热容*/
real C_CRFP=840;           /*CRFP的热容*/
real t_Al=0.0048;          /*铝的厚度*/
real t_CRFP=0.0025;        /*CRFP的厚度*/
real w1,w2;                /*w1为铝的质量分数,w2为CRFP的质量分数*/
real Density_all,C_all;    /*壁面材料总的密度,热容*/
real heat_flux;          /*壁面材料储热部分近似热流量*/
real current_time step;    /*时间步长*/

real t;
cell_t c;
Thread *t;
face_t f;
begin_f_loop(f,thread)
{
t_wall=F_T(f,thread);
heat_flux_1=(1/(1/h_hydrogen+thickness_all/k_wall+1/h_air))*(t_air-t_wall);  /*对流交换单位面积氢气热流密度*/
w1=Density_Al*t_Al/(Density_Al*t_Al+Density_CRFP*t_CRFP);
w2=Density_CRFP*t_CRFP/(Density_Al*t_Al+Density_CRFP*t_CRFP);
Density_all=1/(w1/Density_Al+w2/Density_CRFP);
C_all=C_Al*w1+C_CRFP*w2;

current_timestep = RP_Get_Real("physical-time-step";
C_UDMI(c,t,0) = C_T_M1(c,t); /*获得前一时刻温度值*/
C_UDMI(c,t,1)= C_T_M2(c,t);/*获得前前时刻温度值*/

heat_flux=C_all*Density_all*(t_Al+t_CRFP)*(C_UDMI(c,t,0) - C_UDMI(c,t,1))/current_timestep;

F_PROFILE(f,thread,position)=heat_flux;

}
end_f_loop(f,thread)
}
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

You will when you believe.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

MrKin

新虫 (正式写手)

udm不能相加减,既然下面已经用到了c-t-m,又何必把它存在udm中

发自小木虫IOS客户端
2楼2017-07-04 10:06:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykxyer

铁杆木虫 (文坛精英)

引用回帖:
2楼: Originally posted by MrKin at 2017-07-04 10:06:22
udm不能相加减,既然下面已经用到了c-t-m,又何必把它存在udm中

直接就是:heat_flux=C_all*Density_all*(t_Al+t_CRFP)*(C_T_M1(c,t) - C_T_M2(c,t))/current_timestep 吗? 删掉这两行:C_UDMI(c,t,0) = C_T_M1(c,t); /*获得前一时刻温度值*/
C_UDMI(c,t,1)= C_T_M2(c,t);/*获得前前时刻温度值*/???
You will when you believe.
3楼2017-07-04 10:16:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

MrKin

新虫 (正式写手)

看上去没问题,你需要加载进去看看有没有其他报错

发自小木虫IOS客户端
4楼2017-07-04 10:37:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykxyer

铁杆木虫 (文坛精英)

引用回帖:
4楼: Originally posted by MrKin at 2017-07-04 10:37:44
看上去没问题,你需要加载进去看看有没有其他报错

我现在把程序改成下面的了,但是还是有报错:Error: Update_Time_Level: invalid data,百度了一下,也没找到类似错误的是啥原因?

#include "udf.h"
/*5-the wall heat flux*/
/*-----------------------------------------------------------------------*/
DEFINE_PROFILE(wall_heat_flux, thread, position)
{
/*--------------壁面材料储热部分--------------------*/
real Density_Al=2700;      /*铝的密度*/
real Density_CRFP=1570;    /*CRFP的密度*/
real C_Al=902;             /*铝的热容*/
real C_CRFP=840;           /*CRFP的热容*/
real t_Al=0.0048;          /*铝的厚度*/
real t_CRFP=0.0025;        /*CRFP的厚度*/
real w1,w2;                /*w1为铝的质量分数,w2为CRFP的质量分数*/
real Density_all,C_all;    /*壁面材料总的密度,热容*/
real heat_flux;          /*壁面材料储热部分近似热流量*/
real current_time step;    /*时间步长*/

real t;
cell_t c;
Thread *t;
face_t f;
begin_f_loop(f,thread)
{
w1=Density_Al*t_Al/(Density_Al*t_Al+Density_CRFP*t_CRFP);
w2=Density_CRFP*t_CRFP/(Density_Al*t_Al+Density_CRFP*t_CRFP);
Density_all=1/(w1/Density_Al+w2/Density_CRFP);
C_all=C_Al*w1+C_CRFP*w2;

current_timestep = RP_Get_Real("physical-time-step";


heat_flux=C_all*Density_all*(t_Al+t_CRFP)*(C_T_M1(c,t) - C_T_M2(c,t))/current_timestep;

F_PROFILE(f,thread,position)=heat_flux;

}
end_f_loop(f,thread)
}
You will when you believe.
5楼2017-07-04 10:42:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

MrKin

新虫 (正式写手)

c-t-m中的变量是c和t,与你的面循环不对应,你用f-c0来代替c

发自小木虫IOS客户端

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

6楼2017-07-04 11:20:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykxyer

铁杆木虫 (文坛精英)

引用回帖:
6楼: Originally posted by MrKin at 2017-07-04 11:20:59
c-t-m中的变量是c和t,与你的面循环不对应,你用f-c0来代替c

刚改了,运行了下,又出现了刚开始的问题: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: #f
You will when you believe.
7楼2017-07-04 13:32:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykxyer

铁杆木虫 (文坛精英)

送红花一朵
引用回帖:
6楼: Originally posted by MrKin at 2017-07-04 11:20:59
c-t-m中的变量是c和t,与你的面循环不对应,你用f-c0来代替c

想给你发点金币的,但是你不是应助,不过还是谢谢你。
You will when you believe.
8楼2017-07-04 13:34:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykxyer

铁杆木虫 (文坛精英)

引用回帖:
6楼: Originally posted by MrKin at 2017-07-04 11:20:59
c-t-m中的变量是c和t,与你的面循环不对应,你用f-c0来代替c

我找到的原因了,是因为初始化时,前一时刻是没有值的,所以应该单独初始化。
You will when you believe.
9楼2017-07-04 16:54:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李小白007

新虫 (小有名气)

亲亲 我的问题和你的一样呢,求赐教

发自小木虫IOS客户端
10楼2019-04-17 13:07:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ykxyer 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085600 295分求调剂 +4 W55j 2026-03-30 6/300 2026-03-30 17:13 by 五号电池5
[考研] 310求调剂 +10 争取九点睡 2026-03-30 10/500 2026-03-30 16:45 by ztnimte
[考研] 342求调剂 +4 加油a李zs 2026-03-26 4/200 2026-03-30 16:39 by 晶体之美
[考研] 一志愿郑大材料工程290求调剂 +8 Youth_ 2026-03-30 8/400 2026-03-30 16:30 by ztnimte
[考研] 286分调剂 +8 Faune 2026-03-30 9/450 2026-03-30 15:11 by Faune
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +5 小小机灵虫 2026-03-29 11/550 2026-03-30 15:02 by Wang200018
[考研] 318求调剂 +7 陈晨79 2026-03-30 7/350 2026-03-30 10:49 by 探123
[考研] 337求调剂 +6 《树》 2026-03-29 6/300 2026-03-30 10:15 by herarysara
[考研] 085600 286分 材料求调剂 +10 麻辣鱿鱼 2026-03-27 11/550 2026-03-29 21:52 by nanaliuyun
[考研] 329求调剂 +10 钮恩雪 2026-03-25 10/500 2026-03-29 13:32 by peike
[考研] 一志愿郑州大学,080500学硕,总分317分求调剂 +8 举个栗子oi 2026-03-24 9/450 2026-03-29 13:08 by peike
[考研] 一志愿北京理工大学本科211材料工程294求调剂 +8 mikasa的围巾 2026-03-28 8/400 2026-03-29 12:48 by 无际的草原
[考研] 349求调剂 +6 李木子啊哈哈 2026-03-25 6/300 2026-03-29 12:47 by 无际的草原
[考研] 086000生物与医药调剂 +5 Feisty。 2026-03-28 9/450 2026-03-29 12:02 by longlotian
[考研] 求调剂 +7 争取九点睡 2026-03-28 8/400 2026-03-28 21:07 by 争取九点睡
[考研] 生物学学硕,一志愿湖南大学,初试成绩338 +6 YYYYYNNNNN 2026-03-26 7/350 2026-03-28 20:52 by 唐沐儿
[考研] 复试调剂 +3 raojunqi0129 2026-03-28 3/150 2026-03-28 15:27 by 落睿可思
[考研] 265求调剂 +8 小木虫085600 2026-03-27 8/400 2026-03-27 22:16 by 无际的草原
[考研] 298调剂 +3 jiyingjie123 2026-03-27 3/150 2026-03-27 11:57 by wxiongid
[考研] 0703化学338求调剂! +6 Zuhui0306 2026-03-26 7/350 2026-03-27 10:35 by shangxh
信息提示
请填处理意见