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

solvers
{
    "alpha.viscoelastic_liquid.*"
    {
        advectionScheme   isoAdvection;
        isoFaceTol      1e-11;
        surfCellTol     1e-8;
        nAlphaBounds    3;
        snapTol         1e-12;
        clip            true;
        reconstructionScheme plicRDF;
        nAlphaSubCycles 1;
        cAlpha          1; // Note: cAlpha is not used by isoAdvector but must
                           // be specified because interfacePropertes object
                           // reads it during construction.
        nAlphaCorr      2;
    }

    "pcorr.*"
    {
        solver          PCG;


        preconditioner
        {
            preconditioner  GAMG;
            nVcycles        1;
            nPreSweeps      0;
            nPostSweeps     1; 
            nFinestSweeps   1;
            relTol          0;
            tolerance       1e-5;
            maxIter         60;

            smoother        DICGaussSeidel;//ILU;
            nSmoothingSteps 8;

            agglomerator    algebraicPair;
            cacheAgglomeration false;
            mergeLevels     1;
            nCellsInCoarsestLevel 40;
        }

        tolerance       1e-09;
        relTol          0;
    }

    p_rgh
    {
        solver          PCG;
        //preconditioner  DIC;

        preconditioner
        {
            preconditioner  GAMG;
            nVcycles        1;
            nPreSweeps      0;
            nPostSweeps     1; 
            nFinestSweeps   1;
            relTol          0;
            tolerance       1e-5;
            maxIter         60;

            smoother        DICGaussSeidel;//ILU;
            nSmoothingSteps 8;

            agglomerator    algebraicPair;
            cacheAgglomeration false;
            mergeLevels     1;
            nCellsInCoarsestLevel 40;
        }

        tolerance       1e-08;
        relTol          0.005;
    }

    p_rghFinal
    {
        $p_rgh;
        tolerance       1e-09;
        relTol          0;
    }

    U
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-11;
        relTol          0;
    }

    "(tau.*|A.*)"
    {

        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-16;
        relTol          0;
        minIter         0;
        maxIter         100;
    }

}

PIMPLE
{
    momentumPredictor no;
    nCorrectors     3;
    nOuterCorrectors 3;
    nNonOrthogonalCorrectors 0;
    pRefCell        0;
    pRefValue       0;
}

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