DPMFoam求解器颗粒计算有颗粒跑出计算域外!
-
不能这样扩大啊,因为你的颗粒粒径扩大1000倍,但是流体粘度,颗粒物性这些没有改变,那么计算出来的颗粒最小流化风速就和原来不一样了,同样的风速也许就吹不起来扩大1000倍的颗粒了。所以,我们做scale-up,也就是放大时候,要遵循一定的规律的。比如你可以先把这个几何模型放大2倍,甚至4倍,其他保持不变;下一步几何模型不变,颗粒粒径放大2倍或者4倍,不要一下子上千倍,容易出问题。
此外,manual injection是采用初始颗粒堆积分方式,你计算的是什么背景?流化床吗?颗粒跑出边界是跑出哪个边界,顶部的边界吗?你可以上传一下图片,或者你的设置,这样大家会比较清楚。rebound边界跟Fluent等软件设置一样,亦即颗粒和壁面有粘附、反弹以及穿透三种作用。
DPMFOAM是处理密相气固流动,我认为处理颗粒粒径的下限到50um左右,因为再小的颗粒需要考虑更多的力了,比如静电力等;没有上限的,可以非常大,因为颗粒处理用软球模型,但是注意网格尺寸要随时保证大概是颗粒粒径的3-5倍。
如果对于基础知识掌握不够,那么可以看CFD中国CFDEM部分有个论文推荐,把那几篇论文好好看看,了解一下CFD-DEM的背景知识。 -
@散漫守望2016 首先,谢谢您的耐心解答!抱歉文件上传不了。颗粒跑出的边界是frontAndBack(对称边界条件),颗粒确实在所设定的风速下吹不起来,但是软球碰撞模型会在颗粒的发射边界处计算出颗粒的初始速度。我原来计算的背景是空气中颗粒污染物的扩散,计算域12平方公里!设定的粒径微米级以下,用DPMFoam求解器并行计算。结果查看的时候发现某一步结果中有一颗粒跑出它的发射边界而处在计算域外(patchname为街道,为壁面边界,与颗粒作用方式为stick),一直想调查颗粒为什么会通过此边界跑出计算域,故作了以上设定,并未考虑其真实的应用背景,只是想通过这样一种简化设定来重现并重点解决颗粒跑出计算域的情况,分析之后仍是没有思路。
下面我将模型再次简化,计算域仍为扩大1000倍,不考虑颗粒所受曳力以及重力作用(particleForces全部屏蔽掉)
并且入口边界空气速度设定为固定值0,
时间步长2e-3s,保存间隔0.01s,
计算结果paraview中查看,1.36s后的结果闪退,命令行终端提示如下图所示: ,
根据提示作出更改并计算均不起作用。查看结果文件,发现跑出计算域的颗粒(设为1号颗粒)在跑出前的两个时间步内均与另外一个颗粒(2号颗粒)以及frontAndBack边界(对称边界)发生接触。
是否在程序中颗粒碰撞过程的计算优先于patchInteraction(stick、escape、rebound三种)的判定计算,颗粒由碰撞计算速度、位移更新位置导致颗粒跑出计算域,然后PatchInteraction失效???????
-
其实我感觉你的这个使用稀相来处理更好一点,因为扩散时候一般不考虑颗粒之间的碰撞。DPMFoam是考虑空隙率的密相求解器,你虽然关掉了曳力以及软球,硬球模型,但是空隙率这一项还是会出现在连续性和动量方程里面的。体积分数没有下限,我说的粒径50微米是考虑到这个求解器是用来求解流化床等密相问题的。如果把它改成稀相的求解器,也就是只有颗粒和流体之间有相互作用力,那么颗粒粒径再小很多也没关系的。OpenFOAM千人群里面有一个昵称是“Champion”的,qq号是:252978797,邮箱:chpjz0391@vip.qq.com的澳大利亚同学和你做的挺像的,他是做通风的,细小颗粒在大管道内通过,会在边角富集。他使用的是稀相求解器,好像根据ParcelFoam改的。你可以和他交流一下。