fluent液滴蒸发计算求助
#include "udf.h"#define M 2.942e-3/*由公式中的已知值计算得到的常数*/
#define N 185.371/*由公式中的已知值计算得到的常数*/
#define L 2.26e6/*蒸发潜热*/
DEFINE_PROFILE(hflux,thread,index)/*液滴表面蒸发潜热产生的热流量*/
{
face_t f;
real sumh=0.0;
Thread *threadh;
begin_f_loop(f,thread)
{
real Ti;
Ti=F_T(f,thread);
sumh=M*(611.2*(pow(2.718,(17.62*(Ti-273.15)/
(Ti-30.03))))/sqrt(Ti)-N)*L;/*蒸发质量和潜热的乘积得到热流量,蒸发质量单位为kg/(㎡*s)*/
F_PROFILE(f,thread,index)=sumh;
}
end_f_loop(f,thread)
}
DEFINE_MASS_TRANSFER(liq_gas_source,cell,thread,from_index,from_species_index,to_index,to_species_index) /*液相转移到气相的蒸发质量*/
{
real m_lg;
Thread *liq = THREAD_SUB_THREAD(thread, from_index);
Thread *gas = THREAD_SUB_THREAD(thread, to_index);
if (C_VOF(cell,liq) >0. && C_VOF(cell, liq) <1.)/*将区域固定在气液交界面上*/
{real Ti;
Ti=C_T(cell,liq);
m_lg =-M*(611.2*(pow(2.718,(17.62*(Ti-273.15)/(Ti-30.03))))/sqrt(Ti)-N);
}
else
{m_lg=0.0;
}
return m_lg;
}
DEFINE_PROFILE(velocity,thread,index)/*为维持液滴表面形状不变,液滴底部补液,补液速度根据表面蒸发量计算出*/
{
face_t f;
real sum=0.0;
real A;
int ID=14;/*气液交界面的ID*/
Domain *domain;
Thread *threadv=Lookup_Thread(domain,ID);
begin_f_loop(f,thread)
{
real Ti;
Ti=F_T(f,thread);
F_AREA(A,f,thread);
sum+=M*NV_MAG(A)*(611.2*(pow(2.718,(17.62*(Ti-273.15)/
(Ti-30.03))))/sqrt(Ti)-N);
}
end_f_loop(f,thread)
F_PROFILE(f,thread,index)=sum/0.0196;
}
用的是mixture模型,udf没有报错,但是计算几步之后就不能继续算下去了,错误类型为Error: Floating point error: overflow
求各位指点啊啊啊啊啊啊
只算了蒸发吗? 假设我蒸发冷凝同时算 怎么写udf
fluent你好 发表于 2017-8-17 14:51
只算了蒸发吗? 假设我蒸发冷凝同时算 怎么写udf
蒸发冷凝同时算的话可以在phase中设置两种质量转移,一种是从气相到液相,另一种从液相到气相
summer同学 发表于 2017-8-17 15:07
蒸发冷凝同时算的话可以在phase中设置两种质量转移,一种是从气相到液相,另一种从液相到气相
如果我只算空气中的水汽冷凝,怎么写udf程序 ,可以帮助下吗
fluent你好 发表于 2017-8-17 16:39
如果我只算空气中的水汽冷凝,怎么写udf程序 ,可以帮助下吗
我也没写过哎,或者你可以在CFD online这个论坛里找找看有没有和你做的课题相关的帖子
summer同学 发表于 2017-8-23 10:54
我也没写过哎,或者你可以在CFD online这个论坛里找找看有没有和你做的课题相关的帖子
非常感谢你的耐心回复
页:
[1]