# Pre/Post-processor for an academic finite element solver

I'm currently developing a finite element solver for academic/research purposes. Therefore I'm searching for a pre- and postprocessor in my toolchain.

For a previous project I have used gmsh as a mesher and paraview as a postprocessor, but I'm not satisfied. Gmsh works for meshing but I had my fair share of problems with it. A complete preprocessor which I could use for model generation, meshing and defining the boundary conditions would make it so much easier for me. Paraview, unfortunately, doesn't support gauss points without modifications. I would rather put work into improving my solver than modifing Paraview.

During my search for alternatives I found Salome, which is interesting but the search of a complete documentation with the specification of input and output formats yielded nothing.

Does anyone know good pre- and postprocessors to use with a custom finite element solver? I prefer freeware/open source but I'm open to commercial alternatives, which support some 'open' formats which I can save my results with.

• What programming language are you using? – nicoguaro Jun 5 '17 at 14:38
• I use Python, C++ and FORTRAN. But that shouldn't make a difference. – P. G. Jun 5 '17 at 17:31
• In an ideal world, that should not make a difference.But in the real world it does. For example, you can use vtk directly from Python and C++. You can use meshio for easily handling different file formats, as well. – nicoguaro Jun 5 '17 at 17:42
• I don't understand the comments about Gauss points -- what exactly do you want to do with them? Don't you have the data in the nodal points of your finite element? Or, if you don't, why not just interpolate the data to the nodal points? – Wolfgang Bangerth Jun 5 '17 at 19:33
• If you insist on this requirement for the post-processor to support element results at Gauss points, you are going to drastically reduce the number of available options. I strongly suggest you take the suggestion of @wolfgang bangerth and simply interpolate the results to the nodal points. You should take a look at the trick they use in Deal II of creating duplicate node points in the VTK file to deal with discontinuous element data. – Bill Greene Jun 5 '17 at 23:37

Cubit/Trelis for generating meshes (Exodus.II files) and Paraview/Visit usually work well for low order FE codes. The advantage of Exodus.II is that it is a standard and therefore edge/side/face numbering etc. are consistent. E.g., see slide 118 here.

• Thanks, I will have a look into Cubit/Trelis. Paraview is kind of the last resort for me because it doesn't support gauss points without modifications. – P. G. Jun 5 '17 at 17:42

I think trelis/Cubit is one of the best in business of mesh generation. Last I heard they were even about to offer fully confirmed unstructured hex meshes. For post processing visit/paraview are well built but they have their own limitations like the one you mentioned with access to gaussian point operations. If you are very much into customizing, vtk's C++ or python library will give you a lot of tools to work with which gives you access to low level variables which you can modify and extract data the way you want and visualize them in the same pipeline of operations. They have very nice example page with all kinds of problems here

• Thanks, but like I've written in my original question I would rather put some more work in my solver than into customizing a postprocessor. In addition to that customizing one piece of software would require possible collaborators to have this customized software as well... – P. G. Jun 5 '17 at 19:46

In our research group we use GiD . It has what you are looking for, a pre-processor with a nice geometry editor (2D and 3D) and a very good mesher. It generates preprocessing files using a flexible language, it can run your solver automatically and read the result. GiD also has a very functional post-processor with many options to display results, it can even be used to generate videos for dynamic problems.

Everything is well integrated and works in Windows, Linux and Mac OS X. The documentation is also good.

You can test it for free for several months, the single license cost is between 500-1600 euros (https://www.gidhome.com/purchase/price-table)