MPPICDyMFoam 中添加颗粒后计算一直卡住
-
我在使用MPPICDyMFoam模拟颗粒两相流时遇到了一个问题。计算到中间某一步时,颗粒被添加到流场后,程序似乎陷入了无限循环状态,无法继续计算到下一个时间步。(版本号of2406,采用并行32核)
具体表现为:程序成功完成了PIMPLE迭代计算(包括压力方程和速度方程的求解,残差也正常收敛),并显示了连续性误差和执行时间。随后程序进入下一个时间步(Time = 0.206549),正确创建了AMI接口,并开始求解颗粒云(Solving 3-D cloud kinematicCloud)。颗粒注入器也成功添加了29个新的颗粒包(parcels),系统中当前共有57958个颗粒包。
在这一步后,程序就停滞不前,没有任何错误提示,也没有继续进行下一步计算。日志显示的关键参数如下:
最大Courant数约为20
系统中的最大颗粒体积分数为0.153386
系统中的当前质量为0.0159749
平均每个parcel中的实际颗粒数为227453
我怀疑这可能与以下因素有关:颗粒浓度在某些区域过高导致MPPIC模型难以收敛?
Courant数过大引起数值不稳定?
AMI接口权重不完全匹配(日志中显示有些权重不是1)?
颗粒-颗粒或颗粒-壁面相互作用的处理问题?
颗粒丢失没有被捕捉到,陷入无限循环?我已尝试观察计算过程中的内存和CPU使用情况,没有发现明显资源耗尽的现象。请问有谁遇到过类似问题或有解决方案建议?是否需要调整特定的模型参数或时间步长控制策略?
Courant Number mean: 0.0772217 max: 20.0091 deltaT = 4.24916e-05 Time = 0.206506 AMI: Creating AMI for source:AMI1 and target:AMI1_slave AMI: Patch source faces: 240 AMI: Patch target faces: 238 AMI: Patch source sum(weights) min:0.978615 max:1 average:0.998005 AMI: Patch target sum(weights) min:0.934139 max:1 average:0.992771 AMI: Creating AMI for source:AMI2 and target:AMI2_slave AMI: Patch source faces: 10508 AMI: Patch target faces: 9877 AMI: Patch source sum(weights) min:0.99992 max:1.00033 average:1.00004 AMI: Patch target sum(weights) min:0.999899 max:1.00024 average:1.00004 AMI: Creating AMI for source:AMI3 and target:AMI3_slave AMI: Patch source faces: 3438 AMI: Patch target faces: 3416 AMI: Patch source sum(weights) min:0.981432 max:1 average:0.999092 AMI: Patch target sum(weights) min:0.981187 max:1 average:0.999103 Solving3-D cloud kinematicCloud Cloud: kinematicCloud injector: model1 Added 29 new parcels Cloud: kinematicCloud Current number of parcels = 57958 Current mass in system = 0.0159749 Linear momentum = (0.000108739 -0.000681819 -0.133831) |Linear momentum| = 0.133833 Linear kinetic energy = 1.59464 Average particle per parcel = 227453 Injector model1: - parcels added = 59501 - mass introduced = 0.0163974 Surface film: - parcels absorbed = 0 - mass absorbed = 0 - parcels ejected = 0 Parcel fate: system (number, mass) - escape = 1686, 0.000461168 Parcel fate: patch (walls|rotatewall|wall-blade|inlet-airbig|inlet-airsmall) (number, mass) - escape = 0, 0 - stick = 0, 0 Parcel fate: patch inlet-par (number, mass) - escape = 0, 0 - stick = 0, 0 Parcel fate: patch outletcoarse (number, mass) - escape = 0, 0 - stick = 0, 0 Parcel fate: patch outletfine (number, mass) - escape = 1543, 0.000422535 - stick = 0, 0 Parcel fate: patch (AMI1|AMI1_slave|AMI2|AMI2_slave|AMI3|AMI3_slave) (number, mass) - escape = 0, 0 - stick = 0, 0 Min cell volume fraction = 0 Max cell volume fraction = 0.153386 Min dense number of parcels = 1 PIMPLE: iteration 1 smoothSolver: Solving for U.airx, Initial residual = 0.000518979, Final residual = 1.41353e-05, No Iterations 1 smoothSolver: Solving for U.airy, Initial residual = 0.000566608, Final residual = 1.61927e-05, No Iterations 1 smoothSolver: Solving for U.airz, Initial residual = 0.000457069, Final residual = 1.44488e-05, No Iterations 1 GAMG: Solving for p, Initial residual = 0.165607, Final residual = 0.00108703, No Iterations 2 GAMG: Solving for p, Initial residual = 0.011492, Final residual = 0.000100387, No Iterations 4 GAMG: Solving for p, Initial residual = 0.00196178, Final residual = 1.24262e-05, No Iterations 5 time step continuity errors : sum local = 2.99461e-08, global = -3.17012e-10, cumulative = 4.8858e-07 GAMG: Solving for p, Initial residual = 0.110414, Final residual = 0.000698195, No Iterations 2 GAMG: Solving for p, Initial residual = 0.00769959, Final residual = 5.49637e-05, No Iterations 5 GAMG: Solving for p, Initial residual = 0.00131523, Final residual = 7.52728e-08, No Iterations 15 time step continuity errors : sum local = 1.22513e-08, global = -1.95327e-10, cumulative = 4.88385e-07 PIMPLE: iteration 2 smoothSolver: Solving for U.airx, Initial residual = 0.000406817, Final residual = 3.40436e-06, No Iterations 3 smoothSolver: Solving for U.airy, Initial residual = 0.000448481, Final residual = 4.08898e-06, No Iterations 3 smoothSolver: Solving for U.airz, Initial residual = 0.000370139, Final residual = 4.3305e-06, No Iterations 3 GAMG: Solving for p, Initial residual = 0.0605394, Final residual = 0.000293902, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00610706, Final residual = 3.71595e-05, No Iterations 4 GAMG: Solving for p, Initial residual = 0.000910397, Final residual = 6.90977e-06, No Iterations 4 time step continuity errors : sum local = 2.28203e-08, global = -2.98262e-10, cumulative = 4.88087e-07 GAMG: Solving for p, Initial residual = 0.00789404, Final residual = 6.29906e-05, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00173749, Final residual = 1.36789e-05, No Iterations 3 GAMG: Solving for p, Initial residual = 0.000208345, Final residual = 7.866e-08, No Iterations 10 time step continuity errors : sum local = 1.2266e-08, global = -1.9661e-10, cumulative = 4.8789e-07 smoothSolver: Solving for k.air, Initial residual = 0.00056457, Final residual = 3.34182e-06, No Iterations 3 ExecutionTime = 2340.61 s ClockTime = 2357 s Courant Number mean: 0.077187 max: 20.0223 deltaT = 4.24444e-05 Time = 0.206549 AMI: Creating AMI for source:AMI1 and target:AMI1_slave AMI: Patch source faces: 240 AMI: Patch target faces: 238 AMI: Patch source sum(weights) min:0.978606 max:1 average:0.998006 AMI: Patch target sum(weights) min:0.93414 max:1 average:0.992772 AMI: Creating AMI for source:AMI2 and target:AMI2_slave AMI: Patch source faces: 10508 AMI: Patch target faces: 9877 AMI: Patch source sum(weights) min:0.999918 max:1.00033 average:1.00004 AMI: Patch target sum(weights) min:0.999928 max:1.00024 average:1.00004 AMI: Creating AMI for source:AMI3 and target:AMI3_slave AMI: Patch source faces: 3438 AMI: Patch target faces: 3416 AMI: Patch source sum(weights) min:0.981457 max:1 average:0.99909 AMI: Patch target sum(weights) min:0.981189 max:1 average:0.999102 Solving3-D cloud kinematicCloud Cloud: kinematicCloud injector: model1 Added 29 new parcels