|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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质量流量的具体值,而只是知道他们质量流量的加总。请问有大神知道该怎么处理这个问题吗? |
|