添加粒子后计算速度变慢
-
@vbcwl 你说的是MaxCo? 在cloudproperties的?
那是当然。。这里面的MaxCo决定的是你的lagrangian time step。是颗粒的时间步。你设置的越小,则代表对颗粒的子循环次数更多。从而导致你的UTrans 可能是不一样的。你现在的情况,从我个人的认知是,说明你的粒子速度快,网格细,从而需要更小的lagrangian time step去resolve你的颗粒运动。也有可能是你的np过大,导致颗粒质量过大,从而导致你的momentum exchange过大。
你加颗粒是为什么?你的重点是颗粒还是流场?
@vbcwl 在 添加粒子后计算速度变慢 中说:
@李东岳 请问下,粒子直径和和网格尺寸有什么关联么?这个粒子直径之前是验证过在当前雷诺数下是没有问题的,现在跟之前比就是网格更细了,雷诺数基本没怎么变化的
欧拉拉格朗日对网格是有依赖的。颗粒直径和网格尺寸是有关联的,你的theta field 也就是alpha是多少,即cell中的颗粒体积/cell体积是多少,理论欧拉拉格朗日建议小于0.6,但是dpmfoam这块好像总会忽略这个问题。
具体要根据你的东西来,你也要看别人的论文怎么说。 -
@星星星星晴 前辈您好。颗粒体积远远小于网格体积,流体体积分数都接近于1,我最上面第三个图就是。我这个流向和展向尺寸比直径小很多,但是法向因为近壁面要加密并且法向尺寸也比较小,壁面处网格已经比颗粒直径小了,论文里普遍要求颗粒直径要小于法向网格尺寸,dp/Ymin一般小于0.5就可,我这里dp/Ymin大概是4了,也有一些人颗粒直径大于网格法向尺寸的。然后最大库朗数是controlDict里的,我的算例参考自带的GoldSchmidt改的,在kinematicCloudProperties里没有见到拉格朗日时间步的设置,我看别的求解器的算例下的cloudProperties有maxCo。您的意思是,如果设置了拉格朗日时间步长,假如这个时间步长是1,controlDict里的时间步长是2,那么每一步求解流场的同时,会求解两步颗粒场,同时最后一步的颗粒作用力被耦合到流体相中去,是这个意思么?然后如果没有设置拉格朗日的时间步长那么,颗粒相与流体相采用同样的时间步长,这么理解对么?
-
@vbcwl 在 添加粒子后计算速度变慢 中说:
前辈您好。颗粒体积远远小于网格体积,流体体积分数都接近于1,我最上面第三个图就是。我这个流向和展向尺寸比直径小很多,但是法向因为近壁面要加密并且法向尺寸也比较小,壁面处网格已经比颗粒直径小了,论文里普遍要求颗粒直径要小于法向网格尺寸,dp/Ymin一般小于0.5就可,我这里dp/Ymin大概是4了,也有一些人颗粒直径大于网格法向尺寸的。
这部分我没有发言权,我没做过这样密集的颗粒的研究,所以既然你的 $dp/Ymin \approx 4$ 那说明你这样做肯定是有问题的,到底怎么解决,我就不知道了
@vbcwl 在 添加粒子后计算速度变慢 中说:
然后最大库朗数是controlDict里的,我的算例参考自带的GoldSchmidt改的。
那这个是流体相的时间步设置。你如果用动态的timestep 这一项是有用的。会根据你的流场的Co来决定你的欧拉时间步。
但是你用的是PIMPLE求解的话,流场maxCo设置小于1是没有意义的啊。。那就直接用PISO好了啊。。 何必用PIMPLE去耦合浪费时间呢?
我个人理解的PIMPLE的意义就是在Co>1下耦合速度场和压力场保证计算收敛。在kinematicCloudProperties里没有见到拉格朗日时间步的设置,我看别的求解器的算例下的cloudProperties有maxCo。
你看你的终端的输出,可能会有你拉格朗日的maxCo的设置。不然你就是default,这个要看你的code里面的设置是多少了。
您的意思是,如果设置了拉格朗日时间步长,假如这个时间步长是1,controlDict里的时间步长是2,那么每一步求解流场的同时,会求解两步颗粒场,同时最后一步的颗粒作用力被耦合到流体相中去,是这个意思么?
差不多是的,默认的OF是根据你的颗粒的MaxCo来决定每一个拉格朗日步的stepfraction,然后一点一点计算的。准确来说是每个拉格朗日步都会生成一个UTrans的source term,然后叠加起来,最后在solver中通过source term将颗粒对流场的影响添加进来。这也就是所谓的2-way coupling。
在kinematicParcel.C里面,这些都有写。然后如果没有设置拉格朗日的时间步长那么,颗粒相与流体相采用同样的时间步长,这么理解对么?
不是,如果你没有对默认的拉格朗日库做调整的话,这个是由cloudProperties有maxCo决定的。