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

SimpleFoam does not converge, velocity bounded

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 28, 2021, 09:44
Default SimpleFoam does not converge, velocity bounded
  #1
Member
 
Join Date: Mar 2019
Posts: 31
Rep Power: 7
Andrea23 is on a distinguished road
Hi,

I have problem with a simulation and I hope you can help me.

I have run a simulation in indoor environment (a room) with inlet condition from 8 diffussers and outlet condition at extraction grilles. I have used simpleFoam with RNG k-epsilon for turbulence model.

The residual are stable, even if a little oscillating, residual for P is order of magnitued of 2*10^-2 and residual for U is 3*10^-3 (Image attached)

I have monitored velocity in 8 points, using probes, the velocity is not constant but it is bounded and oscillating between 2 values, like a periodic phenomena (images attached).

y+ values are: min 1e-2; max 7.6e+1; average 6e+0;

I need to create a finer mesh near walls?

log Check mesh, fvSchemes, fvSolution and Boundary conditions i have used are listed here:
I have even tried the options after "//"

MESH
Code:
Mesh stats
    points:           3859442
    faces:            10134517
    internal faces:   9480040
    cells:            3149724
    faces per cell:   6.22739
    boundary patches: 10
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     2824568
    prisms:        27670
    wedges:        0
    pyramids:      0
    tet wedges:    940
    tetrahedra:    0
    polyhedra:     296546
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   1
            5   2035
            6   67942
            7   10887
            8   179
            9   188981
           10   4
           12   23678
           15   2180
           18   659

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 geometry...
    Overall domain bounding box (-0.000251502 0 -0.00653899) (8.7855 7.23 2.88)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-4.84732e-15 6.82987e-16 -4.54469e-15) OK.
    Max cell openness = 3.74184e-16 OK.
    Max aspect ratio = 6.44698 OK.
    Minimum face area = 4.70551e-06. Maximum face area = 0.00337339.  Face area magnitudes OK.
    Min volume = 4.622e-08. Max volume = 0.000185767.  Total volume = 165.965.  Cell volumes OK.
    Mesh non-orthogonality Max: 50 average: 8.5995
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.632 OK.
    Coupled point location match (average 0) OK.
FVSOLVERS
Code:
solvers
{
    p
    {
        solver GAMG;
        tolerance 1e-07;
        relTol 0;
        smoother GaussSeidel;
       nPreSweeps 0;   //3
       nPostSweeps 2;   //3
       cacheAgglomeration on;
       agglomerator faceAreaPair;
       nCellsInCoarsestLevel 1000; //10; 20; 30;
       mergeLevels 1;

    }

    U
    {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-06;
        relTol          0;
    }
k
        {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-06;
        relTol          0.001;
    }
    epsilon
        {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-06;
        relTol          0.001;
    }

}

SIMPLE
{
   consistent          yes; //no;
   
    residualControl
    {
        p               1e-4;
        U               1e-5;
        "(k|omega|epsilon)" 1e-5;
    }
    nNonOrthogonalCorrectors 1;
   pRefCell        0;  
   pRefValue       0;

}

relaxationFactors
{
    fields
    {
        p            1; //0.3
    }
    equations
    {
        U               0.7;
        "(k|omega|epsilon).*" 0.7;
    }
}

FVSCHEMES
Code:
ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default       cellMDLimited Gauss linear 0; //cellLimited leastSquares 1;//Gauss linear; 
   //grad (p)   Gauss linear 0.333;
     grad (U)    cellMDLimited Gauss linear 0.333;//cellLimited leastSquares 1;
	 
    limited       cellLimited Gauss linear 1; // cellLimited leastSquares 1;
    grad(k)         $limited;
    grad(epsilon)     $limited;  //sto rifacendo che per sbaglio avevo messo il cellLimited per grad(U)
}

divSchemes
{

    default         none;

    div(phi,U)      Gauss linearUpwind grad(U) ; //bounded Gauss linearUpwind limited;

    turbulence      bounded Gauss upwind;
    div(phi,k)      $turbulence;
    div(phi,epsilon) $turbulence;

    div((nuEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear limited 1;//corrected;//orthogonal;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default       limited 1; //corrected; //orthogonal;//  
}
U
Code:
This is before i have initialized the field with potentialFoam

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    diff1
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.044;
        rpm             82.8;
        value uniform   (0 0 0);
    }
    diff2
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.034;
        rpm             103.89;
        value uniform   (0 0 0);
    }
    diff3
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.043;
        rpm             26.32;
        value uniform   (0 0 0);
    }
    diff4
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.045;
        rpm             36.36;
        value uniform   (0 0 0);
    }
    diff5
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.045;
        rpm             79.05;
        value uniform   (0 0 0);
    }
    diff6
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.044;
        rpm             85.30;
        value uniform   (0 0 0);
    }
    diff7
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.039;
        rpm             105.35;
        value uniform   (0 0 0);
    }
    diff8
    {
        type            swirlFlowRateInletVelocity;
        flowRate        0.048;
        rpm             29.88;
        value uniform   (0 0 0);
    }
    outlet
    {
        type            zeroGradient;      //   type            pressureInletOutletVelocity;
      //  value           uniform (0 0 0);
    }
    walls
    {
        type            noSlip;
    }

EPSILON
Code:
dimensions      [0 2 -3 0 0 0 0];

internalField   uniform 0.013;

boundaryField
{
    walls
    {
        type            epsilonWallFunction;
        value           uniform 0.013;
    }
    diff1....diff8
    {
        type            turbulentMixingLengthDissipationRateInlet;
        mixingLength    0.0014;
        value           uniform 0.013;
    }
 
    outlet
    {
        type            inletOutlet;  //zeroGradient;
        inletValue      $internalField;
    }
}
K
Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0.0024;

boundaryField
{
    walls
    {
        type            kqRWallFunction; //kLowReWallFunction; //
        value           uniform 0.0024;
    }
    diff1...diff8
    {
        type            turbulentIntensityKineticEnergyInlet;
        intensity       0.05;
        value           uniform 0.0024;
    }

    outlet
    {
        type            inletOutlet; //zeroGradient;
        inletValue      $internalField;
    }
}
NUT
Code:
dimensions      [0 2 -1 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    walls
    {
        type            nutUWallFunction;
        value           uniform 0;
    }
    diff1...diff8
    {
        type            calculated;
        value           uniform 0;
}
    outlet
    {
        type            calculated;
        value           uniform 0;
    }
}

P
Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    walls
    {
        type            zeroGradient;
    }
    diff1...diff8
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 0;
    }
   
    outlet
    {
        type            fixedValue;
        value           uniform 0;
    }
}
My questions are:

1)Do you know what I could modify to have a convergence?

2)Calculating a mean value for the velocity field is a good idea or it is not accurate? I know RANS calculate mean values so it is a mean of a mean.

Thanks for the help
Attached Images
File Type: png probe5.png (41.7 KB, 6 views)
File Type: png residual.png (129.4 KB, 10 views)
File Type: png probe1.png (37.0 KB, 5 views)
File Type: png prob8.png (50.8 KB, 5 views)

Last edited by Andrea23; September 29, 2021 at 05:41.
Andrea23 is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Fail to converge on triangular mesh using SimpleFoam zizhou OpenFOAM Running, Solving & CFD 0 January 30, 2020 06:26
no residual information for velocity in simpleFoam rcastilla OpenFOAM Running, Solving & CFD 1 August 10, 2015 09:43
VELOCITY vs VELOCITY IN STN FRAME vs RELATIVE VELOCITY everest20 FLUENT 1 July 13, 2015 08:35
WSS and normal velocity gradient for the slanted pipe wanna88 FLUENT 2 October 1, 2012 22:34
what the result is negatif pressure at inlet chong chee nan FLUENT 0 December 29, 2001 05:13


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