# Convergence Problem icoFoam steady flow over an airfoil

 Register Blogs Members List Search Today's Posts Mark Forums Read

 January 5, 2011, 22:18 Convergence Problem icoFoam steady flow over an airfoil #1 New Member   Lucas Vieira Join Date: Nov 2010 Posts: 6 Rep Power: 15 Hi everyone, I am trying to simulate steady flow over an airfoil and I'm having problems converging to the solution with icoFoam. I'm using a ICEM mesh that i exported to fluent format (msh) and converted with fluentMesh3DToFoam: I am working with a comparation between OpenFOAM and CFX, but i am new at OF. The utility checkMesh set Mesh OK. This is my case: http://uploaddearquivos.com.br/downl...o/PROIC.tar.gz Thank you.

 January 6, 2011, 09:49 #2 New Member   Lucas Vieira Join Date: Nov 2010 Posts: 6 Rep Power: 15 I tried this morning some changes in the fvschemes fvsolution I also tried to run in simpleFoam and i got this: Code: ``` Time = 52 Lookup gradScheme for grad(U) Lookup divScheme for div((nuEff*dev(grad(U).T()))) Lookup laplacianScheme for laplacian(nuEff,U) Lookup fluxRequired for U Lookup gradScheme for snGradCorr(U) Lookup gradScheme for snGradCorr(U) Lookup gradScheme for snGradCorr(U) Lookup divScheme for div(phi,U) Find relax for U Lookup relaxationFactor for U Lookup gradScheme for grad(p) From function solution::solverDict(const word&) in file matrices/solution/solution.C at line 241 Lookup solver for U smoothSolver: Solving for Ux, Initial residual = 0.0237871, Final residual = 0.000128133, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.317853, Final residual = 0.00208853, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 8.9633e-05, Final residual = 4.39538e-07, No Iterations 1 Lookup interpolationScheme for interpolate(U) --> FOAM FATAL ERROR: Continuity error cannot be removed by adjusting the outflow. Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow. Total flux : 3.36963e+38 Specified mass inflow : 1.60459e+38 Specified mass outflow : 0 Adjustable mass outflow : 4.20186e+20 From function adjustPhi(surfaceScalarField& phi, const volVectorField& U,const volScalarField& p in file cfdTools/general/adjustPhi/adjustPhi.C at line 115. FOAM exiting``` hear is my system files: Code: ```/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application simpleFoam; // which solver (for documentation) startFrom startTime; // firstTime, startTime, latestTime startTime 0; // set > 0 to continue stopAt endTime; // writeNow, endTime, nextWrite, ... endTime 600; // Latest timestep allowed deltaT 1; // simple counter for steadyState writeControl adjustableRunTime; // or uncommon: cpuTime, clockTime writeInterval 50; // time step write interval purgeWrite 0; // 1 recycles time steps storage // 0 keeps all time steps on disk writeFormat ascii; // ascii: readable, binary: smaller writePrecision 6; // precision for ascii format writeCompression uncompressed; // compressed for gzipped files timeFormat general; // fixed, scientific or general timePrecision 6; // precision for time handling runTimeModifiable yes; // yes: OF reads dictionaries each // time step graphFormat raw; // raw, gnuplot, xmgr, jplot //libs() for user libraries, p.e. user boundary conditions //functions() for special functions``` Code: ```/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; grad(p) faceLimited leastSquares 0 1; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) Gauss upwind; div(phi,nuTilda) Gauss linearUpwind Gauss linear; div((nuEff*dev(grad(U).T()))) Gauss linear; } laplacianSchemes { default none; laplacian(nuEff,U) Gauss linear limited 0.7; laplacian((1|A(U)),p) Gauss linear limited 0.7; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; laplacian(1,p) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default limited 0.7; } fluxRequired { default no; p ; } // ************************************************************************* //``` Code: ```/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.7.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { p { solver GAMG; tolerance 1e-07; relTol 0.001; smoother GaussSeidel; nPreSweeps 1; nPostSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 500; agglomerator faceAreaPair; mergeLevels 1; } U { solver smoothSolver; smoother GaussSeidel; nSweeps 2; tolerance 1e-08; relTol 0.01; nSweeps 1; // setting for smoothSolver maxIter 100; // limitation of iterations number } nuTilda { solver smoothSolver; smoother GaussSeidel; nSweeps 2; tolerance 1e-08; relTol 0.1; } } SIMPLE { nNonOrthogonalCorrectors 6; convergence 1e-5; pRefCell 0; pRefValue 0; } relaxationFactors { default 0; p 0.003; U 0.007; nuTilda 0.007; } // ************************************************************************* //```

 January 6, 2011, 12:08 #3 Senior Member   Travis Carrigan Join Date: Jul 2010 Location: Arlington, TX Posts: 161 Rep Power: 15 For the gradSchemes try: default cellLimited leastSquares 1.0; For the divSchemes try: div(phi,U) Gauss linearUpwindV Gauss linear; div(phi,nuTilda) Gauss upwind; For pressure solver: p GAMG tolerance 1e-8 and relTol 0 For other solvers: PBiCG using DILU preconditioner with tolerances 1e-8 and relTol 0 rather than using smoothSolver Try also dropping the nNonOrthogonalCorrectors down to 2, and increase the relaxation factors: p 0.2 U 0.5 nuTilda 0.5

 January 10, 2011, 15:24 #4 New Member   Lucas Vieira Join Date: Nov 2010 Posts: 6 Rep Power: 15 thanks for your reply, but the problem was the mesh, i changed the mesh and everything works fine.

February 17, 2011, 18:24
#5
Member

William
Join Date: Feb 2011
Location: Minnesota USA
Posts: 33
Rep Power: 15
Quote:
 Originally Posted by Lucas thanks for your reply, but the problem was the mesh, i changed the mesh and everything works fine.
what did you change in your mesh? smaller cell sizes?

 February 18, 2011, 13:46 #6 New Member   Lucas Vieira Join Date: Nov 2010 Posts: 6 Rep Power: 15 In fact i made a complete new mesh, because the last was horrible, with high number of non-orthogonal cells.

July 12, 2018, 16:06
Convergence
#7
Member

Ben 017
Join Date: Nov 2017
Posts: 70
Rep Power: 8
Hello Foamers,

referring to the attached residuals plot, is it possible to conclude that my simulation has converged at 300th iteration or i am wrong?

Can You advise how to evaluate the convergence of my simulation?

I am simulating flow past an immersed cylinder using icoDyMIbFOAM in foam-extend 4.0

I will be happy to get your feedback.

Regard!

Ben
Attached Images
 icofoam residuals.png (23.0 KB, 9 views)