利用interPhaseChangeFoam的LES计算空化流动求助
-
大家好!
我现在利用interPhaseChangeFoam里面的LES 一方程涡粘模型 计算绕Clark-Y水翼空化流动,计算出的升力系数cl比试验值偏大一倍,总的空穴体积小与实验值。我分析是我计算的 流场压力,出了问题,我感觉主要可能是离散格式 和求解器的问题,请问谁 利用interPhaseChangeFoam里面的LES计算过水翼空化呢? 可以分享一下经验吗?
谢谢!
求解器设置
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { alpha.water { nAlphaCorr 1; nAlphaSubCycles 1; cAlpha 1; MULESCorr yes; nLimiterIter 5; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; maxIter 100; } alpha.waterFinal { nAlphaCorr 1; nAlphaSubCycles 1; cAlpha 1; MULESCorr yes; nLimiterIter 5; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; maxIter 100; } "U.*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-6; relTol 0; }; ".*(rho|rhoFinal)" { solver diagonal; } pcorr { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-05; relTol 0; smoother DICGaussSeidel; } tolerance 1e-05; relTol 0; maxIter 500; } pcorrFinal { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-05; relTol 0; smoother DICGaussSeidel; } tolerance 1e-05; relTol 0; maxIter 500; } Phi { $p_rgh; relTol 0; }; p_rgh { solver GAMG; tolerance 1e-07; relTol 0.00001; smoother DIC; } p_rghFinal { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-07; relTol 0; nVcycles 2; smoother DICGaussSeidel; nPreSweeps 2; } tolerance 1e-07; relTol 0; maxIter 1000; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e-06; relTol 0; nSweeps 1; } "(U|k|omega)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-08; relTol 0.0001; } "(T|k|B|nuTilda).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-08; relTol 0; maxIter 100; } "(U|k|omega)Final" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-08; relTol 0; } } PIMPLE { momentumPredictor no; transonic no; nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; } // ************************************************************************* //
离散格式设置
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss linear; div(phi,rho) Gauss limitedLinear 1; div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,thermo:rho.water) Gauss upwind; div(phi,thermo:rho.air) Gauss upwind; div(rhoPhi,T) Gauss upwind; div(rhoPhi,K) Gauss upwind; div(phi,p) Gauss upwind; div(phi,k) Gauss upwind; div(rhoPhi,omega) Gauss limitedLinear 1; div(phi,omega) Gauss upwind; div(rhoPhi,k) Gauss upwind; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear limited corrected 0.33; } interpolationSchemes { default linear; } snGradSchemes { default limited corrected 0.33; } wallDist { method meshWave; } // ************************************************************************* //