24小时热门版块排行榜    

查看: 5134  |  回复: 14

sailote

铁虫 (初入文坛)

[求助] 用udf实现出口温度赋值给进口温度 已有1人参与

最近在搞一个非稳态算例,前一时刻流体出口面的平均温度赋值给当前时刻的进口面。初始状态时,流体区域平均分成前后两个区域,前后的温度不一样。
我网上搞了一个udf(如下),计算中,用monitor监控进口和出口的平均温度,每10个时间步长输出一次。发现两者温度曲线相差很大,如图所示(纵坐标为平均温度K,横坐标为时间步长)。请问是这个udf的问题还是怎啦?
real NV_VEC(A);
real avg_temp;
real sum_T_A=0.0;
real sum_A=0.0;
Thread *thread_out;
face_t f;
Domain *domain;
DEFINE_ADJUST(adjust,d)
{domain=Get_Domain(1);
thread_out=Lookup_Thread(domain,14);/14是出口面的id/
begin_f_loop(f,thread_out)
{ F_AREA(A,f,thread_out);
sum_A+=NV_MAG(A);                 
sum_T_A+=NV_MAG(A)*F_T(f, thread_out);
}
end_f_loop(f,thread_out)
avg_temp=sum_T_A/sum_A;
}
DEFINE_PROFLIE(inlet_T,t,i)
{begin_f_loop(f,t)
{F_PROFILE(f,t,i) = avg_temp;
}
end_f_loop(f,t)
}

用udf实现出口温度赋值给进口温度
1212.JPG
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sailote

铁虫 (初入文坛)

后来我怀疑是不是DEFINE_PROFLIE这个有问题,所以把udf改成如下,发现结果像之前一样(上图所示)
Thread *thread_in;
Thread *thread_out;
face_t f;
Domain *domain;
real avg_temp;
real sum_T_A=0.0;
real sum_A=0.0;
real NV_VEC(A);
DEFINE_ADJUST(adjust,d)
{
        domain=Get_Domain(1);
        thread_in=Lookup_Thread(domain,15); /*15是进口面的id*/
        thread_out=Lookup_Thread(domain,14); /*14是出口面的id*/
        begin_f_loop(f,thread_out)
        {
                F_AREA(A,f,thread_out);
                sum_A+=NV_MAG(A);
                sum_T_A+=NV_MAG(A)*F_T(f, thread_out);
        }
        end_f_loop(f,thread_out)
        avg_temp=sum_T_A/sum_A;
        begin_f_loop(f,thread_in)
        {
                F_T(f,thread_in) = avg_temp;
        }
        end_f_loop(f,thread_in)
}
2楼2014-05-14 15:04:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sailote

铁虫 (初入文坛)

怎么都没人回复
3楼2014-05-14 20:05:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
sailote: 金币+1, 有帮助 2014-05-15 14:07:56
如果是前一时刻赋给当前时刻的话应该是用DEFINE_EXECUTE_AT_END的吧  DEFINE_ADJUST是每次迭代都计算一次
4楼2014-05-15 09:59:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sailote

铁虫 (初入文坛)

引用回帖:
4楼: Originally posted by woshihuolei at 2014-05-15 09:59:34
如果是前一时刻赋给当前时刻的话应该是用DEFINE_EXECUTE_AT_END的吧  DEFINE_ADJUST是每次迭代都计算一次

请问如何使用DEFINE_EXECUTE_AT_END,有没有使用的例子
5楼2014-05-15 13:11:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

引用回帖:
5楼: Originally posted by sailote at 2014-05-15 13:11:22
请问如何使用DEFINE_EXECUTE_AT_END,有没有使用的例子...

建议看fluenthelp找一下每个宏的用法
6楼2014-05-15 18:44:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaolei539

铁虫 (小有名气)

楼主问题解决了吗?
我遇到了类似的问题,需要把一面温度值(面的不同位置温度不同)传递给另一个面,两个面网格划分相同。
跟你的情况类似~~
为什么不用PROFILE 而要用ADJUST呢?
努力!
7楼2014-06-12 20:37:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sailote

铁虫 (初入文坛)

引用回帖:
7楼: Originally posted by zhaolei539 at 2014-06-12 20:37:53
楼主问题解决了吗?
我遇到了类似的问题,需要把一面温度值(面的不同位置温度不同)传递给另一个面,两个面网格划分相同。
跟你的情况类似~~
为什么不用PROFILE 而要用ADJUST呢?

还没解决,老是算出来有问题。profile是参数赋值函数。ADJUSt是每步迭代之后调整函数。不一样的。我后来用了EXECUTE_AT_END还是不行,我真的不知道出了什么问题。
8楼2014-06-13 16:17:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaolei539

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by woshihuolei at 2014-05-15 09:59:34
如果是前一时刻赋给当前时刻的话应该是用DEFINE_EXECUTE_AT_END的吧  DEFINE_ADJUST是每次迭代都计算一次

你好!想请教提取某个边界面的温度,赋值给另一个边界面
面上不同位置 温度不一样 不知道UDM怎么存储的?我这样写行不行?
#include "udf.h"
DEFINE_PROFILE(hnt_temperature,thread)
{
face_t f;
real tem_liquid;
real tem_solid;
Thread *thread_liquid=Lookup_Thread(domain,14); /*14是交界面液体侧面的id*/;
Thread *thread_solid=Lookup_Thread(domain,15); /*15是交界面固体侧面的id*/;

begin_f_loop(f,thread_liquid)
{   
    temp=F_T(f,thread_liquid);
    F_UDMI(f,t,0)=temp_liquid;
           
}
  end_f_loop(f,thread_liquid)

begin_f_loop(f,thread_solid)
{   
    tem_solid=F_UDMI(f,t,0);
    F_PROFILE(f,thread_solid)=tem_solid;
           
}
  end_f_loop(f,thread_solid)
}
麻烦您帮忙看看 谢谢!
努力!
9楼2014-06-15 09:39:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaolei539

铁虫 (小有名气)

引用回帖:
8楼: Originally posted by sailote at 2014-06-13 16:17:58
还没解决,老是算出来有问题。profile是参数赋值函数。ADJUSt是每步迭代之后调整函数。不一样的。我后来用了EXECUTE_AT_END还是不行,我真的不知道出了什么问题。...

楼主能不能把你的代码发给我 我的问题跟你类似,但是代码导进去之后有错误,您帮我看看我的这个?给我参考一下?卡这里一个月了,不胜感激~~
#include "udf.h"
DEFINE_PROFILE(hnt_temperature,thread)
{
face_t f;
real tem_liquid;
real tem_solid;
Thread *thread_liquid=Lookup_Thread(domain,14); /*14是交界面液体侧面的id*/;
Thread *thread_solid=Lookup_Thread(domain,15); /*15是交界面固体侧面的id*/;

begin_f_loop(f,thread_liquid)
{   
    temp=F_T(f,thread_liquid);
    F_UDMI(f,t,0)=temp_liquid;
           
}
  end_f_loop(f,thread_liquid)

begin_f_loop(f,thread_solid)
{   
    tem_solid=F_UDMI(f,t,0);
    F_PROFILE(f,thread_solid)=tem_solid;
           
}
  end_f_loop(f,thread_solid)
}
麻烦您帮忙看看 谢谢!
努力!
10楼2014-06-15 18:30:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sailote 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 jRl3mE6ddZGq 2026-08-03 4/200 2026-08-04 04:54 by k7OM8YghWbkC
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jRl3mE6ddZGq 2026-08-03 7/350 2026-08-04 04:50 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 6/300 2026-08-04 04:47 by k7OM8YghWbkC
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:47 by k7OM8YghWbkC
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 7/350 2026-08-04 04:46 by k7OM8YghWbkC
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:46 by k7OM8YghWbkC
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 cu9Nq1xK233Z 2026-08-03 5/250 2026-08-04 04:44 by k7OM8YghWbkC
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:41 by k7OM8YghWbkC
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 jRl3mE6ddZGq 2026-08-03 7/350 2026-08-04 03:35 by k7OM8YghWbkC
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 03:21 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 cu9Nq1xK233Z 2026-08-03 12/600 2026-08-04 03:17 by k7OM8YghWbkC
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 16/800 2026-08-03 12:23 by fuweiguochen
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +19 低垂的野花 2026-07-31 25/1250 2026-08-03 09:25 by gy116024
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +8 锦衣卫寒战 2026-07-28 12/600 2026-08-03 08:22 by syl200707
[基金申请] 微信指数没变化,科研之友没阅读 +15 wangze12014 2026-07-28 19/950 2026-08-02 20:05 by 蔡棒棒菂
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见