|
|
发表于 2013-11-12 14:31:02
|
显示全部楼层
回复 1# liliang941366 的帖子
计算过程是一样的,都是模拟颗粒轨迹随时间的变化,但是对于颗粒时间的计算控制方法不同。
稳态离散相只射入一次颗粒,摄入数就是你injection里面射入的颗粒数,讲所有颗粒依次计算轨道(也就是说只有计算的前一个颗粒遇到了escape或trap的边界条件,才停止这个颗粒计算下一个),每个颗粒最多计算次数有一个max值,在DPM设置里面有设。超过那个数的颗粒认定为incomplete,其他的只统计escape和trap颗粒数。其实应该理解为不以来时间的颗粒运动轨迹统计法。
非稳态离散相的颗粒迭代就与时间相关了,它以颗粒相时间步长为单位(与流体相时间步长不同,这个时间步长在DPM设置里设),依次计算颗粒的运动,颗粒的射入可以是与时间相关的,也可以是单时间点的。只有计算完一个时间步长内所有颗粒的运动轨迹才进入下一个时间步长进行迭代,这个和真实情况更贴近。单个时间步长内的迭代也收到max值控制。这个可以理解为你能够看到颗粒的逐时运动效果,但是迭代速度较慢。那些超过max值迭代数的颗粒会被标记为incomplete,但是再下一个时刻它们会继续被迭代,所以,这种迭代方法最好让incomplete颗粒数极少,不然你选用的max值或颗粒时间步长就是错的了。
以上基本是两种迭代方法的不同点,如果你只统计颗粒飞入飞出情况,不考虑颗粒的分布,可以用稳态;如果你涉及场内颗粒浓度分布,就要用非稳态。但是要注意的是,颗粒迭代也有相关的独立解,就是随着颗粒数增多,随机误差会逐渐减小。个人经验上,稳态离散相射入5000-10000个颗粒即可满足独立解;非稳态的需要进一步考虑,计算速度很慢。
你如果做DPM,务必先把fluent相关帮助和UDF学了,fluent的DPM除了提供了基本计算原理外,很多东西必须二次开发,比如颗粒额外受力、某些颗粒数量统计、甚至微米级颗粒的壁面碰撞,这些如果想准确求解,都必须二次开发。 |
评分
-
1
查看全部评分
-
|