24小时热门版块排行榜    

查看: 463  |  回复: 0

唏哩哈啦

新虫 (初入文坛)

[求助] udf 质量流率 每个网格循环

#include"mem.h"
#define p_pretotal 350000
#define pcr 185000
#define R 287.06
#define k 1.4
#define T 300
DEFINE_PROFILE(mass_flow_udf,t,i)
{
        real p_sum = 0;
        real r = 0,tem;
        double V;
        real xc[ND_ND];
        face_t f;
        Domain *d;
        d = Get_Domain(1); /*获取液态区域的网格 */
               begin_f_loop(f,t)
                           {
                                       F_CENTROID(xc,f,t); /* 将网格坐标存入数组xc中 */
                                   p_sum = F_P(f, t);    /* 将单元中的压力值赋予 p_sum中*/
                                   tem= F_T(f, t);
                                   r=F_P(f, t)/(R*tem);
                                                                   if(p_sum<=p_pretotal)
                                           if(p_sum>=pcr)
                                                   V=sqrt((2*k*R*T/(k-1))*(1-pow((p_sum/p_pretotal),(k-1)/k)));
                                                               else
                                                    V=sqrt(k*R*T*pow((pcr/p_pretotal),(k-1)/k));
                                                       else
                                           V=0;
                                   F_PROFILE(f,t,i)=0.0002*r*V;

                           }
                end_f_loop(f,t);   
}
获取每个网格入口边界处的压力  然后有对应的速度公式   然后通过计算得到质量流率 再返回给这个网格,要循环每个网格 ,但是现在加载进去就给质量流率的边界条件返回了一个网格上的质量流率,求大神知道 哪里里写错了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 唏哩哈啦 的主题更新
信息提示
请填处理意见