CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Question/Problem with Convergence - simpleFoam - Pipe-System (https://www.cfd-online.com/Forums/openfoam/215323-question-problem-convergence-simplefoam-pipe-system.html)

Timo March 1, 2019 03:19

Question/Problem with Convergence - simpleFoam - Pipe-System
 
Hi there!

My Case

I want to simulate a part of a Pipe-System (simpleFoam) filled with air.
See the attached file for an overview, Diameters are from 250mm to 350mm at the tubes . The velocites are around ~ 24 m/s down to 2 m/s at the rectangular part. (Volumetric Flowrate up to 4200 m^3/h)

https://www.cfd-online.com/Forums/me...-geometrie.jpg

If needed i can post also some Pictures of my Mesh.
Im generating the Mesh with SnappyHexMesh out of a Background-Mesh from gmsh. I tried several different mesh-types. First coarse / then fine /with Layers or without. CheckMesh always told me my mesh is ok.

I specify the velocity at the inlet and the fluid can stream out free at the end of the rectangular part, where i set the pressure to 0.

I'm using the kepsilon turbulence-model, but i also tried out the kOmegaSST.

Before i start simpleFoam, im initializing the Domain with potentialFoam.

My Problem
I have the problem that the initial-residual of p is not dropping below the value 0,05 - 0,005. Also the other variables don't reach lower values.

I'm struggling now if this is enough? I guess These values should fall much more for reaching convergence?

The Results do look ok, Velocites are in the expected range. Also the pressure doesnt look false.



So im uncertain right now, if the boundaries are ok for my case. I dont really trust my results.. :confused:

I would be very grateful, if someone look over my case or can give me some advices what i can do better! :) :cool:

Best regards!







So here is a small part of my solution.output. Most times the values arent changing even after 1000+ iterations.
Code:

Time = 150
smoothSolver:  Solving for Ux, Initial residual = 0.00378163, Final residual = 3.17913e-005, No Iterations 19
smoothSolver:  Solving for Uy, Initial residual = 0.00795081, Final residual = 6.85687e-005, No Iterations 23
smoothSolver:  Solving for Uz, Initial residual = 0.00467368, Final residual = 4.40989e-005, No Iterations 18
GAMG:  Solving for p, Initial residual = 0.0132319, Final residual = 8.3468e-009, No Iterations 23
GAMG:  Solving for p, Initial residual = 0.00198833, Final residual = 8.91338e-009, No Iterations 14
GAMG:  Solving for p, Initial residual = 0.000139475, Final residual = 5.24627e-009, No Iterations 10
GAMG:  Solving for p, Initial residual = 1.69987e-005, Final residual = 5.30083e-009, No Iterations 7
time step continuity errors : sum local = 2.43281e-007, global = 6.73135e-009, cumulative = 1.22496e-008
smoothSolver:  Solving for epsilon, Initial residual = 0.0105538, Final residual = 0.000100227, No Iterations 14
smoothSolver:  Solving for k, Initial residual = 0.0144642, Final residual = 0.000144077, No Iterations 18
ExecutionTime = 2162.26 s  ClockTime = 2162 s

Here are all the other important Files of my Case.

fvSchemes
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  5                                    |
|  \\  /    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
{
    div(phi,U)      Gauss linearUpwind grad(U);
    div(phi,k)      Gauss upwind;
        div(phi,epsilon)      Gauss upwind;
    div(phi,omega)  Gauss upwind;
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
    default        Gauss linear corrected;
}
interpolationSchemes
{
    default        linear;
}
snGradSchemes
{
    default        corrected;
}
fluxRequired
{
    default        no;
    p              ;
}

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

fvSolution

I already played with the Relaxation-values. The ones provided in Motorbike tutorials also didnt Change something
Code:


/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  5                                    |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
    p
    {
solver GAMG;
tolerance 1e-8;
relTol 0;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration on;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 120;
mergeLevels 1;
maxIter 500;
    }
    Phi
    {
        $p;
    }
    U
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance      1e-8;
        relTol          0.01;
        nSweeps        1;
    }
    k
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance      1e-8;
        relTol          0.01;
        nSweeps        1;
    }
    omega
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance      1e-8;
        relTol          0.01;
        nSweeps        1;
    }
   
    epsilon
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance      1e-8;
        relTol          0.01;
        nSweeps        1;
    }
}
SIMPLE
{
    nCorrectors 1;
    nNonOrthogonalCorrectors 3;
    consistent              yes;
}
potentialFlow
{
    nNonOrthogonalCorrectors 10;
}
relaxationFactors
{
    equations
    {
        U  0.9;
        k  0.9;
        epsilon 0.9;
     
    }
}
cache
{
    grad(U);
}
// ************************************************************************* //

Boundaries:
U
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 1 -1 0 0 0 0];
internalField  uniform (0 0 0);
boundaryField
{

    outlet
{
        type pressureInletOutletVelocity;
        value uniform (0 0 0);
}
    wall
    {
        type            fixedValue;
        value          $internalField;
    }
inlet
{
        type                fixedValue;
        value              uniform (-12 0 0);
}
}

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

p
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -2 0 0 0 0];
internalField  uniform 0;
boundaryField
{
    inlet
    {
        type            zeroGradient;
    }
    outlet
    {
            type            fixedValue;
        value          uniform 0;
    }
    wall
    {
        type            zeroGradient;
    }
}
// ************************************************************************* //

k
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -2 0 0 0 0];
internalField  uniform 0.02;
boundaryField
{
    inlet
    {
        type            fixedValue;
        value          uniform 0.02;
    }
    outlet
    {
        type            zeroGradient;
    }
    wall
    {
        type            kqRWallFunction;
        value          $internalField;
    }
}

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

epsilon
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -3 0 0 0 0];
internalField  uniform 0.038;
boundaryField
{
  wall
    {
        type            epsilonWallFunction;
          value  $internalField;
    }
    inlet
    {
        type            fixedValue;
        value          $internalField;
    }
    outlet
    {
        type            zeroGradient;
    }

}

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

nut
Code:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -1 0 0 0 0];
internalField  uniform 0;
boundaryField
{

    inlet
    {
        type            calculated;
        value          uniform 0;
    }
    outlet
    {
        type            calculated;
        value          uniform 0;
    }
    wall
    {
        type            nutkWallFunction;
        value          uniform 0;
    }
}

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

CheckMesh-File
Code:

Create time
Create polyMesh for time = 0
Time = 0
Mesh stats
    points:          1768526
    faces:            4478326
    internal faces:  4058490
    cells:            1368541
    faces per cell:  6.2379
    boundary patches: 4
    point zones:      0
    face zones:      0
    cell zones:      1
Overall number of cells of each type:
    hexahedra:    1146266
    prisms:        48425
    wedges:        0
    pyramids:      0
    tet wedges:    93
    tetrahedra:    0
    polyhedra:    173757
    Breakdown of polyhedra by number of faces:
        faces  number of cells
            4  26247
            5  14342
            6  20343
            7  2
            8  3
            9  86303
          10  12
          12  18976
          13  3
          15  7379
          18  147
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 basic patch addressing...
                  Patch    Faces  Points
                    wall  350661  378310
                  inlet    4354    4505
                  outlet    51327    51795
Checking geometry...
    Overall domain bounding box (-3.88806 -3.63696 -0.632848) (2 -0.04195 1.917)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-1.95926e-016 -1.8415e-015 1.707e-016) OK.
    Max cell openness = 3.4469e-016 OK.
    Max aspect ratio = 7.21486 OK.
    Minimum face area = 2.51639e-006. Maximum face area = 0.00302785.  Face area magnitudes OK.
    Min volume = 4.5284e-009. Max volume = 0.000163703.  Total volume = 2.06708.  Cell volumes OK.
    Mesh non-orthogonality Max: 62.0921 average: 10.7761
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.80749 OK.
    Coupled point location match (average 0) OK.
Mesh OK.



All times are GMT -4. The time now is 23:32.