24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1134  |  回复: 6

leixiaobo713

银虫 (正式写手)

[求助] 如何通过udf实现一段时间出口流体的平均温度,作为下个时间段入口流体的初始温度!已有1人参与

如题:我想在udf中实现 将一段时内出口流体的平均温度,作为下个时间段流体的初始温度,不知道如何实现,请大神指点, 谢谢!!!
回复此楼
天道酬勤!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

死天

专家顾问 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~ 2013-09-27 19:58:51
不需要UDF直接把出口那个面的数据保存就行然后作为入口导入即可
2楼2013-09-27 10:25:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
2楼: Originally posted by 死天 at 2013-09-27 10:25:43
不需要UDF直接把出口那个面的数据保存就行然后作为入口导入即可

因为循环比较多,所以还是想通过udf实现。
天道酬勤!
3楼2013-09-27 11:20:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
2楼: Originally posted by 死天 at 2013-09-27 10:25:43
不需要UDF直接把出口那个面的数据保存就行然后作为入口导入即可

您能够把我给您的消息中的问题也给与指点啊
天道酬勤!
4楼2013-09-27 11:21:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
2楼: Originally posted by 死天 at 2013-09-27 10:25:43
不需要UDF直接把出口那个面的数据保存就行然后作为入口导入即可

#include "udf.h"
real NV_VEC(A);
real avg_temp;
real sum_T_A=0.0;
real sum_A=0.0;
real time;
Thread *thread_out;
face_t f;
Domain *domain;
DEFINE_ADJUST(adjust,d)
{
        domain=Get_Domain(1);
        thread_out=Lookup_Thread(domain,4);/*4是出口面的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,t)
        {
                time=RP_Get_Real("flow-time";
                if(time<=0.5)
                F_PROFILE(f,t,i) =298;
                else if(time>0.5&&time<=1)
                F_PROFILE(f,t,i) = avg_temp;
        }
        end_f_loop(f,t)
}

加载时老师出现         begin_f_loop(f,t)中的  t: undeclared variable,这个是为什么,请您予以指点!
天道酬勤!
5楼2013-09-27 11:24:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaobo713

银虫 (正式写手)

引用回帖:
2楼: Originally posted by 死天 at 2013-09-27 10:25:43
不需要UDF直接把出口那个面的数据保存就行然后作为入口导入即可

您好  您能给我指点下  这个过程怎么实现啊  出口的数据可以保存  但是怎么直接导入入口? 需要不断地添加 if 语句吗?
天道酬勤!
6楼2013-11-22 11:05:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

malasong9471

木虫 (正式写手)

【答案】应助回帖

少了DEFINE_PROFILE(inlet_temperature,t,i)
{
———————————————————————————————————————————————————————
#include"udf.h"
real avg_temp=303;
  real NV_VEC(A);
  int ID1=40;
  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,ID1);/*40是流体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_PROFILE(inlet_temperature,t,i)
{
begin_f_loop(f,t)
   {
  F_PROFILE(f,t,i)=avg_temp+3;
    }
    end_f_loop(f,t)
}
7楼2016-09-27 19:52:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 leixiaobo713 的主题更新
信息提示
请填处理意见