|
[Sponsors] |
December 2, 2011, 06:19 |
choosing a faster solver for large meshes
|
#1 |
Senior Member
mauricio
Join Date: Jun 2011
Posts: 172
Rep Power: 18 |
Hello FoaMMers!
recently i've bumped into a large case. Here's my mesh Code:
Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 1015757 faces: 9905831 internal faces: 9525541 cells: 4779375 boundary patches: 6 point zones: 0 face zones: 1 cell zones: 1 Overall number of cells of each type: hexahedra: 64800 prisms: 180792 wedges: 0 pyramids: 3480 tet wedges: 0 tetrahedra: 4530303 polyhedra: 0 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology inlet 1080 1147 ok (non-closed singly connected) outlet 1080 1147 ok (non-closed singly connected) wall_slip 5610 5762 ok (non-closed singly connected) wall_fix 175509 89105 ok (non-closed singly connected) wall_rot 180792 90405 ok (non-closed singly connected) symmetry 16219 9357 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-2.27374e-16 -3.16552e-05 -0.300001) (12 4 4.5) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (5.37104e-19 3.74601e-18 -1.04857e-19) OK. Max cell openness = 2.20757e-16 OK. Max aspect ratio = 7.16421 OK. Minumum face area = 1.02019e-06. Maximum face area = 0.218717. Face area magnitudes OK. Min volume = 5.87175e-10. Max volume = 0.0654096. Total volume = 228.604. Cell volumes OK. Mesh non-orthogonality Max: 66.0138 average: 14.7843 Non-orthogonality check OK. Face pyramids OK. Max skewness = 2.28739 OK. Mesh OK. End Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss linearUpwindV grad(U); div(phi,k) Gauss upwind; div(phi,omega) Gauss upwind; div((nuEff*dev(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear limited 0.333; } interpolationSchemes { default linear; } snGradSchemes { default limited 0.333; } fluxRequired { default no; p; } // ************************************************************************* // Code:
solvers { p { solver GAMG; tolerance 1e-7; relTol 0.001; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 10; mergeLevels 1; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.0001; nSweeps 1; } k { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.001; nSweeps 1; } omega { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.001; nSweeps 1; } } SIMPLE { nNonOrthogonalCorrectors 2; residualControl { p 1e-6; U 1e-6; "(k|omega)" 1e-6; } } potentialFlow { nNonOrthogonalCorrectors 10; } relaxationFactors { p 0.3; U 0.7; k 0.7; omega 0.7; } cache { grad(U); } edit: can any of you check those settings and c if there's sth weird?? that's a too slow convergence rate....that residual pattern had already been established over 8000 iterations behind (posted a larger history with EDIT).. i'm just wondering whether i messed up the settings and this could be improved/speed up..or is this just a mesh size issue? im running simpleFoam on 4 core with scotch, i dont think my bc should be a problem... this is my domain.. here are some mesh closes im not aiming at E-6 residuals, even thou that's what i wanted, but sth better than 0.02! many many thanks! Last edited by calim_cfd; December 2, 2011 at 08:57. Reason: adding pics, changed pic, rephrased question |
|
December 2, 2011, 09:30 |
|
#2 |
Senior Member
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 272
Rep Power: 18 |
hello,
Just some hint ... - Since it's steady state, you may take a look at local time stepping. - use hex / polyhedre instead of tet mesh regards, olivier |
|
December 2, 2011, 10:30 |
|
#3 |
New Member
Chris
Join Date: Jun 2011
Posts: 12
Rep Power: 15 |
What about the residuals of the pressure?
some ideas: Did you try the cellLimited linearUpwindV 1 for div(phi,)? You can also cellLimit the gradSchemes. Especially for k and omega. If that doesn't help try cellLimited for grad(U) as well... |
|
December 2, 2011, 11:28 |
|
#4 | ||
Senior Member
mauricio
Join Date: Jun 2011
Posts: 172
Rep Power: 18 |
Quote:
and ill try larger time steps. when running steady-state cases i usually forget about this option, but this is a case a can check thx for tips! Quote:
but here it goes will do that 2! tyvm! Last edited by calim_cfd; December 2, 2011 at 11:34. Reason: english |
|||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
interfacing a fluid solver with abaqus | Tuhin Rakshit | Main CFD Forum | 0 | June 16, 2005 11:03 |
Could you comare StarCD with CFX 5?Help, please... | Suteh | CFX | 54 | November 7, 2001 21:12 |
CFX 5.5 | Roued | CFX | 1 | October 2, 2001 17:49 |
Setting a B.C using UserFortran in 4.3 | tokai | CFX | 10 | July 17, 2001 17:25 |
Error during Solver | cfd guy | CFX | 4 | May 8, 2001 07:04 |