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

solvers
{
    p
    {
        solver          GAMG;
        smoother        GaussSeidel;
        
        //solver          PCG;
        //preconditioner  DIC;
        
        tolerance       1e-06;
        relTol          0.05;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    Phi
    {
        $p;
    }

    "U.*"
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance       1e-8;
        relTol          0;
        nSweeps         1;
    }

    "k.*"
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance       1e-8;
        relTol          0;
        nSweeps         1;
    }

    "(omega|epsilon).*"
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        tolerance       1e-8;
        relTol          0;
        nSweeps         1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors  2;
    consistent                yes;
    pRefCell                  0;
    pRefValue                 0;

    residualControl
    {
        p                   1e-3;
        U                   1e-5;
        "(k|epsilon|omega)" 1e-5;
    }

}

PIMPLE
{
    momentumPredictor   yes;
    nOuterCorrectors    1;
    nCorrectors         2;
    nNonOrthogonalCorrectors 1;
}

potentialFlow
{
    nNonOrthogonalCorrectors  10;
    PhiRefCell                0;
    PhiRefValue               0;
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        U               0.5;
        k               0.5;
        "(omega|epsilon)" 0.5;
    }
}

cache
{
    grad(U);
}

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