Che cos'è un formato file / dati comune per una mesh (per FEM)?


13

Sto sviluppando una simulazione FEM. Per i primi test, userò un semplice mesher auto-scritto e la visualizzazione del grafico a maglie. Ma voglio preparare il mio programma per utilizzare i dati generati da un mesher esistente e inviarli a strumenti di visualizzazione esistenti.

Esiste uno standard (quasi) consigliato per il formato file e il formato dati interno per le mesh (FEM)?


4
Exodus II per la lettura in mesh e VTK per la scrittura di output.
Stali,

Risposte:


8

La risposta breve è no, non esiste un formato standard. Ma ce ne sono alcuni comuni, come Gmsh per input / output e VTK per output.

Prima di prendere una decisione, devi scoprire cosa vuoi fare. Se vuoi avere il tuo (piccolo) programma per un po ', puoi scegliere il formato più adatto ai tuoi gusti e alle tue esigenze. Se hai intenzione di passare a un programma "più grande" in futuro, sarebbe una buona idea iniziare a gestire i loro formati di file in questo momento. Se stai pensando di utilizzare pre / post-processori commerciali, ti suggerisco di attenersi ai loro formati, dal momento che "aggiornano" quelli con ogni nuova versione e potrebbe essere un problema per la testa.

Di seguito, elenco alcune opzioni (open source).

Pre-processing

Post produzione

  • Visualizzazione con Paraview / Mayavi . Quindi utilizzare i formati di file VTK . Puoi consultare la guida per l'utente di Paraview qui .
  • Puoi anche eseguire la post-elaborazione in Gmsh.
  • Salome-Meca è un'altra opzione per la post-elaborazione, funziona bene con VTK.

Penso che VTK sia il formato giusto per me: 1. Posso usarlo come input per la mesh e come output per la post-elaborazione. 2. Esiste una libreria per gestirla. 3. Sembra essere comune, ad esempio gmesh può generarlo. Queste ipotesi sono ok?
Michael,

1
1. È necessario considerare che l'inclusione di proprietà dei materiali, BC e vincoli nel modello. Non sono del tutto sicuro su come implementarli in VTK, ma probabilmente puoi trovare una soluzione alternativa. 2. Sì, ma dipende dal linguaggio di programmazione che preferisci. 3. Sì, è comune. Puoi usare direttamente vtk(in C ++, Java o Python), Mayavi, Paraview, VisIt o persino Chrome : P. E, sì, puoi generarli in Gmesh, ma non sei sicuro dei gruppi fisici.
Nicoguaro


3

In realtà esiste uno standard per questo: ISO / TS 10303 (inizia con le parti da 1380 a 1386).

Prima di essere dirottata dall'ISO, questa iniziativa, iniziata negli anni '80, era nota come PDES / STEP. Vedi https://www.pdesinc.org/index.html

Ma non credo che qualcuno lo usi molto a meno che non stiano lavorando in un ambiente in cui è un requisito obbligatorio. Un gran numero di comitati internazionali ha fatto un ottimo lavoro nel sovvertire la buona intenzione originale e ha prodotto uno standard che tenta di coprire tutto, dalla descrizione della struttura di gestione complessiva di una società al formato corretto per la scrittura di date e orari (e no, I non sto scherzando).


3

Il numero di formati di file per FEM è ridicolo, in parte dovuto al fatto che ogni pacchetto software ha implementato il proprio formato in passato.

inserisci qui la descrizione dell'immagine

(A partire dal xkcd .)

Ho creato meshio per alleviare il dolore della conversione tra formati, quindi se usi qualsiasi formato supportato da meshio, dovresti essere in grado di fare facilmente un passaggio in futuro.

Tra tutti i formati che conosco, VTU e XDMF sono quelli che utilizzo di più personalmente.



0

Secondo, l'uso di VTK per l'output dei file. Se desideri utilizzare una struttura mesh molto generica, ti indirizzerei verso la libreria CGNS (CFD General Notation System) che è un formato mesh open source con una propria libreria gestita da un consorzio (compresi Boeing e NASA) . Leggere un elenco di nodi, proprietà, condizioni al contorno, ecc. È estremamente utile con questa libreria e la libreria stessa è molto facile da compilare. La libreria è in C ++, ma può essere collegata a Fortran.

Lo usiamo nel nostro codice interno e ho scoperto che è un formato molto efficiente. Utilizza HDF5 sotto il cofano per i file binari. Inoltre, ANSYS, Salome, GMSH supportano tutti l'esportazione in questo formato a vari livelli. Ecco il github: https://cgns.github.io/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.