找回密码
 注册
查看: 3299|回复: 5

请教:选用什么UDF函数?

[复制链接]
发表于 2006-11-8 21:03:52 | 显示全部楼层 |阅读模式

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

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

x
在一个非稳态的计算中,如果想在多个时间步长的时间段内给某个固定的区域一个相同的温度值,该选用什么UDF函数?
发表于 2006-11-8 22:38:14 | 显示全部楼层

请教:选用什么UDF函数?

DEFINE_ADJUST应该是可以的吧?!
EXECUTE_AT_END能不能?
发表于 2006-11-9 13:09:54 | 显示全部楼层

请教:选用什么UDF函数?

DEFINE_ADJUST可以,它是每个时间步迭代之前都会运行的,你可以设置一个IF语句,以及一个FLAG,每次调用AJUEST都会FLAG++,IF语句则根据FLAG判断多少个时间步执行你的要求,GOOD LUKE!
 楼主| 发表于 2006-11-9 13:15:03 | 显示全部楼层

请教:选用什么UDF函数?

谢谢!
 楼主| 发表于 2006-11-20 16:15:40 | 显示全部楼层

请教:选用什么UDF函数?

我编了个UDF,但是计算时发现并没有起作用,不知道什么原因.请各位帮我看看!
#include "udf.h"
&#35;define BETWEEN(x,a,b) (x>=a&&x<=b)
DEFINE_ADJUST (my_adjust,d)
{
   
  Domain *d;
  Thread *t;  
  cell_t c;
  int n=N_TIME;
  real xx[ND_ND];
  real temp = C_T(c,t);
  boolean location;
  d = Get_Domain(1);
  
  thread_loop_c(t, d)
{
begin_c_loop(c, t)
{
           C_CENTROID(xx,c,t)
           location = BETWEEN(xx[0],0.07,0.08)&&BETWEEN(xx[1],0,1)&&BETWEEN(xx[2],0.599,0.6);
           if(n<=100&&location)
              C_R(c,t) = 1500;
         }
         end_c_loop(c, t)
     }   
}
发表于 2006-11-30 02:41:14 | 显示全部楼层

请教:选用什么UDF函数?

Domain *d 不能在宏DEFINE_ADJUST (my_adjust,d)内在声明了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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