Jak ustalić granicę fałszywych oscylacji w rozwiązaniu numerycznym równania doradczego 1D?

9

Załóżmy, że miałem następujący okresowy problem z poradą 1D:

ut+doux=0 w Ω=[0,1]
u(0,t)=u(1,t)
u(x,0)=g(x)
gdzie ma nieciągłość skoku przy . g(x)x(0,1)

Rozumiem, że w przypadku schematów liniowych różnic skończonych wyższego niż pierwszego rzędu, fałszywe oscylacje występują w pobliżu nieciągłości, jak jest to zalecane w czasie, powodując zniekształcenie rozwiązania od oczekiwanego kształtu fali. Zgodnie z wyjaśnieniem wikipedii wydaje się, że oscylacje te zwykle występują, gdy funkcja nieciągłości jest aproksymowana skończoną serią Fouriera.

Z jakiegoś powodu nie mogę pojąć, w jaki sposób można zaobserwować skończoną serię Fouriera w rozwiązaniu tego PDE. W szczególności, w jaki sposób mogę analitycznie oszacować granicę „przeregulowania”?

Paweł
źródło

Odpowiedzi:

11

Metoda podmuchu wiatru pierwszego rzędu jest monotoniczna; nie wprowadza fałszywych oscylacji. Jest jednak dokładny tylko pierwszego rzędu, co powoduje tak dużą dyfuzję liczbową, że nie nadaje się do wielu celów. Twierdzenie Godunowa stwierdza, że ​​liniowe przestrzenne dyskretyzacje wyższego niż pierwszego rzędu nie mogą być monotoniczne. Aby rygorystycznie kontrolować oscylacje, używamy schematów Total Variation Diminishing (TVD) . Metody TVD są zwykle ograniczone do dokładności drugiego rzędu. W celu uzyskania wyższego rzędu musimy albo złagodzić naszą prośbę, prowadząc do metod Total Variation Bounded (TVB), takich jak (Weighted) Essential Non-Oscillatory ((W) ENO), lub musimy rozluźnić definicję TVD do „zachowania maksymalnych zasad” lub podobnie, gdzie początkowa ekstrema dotyczy początkowego zrekonstruowanego rozwiązania, w wyniku czegospecjalne schematy ograniczające .

Jed Brown
źródło
Przepraszam ... z jakiegoś powodu miałem wrażenie, że dotyczy to również schematu pierwszego zamówienia. Zredagowałem pytanie, aby odzwierciedlić ten komentarz.
Paweł
5

Dyskretyzacja liniowej różnicy skończonej problemu 1D z okresowymi granicami prowadzi do dyskretyzacji postaci

Un+1=LUn

gdzie Ljest matrycą krążącą . Wektory własne dowolnej macierzy krążącej są dyskretnymi modami Fouriera

vj=exp(ijhξ)
(tutaj h to odstępy między siatkami i ξto liczba falowa, która waha się od zera do najwyższej liczby falowej reprezentowanej na siatce). Te wektory własne stanowią podstawę wszystkich funkcji, które mogą być reprezentowane na siatce. Jeśli wyrazisz rozwiązanie w kategoriach tych dyskretnych trybów Fouriera, wówczas metoda numeryczna jest przekątna, tzn. Każdy składnik Fouriera jest mnożony przez (ogólnie złożony) współczynnik skalarny na każdym etapie. Czynnik skalarny jest często nazywany współczynnikiem wzmocnienia, a to, co właśnie opisałem, jest znane jako analiza von Neumanna . Jest to analogiczne do analizy Fouriera liniowych PDE, w których wykorzystuje się podstawę Fouriera, do „diagonalizacji” liniowych operatorów różnicowych.

Możesz znaleźć ładne wyjaśnienia, na przykład w tekście Strikwerda lub LeVeque .

David Ketcheson
źródło
Znam analizę von Neumanna. Ale czy naprawdę mogę skorzystać z tej analizy, aby ustalić granicę fałszywych oscylacji?
Paweł
Odpowiadałem głównie na twoje stwierdzenie. Nie mogę pojąć, w jaki sposób można zaobserwować skończoną serię Fouriera w rozwiązaniu tego PDE. Ale tak, możesz uzyskać takie granice z tej analizy. Na przykład, możesz spojrzeć na najgorszy przypadek, w którym wszystkie tryby konstruktywnie ingerują. Może to jednak być bardzo pesymistyczne. W praktyce nie widziałem, żeby ktokolwiek wyprowadzał granice inne niż TVD lub TVB (które są dość silne i nie nadają się do schematów liniowych).
David Ketcheson
Prawdopodobnie możesz uzyskać bardziej interesującą oprawę, patrząc na relację dyspersji dla najwyższych trybów liczby fal. Ale nigdy tego nie widziałem.
David Ketcheson
2

Nie wszystkie fałszywe oscylacje są zjawiskami Gibbsa. Wyglądają podobnie, ale istnieją oscylacje Gibbsa dla wszystkich skończonych przybliżeń Fouriera funkcji nieciągłych (stają się one mniejsze, gdy dodajesz więcej terminów). Natomiast istnieją nieoscylacyjne reprezentacje funkcji nieciągłych wynikające z rozwiązania aproksymacji różnic skończonych do PDE, które nie wymagają szeregów nieskończonych.

Kąpiel ( Inf-sup test metod podmuchu wiatru , PDF) zawiera artykuł na temat metod elementów skończonych (konwekcja-dyfuzja, IIRC) w 1-D, który obejmuje obliczenie stałej dlainf-łykwarunek i związany z tym oscylacje. Możesz uzyskać wgląd w to.

Bill Barth
źródło
3
Jest to przydatny papier, ale należy pamiętać, że stabilność inf-sup nie zapewnia silnej kontroli oscylacji. Na przykład żadna ilość stabilności inf-sup nie może zapewnić metody TVD. A w świetle twierdzenia Godunowa nie ma sensu szukać liniowych dyskretyzacji przestrzennych, jeśli chcemy mieć rozwiązania nieoscylacyjne większe niż pierwszego rzędu. Zauważ, że numer Peclet pojawia się we wszystkich metodach w tym dokumencie, a metody obniżają się do dokładności pierwszego rzędu jakoP.mi, jednocześnie nie będąc TVD.
Jed Brown
To są wszystkie prawdziwe stwierdzenia. Dotyczy to tylko problemów z dyfuzją konwekcyjną.
Bill Barth
2

Jeśli chodzi o twoje ostatnie pytanie dotyczące związku między skończoną serią Fouriera i aproksymacją elementu skończonego: Ogólnie rzecz biorąc, jeśli spróbujesz rzutować funkcję skokiem na skończoną przestrzeń wymiarową, której funkcje podstawowe są ciągłe, otrzymasz zjawisko Gibbsa. Jest to prawdą, jeśli podstawą jest skończona seria Fouriera (gdzie funkcjami podstawowymi są sinus i cosinus) lub jeśli podstawą są zwykłe funkcje kapelusza elementu skończonego - jest to właściwość projekcji plus nieprzydatność funkcji bazowych.

Wolfgang Bangerth
źródło
Cieszę się, że okazało się, że się mylę, ponieważ wyraźnie nie trenuję, ale nie kupuję twojego komentarza na temat projekcji funkcji kapelusza bez dalszych kwalifikacji. Moje szybkie obliczenia z wykorzystaniem mojego starego 1-D kodu MATLAB z mojej pierwszej klasy klasy FEM pokazują, że rzut funkcji kroku naH.01korzystanie z funkcji kapelusza nie powoduje oscylacji. Czy masz przykład, który pokazuje, czego mi brakuje?
Bill Barth
Nieważne. Stary kod jest stary. Potrafię odtworzyć oscylacje. Poprzedni komentarz został wycofany.
Bill Barth
Cieszę się, że mogłem pomóc :-)
Wolfgang Bangerth
0

Jednym podejściem jest równanie równoważne, to znaczy równanie różniczkowe, do którego metoda dyskretna daje najbliższe przybliżenie. To nigdy nie jest równanie różniczkowe, które zamierzałeś rozwiązać. Następnie przyjrzyj się asymptotycznemu rozwiązaniu równania równoważnego, dla funkcji kroku jako danych początkowych. Spójrz na Bouche, D., Bonnaud, G. i Ramos, D., 2003. Porównanie schematów numerycznych rozwiązywania równania doradczego. Stosowane litery matematyczne, 16 (2), s. 147–154.

Philip Roe
źródło