|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
大家好!
我在做一个血管中血液流动的问题。
图片如附件所示。
从顶面有液体流入,其速度是v=681.55*(1-y*y)*pow(2.72,-0.5*(291.04*time*time+12.28*time+0.1296)),是一个v(x,t)的问题。
但是,我现在用这个速度方程,加载以后,出现floating point error overflow的问题,如果改另外的sin的函数,就不会出现问题。
我想请教一下,这是怎么回事。
另附我的udf
#include "udf.h"
DEFINE_PROFILE(Velocity_x,thread,position)
{
face_t f;
real x[ND_ND];
real v0,y,time;
real T=0.88;
int n=1;
begin_f_loop(f, thread)
{
F_CENTROID(x,f,thread);
y = x[0];
time=CURRENT_TIME;
if(time/T<1)
F_PROFILE(f, thread, position) = 681.55*(1-y*y)*pow(2.72,-0.5*(291.04*time*time+12.28*time+0.1296)) ;
else
{
F_PROFILE(f,thread,position)=681.55*(1-y*y)*pow(2.72,-0.5*(291.04*(time-n*T)*(time-n*T)+12.28*(time-n*T)+0.1296));
n=n+1;
}
}
end_f_loop(f, thread)
}
谢谢大家!!
再问,如果要是加入particles的话,应该如何做。 |
-
mesh后的图像
|