24小时热门版块排行榜    

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

ngesh

新虫 (初入文坛)

[求助] Fluent,UDF中的UDMI使用问题求助! 已有1人参与

请问各位,我在fluent得UDF编程中,用UDMI的过程中遇到了如下问题!发现UDMI中的值在DEFINE_PROFILE中调用错误,我用patch初始化了所有UDMI都为303.15,可是最后输出壁面平均温度却总是零点几K,应该是300K左右才对!
我对UDMI的使用不熟悉,不知道能不能这样用。
还有我用DEFINE_EXECUTE_AT_END的原因是,我想让壁面温度在每个time step才更新一次,而不是每个迭代步更新!
按照我下面写的程序,应该是UDMI的数每个时间步更新一次,然后赋值给壁面的free stream tem,可是实际运行总是走不通,求大家懂这方面的指点一下,搞了好几天这个程序,一直搞不定,脑袋都快蒙了。。

#include "udf.h"
#include "mem.h"
DEFINE_EXECUTE_AT_END(updatetimestepend)
{
Domain *d;
Thread *t,*t_walltem_4,*t_walltem_3,
face_t f;
cell_t c;
real NV_VEC(A4),NV_VEC(A3);
d=Get_Domain(1);
real sum_A4=0.0,sum_A3=0.0;
real sum_T4=0.0,sum_T3=0.0;
real ave_T4,ave_T3;
t_walltem_4=Lookup_Thread(d,66);/*获取ID=66壁面指针*/
t_walltem_3=Lookup_Thread(d,67);/*获取ID=67壁面指针*/
begin_f_loop(f,t_walltem_4)/*求壁面66平均温度*/
{
F_AREA(A4,f,t_walltem_4);
sum_A4+=NV_MAG(A4);
sum_T4+=NV_MAG(A4)*F_T(f,t_walltem_4);
}
end_f_loop(f,t_walltem_4)
ave_T4=sum_T4/sum_A4;
begin_f_loop(f,t_walltem_3)/*求壁面67平均温度*/
{
F_AREA(A3,f,t_walltem_3);
sum_A3+=NV_MAG(A3);
sum_T3+=NV_MAG(A3)*F_T(f,t_walltem_3);
}
end_f_loop(f,t_walltem_3)
ave_T3=sum_T3/sum_A3;
thread_loop_c(t,d)/*将需要的值存在UDM中,在下面的PROFILE调用*/
{
begin_c_loop(c,t)
  {
  C_UDMI(c,t,5)=C_UDMI(c,t,4)-0.2*(C_UDMI(c,t,4)-ave_T4);
  C_UDMI(c,t,4)=C_UDMI(c,t,3)-0.2*(C_UDMI(c,t,3)-ave_T3);
  C_UDMI(c,t,3)=303.15;
  }
end_c_loop(c,t)
}
}

DEFINE_PROFILE(tem_5,t,i)/*66壁面的Free stream temperature*/
{
face_t f;
cell_t c;
real tem5;
tem5=C_UDMI(c,t,5);
begin_f_loop(f,t)
{
F_PROFILE(f,t,i)=tem5;
}
end_f_loop(f,t)
}
DEFINE_PROFILE(tem_4,t,i)/*65壁面的Free stream temperature*/
{
face_t f;
cell_t c;
real tem4;
tem4=C_UDMI(c,t,4);
begin_f_loop(f,t)
{
F_PROFILE(f,t,i)=tem4;
}
end_f_loop(f,t)
}
DEFINE_PROFILE(tem_3,t,i)/*64壁面的Free stream temperature*/
{
face_t f;
cell_t c;
real tem3;
tem3=C_UDMI(c,t,3);
begin_f_loop(f,t)
{
F_PROFILE(f,t,i)=tem3;
}
end_f_loop(f,t)
}
回复此楼
心中所想行动所向
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liukan12

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
UDMI是比较简单和方便的 你如果要每个时间步更新 不就直接用ADJUST 然后设置一个N_TIME的整除数就行了?
不要用你这个 你这个是退出的时候执行
ANSYSFluent流体仿真研究人员。
2楼2018-12-18 00:12:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ngesh

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by liukan12 at 2018-12-18 00:12:25
UDMI是比较简单和方便的 你如果要每个时间步更新 不就直接用ADJUST 然后设置一个N_TIME的整除数就行了?
不要用你这个 你这个是退出的时候执行

请问具体怎么在adjust实现这个功能,目前我用这个DEFINE_EXECUTE_AT_END好像也可以实现我想要的效果,不过听你这么一说我用的这个是在时间步退出的时候执行?用adjust能在时间步的最后一次迭代执行吗,我所了解的adjust是在每个迭代步执行,然后也可以控制只在第一个迭代步执行,具体怎么实现您说的我不太理解啊
心中所想行动所向
3楼2018-12-18 18:55:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liukan12

银虫 (小有名气)

【答案】应助回帖

N_TIME可以获取当前的时间步 如果你要时间步更新执行 你直接用一个判断 只要N_TIME不同不就行了?
然后你这个宏基本不是做这种用途的
ANSYSFluent流体仿真研究人员。
4楼2018-12-18 20:35:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ngesh 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 309分085801求调剂 +4 学员Gtwj7W 2026-03-31 4/200 2026-03-31 20:26 by 啊李999
[考研] 材料科学与工程339求调剂 +3 hyz0119 2026-03-31 3/150 2026-03-31 18:31 by 1939136013狗壮
[考研] 318求调剂 +10 陈晨79 2026-03-30 10/500 2026-03-31 17:37 by 544594351
[考研] 材料与化工272求调剂 +25 阿斯蒂芬2004 2026-03-28 25/1250 2026-03-31 16:27 by hypershenger
[考研] 271求调剂 +5 勒布朗@ 2026-03-31 7/350 2026-03-31 16:26 by hypershenger
[考研] 一志愿武汉理工,总分321,英一数二,求老师收留。 +12 nnnnnnn5 2026-03-25 12/600 2026-03-31 16:21 by 记事本2026
[考研] 一志愿中海洋材料357 +4 麦恩莉. 2026-03-30 4/200 2026-03-31 14:35 by 记事本2026
[考研] 求调剂 +4 研s. 2026-03-25 4/200 2026-03-31 10:05 by fmesaito
[考研] 085701环境工程求调剂 +11 多久上课 2026-03-27 12/600 2026-03-30 21:21 by 研究僧导导
[考研] 322求调剂 +10 宋明欣 2026-03-27 10/500 2026-03-30 18:47 by 544594351
[考研] 290求调剂 +3 dfffsar 2026-03-29 3/150 2026-03-29 22:38 by 毛毛毛阿莫2
[考研] 求调剂 +4 QiMing7 2026-03-25 5/250 2026-03-29 21:10 by 唐沐儿
[考研] 327求调剂 +6 汲亦昊 2026-03-29 6/300 2026-03-29 13:40 by peike
[考研] 279求调剂 +4 蝶舞轻绕 2026-03-29 4/200 2026-03-29 09:45 by laoshidan
[考研] 265求调剂 +8 小木虫085600 2026-03-27 8/400 2026-03-27 22:16 by 无际的草原
[考研] 0703化学求调剂,各位老师看看我!!! +5 祁祺祺 2026-03-25 5/250 2026-03-27 21:44 by 东方猪猪
[考研] 一志愿上海理工能源动力(085800)310分求调剂 +3 zhangmingc 2026-03-27 4/200 2026-03-27 19:01 by 给你你注意休息
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-26 3/150 2026-03-26 19:57 by nihaoar
[考研] 一志愿 南京邮电大学 288分 材料考研 求调剂 +3 jl0720 2026-03-26 3/150 2026-03-26 13:39 by zzll406
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
信息提示
请填处理意见