Generic file format for storing the geometry and topology of finite elements

Is there a generic file format for storing a 3D model geometry and topology as represented by finite elements?

I know there is an Abaqus/Calculix INP file format. But I’m looking for a more generic one. Could the STP/STEP file format be used for storing the geometry and topology of the finite elements? STP might be able to store node vertex coordinates and element connectivities after all.

Check the formats supported by Gmsh and Salome_Meca. Like .unv, for instance. FreeCAD also supports quite a few formats, including those for meshes.

1 Like

There are various mesh formats available for representing unstructured meshes. Meshio can read and write all of the following and smoothly converts between them:

Abaqus (.inp), ANSYS msh (.msh), AVS-UCD (.avs), CGNS (.cgns), DOLFIN XML (.xml), Exodus (.e, .exo), FLAC3D (.f3grid), H5M (.h5m), Kratos/MDPA (.mdpa), Medit (.mesh, .meshb), MED/Salome (.med), Nastran (bulk data, .bdf, .fem, .nas), Netgen (.vol, .vol.gz), Neuroglancer precomputed format, Gmsh (format versions 2.2, 4.0, and 4.1, .msh), OBJ (.obj), OFF (.off), PERMAS (.post, .post.gz, .dato, .dato.gz), PLY (.ply), STL (.stl), Tecplot .dat, TetGen .node/.ele, SVG (2D output only) (.svg), SU2 (.su2), UGRID (.ugrid), VTK (.vtk), VTU (.vtu), WKT (TIN) (.wkt), XDMF (.xdmf, .xmf).

My votes are for .unv, and .inp. As far as I know .unv doesn´t store beams elements or boundary conditions. I know for sure that .unv can store not only the mesh, but also some kind of 3d geometry (even assembly structure), as I use in the past as a quick transference format for 3d models using I-DEAS (old CAD program from were .unv format derives).

Thinking it a little, as a CAD geometry in a stp file is a text file, I don´t see too many problems to include directly the CAD block info inside another text file like .unv, maybe implementing some kind of cards to the preprocessor to tell “from this line is STEP information, do your best my friend”. You were not doing magick SDRC guys!!!

2 Likes

Keep it simple

Consulting with the community and researching more about STP/STEP, I decided to stick with the simple and straightforward file format of Abaqus INP.

STP/STEP file format is just too complicated :roll_eyes:

INP is ASCII text and is as simple as it gets. I can include the nodes and elements inside the INP file by *INCLUDE feature:

*INCLUDE,INPUT=C:\path\to\model.inp.nodes
*INCLUDE,INPUT=C:\path\to\model.inp.elements

The model.inp.nodes file is just simple:

*NODE
1,-0.000000,-1.340000,-1.340000
2,-1.111111,-0.228889,-1.340000
3,-1.111111,-1.340000,-0.228889
4,-1.111111,-1.340000,0.882222
...

The model.inp.elements is just as simple too:

*ELEMENT, TYPE=C3D8, ELSET=eC3D8
9,5,11,12,7,8,13,14,10
10,11,15,16,12,13,17,18,14
11,15,19,20,16,17,21,22,18
12,19,23,24,20,21,25,26,22
13,23,27,28,24,25,29,30,26
...

The only point is that there should not be more than 16 entries in a line. Maximum 16 entries per line according to the CCX manual: http://www.dhondt.de/ccx_2.21.pdf

1 Like

Check out the VMAP Standard. It standardizes storage of meshes and results as HDF5 data. Boundary conditions and loads are under development, as well as Paraview support. There is a converter to and from ABAQUS, CalculiX adoption is straightforward. Some 25 software (FE solvers, pre-/post-processors) are supported atm.

1 Like