24小时热门版块排行榜    

查看: 1469  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

andy014

新虫 (初入文坛)

[求助] 关于温度的传递问题,能否有人帮我看一下这个UDF是哪里出了错误呢? 已有3人参与

各位同学大家好,小弟在这里求助一个二维模型UDF的写法,
我希望能够得到出口边界上(由于是二维,故为一条直线)的温度,再将其传递给入口边界作为温度赋值。即让入口温度=出口温度+10。
编写如下,但是编译的时候总是出现错误!我怀疑是不是UDF哪里出了问题,希望大家能帮帮我!不胜感激!

#include "udf.h"
real t2;/*定义出口温度为t2*/
Thread *thread_out;
face_t f,b;
Domain *domain;
DEFINE_ADJUST(adjust,d)/*每次迭代均送传递温度*/
{
  domain=Get_Domain(1);
  thread_out=Lookup_Thread(domain,7);/*出口边界那条边的ID*/
  begin_f_loop(f,thread_out)
    {
      t2=F_T(f,thread_out) /*获取温度信息*/
     }
      end_f_loop(f,thread_out)
   
}
DEFINE_PROFILE(inlet_T2, t, i)   
{                                
    begin_f_loop(b,t)
      {
       F_PROFILE(b,t,i) = t2+10 ;/*传递出口温度到进口*/
       }
    end_f_loop(b,t)
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

achilFes1990

木虫 (著名写手)

【答案】应助回帖

引用回帖:
7楼: Originally posted by 死天 at 2014-10-27 08:52:40
请先清楚什么是局部变量,什么是全局变量。

先不说不能用t2作为变量名,之说t2明显是局部变量根本不能传递出函数的。

各个单位赋值给的t2根本就没有区分,完全就是重复的覆盖

在fluent里能实现你的传递功能 ...

涨姿势了,我当时有分析到局部变量上面,但是如何就那个温度取值并用于下一个函数体一直不知道怎么用,这下会了,赞一个

[ 发自手机版 http://muchong.com/3g ]
扫一扫关注我的微信公众号,共同学习船舶CFD
8楼2014-10-27 13:42:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

andy014

新虫 (初入文坛)

除了第13行 少了一个 分号  已经改正
t2=F_T(f,thread_out); /*获取温度信息*/
2楼2014-10-26 17:34:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

andy014

新虫 (初入文坛)

不是编译出错  编译没有错了  只是没有办法提取那个出口的温度啊!
3楼2014-10-26 17:54:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

achilFes1990

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
你现在这么做的错误或者是不足在哪里啊,你详细说一下,另外是想得到什么样的帮助。

[ 发自手机版 http://muchong.com/3g ]
扫一扫关注我的微信公众号,共同学习船舶CFD
4楼2014-10-26 18:19:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见