24小时热门版块排行榜    

查看: 5203  |  回复: 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的回帖

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的回帖
查看全部 15 个回答

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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ASdOkHsho7FD 2026-08-28 10/500 2026-08-30 17:36 by hZiFeudZyoGR
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 9/450 2026-08-30 17:34 by hZiFeudZyoGR
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 8/400 2026-08-30 12:03 by l0VvVHGBGRLv
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-30 11:19 by l0VvVHGBGRLv
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 07:05 by ZPa0EcMwuECS
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 06:55 by ZPa0EcMwuECS
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 ASdOkHsho7FD 2026-08-28 7/350 2026-08-30 06:10 by ZPa0EcMwuECS
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 02:09 by ZPa0EcMwuECS
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 01:45 by ZPa0EcMwuECS
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 01:34 by ZPa0EcMwuECS
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见