Adaptacyjne udoskonalanie siatki (AMR) jest powszechną techniką rozwiązywania problemu bardzo różnych skal przestrzennych w numerycznym rozwiązaniu PDE. Jakie biblioteki ogólnego przeznaczenia istnieją dla AMR w sieciach strukturalnych? Idealnie chciałbym coś w duchu PETSc, w którym biblioteka obsługuje tylko siatki adaptacyjne, a ja zapewniam fizykę i dyskretyzację (różnica skończona / objętość / element).
Idealna biblioteka byłaby
- Modułowy : nie narzuca sposobu, w jaki piszę kod lub zbyt wiele struktur danych
- Ogólne : nie obchodzi mnie, jakiego rodzaju dyskretyzacji stosuję
- Wydajny : nie powoduje nadmiernego obciążenia
- Równoległy i wysoce skalowalny
Biblioteki, które spełniają tylko podzbiór tych kryteriów, nadal byłyby interesujące.
Dodatek : Zdaję sobie sprawę z obszernej listy pakietów AMR Donny Calhoun , ale nie wiem, który z nich (jeśli w ogóle) spełnia powyższe kryteria. Tak więc przede wszystkim interesują mnie informacje od osób, które mają rzeczywiste doświadczenie z jednym lub (jeszcze lepszymi) dodatkowymi pakietami, w jaki sposób oceniają te warunki.
źródło
Odpowiedzi:
Jedną biblioteką do rozważenia jest BoxLib . Jego kluczowe funkcje (ze strony internetowej) to:
Istnieje również opakowanie Pythona (napisane przeze mnie) do dołączonej wersji Fortran (chociaż jest dość młode).
źródło
Powinieneś także spojrzeć na libMesh . Jest ukierunkowany na metody elementów skończonych, ale poza tym myślę, że sprawdza większość twoich pól. W przeciwieństwie do BoxLib, jest to w pełni nieustrukturyzowana biblioteka elementów mieszanych, która ma pozostać, że obsługuje tety, piramidy, pryzmaty i heksahedry w tej samej siatce. Posiada również jeden z największych zestawów reguł integracji dla funkcji wielomianowych wysokiego rzędu. Jest skonfigurowany tak, abyś mógł bezpośrednio wywoływać PETSc (i niektóre inne biblioteki), więc masz taką samą skalowalność solvera jak PETSc.
Z pewnością istnieje sposób na robienie libMesh, ale jest też sposób na robienie PETSc. Mam nadzieję, że to cię nie odstraszy.
źródło
Spróbowałbym SAMRAI Znam co najmniej jeden kod, który z powodzeniem go wykorzystuje - IBAMR , kod metody zanurzonej granicy dla interakcji struktury płynów z AMR.
źródło
Nie określiłeś struktury ani struktury.
Spójrz na Paramesh, Pyramid, p4est, Dendro, Samrai i Chombo.
Btw Pyramid nie robi zgrubienia.
źródło