W numerycznym rozwiązaniu hiperbolicznych PDE zastosowanie solverów Riemanna jest niezbędnym składnikiem konserwatywnych metod przechwytywania uderzeń do dokładnej symulacji problemów falowych, które mogą mieć wstrząsy (nieciągłe skoki w zachowanych zmiennych). Aby uzyskać dokładne rozwiązania takich problemów, musimy zastosować odpowiednie techniki upwindingu - odpowiada za to solver Riemann. Solver Riemanna szuka dokładnego rozwiązania problemu interfejsu między komórkami (rys. W objętościach skończonych) lub elementami (rys. W nieciągłych metodach skończonych elementów Galerkina). Rozwiązanie tego problemu interfejsu opiera się na rozwiązaniu dowolnej strony interfejsu i ma na celu wykorzystanie go jako podstawy do dokładnej rekonstrukcji (liczbowego) strumienia (w kategoriach zachowanych zmiennych) w interfejsie.
Istnieją dwa standardowe podejścia do rozwiązywania takich (lokalnych dla interfejsu) problemów Riemanna, a mianowicie dokładne i przybliżone rozwiązania Riemanna. Dla wielu PDE nie ma dokładnego rozwiązania w formie zamkniętej, w którym to przypadku musimy zastosować przybliżone solwery Riemanna. W praktyce dokładne rozwiązanie problemów Riemanna może być (zbyt) kosztowne. W takim przypadku bardziej praktyczne może być zastosowanie przybliżonych rozwiązań Riemanna. Z tego samego powodu topniki typu Lax-Freidricha są szeroko stosowane jako prosty środek.
Zasadniczo wybór pomiędzy solverami Riemanna ma związek z tym, jak dokładnie chce się reprezentować prędkości fali rozwiązania i wynikową wydajność.
To zależy od problemu. Problem Riemanna opiera się na danych z obu stron interfejsów komórkowych. Aby zrekonstruować strumień w interfejsie w oparciu o te dane, musimy znać informacje o pełnej strukturze falowej danego hiperbolicznego PDE. To sprawia, że problem Riemanna jest zależny od problemu, a zatem również wybór rozwiązania Riemann. Krótko mówiąc, dokładne solwery starają się wziąć pod uwagę strukturę pełnej fali, solwery Roe oparte są na aproksymacji lokalnej (przez linearyzację i specjalne uśrednianie) lokalnej fali, solver HLL opiera się na szacowaniu dwóch dominujących prędkości fal w lokalnym falować strukturę, a następnie narzucić ochronę, spełniając warunek Rankine-Hugoniot, aby wytrzymać wstrząsy lub nieciągłości kontaktu.
Zatem wybór pomiędzy konkretnymi rozwiązaniami, dokładnymi rozwiązaniami lub przybliżonymi rozwiązaniami Roe / HLL / etc zależy od znalezienia równowagi między dokładnością (naśladując fizykę leżącą u podstaw równań modelu) a potrzebami w zakresie wydajności. W końcu - jak widzę - w praktyce często wymagania dotyczące wydajności dyktują użycie przybliżonych solwerów Riemanna (np. Typu Lax-Friedrichs).
Dobrą ekspozycję na ten temat podaje EF Toro w swoim podręczniku „Solvery Riemanna i numeryczne metody dynamiki płynów”, Springer.
Zostałem doprowadzony do przekonania, że do liczb numerycznych niskiego rzędu potrzebne są wysokiej jakości solwery Riemanna, a do numerycznych wysokich rzędów można używać niskiej jakości solverów Riemann. Intuicyjnie istnieje pewna liczba FLOP-ów potrzebnych do uchwycenia fizyki, poniżej której znajduje się jeden wąż.
I tak, w odpowiedzi znajduje się również zero treści z perspektywy metryki oceny ...
źródło