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

用udf算一个面质量流量并赋给另外一个面的问题

[复制链接]
发表于 2013-7-1 10:41:18 | 显示全部楼层 |阅读模式

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

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

x
本人遇到情况是这样的:要把一个面的质量流量算出来,并作为压力出口的边界条件赋给另外一个面。计算质量流量的部分已经写出,如下:


#include"udf.h"
#define outlet_ID 12              /*喷管出口的ID,在fluent面板中可查*/
real sum_massflowrate=0;          /*要计算的出口面质量流量*/

DEFINE_ADJUST(outlet_massflowrate,domain)                /*此宏求解出口的质量流量*/
{
  real NV_VEC(A);                     /*面积向量*/
  real NV_VEC(psi_vec);           /*密度乘以速度向量*/   

  face_t f;
  Thread*f_thread;
  f_thread=Lookup_Thread(domain,outlet_ID);
  begin_f_loop(f,f_thread)
  {
   F_AREA(A,f,f_thread);
   NV_D(psi_vec,=,F_U(f,f_thread),F_V(f,f_thread),F_W(f,f_thread));
   NV_S(psi_vec,*=,F_R(f,f_thread));
      sum_massflowrate+=NV_DOT(psi_vec,A);
  }
  end_f_loop(f,f_thread)
   sum_massflowrate=fabs(sum_massflowrate);           /*由于压力出口的流量不能为负,故取绝对值*/
}



现在问题是不知道用哪个宏把算出来的质量流量赋给另外一个面。因为算出来的质量流量是一个积分值,而算例中的赋值一般都是赋给face或者cell的(如温度、压力),也就是说我并不知道这个面上每个face质量流量的具体值,而只是知道他们质量流量的加总。请问有大神知道该怎么处理这个问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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