| 查看: 636 | 回复: 0 | ||
[求助]
UDF实现周期性初始化错误
|
|
我想要实现周期性变化,就是利用UDF将出口的参数赋值给进口(下面是UDF程序),导进fluent没有问题,但是初始化时显示Error: received a fatal signal (Segmentation fault).Error: received a fatal signal (Segmentation fault).Error Object: #f。全部的金币,诸位大神看看是啥情况! #include "udf.h" #include "prop.h" #include "mem.h" int id_inlet=10;/*出口ID*/ int id_outlet=11;/*进口ID*/ real avg_tempoutlet=293.15;/*出口初始温度*/ real NV_VEC(A2); /*定义出口面积矢量*/ Thread *thread_inlet;/*定义进口面索引*/ Thread *thread_outlet;/*定义出口面索引*/ face_t f; Domain *domain; real sum_Toutlet=0.0; real sum_Aoutlet=0.0; real tempoutlet=293.15; /*出口的实际温度,节点温度*/ real tw=323.15; /*壁面温度*/ real theathoutlet=1.0;/*出口无量纲温度*/ real uoutlet=0.25; real voutlet=0.0; real x[ND_ND]; DEFINE_ADJUST(myadjust,d) /*函数用于每一步迭代进行调整*/ { domain=Get_Domain(1); /*指向区域的指针,可访问mesh里面的所有单元和面索引*/ thread_inlet=Lookup_Thread(domain,id_inlet); /*获取进口的ID,线索*/ thread_outlet=Lookup_Thread(domain,id_outlet); /*获取出口的ID,线索*/ begin_f_loop(f,thread_outlet) { F_AREA(A2,f,thread_outlet); tempoutlet=F_T(f,thread_outlet); sum_Aoutlet+=NV_MAG(A2); sum_Toutlet+=NV_MAG(A2)*tempoutlet; } end_f_loop(f,thread_outlet) /*计算出口平均温度*/ //avg_tempinlet=sum_Tinlet/sum_Ainlet; /*进口平均温度*/ avg_tempoutlet=sum_Toutlet/sum_Aoutlet; /*出口平均温度*/ begin_f_loop(f,thread_outlet) { F_AREA(A2,f,thread_outlet); F_CENTROID(x,f,thread_outlet); tempoutlet=F_T(f,thread_outlet); theathoutlet=(tempoutlet-tw)/(avg_tempoutlet-tw); F_UDMI(f,thread_outlet,1)=theathoutlet; F_UDMI(f,thread_outlet,2)=F_U(f,thread_outlet); F_UDMI(f,thread_outlet,3)=F_V(f,thread_outlet); } end_f_loop(f,thread_outlet)/*计算出口的无量纲温度*/ } DEFINE_PROFILE(inlet_temp,thread_inlet,index) { real theathinlet=1.0; real tempinlet=293.15; real avg_tempinlet=293.15; begin_f_loop(f,thread_inlet) { avg_tempinlet=avg_tempoutlet; theathinlet=F_UDMI(f,thread_outlet,1); tempinlet=theathinlet*(avg_tempinlet-tw)+tw; F_PROFILE(f,thread_inlet,index)=tempinlet; /*进口温度边界设置为出口的温度*/ end_f_loop(f,thread_inlet) } } DEFINE_PROFILE(u_velocity,thread_inlet,index) { real uinlet=0.02;/*定义初始速度u*/ begin_f_loop(f,thread_inlet) { uinlet=F_UDMI(f,thread_outlet,2); F_PROFILE(f,thread_inlet,index)=uinlet; /*进口u速度边界设置为出口的速度*/ end_f_loop(f,thread_inlet) } } DEFINE_PROFILE(v_velocity,thread_inlet,index) { real vinlet=0.0;/*定义初始速度v*/ begin_f_loop(f,thread_inlet) { vinlet=F_UDMI(f,thread_outlet,3); F_PROFILE(f,thread_inlet,index)=vinlet; /*进口v速度边界设置为出口的速度*/ end_f_loop(f,thread_inlet) } }@wuming524 |
» 猜你喜欢
溴的反应液脱色
已经有6人回复
国自然申请面上模板最新2026版出了吗?
已经有8人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
推荐一本书
已经有10人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复












回复此楼