声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4551|回复: 8

[UDF专题] 请问:如何加载随时间变化的温度边界条件?

[复制链接]
发表于 2006-8-1 19:57 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?我要加入

x
需要UDF吗?请高手不吝赐教。

[ 本帖最后由 Navyer 于 2006-8-1 20:01 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-8-5 08:50 | 显示全部楼层
把入口温度只处理为时间的线性函数可以用这个udf做到;
  1. #include "udf.h"

  2. DEFINE_PROFILE(unsteady_temperature, thread, position)
  3. {

  4. real t, temperature;
  5. face_t f;

  6. begin_f_loop(f, thread)
  7. {
  8. t = RP_Get_Real("flow-time");
  9. temperature = 325.0-0.115*t;
  10. F_PROFILE(f, thread, position) = temperature;
  11. }
  12. end_f_loop(f, thread)

  13. }
复制代码

评分

1

查看全部评分

 楼主| 发表于 2006-8-5 15:11 | 显示全部楼层

收到

多谢了,已经搞定了
发表于 2007-5-7 10:02 | 显示全部楼层

那要同时随位置和时间变化呢?

同时随时间和位置变化的我的udf程序,怎么算出来和我要的结果是垂直的呢?我要它从x轴开始凝固结晶,它怎变成从y轴开始凝固结晶了呢?
/*******************************************************************/
/* udfboundary.c */
/* udf程序,非稳态分段线性温度边界条件 */
/*******************************************************************/
#include "udf.h"
DEFINE_PROFILE(unsteady_temperature, thread, position)
{
real y[ND_ND];  /* 对应于位置矢量,real相当于double */
real x;
real t=RP_Get_Real("flow-time");
face_t f;
begin_f_loop(f,thread) /* 对由thread传入的所有单元面循环 */
{
   
   F_CENTROID(y,f,thread);
   x= y[1];
   
   if (x+2.77e-07*t<1.)
         temp=1385.;
   else if(1.<x+2.77e-07*t<5.)
   temp=40*(5.0-x)/(2.0+2.0)+1345;
   else
   temp=1345.;
    }
end_f_loop(f,thread)
}
发表于 2007-10-5 10:51 | 显示全部楼层
高手啊!
发表于 2008-7-28 21:32 | 显示全部楼层
gao shou:handshake :handshake
发表于 2010-4-29 20:52 | 显示全部楼层
谢谢,帮了我大忙
发表于 2010-5-28 13:52 | 显示全部楼层
学习了,还是有高手
发表于 2012-10-29 04:28 | 显示全部楼层
下来学习一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 02:39 , Processed in 0.063083 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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