Comment les coefficients non constants doivent-ils être traités avec un schéma au vent de premier ordre à volume fini?


11

En commençant par l'équation d'advection sous forme de conservation.

ut=(une(X)u)X

une(X) est une vitesse qui dépend de l'espace, et u est une concentration d'une espèce qui est conservée.

La discrétisation du flux (où le flux F=une(X)u , est défini sur les bords des cellules entre les points de maillage) donne,

ut=1h(Fj-12-Fj+12)

En utilisant un vent de premier ordre, nous approchons les flux comme,

Fj-12=une(Xj-12)uj-1Fj+12=une(Xj+12)uj
Ce qui donne,
ut=1h(une(Xj-12)uj-1-une(Xj+12)uj)

Si une(X) était constant, cela se ramènera au schéma au vent familier, c'est-à-dire ut=uneh(uj-1-uj).

Ma question est, comment pouvons-nous traiter les coefficients non constants de l'équation d'advection? La vitesse est définie au centre des cellules, donc une approche simple serait la suivante,

une(Xj-12)une(Xj-1)une(Xj+12)une(Xj)

C'est mon approche préférée car elle est très simple à mettre en œuvre.

Cependant, nous pourrions également utiliser (je suppose) un schéma de moyenne pour définir la vitesse aux bords des cellules,

une(Xj-12)12une(Xj-1)+12une(Xj)une(Xj+12)12une(Xj)+12une(Xj+1)

Dans le livre de LeVeque, il dit:

Jusqu'à présent, nous avons supposé que la vitesse variable est spécifiée par une valeur constante a j dans la j-ième cellule de la grille. Dans certains cas, il est plus naturel de supposer à la place qu'une vitesse a j - 1une(X)unej est spécifié à chaque interface de cellule.unej-12

Mais il n'élabore pas vraiment trop après cela. Qu'est-ce qu'une approche commune?

Je résout un problème de conservation (j'utilise l'équation d'advection comme équation de continuité), donc je veux m'assurer qu'après avoir appliqué la discrétisation, la propriété de conservation est préservée. Je voudrais éviter toute surprise cachée concernant ces coefficients variables! Quelqu'un a-t-il des commentaires et des conseils généraux?


Mise à jour Il y a deux très bonnes réponses ci-dessous et je n'ai pu en choisir qu'une :(

Réponses:


4

Selon le type de système que vous regardez, il peut être plus pratique de considérer la vitesse comme constante par morceaux dans chaque cellule, ou qu'elle est définie aux interfaces des cellules. Par exemple, en météorologie, les grilles décalées sont assez courantes, où la pression peut être définie à l'intérieur des cellules et la vitesse aux interfaces des cellules. Vous pourriez tout aussi bien penser à la vitesse définie dans les cellules. Tout compte fait: le choix de la représentation ne doit pas affecter la convergence de votre méthode *, à condition que votre discrétisation soit stable et cohérente.une

Ce qui est le plus important (et vous l'avez déjà évoqué dans votre question), c'est que le système discrétisé est toujours conservateur. A condition que votre schéma puisse être écrit sous la forme

ujt=Fj-12(uj-1,uj)-Fj+12(uj,uj+1)

alors il devrait être conservateur, car

.tuX=jujtδX=j(Fj-12-Fj+12)δX=(F-12-FN+12)δX

Votre approche simple devrait fonctionner correctement, tout comme la moyenne de la vitesse entre les cellules pour la définir sur les interfaces cellulaires, à condition que la vitesse soit toujours positive. De plus, je ne pense pas que la moyenne vous apportera une précision supérieure, vous avez donc raison de préférer la méthode simple.

Si vous résolvez également la vitesse et que vous avez un système d'équations, vous devrez peut-être être plus prudent. De même, si vous résolvez un PDE hyperbolique non linéaire et utilisez des limiteurs de flux, vous devez être encore plus prudent.

* Cependant, pour un système de PDE hyperboliques, l'utilisation de grilles décalées peut considérablement améliorer la dispersion / diffusion artificielle. Si vous voulez en savoir plus, consultez les grilles C d'Arakawa ou consultez le chapitre 4 de ce livre .


Merci d'avoir expliqué. Et votre intuition est correcte; Je résous un système d'équations où l'une des équations est la vitesse (un PDE des autres variables). Le système d'équations est uniquement 1D, je prévois d'utiliser une méthode adaptative au premier ordre au vent (peut basculer entre le deuxième ordre au centre et au vent), peut-être avec un ajustement exponentiel. Je n'utilise pas de limiteurs de flux, mais le système n'est pas linéaire. Dois-je être "plus prudent" dans cette situation?
boyfarrell

Tout dépend si vous vous attendez à ce que des ondes de choc et similaires se forment, s'il y a une possibilité que la vitesse passe en dessous de zéro dans certaines régions, ou si la vitesse peut devenir suffisamment élevée pour que vous exécutiez la condition Courant-Friedrichs-Lewy à un moment donné. Cela dit, j'essaierais d'abord l'approche simple pour voir si cela fonctionne, ce qui pourrait bien le faire. Si cela échoue, cela se produira de manière spectaculaire et sans ambiguïté, donc je ne pense pas que vous ayez à vous soucier d'avoir quelque chose de mal à glisser sous votre radar.
Daniel Shapero

Oui, je m'attends à ce que la vitesse soit uniquement non nulle uniquement au centre de mon domaine, puis j'approche rapidement de zéro lorsque l'on s'éloigne du centre. Je choisis le pas de temps pour que la condition CFL soit satisfaite (en utilisant la vitesse max.), Le maillage est fixe. Quels sont les critères d'une onde de choc? Je ne prévois pas voir ça (mais on ne sait jamais).
boyfarrell

5

une(X)

Ce que je veux dire par cohérent, c'est que la seule condition que l'interpolation doit satisfaire est

uneje+1/2+=uneje+1/2-

En d'autres termes, tant que votre méthode d'interpolation est continue à travers les limites des cellules, votre discrétisation est garantie de rester conservatrice.

Cela peut ne pas sembler être un gros problème ici dans 1D (et cela ne devrait pas), mais peut provoquer des problèmes aux interfaces grossières et fines sur les grilles AMR à plusieurs niveaux.


uj+12une(Xj+12)une(Xj+12)une(Xj+1)uj+12

@boyfarrell Ce serait bien dans le sens où la méthode reste conservatrice. Cela affecte cependant la précision de la solution. Souvent, par exemple dans les schémas ENO, on se rapproche de l'ensemble de la fonction de flux et non de la vitesse et de la solution séparément.
GradGuy

4

une(Xj-12)

Pour voir pourquoi il en est ainsi, considérons que la définition analytique du conservateur est que

tu(X)X=une(X)u(X)S,

Si notre discrétisation est de la forme

ut(Xj)=1h(une(Xj-12)uj-12-une(Xj+12)uj+12)

X1,,Xn=[c,]c=X12=Xn+12

1hj=1n(une(Xj-12)uj-12-une(Xj+12)uj+12)=une(X12)u12-une(Xn+12)un+12,

uj-12=uj-1uj+12=ujune(X)u

une(X)une(Xj-r),,une(Xj+s)une(Xj-12)

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.