/*--------------------------------*- 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      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(T)         Gauss linear;
}

divSchemes
{
    default         Gauss linear;

    div(rhoPhi,U)   Gauss upwind;
    div(U)          Gauss linear;

    div(phi,alpha)  Gauss vanLeer;
// UEqn
    div(phia,Ua)    Gauss linearUpwind grad(Ua);
    div(phib,Ub)    Gauss linearUpwind grad(Ub);
    div(phirb,alpha) Gauss linear;
    div(phir,alpha) Gauss linear;

    div(phi,alpha.water) Gauss upwind;

    div(phi,epsilon) Gauss upwind;
    div(phi,k)       Gauss upwind;

    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
    div((nuEff*dev2(T(grad(U)))))  Gauss linear;
    div(tauDm) Gauss linear;

// alphaPlastic
    div(phia,alphaPlastic)    Gauss upwind;
// pa
    div(phia,pa_new_value)    Gauss upwind;
}

laplacianSchemes
{
    default         Gauss linear corrected;
    laplacian(diffusivity,cellDisplacement)  Gauss linear corrected;
// UEqn
    laplacian(nuEffa,Ua) Gauss linear corrected;
    laplacian(nuEffb,Ub) Gauss linear corrected;
    laplacian(nuFra,Ua)  Gauss linear corrected;
// pEqn
    laplacian((rho*(1|A(U))),p_rbgh) Gauss linear corrected;
// k and EpsilonEqn 
    laplacian(DkEff,k) Gauss linear corrected;
    laplacian(DkEff,beta) Gauss linear corrected;
    laplacian(DepsilonEff,epsilon) Gauss linear corrected;
    laplacian(DepsilonEff,beta) Gauss linear corrected;
    laplacian(DomegaEff,omega) Gauss linear corrected;
//ThetaEqn
    laplacian(kappa,Theta) Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

oversetInterpolation
{
    method         cellVolumeWeight;

//    method              trackingInverseDistance;
//    searchBoxDivisions  2{(100 100 1)};
}

fluxRequired
{
    default         no;
    pcorr           ;
    p_rbgh               ;
    alpha.a               ;
}
oversetInterpolationSuppressed
{
    grad(p_rbgh);
    surfaceIntegrate(phiHbyA);
    surfaceIntegrate(phiaHbyA);
    surfaceIntegrate(phibHbyA);
}

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