DPMFoam 设置nParticle 以后发散的问题



  • 描述: GoldSchmidt case, 测试parcel,为了降低计算的时间把颗粒减少到了1/10 2470个。 颗粒直径1.6 mm,nParticle 100; 算不了几步就发散了,u.air已经降低到0.1了还是会发散,时间不长降低到了1e-6, 1e-7也会发散,Courant number 到好几千好几万,有人碰到过类似的问题吗?

    0_1493820646752_upload-c84264de-6f69-4cf9-a30a-794d46672ebc
    0_1493820818584_upload-f5ffa090-8598-479d-9986-e114b0cae2bf


  • 离散相副教授

    这个问题有好多种原因。首先,你颗粒数减小了,那么你将床体几何尺寸随之改了吗?比如原来堆积是16 mm, 你颗粒减少了,是不是就只能堆积4 mm,那么相同气速吹进去,有可能就无法形成稳定鼓泡状态了;其次,你颗粒数减少到1/10,那么nparticle你设置为100 是什么意思?nparticle的意思是一个代表颗粒内包含的颗粒数,要是传统的CFD-DEM一般把它设置为1,要是设置为100的话,那么颗粒的初始位置文件kinematicCloudPositions里面就要保证颗粒不重合。总之这个问题你要弄清楚物理问题,参考文章Numerical investigation and comparison of coarse grain CFD – DEM and TFM in the case of a 1 MWth fluidized bed carbonator simulation。我建议刚开始时候设置nparticle=1,然后颗粒数减少为原来的1/2,同时把床体厚度减少为原来的1/2。就是一次先改变一个变量,慢慢调试。



  • @散漫守望2016 感谢回复!我找出问题了,这个颗粒直径应该设置成particle diameter,即单个小颗粒的直径,而不是parcel equivalent diameter,即假设的parcel等效直径。这个发散的原因可能是直径设置错误当把nParticle 设置成100时颗粒相体积分数太大了,所以就没法算了。
    解释一下供后面的新手参考



  • @hurricane007 你确定这里的sizedistribution 指的是 particle的直径而不是parcel的等效直径么? 我看injection代码的解释说这个sizedistribution 里面指的是parcel的等效直径啊? 求解惑0_1494819122810_upload-e8c95c0d-d8a3-449e-96b0-33be4d1bceb9



  • @chpjz0391 我开始也觉得应该是parcel直径,但是如果认为是parcel直径就怎么都发散了,然后如果认为是particle直径就能算了。。。。
    他这句话里面的obtained也可以理解成可以通过particle 直径算出来。当然,我试图找过没找到那个injection模型的描述,能发我一份么。



  • https://cpp.openfoam.org/v4/a01114.html 这个网站,injectionmodel 然后你点开各个injection就行了