I. Introduction
III. Tests de validation du code MAD_0
IV. Généralisation des conditions initiales et aux limites
VI. Conclusion
Les phénomènes qui peuvent être modélisés sous cette forme générique sont :
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
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.
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.
Dans MAD_1, nous avons défini des conditions aux limites mixtes, dites conditions de Robin.
où a,b,c et d sont des constantes
et K(t) et M(t) sont des fonctions de t.
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
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",
D'un point de vue "informatique",