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

SimpleFoam Diverge on Coil HeatExchanger Tank

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   May 2, 2020, 15:24
Thumbs up SimpleFoam Diverge on Coil HeatExchanger Tank
  #1
New Member
 
Lionel Ivan's Avatar
 
Lionel Ivan
Join Date: May 2020
Location: Argentina, Buenos Aires
Posts: 2
Rep Power: 0
Lionel Ivan is on a distinguished road
Hello Foamers,
I've experimenting converge problems with SimpleFoam, my intention is to run a Forced Heat Convection Case (FCTest), at first with a variation of tutorial's room "movingFanInRoom". As it had multiple problems, I re-wrote all the case in a new type of problem: a coil heat exchange tank. Schematically something like:

Tube Coil Heat Exchanger schematic - Image

With FreeCAD, I build some kind of version for my new case:

FCTest-3 Body Like - Image

Check Mesh give me:

Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 7-1ff648926f77
Exec   : checkMesh
Date   : May 02 2020
Time   : 17:03:56
Host   : "3ece253b8250"
PID    : 366
I/O    : uncollated
Case   : /home/openfoam/run/FCTest-3
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           1793428
    faces:            4953396
    internal faces:   4722081
    cells:            1582927
    faces per cell:   6.1124
    boundary patches: 4
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     1499468
    prisms:        3566
    wedges:        0
    pyramids:      0
    tet wedges:    8
    tetrahedra:    0
    polyhedra:     79885
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   6538
            5   7291
            6   7064
            9   51660
           12   6368
           15   964

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
                   inLet      248      287  ok (non-closed singly connected)
                  outLet      574      597  ok (non-closed singly connected)
              conteiner2   162660   162769  ok (non-closed singly connected)
                helice-3    67833    77515      ok (closed singly connected)

Checking geometry...
    Overall domain bounding box (0.00299734 0.00299863 0.00299783) (0.297003 0.200038 0.503003)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-9.65822e-17 -6.47508e-16 5.6816e-16) OK.
    Max cell openness = 3.58514e-16 OK.
    Max aspect ratio = 10.7391 OK.
    Minimum face area = 2.77567e-07. Maximum face area = 2.19009e-05.  Face area magnitudes OK.
    Min volume = 6.26419e-10. Max volume = 5.67002e-08.  Total volume = 0.0277642.  Cell volumes OK.
    Mesh non-orthogonality Max: 64.9115 average: 8.08358
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 3.93848 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
My boundaries are 4, "Conteiner2" is the rectangular tank, "helice-3" is Coil, "inLet" the upper hole, and the "outLet" side hole. You can see a list here (image version).

Here's how case mesh looks like - image

When I run simpleFoam at first instance to check that flows goes fine, k grows up (blows up) from time 9 to 13 approximately when Foam experiments floating point exception. K max initially is around 2.27e0 but then jumps above 5e+68.

I analysed results with paraFoam and found a singularity point (see image1 or image2) where flows accelerates x2 approximately without a physical reason. Then the acceleration expands to all container like a bomb, and also K. I made a few cuts of that region (you can see image gallery).

I think that is a kind of mistake with wall calculations because I've got same singularity in my previous case (the room) also in a wall corner.

I'm investigating Convergent factors, but I'm really new in CFD and also OpenFoam, so probably there is something that I'm not seeing right now.

I change my relaxation factors (lower), and decrease my time step. It works better, i could reach T=14 but still having the same problem.


Here's my last fvSchemes and fvSolution code:

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

solvers
{
    p_rgh
    {
        solver           GAMG;
        tolerance        1e-7;   //antes -7
        relTol           0.01;

        smoother         DICGaussSeidel;

    }
  
    p
    {
        solver          GAMG;
        tolerance       1e-06;  //antes -6
        relTol          0.01;
        smoother        GaussSeidel;
    }

    "(U|k|epsilon|h)"
    {
        solver 		smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-05; //antes -5
        relTol          0.01;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;
    consistent      yes;

    residualControl
    {
        p               1e-2;
        U               1e-3;
        "(k|epsilon|omega|f|v2)" 1e-3;
    }
    pRefCell    0;
    pRefValue    0;
}

relaxationFactors
{
    equations
    {
        U               0.7; // 0.9 is more stable but 0.95 more convergent
	k		0.7;
	epsilon  	0.7;
        ".*"            0.7; // 0.9 is more stable but 0.95 more convergent
    }
}


// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.x                                   |
|   \\  /    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 linearUpwind grad(U);
    div(phi,k)      bounded Gauss limitedLinear 1;
    div(phi,epsilon) bounded Gauss limitedLinear 1;
    div(phi,K)      bounded Gauss upwind;  
    div(phi,h)      bounded Gauss upwind; //limitedLinear 0.2
    // div(phi,omega)  bounded Gauss limitedLinear 1;
    // div(phi,v2)     bounded Gauss limitedLinear 1;
    div((nuEff*dev2(T(grad(U))))) Gauss linear;
    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
    div(nonlinearStress) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

wallDist
{
    method meshWave;
}


// ************************************************************************* //
I'm running OpenFoam 7 in Fedora Linux 31 inside a docker container, on a cuad-core Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz with 8 GB of Ram and 5 GB of Swap.

All case files you can find in this link.
Error Log is here.

I'll appreciate all kind of help or advices,
Thanks you in advance
__________________
Eng. Lionel Ivan

Last edited by Lionel Ivan; May 3, 2020 at 09:00.
Lionel Ivan is offline   Reply With Quote

 

Tags
divergence, kepsilon, kepsilonmodel, simplefoam, simplefoam convergence


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
ANSYS Fluent Sloshing in baffled tank simulation Fisya CFD Freelancers 2 August 27, 2019 17:55
coil tank yassoub FLUENT 0 September 14, 2017 09:40
simpleFoam parallel solver & Fluent polyhedral mesh Zlatko OpenFOAM Running, Solving & CFD 3 September 26, 2014 06:53
Mixing Tank using simpleFoam - PLEASE HELP! sbusmayer OpenFOAM Running, Solving & CFD 3 October 23, 2013 18:30
Emptying Tank simpleFoam idrama OpenFOAM 6 May 10, 2013 03:38


All times are GMT -4. The time now is 04:37.