CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   solver crashed when it turns into backflow at outlet (http://www.cfd-online.com/Forums/openfoam/96316-solver-crashed-when-turns-into-backflow-outlet.html)

kaifu January 19, 2012 06:01

solver crashed when it turns into backflow at outlet
 
Hi,

Now I am simulating wall subcooled boiling in an upward vertical pipe in a two-fluid Euler-Euler model. Due to the undevelopped velocity/temperature profile at the beginning, a large oscillation of pressure occurs. (Evaporation at the wall introduces a large pressure and condensation in the cold liquid core brings a small one) And finally there could be some backflow at outlet sometime. When the backflow occurs, every transport eqn could be solved except the standard k-epsilon eqn. The solver crashed when it's trying to solver epsilon and gave a message:
Quote:

[1] #0 Foam::error::printStack(Foam::Ostream&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libOpenFOAM.so"
[1] #1 Foam::sigFpe::sigFpeHandler(int) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libOpenFOAM.so"
[1] #2 ?? in "/lib64/libpthread.so.0"
[1] #3 Foam::DILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDPOp
t/libOpenFOAM.so"
[1] #4 Foam::DILUPreconditioner::DILUPreconditioner(Foam: :lduMatrix::solver const&, Foam::dictionary const&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/
linux64GccDPOpt/libOpenFOAM.so"
[1] #5 Foam::lduMatrix::preconditioner::addasymMatrixCons tructorToTable<Foam::DILUPreconditioner>::New(Foam ::lduMatrix::solver const&, Foam::dictionary cons
t&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libOpenFOAM.so"
[1] #6 Foam::lduMatrix::preconditioner::New(Foam::lduMatr ix::solver const&, Foam::dictionary const&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64G
ccDPOpt/libOpenFOAM.so"
[1] #7 Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDP
Opt/libOpenFOAM.so"
[1] #8 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/pdc/vol/openfoam/1.7.1/OpenFOAM-1.7.1/lib/linux64GccDPOpt/libfiniteVolume.so"
[1] #9 main in "/cfs/klemming/nobackup/k/kaifu/OpenFOAM/kaifu-1.7.1/applications/bin/linux64GccDPOpt/myTwoPhaseEulerFoam"
[1] #10 __libc_start_main in "/lib64/libc.so.6"
[1] #11 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116
_pmii_daemon(SIGCHLD): [NID 00819] [c7-0c0s6n3] [Thu Jan 19 02:15:57 2012] PE 1 exit signal Floating point exception
And here is the boundary condtions for epsilon
Code:

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

internalField  uniform 0.079;

boundaryField
{
    inlet
    {
        type            fixedValue;
        value          uniform 0.079;
    }

    outlet
    {
        type            inletOutlet;
        inletValue      uniform 0.079;
        value          uniform 0.079;
    }

    walls
    {
        type            zeroGradient;
    }

    defaultFaces
    {
        type            empty;
    }
}

k:
Code:

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

internalField  uniform 0.0059;

boundaryField
{

    inlet
    {
        type            fixedValue;
        value          uniform 0.0059;
    }

    outlet
    {
        type            inletOutlet;
        inletValue      uniform 0.0059;
        value          uniform 0.0059;
    }

    walls
    {
        type            zeroGradient;
    }
}

pressure BC
Code:

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

internalField  uniform 14.59e5;

boundaryField
{
    inlet
    {
        type            buoyantPressure;
        value          uniform 14.59e5;
    }

    outlet
    {
        type            fixedValue;
        value          uniform 14.59e5;
    }

    walls
    {
        type            zeroGradient;
    }
}

And I also post the BC of Ub (continuous phase) as reference
Code:

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

internalField  uniform (0 0 1.72256);

boundaryField
{
    inlet
    {
        type            fixedValue;
        value          uniform (0 0 1.72256);
    }

    outlet
    {
        type            pressureInletOutletVelocity;
        value          uniform (0 0 0);
    }

    walls
    {
        type            fixedValue;
        value          uniform (0 0 0);
    }
}

Generally Gauss upwind/linear is used as the divSchemes, Gauss linear corrected as laplacianSchemes. And some extra info about the solvers fvSolution.
Code:

    k PBiCG
    {
        preconditioner  DILU;
        tolerance        1e-07;
        relTol          0;
    };

    epsilon PBiCG
    {
        preconditioner  DILU;
        tolerance        1e-07;
        relTol          0;
    };

    p GAMG
    {
        tolerance        1e-7;
        relTol          0.01;

        smoother        DIC;    //DICGaussSeidel; //GaussSeidel;
        nPreSweeps      0;
        nPostSweeps      2;
        nFinestSweeps    2;

        cacheAgglomeration true;
        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels      1;
    };

    pFinal GAMG
    {
        tolerance      1e-8;
        relTol          0;
        smoother        DIC;    //DICGaussSeidel;
        nPreSweeps      0;
        nPostSweeps    2;
        nFinestSweeps  2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels    1;
    };



All times are GMT -4. The time now is 20:40.