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

solvers
{
    cellDisplacement
    {
        solver          PCG;
        preconditioner  DIC;

        tolerance       1e-12;
        relTol          0;
        maxIter         1000;
	minIter 1;
    }

    p_rbgh
    {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-8;
        relTol          0.0;
        maxIter         500;
    }

    p_rbghFinal
    {
        $p_rbgh;
        relTol          0;
    }


    pcorr
    {
        $p;
        solver          PCG;
        preconditioner  DIC;
    }

    pcorrFinal
    {
        $pcorr;
        relTol          0;
    }

    "(W|U|k|epsilon|pa_new_value|alphaPlastic|pa)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-8;
        relTol          0;
    }

    "(W|U|k|epsilon|pa_new_value|alphaPlastic|pa)Final"
    {
        $U;
        tolerance       1e-9;
        relTol          0;
    }
    alpha.a
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-10;
        relTol          0;
    }
    alpha.aFinal
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-10;
        relTol          0;
    }

}

PIMPLE
{
    oversetAdjustPhi    true;
    momentumPredictor   no; //recommended on for high Reynolds
    correctPhi          no; //off if we use Overset
    nOuterCorrectors    3; //recommended at least 2 for moving bodies
    nCorrectors         3;
    nNonOrthogonalCorrectors 0;
    nOuterCorrectors    1;
    nCorrectors         1;
    nNonOrthogonalCorrectors 1;
    massFluxInterpolation true;
    ddtCorr             false;
    turbOnFinalIterOnly false;
    pRefPoint           (0.0001 0.0001 0.001);
    pRefValue           0.0;
    correctAlpha    0;
    nAlphaCorr      1;
    moveMeshOuterCorrectors yes;

}

relaxationFactors
{
   fields
   {
   }
   equations
   {
      // ".*"             0.7;
   }
}

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