Jestem zainteresowany wdrożeniem ruchomej siatki w celu rozwiązania problemu dyfuzyjnego. Metody adaptacyjnej siatki ruchomej stanowią dobry przykład tego, jak to zrobić dla równania Burgera w 1D przy użyciu skończonej różnicy. Czy ktoś byłby w stanie podać praktyczny przykład rozwiązania równania doradczego z dyfuzją 1D przy użyciu różnicy skończonej z ruchomą siatką?
Na przykład w konserwatywnej postaci równanie to:
gdzie jest prędkością (funkcją przestrzeni). Warunki początkowe u ( 0 , x ) mogą określać (na przykład) rodzaj przepływu przemieszczający się od lewej do prawej (np. Wzdłuż rury), w którym warunki początkowe mają ostry gradient.
W jaki sposób należy rozwiązać problem równomiernej dystrybucji ruchomej siatki (być może z algorytmem De Boora lub innym podejściem)? Chcę to sam zaimplementować w Pythonie, więc jeśli Twoja odpowiedź może być łatwo przetłumaczona na kod, tym lepiej!
Stare pytanie przed nagrodą
- Jakie są podstawowe podejścia do generowania siatki adaptacyjnej na podstawie właściwości systemu? Czy powinienem używać strumienia jako miary, gdzie gradienty są duże?
- Ponieważ szukam iteracyjnego rozwiązania (przemiatania czasu). Wyobrażam sobie, że ważne jest interpolowanie ze starej siatki do nowej siatki, jakie jest zwykle podejście?
- Byłbym bardzo zainteresowany widząc działający przykład prostego problemu (takiego jak równanie doradcze).
Trochę tła na temat specyfiki problemu. Symuluję układ równań sprzężony 1D,
Zbiór równań opisuje problem doradztwa i dyfuzji dwóch gatunków, w którym trzecie równanie łączy się z pozostałymi dwoma. Rozwiązanie zmienia się szybko w pobliżu środka mojej siatki, patrz poniżej (są to ilustracje, a nie obliczenia),
Odpowiedzi:
Siatka adaptacyjna to sieć, która automatycznie grupuje punkty siatki w obszarach o dużym nachyleniu pola; wykorzystuje rozwiązanie właściwości pola przepływu do zlokalizowania punktów siatki w płaszczyźnie fizycznej. Siatka adaptacyjna ewoluuje z biegiem czasu w połączeniu z zależnym od czasu rozwiązaniem rządzących równań pola przepływu, które oblicza zmienne pola przepływu z krokami czasu. W trakcie rozwiązania punkty siatki w płaszczyźnie fizycznej poruszają się w taki sposób, aby „dostosować się” do obszarów o dużych gradientach pola przepływu. Dlatego rzeczywiste punkty siatki w płaszczyźnie fizycznej są stale w ruchu podczas rozwiązania pola przepływu i stają się nieruchome tylko wtedy, gdy rozwiązanie przepływu zbliża się do stanu ustalonego.
Adaptacja sieci jest stosowana zarówno w przypadku problemów o stałym, jak i niestabilnym charakterze. W przypadku problemów ze stałym przepływem siatka jest dostosowywana po z góry określonej liczbie iteracji, a adaptacja siatki zatrzymuje się w punkcie, w którym rozwiązanie jest zbieżne. W przypadku rozwiązań z dokładnością czasową ruch i uściślenie punktu siatki są wykonywane w połączeniu z dokładnym w czasie rozwiązaniem problemu fizycznego. Wymaga to dokładnego czasowo sprzężenia PDE problemu fizycznego i tych opisujących ruch siatki lub dostosowanie siatki.
W przypadku obliczeń nowszych konfiguracji zależność od wytycznych dotyczących najlepszych praktyk w zakresie generowania siatki i wcześniejsze doświadczenia pozostawiają otwarte drzwi dla dużych ilości błędów numerycznych. Metody adaptacji sieci mogą przynieść znaczną poprawę jakości rozwiązania i obiecują lepsze wyniki, ponieważ nie istnieją żadne ograniczenia określające limit rozdzielczości sieci, który można osiągnąć.
Zamiast wprowadzać lokalne zmiany topologiczne siatki i jej połączeń, metody r-adaptacyjne wprowadzają lokalne zmiany rozdzielczości, przesuwając lokalizacje stałej całkowitej liczby punktów siatki.
Bardzo popularna metoda adaptacji siatki w podejściu do elementu skończonego zamiast metody objętości skończonej lub elementu skończonego. Zmniejsza błąd w rozwiązaniu poprzez wzbogacenie wielomianu funkcji interpolujących o tę samą kolejność elementów geometrycznych. Nie ma tu żadnej nowej siatki, geometrii do obliczenia, a kolejną zaletą tej metody jest to, że może ona lepiej przybliżać nieregularne lub zakrzywione granice z mniejszą czułością na proporcje i pochylenie. Z tego powodu jest bardzo znany w zastosowaniach strukturalnych.
Wszystkiego najlepszego!
[1] Fidkowski Krzysztof J. i Darmofal David L. Przegląd estymacji błędów opartej na danych wyjściowych i adaptacji siatki w obliczeniowej dynamice płynów. AIAA Journal, 49: 673–694, 2011.
[2] John Tannehill Richard Pletcher i Dale Anderson. Obliczeniowa mechanika płynów i wymiana ciepła. Taylor i Francis, 1997.
[3] JD Jr. Anderson. Dyanamika płynów obliczeniowych: podstawy aplikacji. McGraw Hill Inc., 1995.
[4] Roy Christopher J. Strategie napędzania adaptacji siatki w CFD. Podczas 47. spotkania AIAA Aerospace Sciences, w tym Forum New Horizons i Aerospace Exquisition, 2009.
[5] McRae Scott D. Algorytmy i problemy z adaptacją siatki r-refinement. Metody obliczeniowe w mechanice stosowanej i inżynierii, 189: 1161–1182, 2000.
[6] Ivanenko Sergey A. Azarenok Boris N. i Tang Tao. Addytywna metoda redystrybucji siatki oparta na schemacie godunowa. Comm. matematyka sci., 1: 152–179.
[7] Ahmadi Majid i Ghaly Wahid S. Symulacja przepływu niewidzialnego w kaskadach metodą skończonej objętości z adaptacją rozwiązania. W CASI 6th Aerodynamics Symposium, 1997.
[8] Jasak H. i Gosman AD Automatyczna kontrola rozdzielczości dla metody skończonej objętości, część 1: szacunki błędu a posteriori. Numerical Heat Transfer, Taylor & Francis, 38: 237–256, 2000.
[9] Jasak H. i Gosman AD Automatyczna kontrola rozdzielczości dla metody skończonej objętości, część 2: Adaptacyjne uszlachetnianie siatki i zgrubienie. Numerical Heat Transfer, Taylor & Francis, 38: 257–271, 2000.
[10] Thompson David S. Soni Bharat K., Koomullil Roy i Thornburg Hugh. Strategie adaptacyjnej siatki rozwiązań oparte na redystrybucji punktów. Metody obliczeniowe w mechanice stosowanej i inżynierii, 189: 1183–1204, 2000.
[11] Venditti David A. i Darmofal David L. Adioint oszacowanie błędów i dostosowanie siatki dla wyników funkcjonalnych: Zastosowanie do quasi-jednowymiarowego przepływu. Journal of Computational Physics, 164: 204–227, 2000.
[12] Balasubramanian R. i Newman JC Porównanie adaptacyjnej siatki opartej na połączeniach i cechach dla funkcjonalnych wyników. Międzynarodowy dziennik metod numerycznych w płynach, 53: 1541–1569, 2007.
[13] Hartmann Ralf. Szacowanie błędów i adaptacyjne dopasowanie w aerodynamice. Na europejskiej konferencji na temat obliczeniowej dynamiki płynów, 2006.
źródło
Szukałem (wciąż szukam) dobrych odpowiedzi na to. Pracuję z wielopoziomowymi siatkami adaptacyjnymi, w których używam pewnego rodzaju kryterium udoskonalenia. Ludzie wykonujący MES cieszą się, raczej tani (obliczeniowo), rygorystyczny szacunek błędów, których używają jako kryterium udoskonalenia. Dla nas wykonujących FDM / FVM nie miałem szczęścia znaleźć takich szacunków.
W tym kontekście, jeśli chcesz być rygorystyczny w zakresie udoskonalania, tj. Udoskonalania w oparciu o pewne oszacowanie rzeczywistego błędu, Twoim (prawie) jedynym wyborem jest ekstrapolacja Richardsona. Tego właśnie używali na przykład Berger i Oliger (1984) do swojego hiperbolicznego solwera AMR o strukturze blokowej. Metodologia jest ogólna w tym sensie, że można użyć ekstrapolacji Richardsona dla praktycznie każdego problemu. Jedyny problem polega na tym, że jest drogi, szczególnie w przypadku problemów przejściowych.
Poza ekstrapolacją Richardsona wszystkie inne kryteria (moim skromnym zdaniem) mają charakter doraźny. Tak, możesz ustawić określony próg „ilości odsetek” i sprecyzować na tej podstawie. Możesz użyć topników lub pochodnych pewnej ilości, aby zaalarmować duży gradient i użyć go. Lub jeśli śledzisz interfejs, możesz sprecyzować na podstawie odległości od interfejsu. Wszystkie są oczywiście bardzo tanie, ale nie ma w nich nic rygorystycznego.
Jeśli chodzi o interpolację między siatkami, na ogół potrzebujesz czegoś co najmniej tak samo dokładnego jak solver. Czasami możliwe jest budowanie interpolacji, które spełniają określone właściwości, np. Zachowują masę lub są wypukłe, a zatem nie wprowadzają nowych ekstremów. Zauważyłem, że ta ostatnia właściwość jest czasami bardzo ważna dla stabilności całego systemu.
źródło
Jeśli rzeczywiście jest to 1D, prawdopodobnie nie potrzebujesz tutaj żadnej siatki adaptacyjnej, ponieważ w przypadku tak prostego problemu możesz prawdopodobnie rozwiązać wszystko, czego potrzebujesz, za pomocą siatki statycznej z mocą obliczeniową nowoczesnej stacji roboczej. Ale jest to całkowicie rozsądna strategia, w procesie integracji czasowej, aby okresowo identyfikować obszary, w których rozdzielczość numeryczna jest obciążona, dodawać tam punkty siatki (i usuwać punkty siatki z obszarów o zbyt dużej rozdzielczości) i interpolować do nowej siatki. Nie należy tego jednak robić zbyt często, ponieważ interpolacja może być kosztowna i spowodowałaby błąd numeryczny w ogólnym obliczeniu.
źródło