DPMFoam求解器颗粒计算有颗粒跑出计算域外!
-
将openfoam原始Goldschmidt 案例的计算域大小,时间步长,颗粒直径均扩大了1000倍,颗粒吹送方式由manual injection 改为patch injection, 颗粒由bottom边界发射,初速度为0,其余设定维持与原案例一致,计算结果用paraview 查看发现有颗粒跑出计算域,这是为什么呢?是时间步长的原因吗?
另外,pair collision 指定了颗粒与壁面发生碰撞的同时,还注意到patch interaction 作用方式指定颗粒与边界的作用方式为rebound ,并且会计算出颗粒反弹速度,那么问题来了,这两种颗粒作用方式不会出现重复定义吗?或者说两种作用的关系,区别联系是什么?
DPM求解器处理的粒径范围有什么要求?
希望各位CFD大神能够解决我的疑惑 -
有大神知道可能的原因吗
-
不能这样扩大啊,因为你的颗粒粒径扩大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全部屏蔽掉)
计算结果paraview中查看,1.36s后的结果闪退,命令行终端提示如下图所示:
,
根据提示作出更改并计算均不起作用。查看结果文件,发现跑出计算域的颗粒(设为1号颗粒)在跑出前的两个时间步内均与另外一个颗粒(2号颗粒)以及frontAndBack边界(对称边界)发生接触。
是否在程序中颗粒碰撞过程的计算优先于patchInteraction(stick、escape、rebound三种)的判定计算,颗粒由碰撞计算速度、位移更新位置导致颗粒跑出计算域,然后PatchInteraction失效???????
-
其实我感觉你的这个使用稀相来处理更好一点,因为扩散时候一般不考虑颗粒之间的碰撞。DPMFoam是考虑空隙率的密相求解器,你虽然关掉了曳力以及软球,硬球模型,但是空隙率这一项还是会出现在连续性和动量方程里面的。体积分数没有下限,我说的粒径50微米是考虑到这个求解器是用来求解流化床等密相问题的。如果把它改成稀相的求解器,也就是只有颗粒和流体之间有相互作用力,那么颗粒粒径再小很多也没关系的。OpenFOAM千人群里面有一个昵称是“Champion”的,qq号是:252978797,邮箱:chpjz0391@vip.qq.com的澳大利亚同学和你做的挺像的,他是做通风的,细小颗粒在大管道内通过,会在边角富集。他使用的是稀相求解器,好像根据ParcelFoam改的。你可以和他交流一下。
-
http://www.cfd-china.com/topic/81/sprayfoam-只喷固体该如何设置
可以看一下这个帖子,就是稀相的。此外,你的时间步是不是设置的有点过大? -
颗粒跑出计算域外
讨论一下这个现象
实际非常简单,参考3.1离散相模型之拉格朗日模型(介尺度模型),拉格朗日那面不需要网格,获得速度后,更新位置信息即可。加入你的颗粒速度持续是1m/s,网格大小是10m,在10s后,颗粒肯定要跑出计算域之外。CFD里面处理的时候,在颗粒跑出计算域之后(颗粒轨迹交叉到边界面),要么逃逸,要么黏连,要么弹回去。
拉格朗日算法要比求解NS方程简单的多,嘿嘿
-
@东岳 在 DPMFoam求解器颗粒计算有颗粒跑出计算域外! 中说:
粒速度持续
假如设定反弹,颗粒轨迹与壁面有交叉,但还是跑出了计算域,正如之前碰到的情况,还是算法本身不够完善,openfoam5.0以经把颗粒追踪那一部分的算法完全更新了,颗粒追踪不会失效了
7/12