Jaki jest wspólny format pliku / danych dla siatki (dla MES)?

13

Opracowuję symulację MES. Do wczesnych testów użyję prostego mesheru i wizualizacji wykresu siatki. Ale chcę przygotować mój program do korzystania z danych generowanych przez istniejącą siatkę i wypisywać ją do istniejących narzędzi do wizualizacji.

Czy istnieje zalecany (quasi-) standard formatu plików i wewnętrzny format danych dla siatek (FEM)?

Michael
źródło
4
Exodus II do odczytu w siatce i VTK do zapisu wyników.
stali

Odpowiedzi:

8

Krótka odpowiedź brzmi: nie, nie ma standardowego formatu. Ale są pewne popularne, takie jak Gmsh dla wejścia / wyjścia i VTK dla wyjścia.

Przed podjęciem decyzji musisz dowiedzieć się, co chcesz zrobić. Jeśli chcesz mieć swój (mały) program przez chwilę, możesz wybrać format, który najlepiej odpowiada Twoim upodobaniom i potrzebom. Jeśli planujesz w przyszłości zmienić program na „większy”, dobrym pomysłem byłoby rozpoczęcie zarządzania formatami plików już teraz. Jeśli planujesz używać komercyjnych procesorów wstępnych / końcowych, sugeruję trzymanie się ich formatów, ponieważ „aktualizują” je one przy każdej nowej wersji i może to być kłopotliwe.

Poniżej wymienię niektóre opcje (open source).

Przetwarzanie wstępne

Przetwarzanie końcowe

  • Wizualizacja za pomocą Paraview / Mayavi . Następnie użyj formatów plików VTK . Możesz sprawdzić instrukcję obsługi Paraview tutaj .
  • Możesz także wykonać przetwarzanie końcowe w Gmsh.
  • Salome-Meca jest kolejną opcją przetwarzania końcowego, działa dobrze z VTK.
nicoguaro
źródło
Myślę, że VTK jest dla mnie właściwym formatem: 1. Mogę go używać jako danych wejściowych dla siatki i jako danych wyjściowych do przetwarzania końcowego. 2. Istnieje biblioteka do obsługi tego. 3. Wydaje się to powszechne, na przykład gmesh może go wygenerować. Czy te założenia są w porządku?
Michael
1
1. Musisz wziąć pod uwagę, że uwzględnienie właściwości materiału, BC i wiązań w twoim modelu. Nie jestem do końca pewien, jak zaimplementować je w VTK, ale prawdopodobnie można znaleźć obejście. 2. Tak, ale zależy to od wybranego języka programowania. 3. Tak, to jest powszechne. Możesz używać bezpośrednio vtk(w C ++, Java lub Python), Mayavi, Paraview, VisIt lub nawet Chrome : P. I tak, możesz je wygenerować w Gmesh, nie będąc jednak pewnym grup fizycznych.
nicoguaro
3

Istnieje w tym przypadku norma: ISO / TS 10303 (zacznij od części 1380 do 1386).

Przed przejęciem przez ISO inicjatywa ta rozpoczęła się w latach 80. i była znana jako PDES / STEP. Zobacz https://www.pdesinc.org/index.html

Ale nie sądzę, aby ktokolwiek dużo z niego korzystał, chyba że pracuje w środowisku, w którym jest to obowiązkowy wymóg. Wiele międzynarodowych komitetów wykonało świetną robotę, obalając pierwotną dobrą intencję, i opracowało standard, który próbuje objąć wszystko, od opisu ogólnej struktury zarządzania firmą po właściwy format zapisu dat i godzin (i nie, ja nie żartuję).

alephzero
źródło
3

Liczba formatów plików dla MES jest niedorzeczna, częściowo ze względu na fakt, że każdy pakiet oprogramowania w przeszłości implementował swój własny format.

wprowadź opis zdjęcia tutaj

(Z xkcd .)

Stworzyłem meshio, aby złagodzić ból związany z konwersją między formatami, więc jeśli używasz dowolnego formatu obsługiwanego przez meshio, powinieneś być w stanie łatwo dokonać zmiany w przyszłości.

Ze wszystkich formatów, które znam, VTU i XDMF są tymi, których osobiście używam najczęściej.

Nico Schlömer
źródło
0

Po drugie używam VTK do generowania plików. Jeśli chcesz zastosować bardzo ogólną strukturę siatki, wskazałbym cię w kierunku biblioteki CGNS (CFD General Notation System), która jest formatem siatki typu open source z własną biblioteką obsługiwaną przez konsorcjum (w tym Boeinga i NASA) . Czytanie listy węzłów, właściwości, warunków brzegowych itp. Jest niezwykle przydatne w tej bibliotece, a sama biblioteka jest bardzo łatwa do skompilowania. Biblioteka jest w C ++, ale można ją połączyć z Fortranem.

Używamy go w naszym wewnętrznym kodzie i stwierdziłem, że jest to bardzo wydajny format. Używa HDF5 pod maską dla plików binarnych. Ponadto ANSYS, Salome, GMSH w różnym stopniu obsługują eksport do tego formatu. Oto github: https://cgns.github.io/

Paplać
źródło