|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
初学udf,请大家帮忙看下哪有问题,或者如果这样思路不对,应该如何做,已被折磨n天,跪求大神指教。
#include "udf.h"
#include "mem.h"
#define m_standard 8000.
#define m_interval 500.
DEFINE_ADJUST(mass_inlet,d)
{
Thread *t1,*t2;
cell_t c;
face_t f;
real xc[ND_ND];
int i;
real p=0.;
thread_loop_c(t1,d)
{
/*坐标为(10,10)的点为监测点,循环找到一些和它接近的点,
把这些点的压力值赋给p,并认为最后一次赋的值即为监测点的值*/
begin_c_loop(c,t1)
{
C_CENTROID(xc,c,t1);
if(sqrt(ND_SUM(pow(xc[0]-10.,2.),
pow(xc[1]-10.,2.)))<0.001)
p=C_P(c,t1);
}
end_c_loop(c,t1)
}
/*根据监测点的压力值,来改变入口的质量流量*/
begin_f_loop(f,t2)
{
if(p<=350000.)
F_PROFILE(f,t2,i) = m_standard+m_interval;
else if(p>350000.&&p<380000.)
F_PROFILE(f,t2,i) = m_standard;
else
F_PROFILE(f,t2,i) = m_standard-m_interval;
}
end_f_loop(f,t2)
} |
|