管式填充床中两相流的模拟中,循环边界压力梯度、分散相含率运算出错的问题
-
最近在做管式填充床中两相流动的模拟,采用循环边界cyclicAMI达到缩短管长,减少网格的目的。网格使用snappyHexMesh画完后没有问题,动力源项给的是连续项平均速度Ubar,为0.03m/s,填充床几何为
运算时出现如下结果:
主要就是动力源计算的压力梯度一直在正负之间反复跳动,且数值非常大,压力P_rgh的迭代次数会超限。运算一段时间后会直接导致求解的相分数远远超出0-1的范围,如下图所示:
想请教一下对这种循环边界熟悉的老师同学,能够解答一下我这些问题。
另外附上我的fvSolution:solvers { "alpha.*" { nAlphaCorr 1; nAlphaSubCycles 3; implicitPhasePressure yes; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; minIter 1; } p_rgh { solver PCG; preconditioner FDIC; tolerance 1e-6; relTol 0.01; } p_rghFinal { $p_rgh; tolerance 1e-6; relTol 0; } "U." { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-7; relTol 0; minIter 1; } "(e|h).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1; relTol 0; minIter 0; maxIter 0; } "(k|epsilon|omega).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-7; relTol 0; minIter 1; } } PIMPLE { nOuterCorrectors 3; nCorrectors 2; nNonOrthogonalCorrectors 1; pRefPoint (0.10399 0 0); pRefValue 101325; } relaxationFactors { equations { ".*" 0.7; } }
fvSchemes:
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; limited cellLimited Gauss linear 1; } divSchemes { default none; "div\(phi,alpha.*\)" Gauss vanLeer; "div\(phir,alpha.*\)" Gauss vanLeer; "div\(alphaRhoPhi.*,U.*\)" Gauss linearUpwind limited; "div\(phi.*,U.*\)" Gauss linearUpwind limited; "div\(alphaRhoPhi.*,(h|e).*\)" Gauss linearUpwind limited; "div\(alphaPhi.*,f.*\)" Gauss linearUpwind limited; "div\(alphaRhoPhi.*,K.*\)" Gauss linearUpwind limited; "div\(alphaPhi.*,p\)" Gauss linearUpwind limited; "div\(alphaRhoPhi.*,\(p\|thermo:rho.*\)\)" Gauss linearUpwind limited; "div\(alphaRhoPhi.*,(k|epsilon|omega).*\)" Gauss linearUpwind limited; "div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; } wallDist { method meshWave; nRequired yes; }