CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

RANS FX63-137: kKlOmega and kOmegaSST models

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

Like Tree1Likes
  • 1 Post By niklatt

Reply
 
LinkBack Thread Tools Display Modes
Old   June 24, 2015, 06:00
Question RANS FX63-137: kKlOmega and kOmegaSST models
  #1
New Member
 
Pierluigi Rossi
Join Date: Jul 2014
Location: Milan
Posts: 11
Rep Power: 3
PierluigiRossi is on a distinguished road
Dear Foamers,

I am trying to compute the polar data for the Wortmann FX63-137 at Reynolds number 500000, both in the fully turbulent regime (using kOmegaSST turbulence model) and with the lam-turb transition model (using kKlOmega turbulence model).
I would like to obtain the polar data measured by Selig and McGranahan in [1], figs. 17-18.

My questions concern the numerical schemes and the solvers that are recommended to use.

Starting from the kOmegaSST run, I would like to ask to you which solvers do you use in your similar cases for the fields U, p, k, omega?
This is my fvSolution file:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        relTol          0.1;
    }

    U
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }

    k
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }

    omega
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 3;
    pRefCell        0;
    pRefValue       0;

    residualControl
    {
        p               1e-7;
        U               1e-7;
        k               1e-7;
        omega           1e-7;
    }
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U               0.7;
        k               0.7;
        omega           0.7;
    }
}

// ************************************************************************* //
Concerning the numerical schemes, below my fvSchemes file:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default         Gauss linear;
    grad(U)         cellLimited Gauss linear 1;
}

divSchemes
{
    default         none;
    div(phi,U)      bounded Gauss linearUpwindV grad(U);
    div(phi,k)      bounded Gauss upwind;
    div(phi,omega)  bounded Gauss upwind;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p;
}

// ************************************************************************* //
Do you have some suggestions?

Despite the kKlOmega run, I would like to ask if someone has some hints about schemes and solvers for this model.
Below my fvSchemes and fvSolution files:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      bounded Gauss upwind grad(U);
    div(phi,kt)     bounded Gauss upwind;
    div(phi,kl)     bounded Gauss upwind;
    div(phi,omega)  bounded Gauss upwind;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p               ;
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        relTol          0.1;
    }

    U
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }

    kt
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }

    kl
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }

    omega
    {
        solver          BICCG;
        preconditioner  DILU;
        relTol          0.1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 3;
    pRefCell        0;
    pRefValue       0;

    residualControl
    {
        p               1e-7;
        U               1e-7;
        kt               1e-7;
        kl               1e-7;
        omega           1e-7;
    }
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U               0.7;
        kt              0.7;
        kl              0.7;
        omega           0.7;
    }
}

// ************************************************************************* //
About the mesh, I am using an Ogrid mesh obtained with an hyperbolic extrusion and a wall distance of 2.5e-5 * chord length, in order to have an y+ < 1.
Here the checkMesh result:
Code:
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           483344
    internal points:  0
    faces:            961357
    internal faces:   478013
    cells:            239895
    faces per cell:   6
    boundary patches: 4
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     239895
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    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                  
    airfoil             1777     3554     ok (non-closed singly connected)  
    frontAndBack        479790   483344   ok (non-closed singly connected)  
    inflow              896      1794     ok (non-closed singly connected)  
    outflow             881      1764     ok (non-closed singly connected)  

Checking geometry...
    Overall domain bounding box (-87.0591 0 -87.8402) (87.8918 1 87.2957)
    Mesh (non-empty, non-wedge) directions (1 0 1)
    Mesh (non-empty) directions (1 0 1)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-4.70703e-18 3.51173e-15 4.37863e-19) OK.
    Max cell openness = 1.7516e-15 OK.
    Max aspect ratio = 105.345 OK.
    Minimum face area = 2.27894e-09. Maximum face area = 7.93032.  Face area magnitudes OK.
    Min volume = 2.27894e-09. Max volume = 2.33894.  Total volume = 24065.3.  Cell volumes OK.
    Mesh non-orthogonality Max: 18.5434 average: 0.720871
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.45155 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
My problems arise comparing lift and drag coefficients with [1].
I have obtained an under predicte CL and over predicted CD, both with kOmegaSST and kKlOmega.

Do you have some suggestions in order to improve my RANS simulations?
Thank you so much for the help and I hope to be clear enough.

Pier

References:
[1] Selig, M.S., and McGranahan, B.D., “Wind Tunnel Aerodynamic Tests of Six Airfoils for Use on Small Wind Turbines,” NREL/SR-500-34515, Oct. 2004.
PierluigiRossi is offline   Reply With Quote

Old   July 3, 2015, 05:18
Default
  #2
New Member
 
Join Date: Jan 2013
Posts: 2
Rep Power: 0
niklatt is on a distinguished road
Hi,

I did a revision of the kkl omega model 2 months ago because the implementation was faulty. The corrected model has been send to OpenFOAM but i don't know if it is already updated. You might want to contact Henry Weller and ask for the updated version.
I canot recommend using the original implementation of the kklomega model in OF 3.2.0 due to its massive bugs.

The updated version was tested for steady internal flows and yielded excellent results for all flow regimes.
I can recommend the following schemes:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
default steadyState;
}

gradSchemes
{
limitedGauss cellLimited Gauss linear 1;
default Gauss linear;
grad(U) Gauss linear;
grad(p) Gauss linear;
}

divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwindV limitedGauss;
div((nuEff*dev(T(grad(U))))) Gauss linear;
div(phi,kt) bounded Gauss limitedLinear 1;
div(phi,kl) bounded Gauss limitedLinear 1;
div(phi,omega) bounded Gauss limitedLinear 1;
div(U,p) Gauss linear;
}

laplacianSchemes
{
default Gauss linear corrected;
laplacian(muEff,U) Gauss linear corrected;
laplacian(alphaEff,h) Gauss linear corrected;
laplacian((rho*rAU),p) Gauss linear corrected;
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(1,p) Gauss linear corrected;
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
laplacian(DomegaEff,omega) Gauss linear corrected;
}

interpolationSchemes
{
default linear;
div(U,p) upwind phi;
}

snGradSchemes
{
default corrected;
}

fluxRequired
{
default no;
p ;
}


// ************************************************** *********************** //

// ************************************************** *********************** //
I used the follwoing fvsolution:
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
p
{
solver GAMG;
tolerance 1e-08;
relTol 1.e-3;
smoother GaussSeidel;
nPreSweeps 2;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
}

"(U|kt|kl|omega)"
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 2;
tolerance 1e-010;
relTol 1.e-3;
}

}

SIMPLE
{
nNonOrthogonalCorrectors 1;
}

relaxationFactors
{
p 0.3;
U 0.7;
kl 0.8;
kt 0.8;
omega 0.8;
}


// ************************************************** *********************** //
PierluigiRossi likes this.
niklatt is offline   Reply With Quote

Reply

Tags
fx63-137, kklomega, komegasst, rans

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 22:57.