J'apprends la théorie derrière les méthodes DG-FEM en utilisant le livre Hesthaven / Warburton et je suis un peu confus quant au rôle du «flux numérique». Je m'excuse s'il s'agit d'une question fondamentale, mais j'ai cherché et je n'ai pas trouvé de réponse satisfaisante.
Considérons l'équation d'onde scalaire linéaire:
Comme introduit dans le livre de Hesthaven, pour chaque élément , on se retrouve avec N équations, une pour chaque fonction de base, imposant que le résidu s'évanouit faiblement:
Bien. Nous passons donc par l'intégration par parties une fois pour arriver à la «forme faible» (1) et nous intégrons par parties deux fois pour obtenir la «forme forte» (2). J'adopterai la forme intégrale de surface de Hesthaven mais trop généralisée en 1D:
(1)
(2)
Pourquoi choisissons-nous un flux numérique? Pourquoi n'utilisons-nous pas la valeur d' à la frontière de (1) au lieu d'utiliser un flux? Oui, il est vrai que la valeur de cette quantité peut être définie par multiplication entre les éléments, mais chaque équation ne dépasse que 1 élément D k , alors pourquoi est-ce important?
De plus, le terme limite de la deuxième intégration par parties donne clairement une quantité différente la deuxième fois en (2), ce qui n'a aucun sens pour moi. Nous faisons la même opération! Pourquoi les deux termes de la frontière ne s'annuleraient-ils pas, rendant (2) inutile? Comment avons-nous introduit de nouvelles informations?
De toute évidence, il me manque quelque chose de crucial pour la méthode, et je voudrais y remédier. J'ai fait une analyse réelle et fonctionnelle, donc s'il y a une réponse plus théorique concernant la formulation, j'aimerais savoir!
la source
Réponses:
Le flux numérique est choisi pour garantir que les informations du problème voyagent dans le sens des courbes caractéristiques de l'équation (remontée). Comme mentionné dans les commentaires, le flux numérique est nécessaire pour coupler les sous-problèmes définis sur chaque élément.
Une façon d'obtenir une intuition pour le rôle du flux numérique est de considérer l'exemple simple suivant.
Considérons l'équation d'advection scalaire (où pour simplifiera=1 )
∂u∂t+∂u∂x=0on Ω,
où le domaine est donné parΩ=[0,1] . Comme il s'agit d'une équation hyperbolique et que les informations se propagent de gauche à droite, nous devons appliquer une condition aux limites àx=0 (mais pas àx=1 ). Pour le concret, supposons que nous appliquons la condition de Dirichletu(0,t)=gD pour certainsgD donnés.
Supposons maintenant on discrétise cette équation en utilisant la méthode DG, et nous utilisons deux éléments,D1=[0,1/2] et D2=[1/2,1] . On pourrait tout aussi bien discrétiser l'ensemble suivant de deux PDE couplés,
(PDE 1):(PDE 2):vt+vxwt+wx=0on D1,=0on D2,
où nous allons coupler ces équations pour les rendre équivalentes à l'équation d'origine.
In other words, we defineu∗h=gD at x=0 , and u∗h=v(1/2,t) at x=1/2 , and we recover exactly the standard upwind flux that is used in the DG method.
Looking at things this way, we can consider the numerical flux functions as weakly enforcing the boundary conditions on each element that are required to couple the equations in such a way that respects the characteristic structure of the equations.
For equations more complicated than constant-coefficient advection, information may not propagate always in the same direction, and so the numerical flux must be determined by solving (or approximating the solution to) a Riemann problem at the interface. This is discussed for linear problems in Section 2.4 of Hesthaven's book.
la source
Very loosely speaking there are two things most discretization techniques need in order to converge to the actual solution of your PDE as you increase their approximation quality, regardless if you're using DG or not:
The first steps of a DG derivation where you integrate by parts on each mesh element preserves (1) because you are starting with the PDE and only applying legal operations from there.
This does not give you (2) though. You can see this yourself by trying to assemble the matrix of a partially formulated DG weak form and looking at its eigenvalues - for time dependent problem we want them all on the left half plane, but without a proper numerical flux they will be everywhere. This leads to a solution that explodes exponentially in time even if the physical problem does not.
Thus you need to add terms to your formulation so that (2) is satisfied, but without hurting (1). This is tricky to do, but not impossible. You can replace function values with cell wall averages without hurting consistency, and you can always add the jump in at cell walls without hurting consistency (because for a solutionu with suitable smoothness property, the jump is just 0!)
The trick is to take combinations of jumps and averages and combine them in a way that your scheme is still consistent but also stable. After that a convergence theorem usually reveals itself.
This is the basics, but you can also often bring in additional physics into the numerical flux so that it doesn't simply satisfy these mathematical requirements but also plays nicely with conservation principles.
la source
When you choose the test function equal to the trial function in the DG method you are creating an optimization problem. That is, you have a Galerkin rather than a Petrov-Galerkin method. You are seeking the time derivatives of the trial function amplitudes that will minimise the element residual in the L2 norm, and you make this miminimisation on the assumption of a given flux function at inflow.
la source