Vous regardez l'équation de conservation de masse:
rémrét= 0
Lorsque l'on considère l'évolution de la masse par unité de volume, cela se résume à l'équation d'advection de la densité sous forme de flux:
∂ρ∂t= - ∇ ⋅ ( ρ u )
La bonne chose à ce sujet est que ce n'est que l'équation d'advection d'un champ scalaire arbitraire (dans notre cas, il s'agit de la densité ) et qu'il est (relativement) facile à résoudre, à condition de disposer de schémas de différenciation temporelle et spatiale adéquats, et d'initiales et les conditions aux limites.ρ
Lors de la conception d'un schéma de différenciation finie, nous nous soucions de la convergence, de la stabilité et de la précision. Un schéma converge si lorsque . La stabilité des schémas garantit que la quantité reste finie lorsque . La précision formelle du schéma indique où se situe l'erreur de troncature dans la série d'expansion de Taylor de la dérivée partielle. Consultez un manuel CFD pour plus de détails sur ces propriétés fondamentales d'un schéma de différenciation. Δt→0At→∞Δ AΔ t→ ∂UNE∂tΔ t → 0UNEt → ∞
Maintenant, l'approche la plus simple consiste à passer directement à la différenciation amont du 1er ordre. Ce schéma est positif-défini, conservateur et efficace en termes de calcul. Les deux premières propriétés sont particulièrement importantes lorsque l'on modélise l'évolution d'une quantité toujours positive (c'est-à-dire masse ou densité).
Pour plus de simplicité, regardons le cas 1-D:
∂ρ∂t= - ∂( ρ u )∂X
Il convient maintenant de définir le flux , de sorte que:Φ = ρ u
∂( ρ u )∂X= ∂Φ∂X≈ Δ ΦΔ x≈ Φi + une / deux- Φje- une / deuxΔx
Voici un schéma de ce que nous simulons:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
Nous évaluons l'évolution de à la cellule . Le gain ou la perte nette provient de la différence entre ce qui entre, et ce qui sort, . C'est là que nous commençons à diverger de la réponse de Paul. Dans une véritable différenciation conservatrice en amont, la quantité au centre de la cellule est transportée par la vitesse à son bord de cellule, dans la direction de son mouvement. En d'autres termes, si vous imaginez que vous êtes la quantité advectée et que vous êtes assis au centre de la cellule, vous êtes transporté dans la cellule devant vous par la vitesse au bord de la cellule. L'évaluation du flux au bord de la cellule en tant que produit de la densité et de la vitesse, à la fois au bord de la cellule, n'est pas correcte et ne conserve pas la quantité advectée.i Φ iρje Φ i + 1 / 2Φi - une / deuxΦi + une / deux
Les flux entrants et sortants sont évalués comme:
Φi + une / deux= ui + une / deux+ | ui + une / deux|2ρje+ ui + une / deux- | ui + une / deux|2ρi + 1
Φi - une / deux= ui - une / deux+ | ui - une / deux|2ρi - 1+ ui - une / deux- | ui - une / deux|2ρje
Le traitement ci-dessus de la différenciation des flux garantit une définition en amont. En d'autres termes, il ajuste la direction de différenciation en fonction du signe de la vitesse.
Le critère de stabilité de Courant-Friedrichs-Lewy (CFL), lors de la différenciation temporelle avec un simple premier ordre, la différenciation d'Euler vers l'avant est donnée comme suit:
μ = u Δ tΔ x≤ 1
A noter qu'en 2 dimensions, le critère de stabilité CFL est plus strict:
μ = c Δ tΔ x≤ 12-√
où est la magnitude de la vitesse, .√cu2+ v2------√
Quelques choses à considérer. Ce schéma peut ou non être approprié pour votre application en fonction du type de processus que vous simulez. Ce schéma est hautement diffusif et convient aux écoulements très lisses sans gradients prononcés. Il est également plus diffusif pour des pas de temps plus courts. Dans le cas 1-D, vous obtiendrez une solution presque exacte si les gradients sont très petits et si . Dans le cas 2-D, cela n'est pas possible et la diffusion est anisotrope.μ = 1
Si votre système physique prend en compte les ondes de choc ou les gradients élevés d'une autre sorte, vous devez rechercher une différenciation en amont d'ordre supérieur (par exemple, 3e ou 5e ordre). En outre, il peut être utile d'examiner la famille de systèmes de transport à flux corrigé (Zalesak, 1979, JCP); correction anti-diffusion pour le schéma ci-dessus par Smolarkiewicz (1984, JCP); Famille de schémas MPDATA par Smolarkiewicz (1998, JCP).
Pour la différenciation temporelle, la différenciation Euler de premier ordre peut être satisfaisante pour vos besoins. Sinon, examinez les méthodes d'ordre supérieur telles que Runge-Kutta (itérative), ou Adams-Bashforth et Adams-Moulton (multiniveau).
Il serait intéressant de consulter certains manuels de niveau supérieur de CFD pour un résumé des programmes mentionnés ci-dessus et bien d'autres.