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

新手提问(如何利用温度控制加热器的功率)

[复制链接]
发表于 2010-6-15 15:44:44 | 显示全部楼层 |阅读模式

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

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

x
假设有一加热器(2维),其中一点A坐标(0.01,0.005)在加热器内。
加热器初始功率P:1000000000W/m3, 点A的温度随加热器加热而变化.
我想利用UDF实现的是:
当A点的温度大于T0时,加热器功率每个时间步减少1000000W/m3;
当A点的温度小于T0时,加热器功率每个时间步增加1000000W/m3;
浏览了前人的一些帖子,udf程序大概如下:
DEFINE_SOURCE(heat_source,cell,thread,dS,eqn)
{
  cell_t c;
  Thread *t;
  CX_Cell_Id cx_cell;
  real NV_VEC(pt);
  real c_centroid[ND_ND];
  real temp;
  real tempp;
  real source;
  real source0=1000000000.0;
  real flow_time=RP_Get_Real("flow-time");

  NV_D(pt,=,0.01,0.005,0.0);  
  CX_Start_ND_Point_Search();
  cx_cell=*CX_Find_Cell_With_Point(pt);
  CX_End_ND_Point_Search();
  c=RP_CELL(&cx_cell);  
  t=RP_THREAD(&cx_cell);  

  C_CENTROID(c_centroid,c,t);
  temp=C_T(c,t);
  
  if(flow_time<1.0)
  {
       tempp=420;
  }
  else
        tempp=450;

  source=source0;
  if(temp<tempp)
  {
        source=source+1000000.0;          
  }
  else
  {
        source=source-1000000.0;
  }
  source0=source;
  return source;
}
第一个时间步迭代source利用初始的功率source0,
以后的每个时间步迭代source利用上次时间步的source。
现在的问题是,上一个时间步的source不知道怎样传递给当前时间步,期望高手帮忙解决一下。
谢谢!

[ 本帖最后由 mawencheng 于 2010-6-15 15:50 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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