Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Fluent
  3. 【请教】边界条件udf编译失败,关于fatal signal (Segmentation fault)的错误

【请教】边界条件udf编译失败,关于fatal signal (Segmentation fault)的错误

已定时 已固定 已锁定 已移动 Fluent
3 帖子 2 发布者 4.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 分 离线
    分 离线
    分子在运动
    写于2017年9月21日 05:28 最后由 李东岳 编辑 2017年9月21日 14:05
    #1

    对入口处的指数率风剖面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行列式 )如下

    0_1505971450527_微信截图_20170921131509.png

    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)
    }*
    1 条回复 最后回复
  • 分 离线
    分 离线
    分子在运动
    写于2017年9月21日 11:56 最后由 编辑
    #2

    已解决,原因是代码里有几行没加分号和一些手误
    需要新代码可以找我

    纵 1 条回复 最后回复 2018年5月22日 03:04
  • 纵 离线
    纵 离线
    纵浪大化
    在 2018年5月22日 03:04 中回复了 分子在运动 最后由 编辑
    #3

    @分子在运动 705718754@qq.com,谢大神。 我也在做UDF, 但是老是报错。。。很头疼

    1 条回复 最后回复
2017年9月21日 05:28

2/3

2017年9月21日 11:56

2018年5月22日 03:04
  • 登录

  • 登录或注册以进行搜索。
2 / 3
  • 第一个帖子
    2/3
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]