DnsFoam

Le solveur permet de calculer tous les effets sans avoir besoin de modèle pour la turbulence en utilisant la méthode Direct Numerical Simulation.

Ce solveur a été la source de beaucoup de problèmes.

Premièrement, dnsFoam est un solveur qui utilise des transformées de Fourier. Pour cette raison, il impose plusieurs conditions sur le maillage. Celui-ci doit être complètement régulier, la méthode de fft n'étant pas valable sur des maillages irréguliers. C'est-à-dire qu'il nous a fallu adapter notre maillage, que nous utilisions avec pisoFoam, pour qu'il soit régulier, mais aussi suffisamment fin.  Il a fallu du temps pour déterminer que c'était l'irrégularité du maillage qui empêchait le code de tourner. Le temps de calcul a de plus été considérablement augmenté par ce problème.

Deuxièmement, dnsFoam nous demande d'entrer certaines valeurs pour modéliser la turbulence. Bien que cela semble étonnant au premier abord, car le principe même de la DNS est qu'elle n'a besoin d'aucune valeur de modèle pour modéliser correctement la turbulence. Pourtant, lorsque l'on garde les valeurs proposées dans le tutorial, voilà ce que l'on obtient :

La turbulence n'est pas vraiment réaliste, très peu diffuse et de grande amplitude. Nous avons effectué beaucoup de recherche pour comprendre l'utilité de ces 4 valeurs (nommées UOkappa, UOsigma, UOKupper et UOKlower). Les forums dédiés à OpenFoam ne nous ont pas été d'une grande aide, le peu d'utilisateurs semblant les connaître restant très flou sur la signification de ces valeurs. Nous avons trouvé que ce sont les 4 constantes nécessaires à la création d'une loi de probabilité uniforme, servant à forcer la turbulence (valeurs minimale et maximale, écart-type...) dans le cadre d'un procédé dit de Ornstein–Uhlenbeck. Nous ne somme malheureusement pas en mesure d'expliquer à quoi correspondent ces valeurs aléatoires. De plus amples informations peuvent être trouvées sur la page du site Wikipedia. Pour les simulations suivantes, nous avons mis toutes ces valeurs à 0, en espérant que la turbulence serait correctement modélisée.

Malgré une erreur dans la vitesse, on observe que la température correspond bien au profil, en particulier loin de la paroi. Il faut aussi prendre en compte que la DNS (comme la LES) n'a pas vraiment de signification physique lorsqu'elle est en 2D, et que l'erreur peut venir de là. Cependant, les contraintes de maillages ne nous ont pas permis de tenter un calcul avec davantage de mailles en 3D.