|
[Sponsors] |
November 14, 2017, 06:22 |
Suitable convection schemes for PANS
|
#1 |
New Member
Maurits van den Boogaard
Join Date: Sep 2017
Posts: 1
Rep Power: 0 |
Hi all,
First of all, I am pretty new to C++ and OpenFOAM and started using it in September. I am a graduate student studying hydrodynamics so I do have some background. I am working on the simulation of flow around a ship using a k-omega SST model with the k and omega equations adapted to PANS following procedures by Girimaji a.o. Currently I am checking the turbulent structure development for f_k values 0.4 and 0.7, where 0.4 should produce quite some small scale structures, and 0.7 should at least show some differences with a standard RANS calculation. Initially I was performing calculations using linearUpwindV for the velocity term in divSchemes, but I noticed when running a validation case on a square cylinder that this was way too restrictive on structure development. The much simpler cylinder geometry allowed me to run full CD for all quantities, showing the turbulent structures I expected. Due to the geometry (and worse mesh quality, which I cannot rebuild but should be good enough) of the ship I cannot do this. I tried using LUST, as this is also giving me the structures, but the simulation blows up no matter what I try. I was advised to use limitedLinearV 0.05, but after waiting for 1 transient flow through time there are hardly any structures in the 0.4 and none in the 0.7, which leads me to conclude that it is still too dissipative. Regarding turbulent quantities: the nu_t value is reduced as it should be in PANS, but the kinetic energy that is predicted is still way too low compared to what I was expecting. controlDict: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.0 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // libs ("$FOAM_USER_LIBBIN/libMBincompressibleTurbulenceModels.so"); //application simpleFoam; application pimpleFoam; startFrom latestTime; //startFrom startTime; startTime 0; stopAt endTime; //endTime 12.625; // dT 2e-5 is 2.25 transient sweeps endTime 25.25; //4.5 transients //endTime 4.31; // intermediate deltaT 3e-5; //USE THIS! was 2e-5 before instability LUST //deltaT 1; // SIMPLE //deltaT 4e-4; //to speed up transient //writeControl timeStep; //writeInterval 2500; writeControl runTime; //writeInterval 0.00400; // every 500 iter or 17 minutes walltime writeInterval 0.03600; // every 1800 or 1 hour walltime 2e-5 //writeInterval 0.0018; // 1800 1e-6 purgeWrite 10; writeFormat binary; writePrecision 10; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; adjustTimeStep no; Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.0 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default backward; // default Euler; // default steadyState; } gradSchemes { default Gauss linear ; } divSchemes { default none; //div(phi,U) Gauss linear; //div(phi,U) bounded Gauss limitedLinearV 0.1; // div(phi,U) bounded Gauss LUST grad(U); div(phi,U) bounded Gauss limitedLinearV 0.05; // div(phi,U) bounded Gauss limitedLinearV 0.9;// bigger value = more stable // div(phi,U) bounded Gauss linearUpwindV grad(U); // if not stable, try this first, allows bigger timest$ div(phi,k) bounded Gauss upwind; //originals 1-4below div(phi,omega) bounded Gauss upwind; div(phi,kU) bounded Gauss upwind; div(phi,omegaU) bounded Gauss upwind; div(phi,nuTilda) bounded Gauss upwind; div((nuEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear limited corrected 0.33; //default Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default limited corrected 0.33; //default corrected; } fluxRequired { default no; p ; } wallDist { method meshWave; } ] Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1706 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { pcorr { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-8; relTol 1e-2; smoother GaussSeidel; nPreSweeps 1; nPostSweeps 1; nBottomSweeps 2; cacheAgglomeration false; nCellsInCoarsestLevel 100; agglomerator faceAreaPair; mergeLevels 1; } tolerance 1e-8; relTol 1e-3; maxIter 100; } p { solver PCG; preconditioner { preconditioner GAMG; smoother FDIC; agglomerator faceAreaPair; nPreSweeps 0; nPostSweeps 1; nFinestSweeps 2; cacheAgglomeration on; nCellsInCoarsestLevel 100; mergeLevels 1; tolerance 1e-8; relTol 1e-2; } tolerance 1e-09; relTol 1e-3; //minIter 1; } pFinal { $p; relTol 0.0; } "U.*" { type coupled; solver PBiCCCG; preconditioner DILU; tolerance (1e-8 1e-8 1e-8); relTol (0 0 0); minIter 1; } "(k|omega|kU|omegaU).*" { solver PBiCGStab; preconditioner DILU; tolerance 1e-8; relTol 1e-3; minIter 3; } } SIMPLE { //momentumPredictor off; nNonOrthogonalCorrectors 1; consistent yes; pRefCell 0; pRefValue 0; } PIMPLE { momentumPredictor on; correctPhi off; nOuterCorrectors 1; nCorrectors 2; turbOnFinalIterOnly true; } relaxationFactors { fields { p 0.6; // p 0.3; } equations { U 0.6; k 0.6; kU 0.6; omega 0.6; omegaU 0.6; } } cache { grad(U); } |
|
July 29, 2020, 19:35 |
|
#2 | |
Member
Gang Wang
Join Date: Oct 2019
Location: China
Posts: 64
Rep Power: 8 |
Quote:
I was also troubled by this issue, I feeled that the mesh quality might count more than the discrezation scheme. What do you think of this issue? Best regards, Gang Wang |
||
Tags |
convection schemes, pans, turbulence |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Setting the height of the stream in the free channel | kevinmccartin | CFX | 12 | October 13, 2022 22:43 |
error message | cuteapathy | CFX | 14 | March 20, 2012 07:45 |
May I'll create a sandbox for approximation schemes of convection term section? | Michail | CFD-Wiki | 0 | November 7, 2011 08:36 |
Recommended convection schemes for swirling flow in diffuser | hani | OpenFOAM Running, Solving & CFD | 12 | August 23, 2005 12:05 |
Higher-order bounded convection schemes for pure advection with discontinuity | Anthony | Main CFD Forum | 3 | June 13, 1999 03:36 |