|
[Sponsors] |
simulating flow over naca0012 using LES (WALE subgrid model) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 9, 2019, 08:00 |
simulating flow over naca0012 using LES (WALE subgrid model)
|
#1 |
New Member
zein elserfy
Join Date: May 2018
Posts: 25
Rep Power: 8 |
I am trying to run les simulation for flow over Naca0012 using WALE subgrid model.I first created the 3-D domain and run the case for steady state case using simpleFoam and then i used the converged solution as initial solution for the les by renaming the folder (6000 to 1e-5) then i decomposed the domain. I am using pimpleFoam for les simulation but the problem is that the simulation is not converging and the pressure equation solver reach the maximum no fo iteration (1000)without reaching a converged solution.
Is there any examples or have anyone worked on les for aerofoil ? This the RANS results which is set as initial value for les the velocity fields pressure fields after running les simulation for few time step results seems to be not converged the velocity field pressure field boundary conditions U Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (71.3 0 0); boundaryField { aerofoil { type fixedValue; value uniform (0 0 0); } top { type symmetryPlane; } bottom { type symmetryPlane; } inlet { type fixedValue; value uniform (71.3 0 0); } outlet { { type freestream; freestreamValue uniform (71.3 0 0); value uniform (71.3 0 0); } } front { type cyclic; } back { type cyclic; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { aerofoil { type zeroGradient; } top { type symmetryPlane; } bottom { type symmetryPlane; } inlet { type zeroGradient; } outlet { type fixedValue; value uniform 0; } front { type cyclic; } back { type cyclic; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object nut; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -1 0 0 0 0]; internalField uniform 0.3; boundaryField { aerofoil { type zeroGradient; } top { type symmetryPlane; } bottom { type symmetryPlane; } inlet { type calculated; value uniform 0.3; } outlet { type calculated; value uniform 0.3; } front { type cyclic; } back { type cyclic; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType LES; LES { LESModel WALE; turbulence on; printCoeffs on; delta vanDriest; vanDriestCoeffs { delta cubeRootVol; cubeRootVolCoeffs { deltaCoeff 1; } Aplus 26; Cdelta 0.158; } } // ************************************************************************* // Code:
PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 9.57422e-05, Final residual = 1.81812e-09, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.000310804, Final residual = 9.27005e-09, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.00020072, Final residual = 8.29752e-07, No Iterations 1 Setting residual field for first solver iteration for solver field: p GAMG: Solving for p, Initial residual = 0.00708105, Final residual = 0.000695998, No Iterations 9 time step continuity errors : sum local = 6.92239e-12, global = -2.6458e-13, cumulative = -1.06871e-07 GAMG: Solving for p, Initial residual = 0.000863465, Final residual = 0.000201283, No Iterations 1000 time step continuity errors : sum local = 1.99187e-12, global = -5.66889e-14, cumulative = -1.06871e-07 ExecutionTime = 5589.05 s ClockTime = 11577 s yPlus yPlus write: writing field yPlus patch aerofoil y+ : min = 0.00605518, max = 2.25921, average = 0.535984 wallShearStress wallShear write: writing field wallShearStress min/max(aerofoil) = (-1069.08 -49.9867 -4.19134), (647.826 514.472 4.15718) functionObjects::vorticity vorticity1 writing field: vorticity forceCoeffs forceCoeffs1 execute: Coefficients Cd : 0.0738408 (pressure: 0.0689114 viscous: 0.00492941) Cs : 6.77456e-10 (pressure: -1.25113e-18 viscous: 6.77456e-10) Cl : 3.00569 (pressure: 3.01024 viscous: -0.00454994) CmRoll : -0.150284 (pressure: -0.150512 viscous: 0.000227497) CmPitch : 0.933706 (pressure: 0.936566 viscous: -0.00286007) CmYaw : 0.00369203 (pressure: 0.00344556 viscous: 0.000246471) Cd(f) : -0.113364 Cd(r) : 0.187205 Cs(f) : 0.00369203 Cs(r) : -0.00369203 Cl(f) : 2.43655 Cl(r) : 0.569138 Courant Number mean: 0.000346019 max: 0.893467 deltaT = 7.73047e-08 Time = 8.04068e-06 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 9.46517e-05, Final residual = 1.82501e-09, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.000308434, Final residual = 9.37502e-09, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.000199936, Final residual = 8.34842e-07, No Iterations 1 Setting residual field for first solver iteration for solver field: p GAMG: Solving for p, Initial residual = 0.00703103, Final residual = 0.000696314, No Iterations 7 time step continuity errors : sum local = 6.93153e-12, global = -2.75319e-13, cumulative = -1.06872e-07 GAMG: Solving for p, Initial residual = 0.000853688, Final residual = 0.000198625, No Iterations 1000 time step continuity errors : sum local = 1.96743e-12, global = -5.63175e-14, cumulative = -1.06872e-07 ExecutionTime = 5621.8 s ClockTime = 11643 s yPlus yPlus write: writing field yPlus patch aerofoil y+ : min = 0.00981989, max = 2.25001, average = 0.53326 wallShearStress wallShear write: writing field wallShearStress min/max(aerofoil) = (-1060.39 -50.7689 -4.17043), (639.549 509.112 4.1795) functionObjects::vorticity vorticity1 writing field: vorticity forceCoeffs forceCoeffs1 execute: Coefficients Cd : 0.0722708 (pressure: 0.0673676 viscous: 0.00490315) Cs : 6.55462e-10 (pressure: -1.22961e-18 viscous: 6.55462e-10) Cl : 2.94238 (pressure: 2.94688 viscous: -0.00450319) CmRoll : -0.147119 (pressure: -0.147344 viscous: 0.00022516) CmPitch : 0.913849 (pressure: 0.91668 viscous: -0.00283127) CmYaw : 0.00361352 (pressure: 0.00336837 viscous: 0.000245157) Cd(f) : -0.110984 Cd(r) : 0.183254 Cs(f) : 0.00361352 Cs(r) : -0.00361352 Cl(f) : 2.38504 Cl(r) : 0.557341 Courant Number mean: 0.000348545 max: 0.893368 deltaT = 7.78785e-08 Time = 8.11856e-06 PIMPLE: iteration 1 smoothSolver: Solving for Ux, Initial residual = 9.35858e-05, Final residual = 1.83204e-09, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 0.000306084, Final residual = 9.47784e-09, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.000198762, Final residual = 8.40133e-07, No Iterations 1 Setting residual field for first solver iteration for solver field: p GAMG: Solving for p, Initial residual = 0.00700483, Final residual = 0.000694214, No Iterations 7 time step continuity errors : sum local = 6.92003e-12, global = -2.74424e-13, cumulative = -1.06872e-07 Last edited by zeinelserfy; October 9, 2019 at 08:29. Reason: adding more information |
|
October 9, 2019, 09:01 |
|
#2 |
Member
Lilian Chabannes
Join Date: Apr 2017
Posts: 58
Rep Power: 9 |
Hello,
some comments that I hope will help: 1) Use delta cubeRootVol for WALE, no need for vanDriest damping (https://caefn.com/openfoam/wale-sgs-model) 2) Try using PIMPLE as PIMPLE, not PISO, it will definitely help the pressure converge. i.e. put a lot of nOuterCorrectors + Residual goal. You will go to the next timestep once the specified residual is attained. Below is what I used for a LES simulation. You should have quite a lot of loops at first, but it should reduce a lot once it's stable. After 5 pimple loop it converges for my case. But I am not an expert at all, it is my first case. Code:
PIMPLE { nOuterCorrectors 50; nCorrectors 2; nNonOrthogonalCorrectors 2; pRefCell 0; pRefValue 0; outerCorrectorResidualControl //(or residualControl, depends on the version of OF) { p { tolerance 1e-4; relTol 0;} // I was said 1e-4 is enough U { tolerance 1e-5; relTol 0;} } } Please keep an update of how it is going
__________________
Feel free to join the OpenFOAM Discord https://discord.gg/P9p9eHn, a live chat about OpenFOAM |
|
October 9, 2019, 10:21 |
|
#3 | |
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 16 |
Quote:
One thing: A proper LES (explicit) must avoid low-order upwinding, if you want your model to be accountable for most of the residual dissipation. Otherwise you are just doing "part explicit part implicit" LES which, when mixed, mean absolutely nothing. |
||
October 9, 2019, 10:34 |
|
#4 |
Member
Lilian Chabannes
Join Date: Apr 2017
Posts: 58
Rep Power: 9 |
Thank you for the clarifications
It is an arbitrary number never reached, I could have 10000 there. The point is to have the residual converged, and it never takes long as said. That being said, is it still a bad thing to do? Or LES should always be PISO? I used the filteredLinear thingy because I had this wavy pattern (Dicretization schemes in LES (pitzDaily)). As I understood it's appears if too coarse mesh and it shouldnt appear when Pe<2, not sure though. Otherwise yes, Gauss linear if this problem isn't here.
__________________
Feel free to join the OpenFOAM Discord https://discord.gg/P9p9eHn, a live chat about OpenFOAM |
|
October 9, 2019, 10:40 |
|
#5 |
New Member
zein elserfy
Join Date: May 2018
Posts: 25
Rep Power: 8 |
Thanks for you reply Lilian Chabannes
I will try your recommendations Can you check fvSchemes and fvSolutions? fvSchemes Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default backward; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) Gauss linear; div(phi,k) Gauss limitedLinear 1; div(phi,B) Gauss limitedLinear 1; div(B) Gauss linear; div(phi,nuTilda) Gauss limitedLinear 1; div((nuEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default none; laplacian(nuEff,U) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; laplacian(DBEff,B) Gauss linear corrected; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p ; } // ************************************************************************* // fvSolutons Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v1906 | | \\ / 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 0; relTol 0.1; smoother GaussSeidel; } pFinal { $p; smoother DICGaussSeidel; tolerance 1e-06; relTol 0; } "(U|k|nuTilda)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; minIter 1; } "(U|k|nuTilda)Final" { $U; tolerance 1e-05; relTol 0; } } PIMPLE { nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } // ************************************************************************* // |
|
October 9, 2019, 20:40 |
|
#6 | |
New Member
zein elserfy
Join Date: May 2018
Posts: 25
Rep Power: 8 |
Quote:
which scheme should be used with les? |
||
October 9, 2019, 22:12 |
|
#7 | |
New Member
zein elserfy
Join Date: May 2018
Posts: 25
Rep Power: 8 |
Quote:
the solver crashed Code:
zels496@en-cer00228:/data/cases/LES/naca0012-4initiaRANS/case1$ mpirun -np 16 pimpleFoam -parallel >log [en-cer00228:06917] 15 more processes have sent help message help-mpi-btl-base.txt / btl:no-nics [en-cer00228:06917] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages [3] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [3] #1 Foam::sigFpe::sigHandler(int) at ??:? [3] #2 ? in /lib/x86_64-linux-gnu/libc.so.6 [3] #3 Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) at ??:? [3] #4 Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:? [3] #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:? [3] #6 Foam::fvMatrix<Foam::Vector<double> >::solveSegregated(Foam::dictionary const&) at ??:? [3] #7 Foam::fvMatrix<Foam::Vector<double> >::solveSegregatedOrCoupled(Foam::dictionary const&) at ??:? [3] #8 Foam::fvMesh::solve(Foam::fvMatrix<Foam::Vector<double> >&, Foam::dictionary const&) const at ??:? [3] #9 ? at ??:? [3] #10 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 [3] #11 ? at ??:? [en-cer00228:06924] *** Process received signal *** [en-cer00228:06924] Signal: Floating point exception (8) [en-cer00228:06924] Signal code: (-6) [en-cer00228:06924] Failing at address: 0x335bd92400001b0c [en-cer00228:06924] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7fa21dba24b0] [en-cer00228:06924] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7fa21dba2428] [en-cer00228:06924] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7fa21dba24b0] [en-cer00228:06924] [ 3] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam19GaussSeidelSmoother6smoothERKNS_4wordERNS_5FieldIdEERKNS_9lduMatrixERKS5_RKNS_10FieldFieldIS4_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEEhi+0x347)[0x7fa21ef0e4e7] [en-cer00228:06924] [ 4] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam19GaussSeidelSmoother6smoothERNS_5FieldIdEERKS2_hi+0x28)[0x7fa21ef0e688] [en-cer00228:06924] [ 5] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam12smoothSolver5solveERNS_5FieldIdEERKS2_h+0x6ed)[0x7fa21ef05a3d] [en-cer00228:06924] [ 6] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixINS_6VectorIdEEE15solveSegregatedERKNS_10dictionaryE+0x5d3)[0x7fa222f1f893] [en-cer00228:06924] [ 7] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixINS_6VectorIdEEE24solveSegregatedOrCoupledERKNS_10dictionaryE+0x408)[0x7fa222f2c4b8] [en-cer00228:06924] [ 8] /data/openFOAM/OpenFOAM-v1906/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZNK4Foam6fvMesh5solveERNS_8fvMatrixINS_6VectorIdEEEERKNS_10dictionaryE+0x23)[0x7fa222ed5e33] [en-cer00228:06924] [ 9] pimpleFoam[0x426521] [en-cer00228:06924] [10] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fa21db8d830] [en-cer00228:06924] [11] pimpleFoam[0x428589] [en-cer00228:06924] *** End of error message *** |
||
Tags |
les model, naca0012, wale |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Use of k-epsilon and k-omega Models | Jade M | Main CFD Forum | 40 | January 27, 2023 08:18 |
Discrete Phase Model, outlet mass flow rate does not fit | edu_aero | FLUENT | 29 | February 3, 2020 09:38 |
[rhoCentralFoam] simulating compressible inviscid flow | Yuval | OpenFOAM Running, Solving & CFD | 2 | January 27, 2016 22:33 |
Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
Multiphase flow. Dispersed and free surface model | Luis | CFX | 8 | May 29, 2007 19:13 |