24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1521  |  回复: 7

kevinllk

新虫 (初入文坛)

[交流] 求助,大神帮忙看看我的UDF代码错误在哪里,关于出口温度调用到进口温度已有4人参与

我的要求是经过Fluent迭代出出口温度,调用出口温度,经过公式运算,比如出口温度加1赋值给进口温度,不断循环
我写的代码是
#include"udf.h"
real NV_VEC(A);
real outlet_temp;
real sum_T_A=0.0;
real sum_A=0.0;
Thread *thread_out;
face_t f;

DEFINE_ADJUST(my_adjust,d)
{
        thread_out=Lookup_Thread(d,13);/*13是出口面的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)
                outlet_temp=sum_T_A/sum_A;
}

DEFINE_PROFILE(temperature_inlet,t,i)
{
        begin_f_loop(f,t)
        {
        F_PROFILE(f,t,i) =outlet_temp+1 ;
        }
        end_f_loop(f,t)
}

在这个代码下,运算结果不对,进口和出口的温差总不是1,小于1,所以我觉得应该是有问题,但是我不知道问题出在哪里,请大神们指教
回复此楼

» 猜你喜欢

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

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

kevinllk

新虫 (初入文坛)

求大神帮忙~感激不尽
2楼2015-04-06 18:52:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dayu7973

铁虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
DEFINE_ADJUST是在每次迭代之前运行,计算之后温差不是1很正常吧
3楼2015-04-06 22:46:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kevinllk

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by dayu7973 at 2015-04-06 22:46:31
DEFINE_ADJUST是在每次迭代之前运行,计算之后温差不是1很正常吧

那请问怎么改呢?我这个是上网找的,不知道怎么改
4楼2015-04-07 08:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gearboy78

禁虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

5楼2015-04-07 09:16:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kevinllk

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by gearboy78 at 2015-04-07 09:16:33
real sum_T_A=0.0;和real sum_A=0.0;放到DEFINE_ADJUST里面去。要不然每次迭代这两个变量会不断累加(因为是全局变量)。放到DEFINE_ADJUST里面,每次迭代就会重新初始值变为零。实际上除了real outlet_temp;
其他 ...

果然是大神~!!!一下子就解决了~!确实问题出在这里~!!!
6楼2015-04-07 10:49:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

哼切呸

新虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
能帮我写一下,直接调用出口温度,出口温度加2.14赋值给进口温度的代码吗,我照着你的改了好几次都不对。
#include"udf.h"

DEFINE_PROFILE(temperature_inlet,t,i)
{
        real outlet_temp;
        Thread *thread_out;
        face_t f;
        thread_out=Lookup_Thread(d,13);
        F_AREA(A,f,thread_out);
        outlet_temp=F_T(f,thread_out);
        begin_f_loop(f,t)
        {
        F_PROFILE(f,t,i) =outlet_temp+2.14 ;
        }
        end_f_loop(f,t)
}
7楼2015-10-20 10:32:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

malasong9471

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
7楼: Originally posted by 哼切呸 at 2015-10-20 10:32:32
能帮我写一下,直接调用出口温度,出口温度加2.14赋值给进口温度的代码吗,我照着你的改了好几次都不对。
#include"udf.h"

DEFINE_PROFILE(temperature_inlet,t,i)
{
        real outlet_temp;
  ...

UDF 实现热响应测试【出口平均温度赋予入口温度】 - 计算模拟 - 小木虫论坛
http://muchong.com/bbs/viewthread.php?tid=10667013&target=1
8楼2016-09-22 10:10:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kevinllk 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见