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/)
-   -   Duct flow with two fans - SimpleFOAM stops after first iteration (https://www.cfd-online.com/Forums/openfoam-solving/238456-duct-flow-two-fans-simplefoam-stops-after-first-iteration.html)

Kryoleiche September 14, 2021 04:40

Duct flow with two fans - SimpleFOAM stops after first iteration
 
2 Attachment(s)
Dear foamers,

I'm working on a k-epsilon model of a rectangular, horizontal channel with two fans in parallel, an downward-facing inlet and a upward-facing outlet. The geometry was created using blender for the .STL files and snappyHexMesh for meshing and works fine by itself (tested without fans).

I've implented the fans using cyclic boundary conditions, as it is done in the TJunctionFan tutorial. The fan curves used are somewhat generic and not final.

As a mandatory boundary condition, air is streaming from the inlet with fixed velocity. This was realized using flowRateInletVelocity as a BC with a given volumetric flow rate.

However, upon evaluation, SimpleFOAM only does one iteration and then stops without an error (and without having reached conversion). According to the output file, this happens during the evaluation of the pressure field. I can't figure out if this is due to suboptimal BCs, poor numeric stability or suboptimal solver settings. Please see below for the input files, log files as well as screenshots from Paraview after the first iteration. Advice would be kindly appreciated.

0/p
Code:

/*--------------------------------*- C++ -*----------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class      volScalarField;
    location    "0";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField  uniform 0;

boundaryField
{
    inlet
    {
        type            zeroGradient;
    }
    inletJunction1
    {
        type            zeroGradient;
    }
    inletJunction2
    {
        type            zeroGradient;
    }
    sideFan
    {
        type            zeroGradient;
    }
    sideFanJunction
    {
        type            zeroGradient;
    }
    mainFan
    {
        type            zeroGradient;
    }
    fanJunction
    {
        type            zeroGradient;
    }
    channel
    {
        type            zeroGradient;
    }
    outletJunction1
    {
        type            zeroGradient;
    }
    outletJunction2
    {
        type            zeroGradient;
    }
    outlet
    {
        type            fixedValue;
        value          uniform 0;
    }
    baffleFacesMainFan_master
    {
        type            zeroGradient;
    }
    baffleFacesMainFan_slave
    {
        type            zeroGradient;
    }
    cyclicFacesMainFan_master
    {
        type            fanPressureJump;
        patchType      cyclic;
        patchType      cyclic;
        jump            uniform 0;
        value          uniform 0;
        jumpTable     
        {
            type            polynomial;
            coeffs         
2
(
(0 9620)
(300 0)
)
;
        }
    }
    cyclicFacesMainFan_slave
    {
        type            fanPressureJump;
        patchType      cyclic;
        patchType      cyclic;
        value          uniform 0;
    }
    baffleFacesSideFan_master
    {
        type            zeroGradient;
    }
    baffleFacesSideFan_slave
    {
        type            zeroGradient;
    }
    cyclicFacesSideFan_master
    {
        type            fanPressureJump;
        patchType      cyclic;
        patchType      cyclic;
        jump            uniform 0;
        value          uniform 0;
        jumpTable     
        {
            type            polynomial;
            coeffs         
2
(
(0 9620)
(300 0)
)
;
        }
    }
    cyclicFacesSideFan_slave
    {
        type            fanPressureJump;
        patchType      cyclic;
        patchType      cyclic;
        value          uniform 0;
    }
}


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

0/U
Code:

/*--------------------------------*- C++ -*----------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class      volVectorField;
    location    "0";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField  uniform (0 0 0);

boundaryField
{
    inlet
    {
        type            flowRateInletVelocity;
        volumetricFlowRate
        {
            type            constant;
            value          250;
        }
        extrapolateProfile 0;
        value          uniform (0 0 0);
    }
    inletJunction1
    {
        type            noSlip;
    }
    inletJunction2
    {
        type            noSlip;
    }
    sideFan
    {
        type            noSlip;
    }
    sideFanJunction
    {
        type            noSlip;
    }
    mainFan
    {
        type            noSlip;
    }
    fanJunction
    {
        type            noSlip;
    }
    channel
    {
        type            noSlip;
    }
    outletJunction1
    {
        type            noSlip;
    }
    outletJunction2
    {
        type            noSlip;
    }
    outlet
    {
        type            zeroGradient;
    }
    baffleFacesMainFan_master
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
    baffleFacesMainFan_slave
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
    cyclicFacesMainFan_master
    {
        type            cyclic;
    }
    cyclicFacesMainFan_slave
    {
        type            cyclic;
    }
    baffleFacesSideFan_master
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
    baffleFacesSideFan_slave
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
    cyclicFacesSideFan_master
    {
        type            cyclic;
    }
    cyclicFacesSideFan_slave
    {
        type            cyclic;
    }
}


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

fvSchemes
Code:

/*--------------------------------*- C++ -*----------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    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,omega)  bounded Gauss limitedLinear 1;
    div(phi,v2)    bounded Gauss limitedLinear 1;
    div((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;
}


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

fvSolution

Code:

/*--------------------------------*- C++ -*----------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class      dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    p
    {
        solver          GAMG;
        tolerance      1e-06;
        relTol          0.1;
        smoother        GaussSeidel;
    }

    "(U|k|epsilon|omega|f|v2)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance      1e-05;
        relTol          0.1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;
    consistent      yes;

    residualControl  // legt Grenzen (Änderung) für Konvergenz fest, Simulation endet, wenn erfüllt (auch wenn max. TimeSteps noch nicht erreicht)
    {
        p              1e-4; //1e-2;
        U              1e-4; //1e-3;
        "(k|epsilon|omega|f|v2)" 1e-4; //1e-4;
    }
}

relaxationFactors  // nahe 1 für schnelle Konvergenz, kleiner für mehr Stabilität
{
    equations
    {
    // U              0.9; // 0.9 is more stable but 0.95 more convergent
    //  ".*"            0.9; // 0.9 is more stable but 0.95 more convergent
        p              0.3;
        U              0.7;
        k              0.1; // instabil für größere Werte
        epsilon        0.1; //0.5; instabil für größere Werte
        R              0.95;
        nuTilda        0.95; 
    }
}


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

checkMesh
Code:

/*---------------------------------------------------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 9-89839ae3b8cd
Exec  : checkMesh
Date  : Sep 14 2021
Time  : 10:27:34
Host  : "NB3391"
PID    : 9979
I/O    : uncollated
Case  : /home/hor/OpenFOAM/hor-9/run/tutorials/incompressible/simpleFoam/Asse/Square/Parallel
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:          63756
    faces:            136973
    internal faces:  111485
    cells:            38066
    faces per cell:  6.52703
    boundary patches: 19
    point zones:      0
    face zones:      4
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    27606
    prisms:        818
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:    9642
    Breakdown of polyhedra by number of faces:
        faces  number of cells
            4  156
            5  318
            6  3042
            7  68
            9  5110
          11  2
          12  728
          13  114
          15  104

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      436      569  ok (non-closed singly connected)
          inletJunction1    1510    1806  ok (non-closed singly connected)
          inletJunction2    1270    1455  ok (non-closed singly connected)
                sideFan    2480    2854  ok (non-closed singly connected)
        sideFanJunction    3058    3797  ok (non-closed singly connected)
                mainFan    3270    3656  ok (non-closed singly connected)
            fanJunction      684      815  ok (non-closed singly connected)
                channel    9116    10180  ok (non-closed singly connected)
        outletJunction1    1270    1455  ok (non-closed singly connected)
        outletJunction2    1510    1806  ok (non-closed singly connected)
                  outlet      436      569  ok (non-closed singly connected)
    baffleFacesMainFan_master      108      152  ok (non-closed singly connected)
    baffleFacesMainFan_slave      108      152  ok (non-closed singly connected)
    cyclicFacesMainFan_master        4      17  ok (non-closed singly connected)
    cyclicFacesMainFan_slave        4      17  ok (non-closed singly connected)
    baffleFacesSideFan_master      108      152  ok (non-closed singly connected)
    baffleFacesSideFan_slave      108      152  ok (non-closed singly connected)
    cyclicFacesSideFan_master        4      17  ok (non-closed singly connected)
    cyclicFacesSideFan_slave        4      17  ok (non-closed singly connected)

Checking geometry...
    Overall domain bounding box (-2.5 -45 -7.5) (12.5 25 7.5)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-2.91264e-16 -2.25216e-17 -2.48671e-17) OK.
    Max cell openness = 3.29172e-16 OK.
    Max aspect ratio = 2.67029 OK.
    Minimum face area = 0.00521692. Maximum face area = 1.3035.  Face area magnitudes OK.
    Min volume = 0.000449515. Max volume = 1.33144.  Total volume = 2312.49.  Cell volumes OK.
    Mesh non-orthogonality Max: 46.0156 average: 14.5037
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.38066 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

Log File
Code:

/*---------------------------------------------------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  9
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 9-89839ae3b8cd
Exec  : simpleFoam
Date  : Sep 14 2021
Time  : 10:08:45
Host  : "NB3391"
PID    : 9625
I/O    : uncollated
Case  : /home/hor/OpenFOAM/hor-9/run/tutorials/incompressible/simpleFoam/Asse/Square/Parallel
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 mesh for time = 0


SIMPLE: Convergence criteria found
        p: tolerance 0.0001
        U: tolerance 0.0001
        "(k|epsilon|omega|f|v2)": tolerance 0.0001

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kEpsilon
RAS
{
    model          kEpsilon;
    turbulence      on;
    printCoeffs    on;
    Cmu            0.09;
    C1              1.44;
    C2              1.92;
    C3              0;
    sigmak          1;
    sigmaEps        1.3;
}

No MRF models present

No fvModels present
No fvConstraints present

Starting time loop

Time = 1

smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0264807, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0291994, No Iterations 1
smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 0.0326049, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.997383, Final residual = 0.0233767, No Iterations 1
time step continuity errors : sum local = 0.304401, global = -0.0817178, cumulative = -0.0817178
smoothSolver:  Solving for epsilon, Initial residual = 0.00726389, Final residual = 2.33158e-05, No Iterations 1
smoothSolver:  Solving for k, Initial residual = 1, Final residual = 0.00262554, No Iterations 1
ExecutionTime = 0.48 s  ClockTime = 1 s

Time = 2

smoothSolver:  Solving for Ux, Initial residual = 0.445811, Final residual = 0.0293242, No Iterations 1
smoothSolver:  Solving for Uy, Initial residual = 0.273752, Final residual = 0.00789025, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.334445, Final residual = 0.0262153, No Iterations 1



All times are GMT -4. The time now is 17:46.