Sample Text
本人现在正在用VOF模型模拟单个气泡的生长,现已知通过汽液界面的总的质量流量(单位:kg/(m2.s)),由于Fluent是基于有限容积法,想转化为单个网格单元的源项(kg/(m3.s)),但在写UDF时,单个网格的面积不知该怎么处理。我现在有两种想法,但好像结果都不对。部分代码如下:
1. begin_c_loop (c,mixture)
{ if(0<=C_VOF(c,t)&&C_VOF(c,t)<1.0) //考虑气液界面处网格,有人说参考VOF分相模型,应该选0.5~1之间,我一直没找到,为什么?
{ c_face_loop(c,t,n) //循环网格里的面
{ f=C_FACE(c,t,n);
tf=C_FACE_THREAD(c,t,n); //获取面指针
F_AREA(A,f,tf);
area=NV_MAG(A); //获取网格某个面的面积
}
mass_gas=G*area*C_VOF(c,t)/volume; //将总的质量流量转为单个网格的质量流率
}
}
end_c_loop (c,mixture)
2. begin_c_loop (c,mixture)
{ if(0.<=C_VOF(c,t)&&C_VOF(c,t)<1.0)
{ num=num+1; //获取气液界面处的网格个数
}
}
end_c_loop (c,mixture)
begin_c_loop (c,mixture)
{ if(0.<=C_VOF(c,t)&&C_VOF(c,sp)<1.0)
{ area=s_g/num; //气泡的表面积除以网格数得每个网格的面积
mass_gas=G*area*C_VOF(c,t)/volume;
}
}
end_c_loop (c,mixture)
对于第一种方法,F_AREA获取的是网格指向法线外的那个面吗?循环了一下不知有没有关系?(这是因为我只看到了用c_face_loop循环来获取网格内的面指针,不知有没其他方法?)而且气液界面一定是在网格外吗?(对于界面重构是不是可能出现在网格内)
对于第二种方法,由于需要局部加密,所以网格单元大小不一样,且每个网格内气液界面的面积也不一样,这个我认为问题很大。
另外,我想在监视窗口显示通过整个气泡壁面的质量流率,但Report Type那一项好像始终没有(单位应该是kg/(m2.s),但那个Mass Flow Rate监测出来的是kg/s)。这个又该怎么解决呢?
![]()
气泡模型
![]()
公式
![]()
网格内的气液界面
![]()
Report Type |