多相流计算出现局部高压点
-
本文在使用compressibleInterIsoFoam进行过膨胀喷管的水下射流计算。开始计算较为稳定无异常情况发生。但是在换个电脑(从另一个电脑copy算例到其他电脑上)进行计算的时候出现了不正常的现象。在射流出口出现了不正常的局部高压,导致计算不稳定,报错内容是计算出现负温度。
这是报错内容
这是出现局部高压过程的压力云图。
时间分别是21.2ms,21.25ms,21.3ms
该算例的fvScheme文件和fvSolution文件如下。/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; limited cellLimited Gauss linear 1; grad(U) $limited; grad(k) $limited; grad(omega) $limited; } divSchemes { div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss upwind; div(phi,thermo:rho.water) Gauss upwind; div(phi,thermo:rho.air) Gauss upwind; div(Phirb,alpha) Gauss interfaceCompression; div(rhoPhi,U) Gauss limitedLinearV 1; div(rhoPhi,T) Gauss upwind; div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div(phi,k) Gauss upwind; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; default Gauss upwind; div(phi,U) Gauss linearUpwind limited; energy Gauss linearUpwind limited; div(phi,e) $energy; div(phi,K) $energy; div(phi,Ekp) $energy; turbulence Gauss linearUpwind limited; div(phi,k) $turbulence; div(phi,omega) $turbulence; div(rhoPhi,omega) $turbulence; div(rhoPhi,k) $turbulence; div(phiv,p) Gauss upwind; div((phi|interpolate(rho)),p) Gauss upwind; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } wallDist { method meshWave; } // ************************************************************************* //
这是fvSolution文件
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2212 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "alpha.water.*" { nAlphaCorr 1; nAlphaSubCycles 5; cAlpha 1; reconstructionScheme isoAlpha; vof2IsoTol 1e-8; surfCellTol 1e-8; nAlphaBounds 3; snapTol 1e-12; clip true; minIter 1; } "pcorr.*" { solver GAMG; preconditioner { preconditioner GAMG; tolerance 1e-12; relTol 0.00001; nSweeps 4; smoother DICGaussSeidel; } tolerance 1e-12; relTol 0.00001; nSweeps 2; maxIter 100; smoother GaussSeidel; minIter 1; } ".*(rho|rhoFinal)" { solver diagonal; minIter 1; } p_rgh { solver GAMG; tolerance 1e-14; relTol 0.00000001; nSweeps 4; smoother GaussSeidel; minIter 2; } p_rghFinal { solver GAMG; preconditioner { preconditioner GAMG; tolerance 1e-14; relTol 0.0000001; nSweeps 4; nVcycles 2; smoother DICGaussSeidel; nPreSweeps 2; } tolerance 1e-14; relTol 0.0000001; nSweeps 3; smoother GaussSeidel; maxIter 100; minIter 2; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e-10; relTol 0.00001; nSweeps 2; minIter 1; } UFinal { solver smoothSolver; smoother GaussSeidel; tolerance 1e-10; relTol 0.00001; nSweeps 2; minIter 1; } "(T|k|B|nuTilda).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-12; relTol 0.00001; nsweeps 2; limit 10.0; maxIter 100; minIter 1; } p { solver GAMG; smoother GaussSeidel; tolerance 1e-10; relTol 0.0000001; nsweeps 2; minIter 1; } "(U|e).*" { $p; tolerance 1e-9; } "(k|epsilon).*" { $p; tolerance 1e-10; } pFinal { $p; relTol 0.000001; nSweeps 2; minIter 1; } "(rho|U|k|omega|e)" { solver PBiCGStab; preconditioner DILU; tolerance 1e-10; relTol 0.001; nSweeps 2; minIter 1; } "(rho|U|k|omega|e)Final" { $U; relTol 0.00001; nSweeps 2; minIter 1; } } SIMPLE { residualControl { p 1e-8; U 1e-8; "(k|omega|e)" 1e-8; } nNonOrthogonalCorrectors 1; pMinFactor 0.3; pMaxFactor 1; } PIMPLE { momentumPredictor yes; transonic yes; nOuterCorrectors 10; nCorrectors 6; nNonOrthogonalCorrectors 5; nAlphaCorr 1; nAlphaSubCycles 3; CAlpha 1; pMin 10000; pMax 1000000; } relaxationFactors { equations { ".*" 0.1; } } // ************************************************************************* //