DPMFoam、MPPICFoam以及CFDEM怎么选择?
-
Liggghts是一个源自知名分子动力学软件lammps的DEM软件,CFDEM是一个第三方实现的接口,用于实现OpenFOAM和Liggghts的耦合。这应该算是最经典的CFD-DEM方法,和商软里的Fluent-EDEM耦合差不多。但是似乎现在已经停止开发了,对OpenFOAM的支持停留在OpenFOAM 5。
DPMFoam大概算是对DEM的简化,给出了一个Parcel的概念,每个Parcel可以包含N个particle,在计算过程中,计算每对相近Parcel之间的接触并修正速度。具体的碰撞模型好像挺多,我不是特别熟悉。但是由于OpenFOAM的MPI并行框架很难对颗粒做负载平衡,而且本身自带的颗粒搜索算法效率似乎也挺低下的,所以对稠密颗粒流的计算效率不是很好。
MPPICFoam是对DPMFoam的简化(事实上你从源码可以看到,MPPICFoam的代码是直接包含DPMFoam的,只是两者的Parcel不同),在MP-PIC方法的求解过程中,不会对每对Parcel的接触进行判断,而是把拉格朗日颗粒映射进所在的Cell,然后根据每个Cell里所有颗粒的速度/浓度来修正颗粒碰撞后的速度。MP-PIC模型里,粒子的接触模型大概细分为三类,Packing(计算颗粒稠密区的堆积压力梯度),Damping(计算颗粒之间产生的碰撞), Return-to-isotropy(计算颗粒碰撞产生的随机散射)。
因此从计算精度上讲 CFDEM >= DPMFoam > MPPCFoam
从计算效率上讲 MPPICFoam > DPMFoam > CFDEM (没用过CFDEM,属于猜测)具体使用的时候还是要看需求。
- 比如你算的是稀相的颗粒流,那完全可以关闭颗粒间的碰撞,这个时候DPMFoam和MPPICFoam的结果应该是一致的。
- 比如你不关注颗粒间的精细的碰撞行为,那么可能MPPICFoam会更合适。
- 比如你关注物料的堆积,那就可能要用DPMFoam或者CFDEM了