| 查看: 627 | 回复: 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 |
» 猜你喜欢
职称评审没过,求安慰
已经有49人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
三无产品还有机会吗
已经有6人回复













回复此楼