我用混合模型模拟两相流,第二项只喷0.4s,编写了udf来控制第二项的进口速度和体积分数,程序如下。之前用这个程序算了第二项进口速度10m/s的,都没有问题。但是用改成40m/s以后,就有点问题。0.4s之前的图能正常显示,但是0.4s以后的图就变的很奇怪,不管是温度图还是体积分数图。我是用服务器算的,在服务器上显示整个模型是白色的,没有提示错误。在普通的台式机上则完全没有显示了,并且提示错误是:
Error: Floating point error: invalid number
Error Object: ()
图和程序如下。这到底是什么原因呢?求大牛解答!
# include "udf.h"
DEFINE_PROFILE (inlet_velocity,thread,time)
{
real flow_time;
face_t f;
cell_t cell;
Thread *cell_thread;
begin_f_loop(f,thread)
{
flow_time=CURRENT_TIME;
if(flow_time<=0.4)
F_PROFILE(f,thread,time)=40;
else
F_PROFILE(f,thread,time)=0;
begin_c_loop(cell, cell_thread)
{
if(flow_time<=0.4)
C_VOF(cell,cell_thread)=1;
else
C_VOF(cell,cell_thread)=0;
}
end_c_loop(cell, cell_thread)
}
end_f_loop(f,thread)
}
![]()
1365400239938.jpg
![]()
1.jpg
[ Last edited by pinksuper on 2013-4-8 at 14:39 ] |