|
[Sponsors] |
January 2, 2021, 13:04 |
simpleFoam fan calculation
|
#1 |
Member
Join Date: Feb 2020
Posts: 79
Rep Power: 6 |
Hi,
I am trying to calculate a fan that I already know the performance. To do that, I use simpleFoam in Openfoam 2006. The computation seems to converge but the results diverge from the expected performance ??? controlDict Code:
FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // saveIter 50; application simpleFoam; startFrom startTime; //startFrom latestTime; startTime 0; stopAt endTime; endTime 500; deltaT 1; writeControl timeStep; writeInterval $saveIter; purgeWrite 0; writeFormat ascii; writePrecision 7; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; functions { forcesBlades { type forces; libs (forces); log yes; patches (fan); rho rhoInf; // Indicates incompressible log true; rhoInf 0.607; // Redundant for incompressible CofR (0 0 0); // Rotation around centre line of propeller pitchAxis (1 0 0); } yPlusPump { type yPlus; libs ("libfieldFunctionObjects.so"); writeControl timeStep; writeInterval $saveIter; patches ("fan wallinlet body"); } } // ************************************************************************* // fvSolution Code:
FoamFile { version 2.0; format ascii; class dictionary; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // SIMPLE { // Non-orthogonal correctors for robustness on tet meshes. Porous baffles require a // higher number of corrections. nNonOrthogonalCorrectors 5; consistent no; // Setting this impairs stability of porous baffles residualControl { p 0.0001; U 0.0001; "(k|epsilon|omega|f|v2|nuTilda)" 0.0001; } pRefValue 0; pRefCell 0; } potentialFlow { nNonOrthogonalCorrectors 8; PhiRefValue 0; PhiRefCell 0; } solvers { "(p|p_rgh|pcorr)" { solver GAMG; tolerance 1e-8; relTol 0.01; smoother symGaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 10; mergeLevels 1; maxIter 20; } "(pFinal|p_rghFinal|pcorrFinal)" { $p; relTol 0; } U { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0.1; nSweeps 1; } UFinal { $U; relTol 0; } "(k|omega|nuTilda)" { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.1; nSweeps 1; minIter 1; } "(k|omega|nuTilda)Final" { $k; relTol 0; } Phi { solver GAMG; tolerance 1e-7; relTol 0.01; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 10; mergeLevels 1; } } relaxationFactors { // Conservative settings to solve reliably on bad // meshes equations { U 0.6; k 0.5; omega 0.5; } fields { p 0.3; } } cache { grad(U); } // ************************************************************************* // fvScheme Code:
FoamFile { version 2.0; format ascii; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default steadyState; } divSchemes { default none; // Use second-order accurate convection // Bounded schemes for steady-state solution div(phi,U) bounded Gauss linearUpwindV grad(U); div((nuEff*dev2(T(grad(U))))) Gauss linear; div(div(phi,U)) Gauss linear; div(phi,k) bounded Gauss upwind; div(phi,omega) bounded Gauss upwind; } gradSchemes { // Limit gradient to improve stability when bad cells encountered // (0 = no limiting; 1 = do not exceed surrounding cells) default cellLimited Gauss linear 0.95; grad(p) Gauss linear; grad(p_rgh) Gauss linear; grad(k) cellLimited Gauss linear 0.9; grad(omega) cellLimited Gauss linear 0.9; } laplacianSchemes { // Limited explicit correction to the surface normal gradient, // for stability in highly non-orthogonal cells. // (0 = uncorrected, fully implicit; 1 = full correction) default Gauss linear limited 0.3; laplacian(DomegaEff,omega) Gauss linear limited 0.3 laplacian(DkEff,k) Gauss linear limited 0.3; } interpolationSchemes { default linear; } snGradSchemes { // Limited explicit correction to the surface normal gradient, // for stability in highly non-orthogonal cells. // (0 = uncorrected, fully implicit; 1 = full correction) default limited 0.3; } wallDist { method meshWave; } // ************************************************************************* // The pressure increase to much but the absorbed power decrease. That make no sense to me. Thank you. Best regards, |
|
January 2, 2021, 15:26 |
|
#2 |
Member
Join Date: Feb 2020
Posts: 79
Rep Power: 6 |
I forgot to precise that the BC are mass flow rate at inlet and fixed static pressure at outlet.
k-SST omega for the turbulence. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
simpleFoam tutorial PitzDaily using Reynolds stress tensor (LRR RASModel) | dlahaye | OpenFOAM Running, Solving & CFD | 24 | August 4, 2023 14:29 |
SimpleFOAM results way off from measurements and analytical calculation | Deagle | OpenFOAM Running, Solving & CFD | 1 | December 14, 2016 03:07 |
Determining the calculation sequence of the regions in multe regions calculation | peterhess | OpenFOAM Running, Solving & CFD | 4 | March 9, 2016 03:07 |
simpleFoam parallel solver & Fluent polyhedral mesh | Zlatko | OpenFOAM Running, Solving & CFD | 3 | September 26, 2014 06:53 |
Fan efficiency Calculation | sivakumar | OpenFOAM Post-Processing | 3 | March 28, 2014 05:29 |