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/)
-   -   cyclicAMI - kOmegaSST - divergence issue (https://www.cfd-online.com/Forums/openfoam-solving/207789-cyclicami-komegasst-divergence-issue.html)

cyln October 2, 2018 15:43

cyclicAMI - kOmegaSST - divergence issue
 
Hello, I am running a transient RANS simulation using pimpleFoam on OF4.1. My grid is a combination of non-comformal unstructured and structured grids. I defined an interface between the two grids using cyclicAMI (noOrdering).

I have completed my laminar simulation as it had been running without any issues. However, whenever I switch to kOmegaSST turbulence model, my simulation diverges whenever turbulence transport equations are solved for the first time. Before, I was using kOmegaSST for the same case with fully unstructured grid (without cyclicAMI) and it had been running for several thousand time steps. So, I know the divergence is related to cyclicAMI (noOrdering). I tried kEpsilon and kOmega, and I still got divergence.

As for discretization schemes, I am using linearUpwind for U, k and omega.

My boundary conditions are given below. Can anybody suggest me why my turbulent simulation (with cyclicAMI) is diverging?

polyMesh/boundary
Code:

7
(
    FARFIELD
    { 
        type            patch;
        nFaces          65021;
        startFace      67971616;
    }
    OUTLET
    { 
        type            patch;
        nFaces          6249;
        startFace      68036637;
    }
    BODY
    { 
        type            wall;
        inGroups        1(wall);
        nFaces          158614;
        startFace      68042886;
    }
    INTEROUTT2
    { 
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          40559;
        startFace      68201500;
        matchTolerance  0.001;
        transform      noOrdering;
        neighbourPatch  INTEROUT2;
    }
    INTEROUT2
    { 
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          53599;
        startFace      68242059;
        matchTolerance  0.001;
        transform      noOrdering;
        neighbourPatch  INTEROUTT2;
    }
    INTERFACET2
    { 
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          249569;
        startFace      68295658;
        matchTolerance  0.001;
        transform      noOrdering;
        neighbourPatch  INTERFACE2;
    }
    INTERFACE2
    {
        type            cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          308799;
        startFace      68545227;
        matchTolerance  0.001;
        transform      noOrdering;
        neighbourPatch  INTERFACET2;
    }

0/U
Code:

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

internalField  uniform (-40 0 0);

boundaryField
{
    FARFIELD
    {
        type fixedValue;
        value uniform (-40 0 0);
    }

    BODY
    {
        type            noSlip;
    }

    OUTLET
    {
        type            zeroGradient;
    }

        INTEROUTT2
    {
        type cyclicAMI;
    }

    INTEROUT2
    {
        type cyclicAMI;
    }

    INTERFACET2
    {
        type cyclicAMI;
    }

    INTERFACE2
    {
        type cyclicAMI;
    }
}

0/p
Code:

internalField  uniform 0.0;

boundaryField
{
    FARFIELD
    {
            type          zeroGradient;
    }

    BODY
    {
        type            zeroGradient;
    }

    OUTLET
    {
        type            fixedValue;
        value          uniform 0.0;
    }

        INTEROUTT2
    {
        type            cyclicAMI;
    }
    INTEROUT2
    {
        type            cyclicAMI;
    }


    INTERFACET2
    {
        type            cyclicAMI;
    }
    INTERFACE2
    {
        type            cyclicAMI;
    }
}

0/k
Code:

internalField  uniform 1e-6;

boundaryField
{

    FARFIELD
    {
        type fixedValue;
        value uniform 1e-6;
    }

    BODY
    {
        type          fixedValue;
        value          uniform 0.0;
    }

    OUTLET
    {
        type            zeroGradient;
    }

                INTEROUTT2
    {
        type cyclicAMI;
    }

    INTEROUT2
    {
        type cyclicAMI;
    }

    INTERFACET2
    {
        type cyclicAMI;
    }

    INTERFACE2
    {
        type cyclicAMI;
    }

0/omega
Code:

internalField  uniform 0.55 ;


boundaryField
{

    FARFIELD
    {
        type fixedValue;
        value uniform 0.55;    //  0.0017; // 22.36;
    }

    BODY
    {
        type          fixedValue;
        value          uniform 241632653;
    }

    OUTLET
    {
        type            zeroGradient;

        }

        INTEROUTT2
    {
        type cyclicAMI;
    }

    INTEROUT2
    {
        type cyclicAMI;
    }

    INTERFACET2
    {
        type cyclicAMI;
    }

    INTERFACE2
    {
        type cyclicAMI;
    }

0/nut
Code:

internalField  uniform 0;

boundaryField
{

    FARFIELD
    {
      type            calculated;
      value          uniform 0;
    }

    OUTLET
    {
        type            calculated;
        value          uniform 0;
    }

    BODY
    {
        type            fixedValue;
        value          uniform 0;
    }

                INTEROUTT2
    {
        type cyclicAMI;
  }

    INTEROUT2
    {
    type cyclicAMI;


}

    INTERFACET2
    {
      type cyclicAMI;


 }

    INTERFACE2
    {
        type cyclicAMI;

}


tomf October 5, 2018 10:06

Hi,

I am guessing (as you did not show the exact output) that you have a divide by zero at the cyclicAMI interfaces. The reason is that you have no value entry and this may mean that a default of 0 is used. Just give a value equal to your internalField and rerun?

Regards,
Tom


All times are GMT -4. The time now is 06:26.