|
[Sponsors] |
![]() |
![]() |
#1 |
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 ![]() |
Hello dear FOAMers,
I am worried about the way OF treats with unstructured hexahedral mesh generated with something other than the native meshing tools of OF. In fact, I have a very clean cooper mesh for a round nozzle made in GAMBIT. However, the run suddenly stops with no specific clue in the residuals or anything. Using the exact similar case with structured mesh, the simulation goes smoothly. I think there must be some tricks when we want to deal with unstructured mesh made with an utility which is not native. Can you give me some hints on such a problem: treating with unstructured mesh in OF. Thank you, Sina |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 711
Rep Power: 14 ![]() |
Can I suggest that you google tetrahedral mesh settings - you'll find that there are indeed some fvScheme settings that you need to apply to ensure stability for non-orthogonal meshes. Good luck!
|
|
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 ![]() |
Thank you dear friend. I will do that and will update this thread.
|
|
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 ![]() |
Hi said,
Thank you. I will go through and let people know about this thread. Warm regards, Sina |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 ![]() |
Hello friends,
I could find a stable configuration for fvSchemes and fvSolution dicts for my test. As it was mentioned as my concern, it was important to me to find tricks to treat with non-hexahedral mesh grids. I found out that OF is really sensitive to non-hex mesh and it takes more investigation and trials to get it work for you case. In the following, the two dictionaries are listed. I also commented out (using "//" or " /* and */") some previous try so that one can track the history. Important note to mention separately: Do not use URFs beforehand. Try to make the simulation work without URFs and just with the help of schemes and solutions. If it didn't work, then try to go after the URFs. Thanks, Sina fvSchemes: ddtSchemes { default backward; } gradSchemes { default Gauss linear; // keywords: Gauss linear / leastSquares // cellLimited leastSquares 1.0; //default cellLimited Gauss linear 0; //grad(p) cellLimited Gauss linear 1.0; //grad(U) cellLimited Gauss linear 0.333; } divSchemes { default none; // div(phi,U) Gauss cubic corrected; div(phi,U) Gauss skewCorrected limitedLinearV 1; // div(phi,U) Gauss linearUpwind grad(U); div(rhoPhi,SF) Gauss upwind; div(inDiff) Gauss linear; div(gradphi2_1) Gauss linear; div(rhoPhi,phi2) Gauss upwind; // div(phi,S) Gauss cubic corrected; //div(phi,T) Gauss cubic corrected; // div(rhoPhi,S) Gauss limitedLinear 1; div(rhoPhi,S) Gauss skewCorrected limitedLinear 1; div(rhoPhi,T) Gauss skewCorrected limitedLinear 1; //div(phi,k) Gauss limitedLinear 1; div(phi,k) bounded Gauss upwind; // div(phi,k) bounded Gauss upwind; // div(phi,epsilon) bounded Gauss upwind; div(phi,epsilon) bounded Gauss upwind; //div(phi,epsilon) Gauss SFCD; //div(phi,R) Gauss limitedLinear 1; //div(phi,k) bouded Gauss upwind; //div(phi,epsilon) Gauss limitedVanLeer 0.0 0.125; // div(phi,epsilon) Gauss limitedLinear 1; //div(phi,R) Gauss upwind; //div(phi,R) Gauss limitedLinear 1; div(phi,R) bounded Gauss upwind; div(R) Gauss linear; div(phi,nuTilda) bounded Gauss upwind; div((nuEff*dev(T(grad(U))))) Gauss linear; // div((nuEff*dev2(T(grad(U))))) Gauss linear; div((nu*dev2(T(grad(U))))) Gauss linear; // div(nonlinearstress) Gauss linear; } laplacianSchemes { default none; // Gauss linear corrected; //or //Gauss cubic corrected; // or //Gauss linear limited 1,0.5,..; laplacian(nuEff,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; laplacian(DepsilonEff,epsilon) Gauss linear corrected; laplacian(alphaEff1,S) Gauss linear corrected; laplacian(alphaEff2,T) Gauss linear corrected; laplacian(DREff,R) Gauss linear corrected; laplacian(rAUf,p) Gauss linear corrected; // // laplacian(yPsi) Gauss linear corrected; // } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { //default corrected; default limited 1; } fvSolution p { solver GAMG; tolerance 1e-04; relTol 0.01; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 1000; mergeLevels 1; } pFinal { solver GAMG; tolerance 1e-06; relTol 0; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 1000; mergeLevels 1; } /* p { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0.01; minIter 3; maxIter 100; } pFinal { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0.0; minIter 3; maxIter 100; }*/ U { solver PBiCGStab; preconditioner DILU; tolerance 1e-08; relTol 0; } UFinal { solver PBiCGStab; preconditioner DILU; tolerance 1e-08; relTol 0; } /* U { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-06; relTol 0; } UFinal { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-06; relTol 0; }*/ k { solver PBiCG; preconditioner DILU; tolerance 1e-08; relTol 0; } kFinal { solver PBiCG; preconditioner DILU; tolerance 1e-08; relTol 0; } epsilon { solver PBiCG; preconditioner DILU; tolerance 1e-8; relTol 0; } epsilonFinal { solver PBiCG; preconditioner DILU; tolerance 1e-8; relTol 0; } PIMPLE { momentumPredictor yes; nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 2; //turbOnFinalIterOnly true; //pRefCell 1; pRefPoint (0 0.7 0); pRefValue 0; } |
|
![]() |
![]() |
![]() |
![]() |
#7 |
New Member
GS
Join Date: Sep 2018
Posts: 21
Rep Power: 7 ![]() |
Thanks. I think I am having the same problem with tet vs. hex mesh (hex runs fine, tet doesn't, for the same case). Did you find a source that recommended the settings you are using? I tried Google as suggested above and did not find much, and the document referenced above isn't much help either.
|
|
![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11 ![]() |
Yes. Please consult this:
http://www.wolfdynamics.com/wiki/tipsandtricks.pdf |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
foam-extend-4.1 release | hjasak | OpenFOAM Announcements from Other Sources | 19 | July 16, 2021 05:02 |
[ANSYS Meshing] unstructured mesh on 3D airfoil | wali | ANSYS Meshing & Geometry | 9 | September 27, 2013 14:09 |
[Gmsh] 2D Mesh Generation Tutorial for GMSH | aeroslacker | OpenFOAM Meshing & Mesh Conversion | 12 | January 19, 2012 03:52 |
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! | sc298 | OpenFOAM Meshing & Mesh Conversion | 2 | March 27, 2011 21:11 |
problem when converting mesh (made by ICEM) using fluentMeshToFoam | Forrest_Lei | OpenFOAM | 11 | October 16, 2009 06:28 |