Estoy desarrollando una simulación FEM. Para las pruebas iniciales, usaré un simple ensamblador auto-escrito y visualización del gráfico de malla. Pero quiero preparar mi programa para usar los datos generados por una malla existente y enviarlos a las herramientas de visualización existentes.
¿Existe un estándar (cuasi) recomendado para el formato de archivo y el formato de datos internos para mallas (FEM)?
finite-element
mesh
graph-theory
Miguel
fuente
fuente
Respuestas:
La respuesta corta es no, no hay un formato estándar. Pero hay algunos comunes, como Gmsh para entrada / salida y VTK para salida.
Antes de tomar una decisión, debe averiguar qué desea hacer. Si desea tener su programa (pequeño) por un tiempo, puede elegir el formato que mejor se adapte a sus gustos y necesidades. Si planea cambiar a un programa "más grande" en el futuro, sería una buena idea comenzar a administrar sus formatos de archivo ahora mismo. Si planea utilizar pre / postprocesadores comerciales, le sugiero que se adhiera a sus formatos, ya que "actualizan" aquellos con cada nueva versión y podría ser un problema.
A continuación, enumero algunas opciones (de código abierto).
Preprocesamiento
Postprocesamiento
fuente
vtk
(en C ++, Java o Python), Mayavi, Paraview, VisIt o incluso Chrome : P. Y sí, puede generarlos en Gmesh, aunque no estoy seguro de los grupos físicos.Puede probar el formato de archivo MSH de Gmsh o el formato de archivo neutral GAMBIT .
fuente
En realidad, hay un estándar para esto: ISO / TS 10303 (comience con las partes 1380 a 1386).
Antes de ser secuestrado por ISO, esta iniciativa, que comenzó en la década de 1980, se conocía como PDES / STEP. Ver https://www.pdesinc.org/index.html
Pero no creo que nadie lo use mucho a menos que esté trabajando en un entorno donde es un requisito obligatorio. Un gran número de comités internacionales hicieron un excelente trabajo al subvertir la buena intención original, y produjeron un estándar que intenta cubrir todo, desde la descripción de la estructura administrativa general de una empresa hasta el formato correcto para escribir fechas y horas (y no, yo No estoy bromeando).
fuente
El número de formatos de archivo para FEM es ridículo, en parte debido al hecho de que cada paquete de software implementó su propio formato en el pasado.
(De xkcd .)
He creado meshio para aliviar el dolor de la conversión entre formatos, por lo que si usa cualquier formato compatible con meshio, debería poder cambiar fácilmente en el futuro.
De todos los formatos que conozco, VTU y XDMF son los que más uso personalmente.
fuente
Además del formato de archivo MSH citado en la respuesta de Wes, también estoy usando el formato de archivo MESH de Gamma3. Si está programando en C / C ++, hay una biblioteca de software fácil de usar, LM6, para cargar / guardar en este formato de archivo [1]
[1] https://www.rocq.inria.fr/gamma/gamma/Membres/CIPD/Loic.Marechal/Research/LM6.html
fuente
Secundo el uso de VTK para la salida de archivos. Si desea utilizar una estructura de malla muy genérica, le indicaría la dirección de la biblioteca CGNS (Sistema de notación general CFD), que es un formato de malla de código abierto con su propia biblioteca mantenida por un consorcio (incluidos Boeing y la NASA) . Leer una lista de nodos, propiedades, condiciones de contorno, etc. es extremadamente útil con esta biblioteca y la biblioteca en sí es muy fácil de compilar. La biblioteca está en C ++, pero se puede vincular con Fortran.
Lo usamos en nuestro código interno y he encontrado que es un formato muy eficiente. Utiliza HDF5 debajo del capó para archivos binarios. Además, ANSYS, Salomé, GMSH admiten la exportación a este formato en mayor o menor grado. Aquí está el github: https://cgns.github.io/
fuente