24小时热门版块排行榜    

查看: 4294  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

犹豫的青蛙

银虫 (小有名气)

[求助] UDF导入后运行时出现fatal error:received a fatal signal (Segmentation fault) 已有2人参与

我做的是二氧化碳在水中的鼓泡(VOF模型),气泡由水底小孔鼓入,考虑液侧传质,UDF能够加载到Fluent中,但是在运行时会出错,错误如标题。在不加载UDF的情况下,模拟能够正常运行。请问大约是什么原因造成的?
UDF如下所示:
#include "udf.h"
#define Hen 0.0000144
#define density 998.2
#define module_weight 44
DEFINE_SOURCE(mass_source,cell,thread_l,ds,eqn)
{
Thread *mixture_t = THREAD_SUPER_THREAD(thread_l);
Thread **thread_g = THREAD_SUB_THREADS(mixture_t);
Thread *tf;
cell_t c;
face_f f;
int n;
real source;
real A;
real area[ND_ND];
real kl;
real w = C_YI(cell,thread_l,3);
real vof_l = C_VOF(cell,thread_l);
real vof_g = C_VOF(cell,*thread_g);
if (vof_l == 0.5||vof_g == 0.5)
  {
   c_face_loop(cell,thread_l,n)
   {
    f = C_FACE(cell,thread_l,n);
    tf = C_FACE_THREAD(cell,thread_l,n);
    F_AREA(area,f,tf);
    A = NV_MAG(area);
    }
  }
source = kl*A*(module_weight*C_P(cell,thread_l)/Hen-density*w);
ds[eqn] = 0.0;
return source;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

犹豫的青蛙

银虫 (小有名气)

引用回帖:
5楼: Originally posted by 东山 at 2018-03-23 08:59:39
这一句稍微改一下:Thread **thread_g = THREAD_SUB_THREADS(mixture_t);

改为:Thread **thread_g = THREAD_SUB_THREADS(mixture_t,phase_index);
/* phase_index = 1||2 , 取值按你设置的主相或是次相决定 */

THREAD—SUB—THREAD后面两个argument吧,我用的是THREAD_SUB_THREADS...
8楼2018-03-23 14:48:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

蔷槿

新虫 (小有名气)

你的液侧传质是怎么定义的

发自小木虫Android客户端
焊接电弧,熔池耦合流动,激光小孔,熔滴过渡,FSW CEL/ALE
2楼2018-03-23 07:53:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

犹豫的青蛙

银虫 (小有名气)

大体就是s=k*a(C2-C1)
3楼2018-03-23 08:11:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

犹豫的青蛙

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 蔷槿 at 2018-03-23 07:53:49
你的液侧传质是怎么定义的

大体就是s=k*a(C2-C1)
4楼2018-03-23 08:11:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见