Rola strumienia numerycznego w DG-FEM

13

Uczę się teorii leżącej u podstaw metod DG-FEM z wykorzystaniem książki Hesthaven / Warburton i jestem nieco zdezorientowany rolą „strumienia numerycznego”. Przepraszam, jeśli jest to podstawowe pytanie, ale szukałem i nie znalazłem satysfakcjonującej odpowiedzi na to pytanie.

Rozważ liniowe równanie fali skalarnej: gdzie strumień liniowy podano jako .f(u)=au

ut+f(u)x=0
f(u)=au

Jak wprowadzono w książce Hesthaven, dla każdego elementu otrzymujemy równań, po jednym dla każdej funkcji bazowej, wymuszając, że reszta znika słabo:N.kN

Rh(x,t)=uht+auhx

DkRh(x,t)ψn(x)dx=0

W porządku. Tak więc raz przechodzimy przez integrację częściami, aby dojść do „słabej formy” (1) i integrujemy dwa razy przez części, aby uzyskać „silną formę” (2). Przyjmę rodzaj przesady Hesthaven, ale łatwo uogólnioną całkę powierzchniową w 1D:

(1)

Dk(uhktψnauhkdψndx)dx=Dkn^(auh)ψndx1nN

(2)

DkRhψndx=Dkn^(auhk(auh))ψndx1nN

Dlaczego wybieramy strumień numeryczny? Dlaczego nie używamy wartości na granicy w (1) zamiast strumienia? Tak, to prawda, że ​​wartość tej wielkości można wielokrotnie pomnożyć między elementami, ale każde równanie ma tylko jeden element , więc dlaczego to ma znaczenie? D kauhkDk

Ponadto, granica drugiego całkowania przez części wyraźnie daje inną wielkość za drugim razem w (2), co nie ma dla mnie sensu. Wykonujemy tę samą operację! Dlaczego dwa warunki brzegowe po prostu się nie anulują, czyniąc (2) bezużytecznym? Jak wprowadziliśmy nowe informacje?auhk

Najwyraźniej brakuje mi czegoś kluczowego dla tej metody i chciałbym to naprawić. Zrobiłem kilka rzeczywistych i funkcjonalnych analiz, więc jeśli istnieje bardziej oparta na teorii odpowiedź dotycząca sformułowania, chciałbym wiedzieć!

użytkownik3482876
źródło
6
Jednym z powodów, dla którego wybierasz strumień numeryczny, aby zapewnić ochronę . Gdyby strumień na granicy nie był taki sam dla każdego elementu, który dzieli granicę, ilość wypływająca z jednego elementu byłaby inna niż ilość wpływająca do sąsiedniego elementu. Jest to na ogół niepożądane, ponieważ modelujesz konserwatywne równanie transportowe. ciebieuu
Tyler Olsen
8
Powiązane z komentarzem Tylersa, ale jeszcze ważniejsze od IMO: strumień wprowadza również sprzężenie między różnymi podproblemami. W przeciwnym razie nie byłoby propagacji informacji w dyskretnym sensie.
Christian Waluga,

Odpowiedzi:

3

Strumień numeryczny jest wybierany, aby zapewnić, że informacja, której dotyczy problem, przemieszcza się w kierunku charakterystycznych krzywych równania (odwrócenie). Jak wspomniano w komentarzach, strumień numeryczny jest konieczny, aby połączyć podproblemy zdefiniowane na każdym elemencie.

Jednym ze sposobów uzyskania intuicji dotyczącej roli strumienia numerycznego jest rozważenie następującego prostego przykładu.

Rozważ równanie doradcze skalarne (gdzie dla uproszczenia ) gdzie domenę podaje . Ponieważ jest to równanie hiperboliczne, a informacja rozchodzi się od lewej do prawej, musimy wymusić warunek brzegowy przy (ale nie przy ). Dla konkretności załóżmy, że warunek Dirichleta dla niektórych danych .a=1

ut+ux=0on Ω,
Ω=[0,1]x=0x=1u(0,t)=gDgD

Załóżmy teraz, że dyskretyzujemy to równanie za pomocą metody DG i używamy dwóch elementów, i . Równie dobrze moglibyśmy dyskrecjonować następujący zestaw dwóch powiązanych ze sobą PDE: gdzie połączymy te równania, aby były równoważne z oryginałem równanie.D1=[0,1/2]D2=[1/2,1]

(PDE 1):vt+vx=0on D1,(PDE 2):wt+wx=0on D2,

Aby powyższe równania były dobrze ułożone, musimy egzekwować warunki brzegowe. Tak jak poprzednio, każde równanie jest hiperboliczne, a informacja przemieszcza się od lewej do prawej. Dlatego musimy wymusić warunek brzegowy dla (PDE 1) na lewym punkcie końcowym i warunek brzegowy dla (PDE 2) na lewym punkcie końcowym .D1D2

Warunek brzegowy w lewym punkcie końcowym musi być wybrany jako , aby zachować zgodność z pierwotnym problemem. Szukamy również gładkich rozwiązań, więc warunek brzegowy na lewym punkcie końcowym musi zostać wybrany, aby wymusić ciągłość. Ten warunek brzmi .D1v(0,t)=gDD2w(1/2,t)=v(1/2,t)

Metoda DG w tym przypadku wybiera strumienie numeryczne właśnie w celu wymuszenia powyższych warunków brzegowych. Jeśli pomnożymy przez funkcję testową i zintegrujemy przez części nad każdym elementem , otrzymamy warunki brzegowe formy Aby „słabo” egzekwować warunki brzegowe, zastępujemy i zalecanymi wartościami w punktach, w których określone są warunki brzegowe (tj. po lewej punkty końcowe i ). Oznacza to, że zastępujemyψDk

D1n^vψdx=[vψ]01/2D2n^wψdx=[wψ]1/21
vwD1D2v(0,t)przez i przez w całkach brzegowych.gDw(1/2,t)v(1/2,t)

Innymi słowy, definiujemy przy , a przy , i odzyskujemy dokładnie standardowy strumień wiatru, który jest używany w DG metoda.uh=gDx=0uh=v(1/2,t)x=1/2

Patrząc na to w ten sposób, możemy uznać, że funkcje strumienia numerycznego słabo egzekwują warunki brzegowe na każdym elemencie, które są wymagane do sprzężenia równań w taki sposób, aby zachować charakterystyczną strukturę równań.

W przypadku równań bardziej skomplikowanych niż doradztwo o stałym współczynniku informacja może nie zawsze rozprzestrzeniać się w tym samym kierunku, a zatem strumień liczbowy musi być określony przez rozwiązanie (lub przybliżenie rozwiązania) problemu Riemanna na interfejsie. Omówiono to na temat problemów liniowych w rozdziale 2.4 książki Hesthaven.

Will P.
źródło
1

Mówiąc bardzo luźno, są dwie rzeczy, których większość technik dyskretyzacji potrzebuje, aby zbiegać się z rzeczywistym rozwiązaniem twojego PDE, gdy zwiększasz ich jakość aproksymacji, niezależnie od tego, czy używasz DG, czy nie:

  1. Spójność (jeżeli funkcja spełnia PDE, to również spełnia swoją słaby formulacja)u
  2. Stabilność (niewielkie zmiany w danych powodują niewielkie zmiany w odpowiedzi)

Pierwsze kroki tworzenia pochodnych DG, w których integracja według części na każdym elemencie siatki zachowuje (1), ponieważ zaczynasz od PDE i odtąd stosujesz tylko operacje prawne.

Nie daje to jednak (2). Możesz to zobaczyć sam, próbując złożyć matrycę częściowo sformułowanej słabej postaci DG i patrząc na jej wartości własne - w przypadku problemu zależnego od czasu chcemy je wszystkie na lewej półpłaszczyźnie, ale bez odpowiedniego strumienia liczbowego będą one wszędzie. To prowadzi do rozwiązania, które eksploduje wykładniczo w czasie, nawet jeśli problem fizyczny nie.

Dlatego musisz dodać warunki do swojego sformułowania, aby (2) było spełnione, ale bez ranienia (1). Jest to trudne, ale nie niemożliwe. Można zastąpić wartości funkcji ze średnimi ściany komórkowej bez ranienia konsystencję, i zawsze można dodać skok w ścianach komórkowych bez ranienia konsystencję (ze względu na rozwiązanie z odpowiedniej nieruchomości gładkość, skok jest tylko 0!)u

Sztuką jest przyjmowanie kombinacji skoków i średnich i łączenie ich w taki sposób, aby twój schemat był nadal spójny, ale także stabilny. Następnie twierdzenie o konwergencji zwykle ujawnia się.

To są podstawy, ale często możesz również wprowadzić dodatkową fizykę do strumienia numerycznego, aby nie tylko spełniała te matematyczne wymagania, ale także ładnie gra z zasadami zachowania.

Reid.Atcheson
źródło
0

Wybierając funkcję testową równą funkcji testowej w metodzie DG, tworzysz problem optymalizacji. Oznacza to, że masz metodę Galerkina zamiast metody Pietrowa-Galerkina. Szukacie pochodnych czasowych amplitud funkcji próbnych, które zminimalizują resztkowy pierwiastek w normie L2, i dokonacie tego zminimalizowania przy założeniu danej funkcji strumienia przy napływie.

Philip Roe
źródło