Situation stationnaire

Conditions aux limites

Grandeur Entrée Ciel Sortie Parois Cheminée
U uniform (0 -5 0) zeroGradient zeroGradient uniform (0 0 0) zeroGradient
p zeroGradient zeroGradient uniform 0 zeroGradient uniform 0
k uniform 9.38e-2 zeroGradient zeroGradient

kqRWallFunction
uniform 9.38e-2

zeroGradient
epsilon uniform  2.48e-4 zeroGradient zeroGradient kqRWallFunction
uniform 2.48e-4
zeroGradient
nut calculated zeroGradient zeroGradient kqRWallFunction
uniform 0
ZeroGradient

Nous prenons une vitesse de 5 m/s pour le vent venant de l'entrée.

La condition zeroGradient en U et uniform 0 en p sur la cheminée consiste à connecter un réservoir infini au bout. Ce choix est fait pour bénéficier d'une aspiration permanente au niveau de la cheminée afin d'extraire tout polluant qui s'y trouverait. Comme le polluant ne peut modifier l'écoulement, nous considérons qu'il existe toujours un débit sortant de la cheminée, mais celui-ci est contrôlé par l'écoulement, et non pas imposé.

Nous exprimons k en supposant une fluctuation de 5 % de la vitesse moyenne :

$$k = \frac{3}{2} . \left ( U' \right )^2 = \frac{3}{2} . \left ( 5.0,05 \right )^2 \approx 9,38.10^{-2} $$

Et nous exprimons epsilon comme :

$$ \epsilon = \frac{ C_{\mu}^{0,75} . k^{1,5} }{ h } = \frac{ 0,09^{0,75} . \left ( 9,38.10^{-2} \right ) ^{1,5} }{ 19,0 } \approx  2.48.10^{-4}$$

Avec h la hauteur du premier bâtiment.

Paramètres de simulation

Fichier controlDict

application     simpleFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         3000;

deltaT          1;

writeControl    runTime;

writeInterval   100;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

Fichier fvSolution

solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-06;
        relTol          0.01;
    }

    U
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-05;
        relTol          0.1;
    }

    k
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-05;
        relTol          0.1;
    }

    epsilon
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-05;
        relTol          0.1;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;

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

relaxationFactors
{
    p               0.3;
    U               0.7;
    k               0.7;
    epsilon         0.7;
}

Fichier fvSchemes

ddtSchemes
{
    default         steadyState;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
    grad(U)         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss upwind;
    div(phi,k)      Gauss upwind;
    div(phi,epsilon) Gauss upwind;
    div(phi,R)      Gauss upwind;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         none;
    laplacian(nuEff,U) Gauss linear corrected;
    laplacian((1|A(U)),p) Gauss linear corrected;
    laplacian(DkEff,k) Gauss linear corrected;
    laplacian(DepsilonEff,epsilon) Gauss linear corrected;
    laplacian(DREff,R) Gauss linear corrected;
    laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
    interpolate(U)  linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p               ;
}