CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   bubbleFoam kEpsilon not converging for k on tutorial case (https://www.cfd-online.com/Forums/openfoam/115385-bubblefoam-kepsilon-not-converging-k-tutorial-case.html)

vbchris March 29, 2013 13:07

bubbleFoam kEpsilon not converging for k on tutorial case
 
3 Attachment(s)
Hi all,

EDIT: OF version 2.1.1 run on Ubuntu 12.10 64-bit
EDIT2: Using bubbleFoam solver with adjusting time steps and max Courant number of 0.1 (as shown in files)

I've been trying to get a simple turbulent case for the bubble column tutorial to work.
Any insight would be appreciated.

Aside from RASProperties, controlDict, fvSchemes, and fvSolution all other case files are copied from $FOAM_TUTORIALS.

Here is the console output showing k as not convergent after 1000 iterations.
The final residual for k does not fall within the set tolerance (1e-10) 2 time steps prior to the crash.

I'll also attach the complete case file if anyone would like to try to duplicate my results (could always be an isolated issue). Had to split it into 3 files to bypass upload limit.

Thanks for your assistance!

Code:

Courant Number mean: 0.000102407273185 max: 0.000398086077102
deltaT = 4.60051199094e-06
Time = 2.70030719456e-05

Max Ur Courant Number = 0.000395524440962
DILUPBiCG:  Solving for alpha, Initial residual = 4.59536453591e-06, Final residual = 8.49627871868e-14, No Iterations 1
DILUPBiCG:  Solving for alpha, Initial residual = 3.64239513162e-10, Final residual = 2.40739677989e-18, No Iterations 1
Dispersed phase volume fraction = 0.367531155235  Min(alpha) = -0.0426521053369  Max(alpha) = 1.00000003097
DICPCG:  Solving for p, Initial residual = 0.0162179181138, Final residual = 0.00133310181578, No Iterations 2
time step continuity errors : sum local = 1.01714630608e-07, global = -1.68614375755e-09, cumulative = -1.91330433001e-09
DICPCG:  Solving for p, Initial residual = 1.51812125528e-11, Final residual = 1.51812125528e-11, No Iterations 0
time step continuity errors : sum local = 1.46990226886e-06, global = -9.90708097536e-09, cumulative = -1.18203853054e-08
DILUPBiCG:  Solving for epsilon, Initial residual = 0.231630236664, Final residual = 8.42668640452e-11, No Iterations 47
DILUPBiCG:  Solving for k, Initial residual = 0.999999999966, Final residual = 4.32822169403e-11, No Iterations 25
ExecutionTime = 0.7 s  ClockTime = 1 s

Courant Number mean: 0.000123381039631 max: 0.000477693777356
deltaT = 5.52061438912e-06
Time = 3.25236863347e-05

Max Ur Courant Number = 0.00345730592145
DILUPBiCG:  Solving for alpha, Initial residual = 7.05319909257e-06, Final residual = 8.14315093719e-14, No Iterations 1
DILUPBiCG:  Solving for alpha, Initial residual = 8.98578469072e-10, Final residual = 2.43568983429e-16, No Iterations 1
Dispersed phase volume fraction = 0.367531167119  Min(alpha) = -0.0426027794407  Max(alpha) = 1.00001233594
DICPCG:  Solving for p, Initial residual = 0.998693417498, Final residual = 0.0801310279758, No Iterations 1
time step continuity errors : sum local = 9452829.84033, global = -233370.797544, cumulative = -233370.797544
DICPCG:  Solving for p, Initial residual = 0.981382974041, Final residual = 9.55331203874e-11, No Iterations 97
time step continuity errors : sum local = 0.000920508954439, global = 7.95903751645e-06, cumulative = -233370.797536
DILUPBiCG:  Solving for epsilon, Initial residual = 0.132690637905, Final residual = 2.2112305474e-11, No Iterations 51
DILUPBiCG:  Solving for k, Initial residual = 0.999953338395, Final residual = 1.10353183522e-05, No Iterations 1001
ExecutionTime = 0.82 s  ClockTime = 1 s

Courant Number mean: 141650.102468 max: 19724594.6518
deltaT = 2.79884808108e-14
Time = 3.25236863627e-05

Max Ur Courant Number = 0.0994415796924
DILUPBiCG:  Solving for alpha, Initial residual = 2.45599764286e-06, Final residual = 1.28886564037e-13, No Iterations 2
DILUPBiCG:  Solving for alpha, Initial residual = 3.51283163256e-09, Final residual = 1.55146580667e-12, No Iterations 1
Dispersed phase volume fraction = 0.367531167118  Min(alpha) = -0.0426027794358  Max(alpha) = 1.00001190501
DICPCG:  Solving for p, Initial residual = 0.99979819169, Final residual = 0.0993892919159, No Iterations 4
time step continuity errors : sum local = 4.14687054711e-05, global = 4.10543983161e-05, cumulative = -233370.797495
DICPCG:  Solving for p, Initial residual = 9.15918445237e-13, Final residual = 9.15918445237e-13, No Iterations 0
time step continuity errors : sum local = 31421.2935774, global = 1.0089083647e-05, cumulative = -233370.797485
DILUPBiCG:  Solving for epsilon, Initial residual = 0.334698297328, Final residual = 6.94339113676e-11, No Iterations 49
DILUPBiCG:  Solving for k, Initial residual = 0.999999999994, Final residual = 3067812984.81, No Iterations 1001
ExecutionTime = 0.94 s  ClockTime = 1 s

Courant Number mean: 15907.1845113 max: 8059028.69188
deltaT = 3.47293475192e-22
--> FOAM Warning :
    From function Time::operator++()
    in file db/Time/Time.C at line 1010
    Increased the timePrecision from 12 to 13 to distinguish between timeNames at time 3.25236863627e-05
Time = 3.252368636273e-05

Max Ur Courant Number = 0.19986730275
DILUPBiCG:  Solving for alpha, Initial residual = 0.000616348386473, Final residual = 5.50418899126e-12, No Iterations 1
DILUPBiCG:  Solving for alpha, Initial residual = 9.60748786488e-05, Final residual = 1.0790473386e-13, No Iterations 1
Dispersed phase volume fraction = 0.367531167118  Min(alpha) = -0.0426027794358  Max(alpha) = 1.13514811002
DICPCG:  Solving for p, Initial residual = 0.0275952712201, Final residual = 0.00258600645723, No Iterations 1
time step continuity errors : sum local = 0.000828517498979, global = 2.72132533698e-06, cumulative = -233370.797482
DICPCG:  Solving for p, Initial residual = 2.34594789529e-11, Final residual = 2.34594789529e-11, No Iterations 0
time step continuity errors : sum local = 7.29578945652e+64, global = -1.72643961598e+41, cumulative = -1.72643961598e+41
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#4  Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
#5 
 at ??:?
#6 
 at ??:?
#7  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#8 
 at ??:?
Floating point exception (core dumped)

RASProperties
Code:

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

RASModel        kEpsilon;

turbulence      on;

printCoeffs    on;


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

controlDict
Code:

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

application    bubbleFoam;

startFrom      startTime;

startTime      0;

stopAt          endTime;

endTime        20;

deltaT          0.0000001;

writeControl    runTime;

writeInterval  0.5;

purgeWrite      0;

writeFormat    ascii;

writePrecision  12;

writeCompression uncompressed;

timeFormat      general;

timePrecision  12;

runTimeModifiable yes;

adjustTimeStep  yes;

maxCo          0.1;
maxAlphaCo      0.1;
maxDeltaT      0.01;


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

fvSchemes

Code:

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

ddtSchemes
{
    default        Euler;
}

gradSchemes
{
    default        Gauss linear;
}

divSchemes
{
    default        none;
    div(phia,Ua)    Gauss limitedLinearV 1;
    div(phib,Ub)    Gauss limitedLinearV 1;
    div(phib,k)    Gauss limitedLinear 1;
    div(phib,epsilon) Gauss limitedLinear 1;
    div(phi,alpha)  Gauss limitedLinear01 1;
    div((-nuEffa*T(grad(Ua)))) Gauss linear;
    div((-nuEffb*T(grad(Ub)))) Gauss linear;
}

laplacianSchemes
{
    default        none;
    laplacian(nuEffa,Ua) Gauss linear corrected;
    laplacian(nuEffb,Ub) Gauss linear corrected;
    laplacian((rho*(1|A(U))),p) Gauss linear corrected;
    laplacian(DepsilonEff,epsilon) Gauss linear corrected;
    laplacian(DkEff,k) Gauss linear corrected;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        corrected;
}

fluxRequired
{
    default        no;
    p              ;
}


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

fvSolution
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.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;
        tolerance      1e-10;
        relTol          0.1;
    }

    pFinal
    {
        $p;
        tolerance      1e-10;
        relTol          0;
    }

    alpha
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance      1e-10;
        relTol          0.1;
    }

    alphaFinal
    {
        $alpha;
        tolerance      1e-10;
        relTol          0;
    }
    k
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance      1e-10;
        relTol          0;
    }

    epsilon
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance      1e-10;
        relTol          0;
    }
    kFinal
    {
        $alpha;
        tolerance      1e-10;
        relTol          0;
    }

    epsilonFinal
    {
        $alpha;
        tolerance      1e-10;
        relTol          0;
    }
}

PIMPLE
{
    nCorrectors    2;
    nNonOrthogonalCorrectors 0;
    nAlphaCorr      2;
    correctAlpha    no;
    pRefCell        0;
    pRefValue      0;
}


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


vbchris March 31, 2013 23:45

As a follow-up:

I've also attempted various tolerances for k and epsilon.
The blow-up has been duplicated this on a separate machine.
Various BCs have been attempted including zeroGrad for outlets instead of inletOutlet for all variables (except p).
The mesh was re-built and a different mesh was tested.


I assume at the point that I have overlooked something obvious.

Thanks,


All times are GMT -4. The time now is 13:15.