metoda objętości skończonej: siatka niestrukturalna vs adaptacja oktawy + cięcie komórek

12

Pracuję z biblioteką OpenFOAM C ++ Computational Continuum Mechanics (może radzić sobie z interakcją ciecz-ciało stałe, przepływami MHD ...), która wykorzystuje dowolne nieustrukturyzowane siatki. Było to spowodowane pomysłem wykorzystania przewagi szybkiego generowania (zwykle automatycznej) nieustrukturyzowanych siatek do symulacji problemów w skomplikowanych geometriach.

Jednak ostatnio spotkałem się z innym podejściem: oktawowymi adaptacyjnymi siatkami kartezjańskimi z „wycinaniem” komórek, w których do opisania złożonej geometrii zastosowano agresywne udoskonalenie siatki.

Z punktu widzenia liczb, siatki kartezjańskie są znacznie dokładniejsze, więc moje pytanie brzmi: czy ktoś ma doświadczenie w stosowaniu / wdrażaniu jednego lub obu tych podejść? Jak porównują się nawzajem?

Opracowuję kody dla dwufazowego przepływu płynu i zauważyłem np., Że rekonstrukcja gradientów pola może być z łatwością dokładniejsza na siatkach kartezjańskich, podczas gdy siatka niestrukturalna wymaga regresji liniowej dla nagłych zmian w polu ...

tmaric
źródło
Inna alternatywa: kartezjańskie metody cięcia komórek. Istnieje duża literatura; ten artykuł może być dobrym początkiem: dx.doi.org/10.1016/S0378-4754(02)00107-6 .
David Ketcheson

Odpowiedzi:

5

Myślę, że wszystkie bardziej współczesne biblioteki MES (np. Deal.II, libmesh, ...) używają schematu opartego na oktetach (a ściślej mówiąc: ośmiornicach, z jednym drzewem zaczynającym się od każdej komórki nieustrukturyzowanej grubej siatki ). Ma to wiele zalet, przede wszystkim dlatego, że znasz hierarchię komórek siatki. Oznacza to, że możesz z łatwością wykonywać operacje zgrubne, geometryczne wielosieciowe itp., Co jest niezwykle trudne, jeśli zaczynasz od drobnej nieustrukturyzowanej siatki. Co więcej, partycjonowanie staje się prawie trywialnym problemem. Wadą tego podejścia jest to, że jeśli masz skomplikowaną geometrię, wcześniej wystarczyło tylko opisać ją w generatorze siatki, a teraz musisz także opisać ją w kodzie FEM, ponieważ potrzebujesz geometrii podczas udoskonalania komórki znajdującej się na granica.

Wszystko inne jest jednakowe, myślę, że podejście oparte na oktcie jest znacznie bardziej elastyczne i użyteczne niż stosowanie jednej gigantycznej nieustrukturyzowanej siatki.

Wolfgang Bangerth
źródło
Nie mam na myśli, że użyłbym dużej nieustrukturyzowanej siatki. Udoskonalenie jest oparte na oktetach, ale istnieje różnica w dokładności, jeśli porównasz siatkę rafinowaną z oktez kartezjańskich i siatkę niestrukturalną z rafinowanymi oktami. Siatki nieustrukturyzowane zostały popchnięte przez przemysł w nadziei na automatyczne (przynajmniej szybkie) generowanie siatek dla skomplikowanych geometrii, ale teraz cięcie komórek + siatki kartezjańskie wydają się również wykonywać zadanie dość szybko, z dodatkową dokładnością numeryczną zapewnianą przez uporządkowaną naturę z siatki ...
tmaric
Myślałem, że już zaakceptowałem tę odpowiedź .. :) Przepraszamy za opóźnienie.
tmaric
4

h2:1

hh106r jest dobrym zasobem) może być użyty do dopasowania do ruchomych funkcji anizotropowych.

Należy również zauważyć, że dyskretna dyskretyzacja czasu i metoda linii są prostsze i mają lepsze właściwości dla metod, w których liczba dof i łączność siatki nie zmienia się. Dodatkowo, pod warunkiem, że fizyka i dyskretyzacja przestrzenna będą się ciągle różnicować, nastąpi ciągłe połączenie (przydatne do analizy wrażliwości, optymalizacji, kwantyfikacji niepewności itp.).

Najlepszy wybór jest wysoce zależny od problemu, ale w przypadku problemów z CFD z cienkimi warstwami granicznymi, szczególnie gdy stosuje się rozdzielczość ściany zamiast modelowania ściany, siatki niestrukturalne lub o strukturze blokowej są dobrym wyborem.

Jed Brown
źródło
2

Strukturyzowane siatki pozwalają na wiele założeń, które można wykorzystać do wydajności, ale są ogólnie trudniejsze do wdrożenia i mniej wydajne w działaniu niż siatki niestrukturalne w obecności złożonych granic. Nieustrukturyzowane siatki skutecznie przybliżą złożone granice bez żadnego dodatkowego programowania, ale można przyjąć bardzo niewiele założeń dotyczących struktury macierzy. Jak zawsze nie ma lepszego podejścia niż to, które lepiej odpowiada Twoim potrzebom. Ten pierwszy jest często stosowany w modelowaniu oceanów, klimatu, kosmosu / geo, drugi w problemach inżynieryjnych.

Dominik Lark
źródło