【请教】边界条件udf编译失败,关于fatal signal (Segmentation fault)的错误
-
对入口处的指数率风剖面u、湍动能k、耗散率e写了udf
第一次编译,报错如下
*cpp -I"D:\Program Files\ANSYS Inc\v170\fluent\fluent17.0.0/………… -DUDFCONFIG_H="<udfconfig.h>" "C:\Users\fenzi\Desktop\cfd\noHatchSingle\prep\UDF\inlet.c" Error: udfconfig.h: line 16: parse error.*
重试,报错信息不同如下
*cpp -I"D:\Program Files\ANSYS Inc\v170\fluent\fluent17.0.0/…………-DUDFCONFIG_H="<udfconfig.h>" "C:\Users\fenzi\Desktop\cfd\noHatchSingle\prep\UDF\inlet.c" Error: received a fatal signal (Segmentation fault). Error Object: #f*
我的网格质量(222行列式 )如下
udf源文件如下
*#include "udf.h" /*来流速度u*/ DEFINE_PROFILE(u_expinlet,t,i) /*定义边界,名为u_expinlet,线程名t,位置i */ { float x[3]; /*3维数组,对应三个坐标 */ float u; /*浮点数u,对应来流速度 */ float y; /*浮点数y,对应y坐标 */ face_t f; /*声明面f */ begin_f_loop(f,t) /*开始线程t内的逐面循环 */ { F_CENTROID(x,f,t); /*取得此面质心的三个坐标,赋给三位数组x */ y=x[1]; /*将三维数组第三个值赋给y */ u=10.*pow(y/10.,0.16); /*用y表达u */ F_PROFILE(f,t,i)=u; /*把u赋给F_PROFILE*/ } end_f_loop(f,t) } /*湍动能k*/ DEFINE_PROFILE(kinetic,t,i) /*定义边界,名为kinetic,线程名t,位置i*/ { float x[3]; /*3维数组,对应三个坐标*/ float u; /*浮点数u,对应来流速度 */ float y; /*浮点数y,对应y坐标 */ float k; /*浮点数k,对应湍流强度 */ float I; /*声明浮点数I,对应湍流强度 */ face_t f; /*声明面f */ begin_f_loop(f,t) /* 开始线程t内的逐面循环 */ { F_CENTROID(x,f,t); /* 取得此面质心的三个坐标,赋给三位数组x */ y=x[1]; /* 将三维数组第三个值赋给y */ u=10.*pow((y/10.),0.16); /* 用y表达u */ if (y<=5.) /*用y表达I */ I=0.23; else I=0.094*pow(y/350.,0.21); k=1.5*pow(u*I,2.) /*用I表达k*/ F_PROFILE(f,t,i)=k /* 赋k的值给F_PROFILE*/ } end_f_loop(f,t) } /*耗散率epsilon */ DEFINE_PROFILE(epsilon,t,i) /* 定义边界,名为epsilon,线程名t,位置i */ { face_t f; /*声明面f */ float x[3]; /*3维数组,对应三个坐标 */ float u; /*浮点数u,对应来流速度 */ float y; /*浮点数y,对应y坐标 */ float L; /*浮点数L,对应湍流尺度 */ float I; /*声明浮点数I,对应湍流强度 */ float k; /*浮点数k,对应湍流强度/* */ float e; /*浮点数e,对应耗散率/* */ begin_f_loop(f,t) /* 1开始线程t内的逐面循环 */ { F_CENTROID(x,f,t); /* 取得此面质心的三个坐标,赋给三位数组x */ y=x[1]; /* 将三维数组第三个值赋给y */ u=10.*pow((y/10.),0.16); /* 用y表达u */ if (y<=5.) /*用y表达I*/ I=0.23; else I=0.094*pow(z/350.,0.21); k=1.5*pow(u*I,2.) /*用I表达k*/ L=100.*POW(y/30.,0.5); /*用y表达L*/ e=1/L*pow(0.09,0.75)*pow(k,1.5) /*用L和k表达e */ F_PROFILE(f,t,i)=e /* 赋e的值给F_PROFILE*/ } end_f_loop(f,t) }*