CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Problem running simpleFoam with kOmegaSST turbulence model (https://www.cfd-online.com/Forums/openfoam-solving/108774-problem-running-simplefoam-komegasst-turbulence-model.html)

matzbanni November 1, 2012 07:02

Problem running simpleFoam with kOmegaSST turbulence model
 
Hello,
I'm trying to run a channel-case (4m^2) with a smaller cross-section (0.05m^2) in between. My boundary-conditions are:

Code:

inlet_velocity (0.3 0 0)
inlet_pressure zeroGradient
inlet_k uniform 2e-04
inlet_omega uniform 0.2
inlet_nut uniform 0

outlet_velocity zeroGradient
outlet_pressure uniform 0
outlet_k zeroGradient
outlet_omega zeroGradient
outlet_nut uniform 0

wall_velocity (0 0 0)
wall_pressure zeroGradient
wall_k kqRWallFunction uniform 2e-04
wall_omega omegaWallFunction uniform 0.2
wall_nut nutkWallFunction uniform 0

fvSchemes:

Code:

ddtSchemes
{
    default        steadyState;
}

gradSchemes
{
    default        Gauss linear;
}

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

laplacianSchemes
{
    default        Gauss linear corrected;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        corrected;
}

fluxRequired
{
    default        no;
    p;
}

and finally fvSolution:

Code:

solvers
{
    p
    {
        solver          GAMG;
        tolerance        1e-06;
        relTol          0.01;
                smoother        DICGaussSeidel;
        cacheAgglomeration on;
                agglomerator        faceAreaPair;
        nCellsInCoarsestLevel 50;
        mergeLevels      1;
    }
    U
    {
        solver          PBiCG;
                preconditioner        DILU;       
                tolerance        1e-05;
        relTol          0.1;
    }
    k
    {
        solver          PBiCG;
                preconditioner        DILU;
        tolerance        1e-05;
        relTol          0.1;
    }

    omega
    {
        solver          PBiCG;
        preconditioner          DILU;
                tolerance        1e-05;
        relTol          0.1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;
}

potentialFlow
{
    nNonOrthogonalCorrectors 10;
}

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

The problem is that the calculation diverges with bounding k and omega. Any suggestions?

sail November 1, 2012 08:23

can you post images of the mesh? have you tried to visualize where the k and omega rises to high values?

matzbanni November 1, 2012 09:15

2 Attachment(s)
Quote:

Originally Posted by sail (Post 389663)
can you post images of the mesh? have you tried to visualize where the k and omega rises to high values?

there is no defined location where the k and omega values reach the high values. it depends on the timestep... attached you can find two screenshots of a slice through the fluid domain.

sail November 1, 2012 17:15

mmm the mesh looks good from here,

are the layers correctly added even in the corners?

maybe increasing the number of nonOrtogonalCorrectors in the simple loop?

if the issue arises in the early timesteps you might want to try to increase the value of the initial omega internal field to artificially stabilize the solution.

this is what comes to mind right now...

matzbanni November 2, 2012 17:31

tried to solve it without turbulence, but also no convergence. I have no idea what the problem is...

tomf November 3, 2012 06:45

Hi,

Just looking at your fvSchemes, try changing:

Code:

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

to:

Code:

divSchemes
{
    default        none;
    div(phi,U)      Gauss GammaV 0.5;
    div(phi,k)      Gauss Gamma 0.5;
    div(phi,omega)  Gauss Gamma 0.5;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}

You are now introducing some filtering, because I doubt that you have the required resolution (Cell Reynolds number <2) for pure central differencing (linear scheme). Or maybe look at limitedLinear instead of Gamma.

You may even want to use upwind for the turbulence variables if that is needed for convergence, to my experience the end result is not affected significantly.

Especially if you have a lot of nonOrthogonality this may help:
Code:

laplacianSchemes
{
    default        Gauss linear limited 0.333;
}

Regards,
Tom


All times are GMT -4. The time now is 19:47.