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

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         cellLimited     leastSquares 0.2;
    grad(p_rgh)     leastSquares;
}

divSchemes
{
    default                         none;

    div(phi,alpha.air)              Gauss upwind;
    div(phir,alpha.air)             Gauss upwind;
    div(phi,alpha.water)            Gauss upwind;
    "div\(phir,alpha.*,alpha.*\)"   Gauss upwind;

    "div\(alphaRhoPhi.*,U.*\)"      Gauss upwind;
    "div\(phi.*,U.*\)"              Gauss upwind;
    "div\(phi.air,moment.*\)"       Gauss upwind;

    "div\(alphaRhoPhi.*,(h|e).*\)"  Gauss upwind;
    "div\(alphaRhoPhi.*,K.*\)"      Gauss upwind;
    "div\(alphaPhi.*,p\)"           Gauss upwind;

    "div\(alphaRhoPhi.*,(k|epsilon).*\)"  Gauss upwind;
    "div\(phim,(k|epsilon)m\)"      Gauss upwind;

    div(devRhoReff.water)           Gauss linear;

    "div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;

    div((((alpha.air*rho.air)*nu.air)*dev2(T(grad(U.air))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;
    laplacian(moment.1.air,corr)    Gauss linear limited 1.0;
}

interpolationSchemes
{
    default         linear;

    "interpolate\(moment.*\)" upwind phi.air;

    reconstruct(U)          upwind;
    reconstruct(weight)     upwind;
    reconstruct(abscissa)   upwind;
}

snGradSchemes
{
    default         corrected;
    snGrad(corr)    limited     1.0;
}

wallDist
{
    method meshWave;
    nRequired yes;
}


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