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

请教边界条件的udf,望各位多多指教!

[复制链接]
发表于 2006-6-2 11:08:20 | 显示全部楼层 |阅读模式

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

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

x
各位高手,朋友:
    下面是一个边界条件的udf,有些错误,帮忙改下错.
    题意:进口风速呈不规则变化,是一个二维分布的图形,通过调用样条函数来获得风速分布函数.最终通过udf来定义这种不规则的风速分布.

函数主题:
    #include "udf.h"   
#include "math.h"   
float Q(double xy);   
DEFINE_PROFILE(inlet_x_velocity,thread,index)   
{                                               
real x[ND_ND];                                       对于二维的图形,不知对不对?
face_t f;                                      
real y,z;                                      
begin_f_loop(f,thread)                        
{                                             
F_CENTROID(x,f,thread);                        
y=x[1];                                       
z=x[0];                                       
double u[7][7]={                                           这个是测量的风速点值
{0.65,1.4,1.2,1.4,1.45,1.35,1.2},           
{0.7,1.435,1.55,1.5,1.52,1.55,1.1},         
{0.7,1.15,1.3,1.4,1.4,1.53,1.3},            
{1.45,2.3,1.2,1.1875,1.4,1.8,1.3},         
{5,5,3.2,1.7,2.6,7.25,6},                  
{8,10,7.7,4,5.5,10,8},                     
{10,13,13,12,10,10,9},                     
        };                                          
  int i;                                                   
  int j;                                                    求风速
  for (i=0;i<=6;i++)                                       
     for (j=0;j<=6;j++)                                    
{                                                   
real sum=0;                                         
x=x/15-i;                                          
y=y/15-j;                                          
sum=sum+u[j]*Q(y)*Q(z);                          
}                                                   
F_PROFILE(f,thread,index)=sum;                              求风速
}                                                           
end_f_loop(f,thread)                                       
}                                                         

调用样条函数:                                     不知道能不能作为外部函数调用?
float Q(double xy)                                          
{
real q1;                                          
xy=fabs(xy);                                       
if(xy>=1.5)                                         
         q1=0;                                             
      else if(xy<0.5)                                       
         q1=-xy*xy+0.75;                                    
      else                                                  
         q1=0.5*xy*xy-1.5*xy+9/8;                           
  return q1;                                       
}
  小弟刚学udf,不太懂,望各位帮帮忙.
感激,多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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