Comment fonctionne exactement l'algorithme multigrille * complet *?

12

Je comprends donc (ou du moins je crois que je comprends) comment fonctionne un cycle en V. J'ai écrit dans Matlab la version 1-D, récursive d'un V-cycle. Cependant, lorsque j'ai exécuté mon code pour FMG, ma solution ne convergeait pas. Je crois que mon problème réside dans ma compréhension de la partie FMG réelle. Ce que je sais actuellement, c'est ceci:

  1. Juste avant l'interpolation FMG, j'ai assoupli ma solutionu
  2. Interpole à la fois l'erreur et (?)u
  3. Exécuter un cycle en V à 2 grilles, en transmettant l' erreur dans le cycle en V (?)
  4. Détendez l'erreur (sur la 2ème grille la plus grossière)
  5. Interpoler et l'erreuru
  6. Mettez à jour en y ajoutant l'erreur.u
  7. Exécutez un cycle en V, puis répétez à partir de l'étape 4.

Je ne suis pas sûr de l'ordre, mais je peux aussi me tromper sur ce que j'interpole exactement et passe dans mon v-cycle. Si quelque chose me manque dans l'algorithme, faites-le moi savoir.

AlanH
la source

Réponses:

11

Où avez-vous trouvé l'interpolation de "l'erreur"? (Et comment mesurez-vous l'erreur?)

Lors de la première visite d'une grille plus fine, la solution entière doit être interpolée, idéalement en utilisant un opérateur d'ordre supérieur (par exemple, une solution post-traitée / reconstruite pour FEM). Cette interpolation FMG est . (Il est normal d'utiliser l'interpolation normale , mais cela donne généralement une certaine efficacité, au moins pour les problèmes fluides.)u hI h H u H I H h = I H huuhIHhuHIhH=IhH

Après l'interpolation FMG, il vous suffit d'appliquer un ou plusieurs cycles V (ou cycles W, etc.). (Assurez-vous d'exécuter au moins un lissage avant de restreindre.) Les choix les plus courants sont la correction de défaut linéaire dans laquelle seul le résiduel est restreint et le schéma d'approximation complète (FAS) qui est naturel pour les problèmes non linéaires car il évite la linéarisation globale (par exemple, Newton ou Picard).rh=Ahuhbh

Dans FAS, l' état de grille fine est restreint à l'aide de l' opérateur de restriction d'état . La restriction d'état n'est pas requise par la multigrille de correction linéaire des défauts (un attribut pratique). Les restrictions d'état les plus courantes sont l'injection nodale (pour FD et FE) et les moyennes de cellules grossières (pour FV et FE mixte). Maintenant, nous pouvons écrire l'équation de grille grossière FAS (également valable pour non linéaire ) commeAu~HI^hHu~hA

AHuH=IhHbhbH+AHI^hHu~hIhHAhu~hτhH

où nous avons identifié la représentation grossière du côté droit, , et la correction supplémentaire qui représente l'influence de la grille fine sur l'équation de la grille grossière. Notez la propriété que la restriction de la solution de grille fine satisfait l'équation de grille grossière: . Après avoir résolu l'équation de la grille grossière, FAS interpole le changement , conduisant à une solution fine mise à jour .τ H h u h * A H I H h u h * = b H + τ H * h u h~ u h + I h H ( u H - I H h ~ u h )bHτhHuhAHI^hHuh=bH+τhHuhu~h+IHh(uHI^hHu~h)

Jed Brown
la source
L'erreur a été calculée lorsque j'ai calculé les résidus en passant de la grille la plus fine à la grille la plus grossière. Son approximation initiale par grille est juste zéro, où elle est ensuite relâchée par une méthode itérative.
AlanH
Comment l'erreur (de la supposition initiale de la solution) joue-t-elle un rôle dans tout cela?
AlanH
1
uhIHhuH
Dans le schéma de correction à deux grilles de Briggs, mentionne spécifiquement l'erreur d'interpolation de la grille grossière à la grille fine. Pour ne pas sembler obstiné, mais est-ce en quelque sorte différent de ce que vous avez expliqué?
AlanH
1
T=IP1Aen+1=Ten