RAPPORT


I. Introduction

II. Problème physique

III. Tests de validation du code MAD_0

  1. Advection-Diffusion stationnaire
  2. Diffusion transitoire

IV. Généralisation des conditions initiales et aux limites

  1. Modification de la condition initiale
  2. Définition de conditions aux limites mixtes

V. Etude de cas particuliers

  1. Diffusion transitoire
  2. Advection transitoire
  3. Advection- Diffusion transitoire

VI. Conclusion


I. Introduction

De nombreux problèmes d'écoulements et de transferts rencontrés dans les problèmes de mécanique des fluides industriels, environnementaux, ou géophysiques, peuvent être ramenés à un problème d'advection-diffusion.

Les phénomènes qui peuvent être modélisés sous cette forme générique sont :

Le projet MAD1 a été réalisé dans le cadre du BES Nouveaux Codes. Notre tâche consistait à élaborer un nouveau programme à partir de deux programmes déjà existants MAD_0 et PDE1, qui modélisent l'équation d'advection-diffusion monodimensionnelle transitoire ou stationnaire où les coefficients d'advection et de diffusion sont des constantes.

d(teta)/dt + V d(teta)/dx = D d2(teta)/dx2

où V représente la vitesse d'advection

et D représente le coefficient de difffusion.

Les principaux objectifs de cette tâche étaient de tester le code MAD_0 sur des cas typiques et de modifier les conditions initiales et aux limites du programme MAD_0.

Retour au sommaire du Rapport de MAD1


II. Problème physique

Pour analyser physiquement le rôle des coefficients de diffusion et d'advection, il est intéressant d'introduire le nombre de Peclet.

Le nombre de Peclet compare les propriétés advectives et diffusives d'un écoulement. Il est défini comme le rapport entre le temps caractéristique de diffusion sur le temps caractéristique d'advection.

Dans le cas d'une étude numérique, on peut définir deux nombres de Peclet : le Pegrille et le Pephysique.

Pegrille = CV*deltax / CD

Pephysique = CV*L / CD

Si Pephysique <<2, alors l'écoulement est dominé par la diffusion

Si Pephysique >>2, alors l'écoulement est dominé par l'advection

L / CV repésente le temps caractéristique d'advection, c'est-à-dire le temps qu'il faut à une perturbation pour être advecté de l'entrée à la sortie du domaine. Il faut donc veiller à choisir un temps de simulation supérieure à ce temps d'advection pour que la simulation soit repésentative.

Nous avons étudié graphiquement les variations du coefficient de diffusion et du nombre de Peclet.

Retour au sommaire du Rapport de MAD1


III. Tests de validation du code MAD_0

Pour se placer dans le cas stationnaire, il faut prendre un pas de temps infini. Dans le programme utilisé, une variable inverse du pas de temps est définie, que l'on choisit donc nulle dans ce cas.

L'équation est alors :

V d(teta)/dx = D d2(teta)/dx2

La condition initiale est un créneau et les conditions aux limites en entrée et en sortie sont respectivement du type Dirichlet teta(0,t) = 1 et du type Neumann d(teta)(L,t)/dx = 0. On observe alors un créneau qui correspond bien à la solution analytique du régime établi.

Dans ce cas, la vitesse d'advection est nulle (V = 0) et l'équation devient :

d(teta)/dt = D d2(teta)/dx2

La condition initiale est prise sinusoïdale sous la forme : tetao(x) = 1- sin (3.14*x/2L) où L représenta la longueur du domaine.

Les conditions aux limitessont définies ici telles que l'on ait une condition de Dirichlet à l'entrée teta(0,t) = 1 et une condition de Neumann à la sortie d(teta)(L,t)/dx = 0. Pour se placer dans ce cas, il faut choisir les valeurs adaptées dans le fichier DATA.DAT :

De plus, les fonctions K(t) et M(t) sont égales respectivement à 1 et 0.

Les résultats obtenus sont tracés grâce à xmgr à différents instants. On obtient le graphe suivant :

Diffusion pure en régime transitoire

A l'entrée, on a imposé une condition de Dirichlet, donc toutes les courbes partent du même point 1. En revanche, à la sortie, où on a une condition de flux, on observe bien le phénomène de diffusion.



Retour au sommaire du Rapport de MAD1


IV. Généralisation des conditions initiales et aux limites

Le produit que nous avons élaboré (MAD_1) est dérivé du code de calcul MAD_0 déjà existant. Nous y avons apporté des modifications concernant essentiellement les conditions initiales et les conditions aux limites.

La condition initiale proposée dans MAD_0 était une condition en échelon. Nous l'avons modifiée en une condition sinusoïdale de la forme 1 - sin(3.14*x/2L) où L représente la longueur totale du domaine. Nous avons veillé dans le changement de cette condition à ce que notre condition initiale soit compatible avec les conditions aux limites.

L'un des principaux objectifs de notre tâche était de généraliser les conditions aux limites. Dans MAD_0, la condition en amont est une condition de Dirichlet : teta(0,t) = 1 et la condition en aval est une condition de Neumann : d(teta)(L,t)/dx = 0.

Dans MAD_1, nous avons défini des conditions aux limites mixtes, dites conditions de Robin.

A l'entrée, la condition est : a teta+b d(teta)/dx = K(t)
A la sortie, la condition est : c teta+d d(teta)/dx = M(t)

où a,b,c et d sont des constantes

et K(t) et M(t) sont des fonctions de t.

Retour au sommaire du Rapport de MAD1


V. Etude de cas particuliers

La condition initiale est toujours choisie sinusoïdale, de même que dans le cas de diffusion pure.

Nous avons pris pour ce cas des conditions aux limites de type Neumann à l'entrée et à la sortie. Nous imposons un flux nul à l'entrée et à la sortie avec comme coefficients a, b, c et d :

Les fonctions K(t) et M(t) sont égales à 1.

Nous obtenons le graphe suivant :

Advection-Diffusion en régime transitoire

Dans ce cas le coefficient de diffusion est nul ( D=0), et l'équation devient :

d(teta)/dt + V*d(teta)/dx = 0

condition initiale : fonction échelon de teta.

condition à la limite : condition de flux nul à l'entrée et à la sortie.

Les fonctions K(t) et M(t) sont égales à 1.

Nous obtenons le graphe suivant :

Advection pure

On a imposé un échelon de teta en condition initiale. Cet échelon se propage à la vitesse V d'advection. Parallèlement à cela, on remarque qu'il n'y a quasiement pas de diffusion. En fait, le peu de diffusion que l'on observe est du à une limite du code qui effectue une division par 0 lors de la résolution si on prend le coefficient de diffusion D=0.

Ce cas correspond au cas le plus général, où les deux coefficients V et D sont non nuls.

La condition initiale est un créneau.

Les conditions aux limites sont définies ici telles que l'on ait une condition de Dirichlet à l'entrée teta(0,t) = 0 et une condition de Neumann à la sortie d(teta)(L,t)/dx = 0. Pour se placer dans ce cas, il faut choisir les valeurs adaptées dans le fichier DATA.DAT :

les fonctions K(t) et M(t) sont égales respectivement à 0 et 1

On obtient le graphe suivant :

Advection-Diffusion en instationnaire

Le cas de l'advection-diffusion d'un créneau est intéressant car il nous permet de visualiser, d'une part l'advection (propagation du maximum), et d'autre part la diffusion (diminution et étalement de la "bosse").



Retour au sommaire du Rapport de MAD1


VI. Conclusion

Le code que nous avons élaboré possède certaines limites. Des améliorations sont à prévoir qui pourront faire l'objet de nouvelles tâches :

D'un point de vue "physique",

  • Il faudrait pouvoir prendre en compte d'éventuels termes sources.
  • Il serait intéressant de pouvoir travailler sur des coefficients non constants.
  • D'un point de vue "informatique",

  • Il faudrait améliorer l'interface utilisateur
  • Saisie des conditions initiales et aux limites hors du programme
  • Exploitation graphique des résultats à insérer dans le programme
  • Retour au sommaire du cours