找回密码
 注册
查看: 1845|回复: 0

求助:稳态问题根据每次迭代步修改边界温度

[复制链接]
发表于 2011-12-26 10:57:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
问题是螺旋管三维通道,螺旋管表面的温度需要根据表面热流的值进行修正,udf如下:
----------------------------------------------------------------------------------------------------------
#include "udf.h"
#include "math.h"
#include "mem.h"
#define WALL_ID 17                  

DEFINE_ADJUST(boiling_heatflux,d)    /*每一次迭代计算后更改壁面温度值*/
{
     Thread *tw,*t0;          /*定义壁面Thread指针和与壁面相邻单元指针*/   
     face_t f;                /*定义壁面面元Index*/
     cell_t c0;               /*定义与避免相邻单元Index*/
         real divt=1.0;           /*定义温度梯度*/     

         tw=Lookup_Thread(d, WALL_ID);      /*赋值壁面指针,WALL_ID*/
         t0=THREAD_T0(tw);

            begin_f_loop(f,tw)                    /*对壁面上的面进行全部循环一次*/
     {
            c0=F_C0(f,tw);
            divt=NV_MAG(C_T_G(c0,t0));
            F_T(f,tw)=pow((divt*C_K_L(c0,t0)/44.0842),0.4)+78.8;   /*根据一次迭代中计算得到的热流密度校正壁面温度*/
     }
        end_f_loop(f,tw)
}

         /*使用该UDF前应注意以下问题*/
               /*将WALL_ID号修改为实际壁面ID值*/
               /*由于温度梯度C_T_G(c,t)这个函数只在计算能量方程时才有效,而在计算完成后会清除出内存,所以在计算过程中应设置*/
               /*如下步骤以保存温度梯度这个量,反面意义就是计算所需内存增大。*/
               /*issuing the text command solve/set/expert and then answering yes to the question Keep temporary solver memory from being freed*/
               /*同时还需注意的还有关于单位的一致性*/
---------------------------------------------------------------------------------------------------------
但是一开始迭代就显示出错,大家看看是什么原因导致的。

[ 本帖最后由 hongch0363 于 2011-12-26 11:16 编辑 ]
未命名.JPG
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表