Une bonne différence finie pour l'équation de continuité


22

Quelle serait une bonne discrétisation par différence finie pour l'équation suivante:

ρt+(ρu)=0 ?

Nous pouvons prendre le cas 1D:

ρt+ddx(ρu)=0

Pour une raison quelconque, tous les schémas que je peux trouver concernent la formulation en coordonnées lagrangiennes. Je suis venu avec ce schéma pour le moment (ne tenez pas compte de l' indice j ):

ρje,jn+1-ρje,jnτ+1hX(ρje+1,jn+1+ρje,jn+12uXje+1/2,jn-ρje,jn+1+ρje-1,jn+12uXje-1/2n)=0

Mais semble être vraiment instable ou avoir une horrible condition de stabilité. Est-ce vrai?

La vitesse est en fait calculée par la loi de Darcy . De plus, nous avons l'équation d'état. Le système complet se compose également d'une équation énergétique et de l'équation d'état pour le gaz idéal. Les vitesses peuvent devenir négatives .u=-kμp


Dans le cas 1D, le problème est essentiellement un pde hyperbolique de premier ordre. Avez-vous essayé d'utiliser un schéma de différences finies au premier ordre?
Paul

Jusqu'à présent, je cours avec ce que j'ai écrit dans la question. Mon cas est en fait 2d cependant. Mais comme il s'agit d'une telle équation classique, je pensais qu'il y aurait également une certaine discrétisation classique.
tiam

Pourriez-vous montrer à quoi ressemblerait un système au près. Je connais le concept de la méthode des volumes finis lorsque vous l'utilisez dans le terme convectif, mais là vous n'avez plus de dérivé spatial comme produit.
tiam

Le champ de vitesse est-il donné ou satisfait-il également une équation d'évolution?
David Ketcheson

La vitesse est en fait calculée par la loi de Darcy . Le système complet se compose également d'une équation énergétique et de l'équation d'état pour le gaz idéal. Les vitesses peuvent devenir négatives. u=-kμp
tiam

Réponses:


21

Vous regardez l'équation de conservation de masse:

mt=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. Δt0AtΔUNEΔtUNEtΔt0UNEt

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Φje+1/2-Φje-1/2Δ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Φje-1/2Φje+1/2

Les flux entrants et sortants sont évalués comme:

Φje+1/2=uje+1/2+|uje+1/2|2ρje+uje+1/2-|uje+1/2|2ρje+1

Φje-1/2=uje-1/2+|uje-1/2|2ρje-1+uje-1/2-|uje-1/2|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ΔX1

A noter qu'en 2 dimensions, le critère de stabilité CFL est plus strict:

μ=cΔtΔX12

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.


Merci pour la réponse. Maintenant, je vois clairement le remontant :). Je vais essayer de l'implémenter maintenant! Je me demande, le fait que les changements de à chaque pas de temps peuvent-ils affecter la stabilité? u
tiam

1
Non, tant que vous respectez la contrainte CFL. Vous pouvez faire un pas de temps adaptatif, c'est-à-dire , ou définir constant en fonction de la vitesse maximale attendue dans votre problème. N'oubliez pas que diverses combinaisons de méthodes de différenciation temporelle et spatiale vous donneront différentes contraintes CFL. ΔtΔt=ΔXmuneX(u)Δt
milancurcic

C'est un peu bizarre, j'ai implémenté le schéma et j'ai réussi à envoyer une impulsion d'une frontière à l'autre et inversement (en inversant la vitesse). Mais dès que je dis que il commence à exiger un pas de temps extrêmement petit, même si la vitesse est inférieure à 1. La définition du pas de temps dynamique tel que défini ci-dessus n'a pas aidé non plus. u=-Cρ
tiam

Ou peut-être que ce n'est pas du tout étrange, peut-être que votre commentaire ci-dessus n'a pas régi le cas où et sont couplés. uρ
tiam

Les contraintes de stabilité et l'ordre de précision sont formellement dérivés et valables pour l'équation d'advection linéarisée - où ne dépend pas de . Dans le passé, j'ai réussi à coupler cette équation avec des équations de Navier-Stokes non linéaires pour u, v. Les contraintes de stabilité formelles ne sont pas satisfaites dans ce cas, mais le maintien de vos incréments fonctionne raisonnablement bas. Lorsque vous définissez , votre équation devient . Vous devriez rechercher (si possible) quel est le critère de stabilité de votre équation. uρu=-Cρρt=C[(ρ)2+ρ2ρ]
milancurcic

13

Dans le cas 1D, vous ne voulez pas utiliser un schéma de différence directe ou centrale pour le terme dérivé spatial car ils sont numériquement instables. Au lieu de cela, il est préférable de discrétiser l'équation avec une différence finie explicite en arrière (au près) pour la dérivée spatiale:(X)

ρjek+1-ρjekΔt+ρjekUjek-ρje-1kUje-1kΔX=0 .

Si les vitesses sont positives, ce schéma en arrière est stable. S'ils sont négatifs, une différence directe fonctionnera. Quoi qu'il en soit, il y a toujours une contrainte sur votre choix de et (nombre courant) pour rendre le schéma stable.ΔXΔt


Est-ce que l'évaluation de à supprimerait plutôt la contrainte ? ρk+1Δt
tiam

Je ne suis pas tout à fait sûr ... Je pense que vous devriez vérifier l'erreur de troncature pour vous assurer qu'elle se rapproche correctement de la PDE. Vous voudrez peut-être considérer les autres schémas implicites sur ce site Web: web.mit.edu/dongs/www/publications/projects/…
Paul
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.