Comment intégrer les conditions aux limites avec la méthode de Galerkin?

21

J'ai lu quelques ressources sur le Web sur les méthodes Galerkin pour résoudre les PDE, mais je ne suis pas sûr de quelque chose. Ce qui suit est mon propre compte de ce que j'ai compris.

Considérez le problème de valeur limite suivant (BVP):

L[u(x,y)]=0on(x,y)Ω,S[u]=0on(x,y)Ω

est un opérateur de différenciation linéaire du deuxième ordre, Ω R 2 est le domaine du BVP, Ω est la frontière du domaine et S est un opérateur différentiel linéaire du premier ordre. Exprimer u ( x , y ) comme une approximation de la forme:LΩR2ΩSu(x,y)

u(x,y)i=1Naigi(x,y)

où les sont un ensemble de fonctions que nous utiliserons pour approximer u . Substitution dans le BVP:giu

iaiL[gi(x,y)]=R(a1,...,aN,x,y)

Puisque notre approximation n'est pas exacte, le résiduel n'est pas exactement nul. Dans le procédé de Galerkin-Ritz-Raleigh on minimise R par rapport à l'ensemble des fonctions approximativement en exigeant R , g i= 0 . Par conséquentRRR,gi=0

R,gi=j=1NajL[gj],gi=0

Par conséquent, pour trouver les coefficients , nous devons résoudre l'équation de la matrice:ai

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0

Ma question est la suivante: comment puis-je intégrer les conditions aux limites?

EDIT: À l'origine, la question disait que était un opérateur différentiel linéaire du deuxième ordre. Je l'ai changé en un opérateur différentiel linéaire de premier ordre.S[u]

Becko
la source
1
becko, bienvenue à scicomp! Notre politique de publication croisée suit celle des autres sites Stack Exchange . Il est permis de publier plusieurs articles si vous adaptez (plus ou moins) la même question à différents publics. Il est permis de demander à votre question d'être migrée vers un autre site après un certain temps, si vous sentez que votre question ne reçoit pas de réponse satisfaisante (ou pas du tout) sur le site où elle est initialement publiée.
Geoff Oxberry
Cependant, il est généralement considéré comme un comportement abusif de cross-post. Si vous regardez la liste des sites bêta de la zone 51, beaucoup d'entre eux sont toujours en version bêta publique après un an. Nous allons encore être là pendant un certain temps (au moins sur une échelle de temps plus longue qu'il ne faut pour répondre à la plupart des questions sur ce site). De plus, à moins que les mathutilisateurs qui répondent à votre question soient également des scicomputilisateurs, ils n'obtiendront pas le crédit ou l'attribution appropriés pour leur réponse ici scicompsi vous le copiez-collez à partir de math, et vice versa.
Geoff Oxberry
1
Êtes-vous sûr que est également un opérateur de second ordre? En général, ce n'est pas un problème bien posé. Par exemple, si S = L , alors vous demandez L u = 0 dans ˉ Ω qui a des solutions horriblement non uniques (par exemple, la solution de la PDE sur n'importe quel domaine plus grand avec des conditions aux limites est également une solution). Habituellement, nous demandons que S soit un opérateur (éventuellement non linéaire) du premier ordre. SS=LLu=0Ω¯S
Jed Brown
2
Même si , vous cherchez toujours des solutions non uniques. Considérez si L est l'opérateur laplace et S est tout autre opérateur linéaire de second ordre. Alors tout u tel que u = k pour un vecteur constant k peut être ajouté à une solution pour en faire une autre. SLLSuu=kk
Dan
1
@GeoffOxberry Pour votre tranquillité d'esprit, la question en double à matha été supprimée. De toute évidence, vous aviez raison de garder la question ici. J'ai reçu des réponses très utiles.
becko

Réponses:

15

Une réponse rapide et générale sans abstractions mathématiques. Il existe plusieurs options pour imposer des conditions aux limites, par exemple

Strictement parlant, la méthode de Galerkin nécessite que vous choisissiez un ensemble de fonctions de base qui satisfont le BC du problème (par exemple via la recombinaison de base et / ou la division de l'approximation avec u 0 responsable des solutions inhomogènes et u N une somme partielle qui repose sur des fonctions de base qui satisfont aux conditions homogènes)uh=u0+uNu0uN

  • Méthodes de pénalité / Lagrange multiplie où l'on ajoute essentiellement un terme de pénalité qui incorpore la condition aux limites, par exemple A + B est une matrice responsable de la condition aux limites discrète et b p est responsable des termes inhomogènes. Dans la limite τ les conditions sont fortement imposées et sinon elles sont faiblement imposées. Le choix de τ affecte le conditionnement du système.τB=b+τbpBbpττ

  • Méthode Tau où un certain nombre d'équations sont échangées (modification des lignes dans le système Galerkin) avec des versions discrètes des conditions aux limites qui sont ensuite appliquées explicitement. Remarque: une option consiste également à rendre les systèmes surdéterminés avec des conditions aux limites supplémentaires.

  • Avant la discrétisation (méthode Ritz), réécrivez la formulation de Galerkin via le théorème de divergence de Gauss pour transformer les intégrales de volume en intégrales de frontière, puis incorporer (exactement ou approximativement) les conditions aux limites directement dans la formulation avant la discrétisation.

  • Enfin, en exploitant la connexion entre les extensions nodales / modales, il est également possible de dériver une méthode nodale de Galerkin où la solution au système est les coefficients d'une base de Lagrange plutôt que d'une base modale.

Allan P. Engsig-Karup
la source
1
Je suppose que est λ , n'est-ce pas? τλ
shuhalo
Oui. corrigée.
Allan P. Engsig-Karup
1
Doit-elle se lire "La méthode de Galerkin nécessite que vous choisissiez un ensemble de fonctions de base qui satisfont le BC du problème"?
knl
@knl: Je le pense aussi, alors que l'autre phrase n'a aucun sens. Je ferai un montage.
davidhigh
7

Une possibilité consiste à assembler la matrice système et le vecteur de droite b , avec les degrés de liberté prescrits comme inconnus, comme tout autre degré de liberté. Ensuite, A et b sont modifiés en mettant à zéro les lignes et les colonnes associées aux DOF prescrits, et en mettant un un dans l'entrée diagonale correspondante, et en modifiant de manière appropriée le vecteur rhs b .AbAbb

Lorsque vous remettez à zéro les lignes, placez-en une dans la diagonale et modifiez les RH pour appliquer la valeur prescrite, le système n'est plus symétrique. C'est pourquoi vous mettez à zéro les colonnes et modifiez le vecteur rhs pour tenir compte de la valeur prescrite.b

Une autre possibilité consiste à ajouter un très grand nombre (généralement 1e10) à la diagonale du DOF prescrit, puis de définir l'entrée RHS sur p * ˉ u , où ˉ u est la valeur prescrite de ce DOF.pu¯u¯

Bernardo MR
la source
6

Le problème général de la gestion des conditions aux limites avec la méthode des éléments finis peut devenir assez compliqué. Mais si:

  • est telle que la seule imposition que S ( u ) = 0 fait sur la forme de u est qu'elle est égale à quelques f ( x , y ) sur δ Ω .S(u)S(u)=0uf(x,y)δΩ

  • Vous pouvez finagle vos éléments pour que soit entièrement aux frontières de divers élémentsδΩ

c'est en fait très simple. Votre équation:

doit être remplacé par (

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0
(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=b

où le vecteur de droite représente les conditions aux limites.b

Pour déterminer , définissez les éléments de votre base qui déterminent la valeur de u sur δ Ω à toutes les valeurs dont ils ont besoin pour satisfaire les conditions aux limites. Dans L [ g j ] , g i , vous devez les exclure du g j mais pas le g i (les éléments d' un correspondant à ces fonctions ont déjà été déterminées, donc ils ne devraient pas être inclus dans la matrice équation). Ensuite, mettre en place R , g i= N ΣbuδΩL[gj],gigjgiacomme une équation de matrice, et les valeurs des éléments debdevrait sortirdroite que les produits internes deLexploitation sur votre base intérieure avecéléments de votre base limite.

R,gi=j=1NajL[gj],gi=0
bL
Dan
la source
b
a2u/xy+b2u/x2=0)a,b
becko
LS
1
J'ai un peu édité la question pour la rendre plus claire, je pense. Je ne veux pas publier le problème exact que j'essaie de résoudre parce que je veux garder la question aussi générale que possible. Je pense que je peux mieux comprendre la méthode de cette façon.
Becko
@becko: Nous pourrions vouloir déplacer cela vers le chat , car cela devient un peu long.
Dan
2

Voici une méthode connue sous le nom de recombinaison de base , qui n'a pas été mentionnée dans le présent fil. Je cite le livre de JP Boyd, "Chebyshev and Fourier Spectral Methods", 2nd Ed., Chapter 6.5.:

Lu=f
B(x)v(x)g(x)
u(x)v(x)+B(x)g(x)f(x)LB(x)
Lv=g
v(x)

B(x)

Vient ensuite ma propre explication:

  • xu(x,y)|x=x0=1.

    B(x)

    xu(x,y)|x=x0=0.
  • u(x,y) = ijaijϕi(x)φj(y)
    xu(x,y) = ijaijϕi(x)φj(y)
    x=x0
  • ϕi(x)ϕi(x)|x=x0=0i

  • =1ϕi(x)|x=x0=1

    xu(x,y)|x=x0 = ijaijφj(y)
    1yaij

Ce qui est bien avec cette approche, c'est qu'elle fonctionne à un niveau relativement abstrait. Les ingrédients nécessaires ne sont que la linéarité de l'opérateur BC et un ansatz en termes de fonctions de base du produit. En tant que tel, il s'applique également aux méthodes approximatives.

davidhigh
la source