关于udf小程序

浏览:898 回答:1

#include"udf.h"

#include"mem.h"

#define p_pretotal 350000

#define pcr 185000

#define R 287.06

#define k 1.4

#define T 300

DEFINE_ADJUST(on_demamd_avg,d)

{

        real p_sum = 0;

        real p;

        real v = 0;

        real r = 0,tem;

        real V;

        real xc[ND_ND];

        Thread *t;

        face_t f;

        Domain *d;

        d = Get_Domain(1); /*获取液态区域的网格 */

        t=Lookup_Thread(d,12);/* 找到出口截面的线指针(ID在fluent中的phase找的) */

         /* 单元循环 */

               begin_f_loop(f,t)

  {

                          F_CENTROID(xc,f,t); /* 将网格坐标存入数组xc中 */

                               p_sum = F_P(f, t);    

                               if(p_sum<=p_pretotal)

                   {    

                        if(p_sum>=pcr)

                            {

                                F_U(f,t)=sqrt((2*k*R*T/(k-1))*pow((1-(p_sum/p_pretotal)),(k-1)/k));

                             }

   else

                               F_U(f,t)=sqrt(k*R*T*pow((p_sum/p_pretotal),(k-1)/k));

                    } 

else

                       F_U(f,t)=0;    

  }

                end_f_loop(f,t);

}

通过获取压力 比较压力得到相应的速度公式 求高手指点

邀请回答 我来回答

全部回答

(1)
默认 最新
虞伦
@johnchee @CFD_MAPLE @steve_zheng @胡坤 @梵音静思
2016年4月20日
评论 点赞

没解决?试试专家一对一服务

换一批